Hi Marc,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on wsa/i2c/for-next]
[also build test ERROR on v4.15-rc5 next-20171222]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Marc-CAPDEVILLE/i2c-core-acpi-Add-i2c_acpi_set_connection/20171226-083729
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git 
i2c/for-next
config: i386-randconfig-c0-12261310 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/iio/light/cm32181.o: In function `cm32181_irq':
>> drivers/iio/light/cm32181.c:336: undefined reference to 
>> `i2c_smbus_alert_event'
   drivers/iio/light/cm32181.o: In function `cm32181_probe':
>> drivers/iio/light/cm32181.c:405: undefined reference to 
>> `i2c_require_smbus_alert'
   drivers/iio/light/cm32181.o: In function `cm32181_reg_init':
   drivers/iio/light/cm32181.c:95: undefined reference to 
`i2c_smbus_alert_event'

vim +336 drivers/iio/light/cm32181.c

   329  
   330  static irqreturn_t cm32181_irq(int irq, void *d)
   331  {
   332          struct cm32181_chip *cm32181 = d;
   333  
   334          if (cm32181->chip_id == CM3218_ID) {
   335                  /* This is cm3218 chip irq, so handle the smbus alert */
 > 336                  i2c_smbus_alert_event(cm32181->client);
   337          }
   338  
   339          return IRQ_HANDLED;
   340  }
   341  
   342  static int cm32181_probe(struct i2c_client *client,
   343                          const struct i2c_device_id *id)
   344  {
   345          struct cm32181_chip *cm32181;
   346          struct iio_dev *indio_dev;
   347          int ret;
   348          const struct of_device_id *of_id;
   349          const struct acpi_device_id *acpi_id;
   350  
   351          indio_dev = devm_iio_device_alloc(&client->dev, 
sizeof(*cm32181));
   352          if (!indio_dev) {
   353                  dev_err(&client->dev, "devm_iio_device_alloc failed\n");
   354                  return -ENOMEM;
   355          }
   356  
   357          cm32181 = iio_priv(indio_dev);
   358          i2c_set_clientdata(client, indio_dev);
   359          cm32181->client = client;
   360  
   361          mutex_init(&cm32181->lock);
   362          indio_dev->dev.parent = &client->dev;
   363          indio_dev->channels = cm32181_channels;
   364          indio_dev->num_channels = ARRAY_SIZE(cm32181_channels);
   365          indio_dev->info = &cm32181_info;
   366          indio_dev->name = id->name;
   367          indio_dev->modes = INDIO_DIRECT_MODE;
   368  
   369          /* Lookup for chip ID from platform, acpi or of device table */
   370          if (id) {
   371                  cm32181->chip_id = id->driver_data;
   372          } else if (ACPI_COMPANION(&client->dev)) {
   373                  acpi_id = 
acpi_match_device(client->dev.driver->acpi_match_table,
   374                                              &client->dev);
   375                  if (!acpi_id)
   376                          return -ENODEV;
   377  
   378                  cm32181->chip_id = (kernel_ulong_t)acpi_id->driver_data;
   379          } else if (client->dev.of_node) {
   380                  of_id = 
of_match_device(client->dev.driver->of_match_table,
   381                                          &client->dev);
   382                  if (!of_id)
   383                          return -ENODEV;
   384  
   385                  cm32181->chip_id = (kernel_ulong_t)of_id->data;
   386          } else {
   387                  return -ENODEV;
   388          }
   389  
   390          if (cm32181->chip_id == CM3218_ID) {
   391                  if (ACPI_COMPANION(&client->dev) &&
   392                      client->addr == SMBUS_ARA_ADDR) {
   393                          /*
   394                           * In case this device as been enumerated by 
acpi
   395                           * with the reserved smbus ARA address (first 
acpi
   396                           * connection), request change of address to 
the second
   397                           * connection.
   398                           */
   399                          ret = i2c_acpi_set_connection(client, 1);
   400                          if (ret)
   401                                  return ret;
   402                  }
   403  
   404                  /* cm3218 chip require an ara device on his adapter */
 > 405                  ret = i2c_require_smbus_alert(client);
   406                  if (ret < 0)
   407                          return ret;
   408  
   409                  /*
   410                   * If irq is given, request a threaded irq handler to 
manage
   411                   * smbus alert.
   412                   */
   413                  if (client->irq > 0) {
   414                          ret = devm_request_threaded_irq(&client->dev,
   415                                                          client->irq,
   416                                                          NULL, 
cm32181_irq,
   417                                                          IRQF_ONESHOT,
   418                                                          "cm32181", 
cm32181);
   419                          if (ret)
   420                                  return ret;
   421                  }
   422          }
   423  
   424          ret = cm32181_reg_init(cm32181);
   425          if (ret) {
   426                  dev_err(&client->dev,
   427                          "%s: register init failed\n",
   428                          __func__);
   429                  return ret;
   430          }
   431  
   432          ret = devm_iio_device_register(&client->dev, indio_dev);
   433          if (ret) {
   434                  dev_err(&client->dev,
   435                          "%s: regist device failed\n",
   436                          __func__);
   437                  return ret;
   438          }
   439  
   440          return 0;
   441  }
   442  

---
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