tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   baf5a9d1f9b95eb97e9eb54932e20dbbf814771c
commit: f27dd0ad68850fdb806536a733a32d8f74810f1e [1790/12310] media: seco-cec: 
fix RC_CORE dependency
config: x86_64-randconfig-s5-03051951 (attached as .config)
compiler: gcc-8 (Debian 8.3.0-2) 8.3.0
reproduce:
        git checkout f27dd0ad68850fdb806536a733a32d8f74810f1e
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   ld: drivers/media/platform/seco-cec/seco-cec.o: in function 
`secocec_ir_probe':
>> drivers/media/platform/seco-cec/seco-cec.c:355: undefined reference to 
>> `devm_rc_allocate_device'
>> ld: drivers/media/platform/seco-cec/seco-cec.c:395: undefined reference to 
>> `devm_rc_register_device'
   ld: drivers/media/platform/seco-cec/seco-cec.o: in function `secocec_ir_rx':
>> drivers/media/platform/seco-cec/seco-cec.c:432: undefined reference to 
>> `rc_keydown'

vim +355 drivers/media/platform/seco-cec/seco-cec.c

b03c2fb9 Ettore Chimenti 2018-10-21  345  
daef9576 Ettore Chimenti 2018-10-21  346  #ifdef CONFIG_VIDEO_SECO_RC
daef9576 Ettore Chimenti 2018-10-21  347  static int secocec_ir_probe(void 
*priv)
daef9576 Ettore Chimenti 2018-10-21  348  {
daef9576 Ettore Chimenti 2018-10-21  349        struct secocec_data *cec = priv;
daef9576 Ettore Chimenti 2018-10-21  350        struct device *dev = cec->dev;
daef9576 Ettore Chimenti 2018-10-21  351        int status;
daef9576 Ettore Chimenti 2018-10-21  352        u16 val;
daef9576 Ettore Chimenti 2018-10-21  353  
daef9576 Ettore Chimenti 2018-10-21  354        /* Prepare the RC input device 
*/
daef9576 Ettore Chimenti 2018-10-21 @355        cec->ir = 
devm_rc_allocate_device(dev, RC_DRIVER_SCANCODE);
daef9576 Ettore Chimenti 2018-10-21  356        if (!cec->ir)
daef9576 Ettore Chimenti 2018-10-21  357                return -ENOMEM;
daef9576 Ettore Chimenti 2018-10-21  358  
daef9576 Ettore Chimenti 2018-10-21  359        snprintf(cec->ir_input_phys, 
sizeof(cec->ir_input_phys),
daef9576 Ettore Chimenti 2018-10-21  360                 "%s/input0", 
dev_name(dev));
daef9576 Ettore Chimenti 2018-10-21  361  
daef9576 Ettore Chimenti 2018-10-21  362        cec->ir->device_name = 
dev_name(dev);
daef9576 Ettore Chimenti 2018-10-21  363        cec->ir->input_phys = 
cec->ir_input_phys;
daef9576 Ettore Chimenti 2018-10-21  364        cec->ir->input_id.bustype = 
BUS_HOST;
daef9576 Ettore Chimenti 2018-10-21  365        cec->ir->input_id.vendor = 0;
daef9576 Ettore Chimenti 2018-10-21  366        cec->ir->input_id.product = 0;
daef9576 Ettore Chimenti 2018-10-21  367        cec->ir->input_id.version = 1;
daef9576 Ettore Chimenti 2018-10-21  368        cec->ir->driver_name = 
SECOCEC_DEV_NAME;
daef9576 Ettore Chimenti 2018-10-21  369        cec->ir->allowed_protocols = 
RC_PROTO_BIT_RC5;
daef9576 Ettore Chimenti 2018-10-21  370        cec->ir->priv = cec;
daef9576 Ettore Chimenti 2018-10-21  371        cec->ir->map_name = 
RC_MAP_HAUPPAUGE;
daef9576 Ettore Chimenti 2018-10-21  372        cec->ir->timeout = 
MS_TO_NS(100);
daef9576 Ettore Chimenti 2018-10-21  373  
daef9576 Ettore Chimenti 2018-10-21  374        /* Clear the status register */
daef9576 Ettore Chimenti 2018-10-21  375        status = 
smb_rd16(SECOCEC_STATUS_REG_1, &val);
daef9576 Ettore Chimenti 2018-10-21  376        if (status != 0)
daef9576 Ettore Chimenti 2018-10-21  377                goto err;
daef9576 Ettore Chimenti 2018-10-21  378  
daef9576 Ettore Chimenti 2018-10-21  379        status = 
smb_wr16(SECOCEC_STATUS_REG_1, val);
daef9576 Ettore Chimenti 2018-10-21  380        if (status != 0)
daef9576 Ettore Chimenti 2018-10-21  381                goto err;
daef9576 Ettore Chimenti 2018-10-21  382  
daef9576 Ettore Chimenti 2018-10-21  383        /* Enable the interrupts */
daef9576 Ettore Chimenti 2018-10-21  384        status = 
smb_rd16(SECOCEC_ENABLE_REG_1, &val);
daef9576 Ettore Chimenti 2018-10-21  385        if (status != 0)
daef9576 Ettore Chimenti 2018-10-21  386                goto err;
daef9576 Ettore Chimenti 2018-10-21  387  
daef9576 Ettore Chimenti 2018-10-21  388        status = 
smb_wr16(SECOCEC_ENABLE_REG_1,
daef9576 Ettore Chimenti 2018-10-21  389                          val | 
SECOCEC_ENABLE_REG_1_IR);
daef9576 Ettore Chimenti 2018-10-21  390        if (status != 0)
daef9576 Ettore Chimenti 2018-10-21  391                goto err;
daef9576 Ettore Chimenti 2018-10-21  392  
daef9576 Ettore Chimenti 2018-10-21  393        dev_dbg(dev, "IR enabled");
daef9576 Ettore Chimenti 2018-10-21  394  
daef9576 Ettore Chimenti 2018-10-21 @395        status = 
devm_rc_register_device(dev, cec->ir);
daef9576 Ettore Chimenti 2018-10-21  396  
daef9576 Ettore Chimenti 2018-10-21  397        if (status) {
daef9576 Ettore Chimenti 2018-10-21  398                dev_err(dev, "Failed to 
prepare input device");
daef9576 Ettore Chimenti 2018-10-21  399                cec->ir = NULL;
daef9576 Ettore Chimenti 2018-10-21  400                goto err;
daef9576 Ettore Chimenti 2018-10-21  401        }
daef9576 Ettore Chimenti 2018-10-21  402  
daef9576 Ettore Chimenti 2018-10-21  403        return 0;
daef9576 Ettore Chimenti 2018-10-21  404  
daef9576 Ettore Chimenti 2018-10-21  405  err:
daef9576 Ettore Chimenti 2018-10-21  406        smb_rd16(SECOCEC_ENABLE_REG_1, 
&val);
daef9576 Ettore Chimenti 2018-10-21  407  
daef9576 Ettore Chimenti 2018-10-21  408        smb_wr16(SECOCEC_ENABLE_REG_1,
daef9576 Ettore Chimenti 2018-10-21  409                 val & 
~SECOCEC_ENABLE_REG_1_IR);
daef9576 Ettore Chimenti 2018-10-21  410  
daef9576 Ettore Chimenti 2018-10-21  411        dev_dbg(dev, "IR disabled");
daef9576 Ettore Chimenti 2018-10-21  412        return status;
daef9576 Ettore Chimenti 2018-10-21  413  }
daef9576 Ettore Chimenti 2018-10-21  414  
daef9576 Ettore Chimenti 2018-10-21  415  static int secocec_ir_rx(struct 
secocec_data *priv)
daef9576 Ettore Chimenti 2018-10-21  416  {
daef9576 Ettore Chimenti 2018-10-21  417        struct secocec_data *cec = priv;
daef9576 Ettore Chimenti 2018-10-21  418        struct device *dev = cec->dev;
daef9576 Ettore Chimenti 2018-10-21  419        u16 val, status, key, addr, 
toggle;
daef9576 Ettore Chimenti 2018-10-21  420  
daef9576 Ettore Chimenti 2018-10-21  421        if (!cec->ir)
daef9576 Ettore Chimenti 2018-10-21  422                return -ENODEV;
daef9576 Ettore Chimenti 2018-10-21  423  
daef9576 Ettore Chimenti 2018-10-21  424        status = 
smb_rd16(SECOCEC_IR_READ_DATA, &val);
daef9576 Ettore Chimenti 2018-10-21  425        if (status != 0)
daef9576 Ettore Chimenti 2018-10-21  426                goto err;
daef9576 Ettore Chimenti 2018-10-21  427  
daef9576 Ettore Chimenti 2018-10-21  428        key = val & 
SECOCEC_IR_COMMAND_MASK;
daef9576 Ettore Chimenti 2018-10-21  429        addr = (val & 
SECOCEC_IR_ADDRESS_MASK) >> SECOCEC_IR_ADDRESS_SHL;
daef9576 Ettore Chimenti 2018-10-21  430        toggle = (val & 
SECOCEC_IR_TOGGLE_MASK) >> SECOCEC_IR_TOGGLE_SHL;
daef9576 Ettore Chimenti 2018-10-21  431  
daef9576 Ettore Chimenti 2018-10-21 @432        rc_keydown(cec->ir, 
RC_PROTO_RC5, RC_SCANCODE_RC5(addr, key), toggle);
daef9576 Ettore Chimenti 2018-10-21  433  
daef9576 Ettore Chimenti 2018-10-21  434        dev_dbg(dev, "IR key pressed: 
0x%02x addr 0x%02x toggle 0x%02x", key,
daef9576 Ettore Chimenti 2018-10-21  435                addr, toggle);
daef9576 Ettore Chimenti 2018-10-21  436  
daef9576 Ettore Chimenti 2018-10-21  437        return 0;
daef9576 Ettore Chimenti 2018-10-21  438  
daef9576 Ettore Chimenti 2018-10-21  439  err:
daef9576 Ettore Chimenti 2018-10-21  440        dev_err(dev, "IR Receive 
message failed (%d)", status);
daef9576 Ettore Chimenti 2018-10-21  441        return -EIO;
daef9576 Ettore Chimenti 2018-10-21  442  }
daef9576 Ettore Chimenti 2018-10-21  443  #else
daef9576 Ettore Chimenti 2018-10-21  444  static void secocec_ir_rx(struct 
secocec_data *priv)
daef9576 Ettore Chimenti 2018-10-21  445  {
daef9576 Ettore Chimenti 2018-10-21  446  }
daef9576 Ettore Chimenti 2018-10-21  447  

:::::: The code at line 355 was first introduced by commit
:::::: daef95769b3a1d60afc31fa97578824a2ff39915 media: seco-cec: add 
Consumer-IR support

:::::: TO: Ettore Chimenti <ek5.chime...@gmail.com>
:::::: CC: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to