Re: [PATCH 2/2] iio: dac: dac5571: Fix chip id detection for OF devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on iio/togreg]
[also build test ERROR on robh/for-next v5.14-rc2 next-20210723]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Laurent-Pinchart/iio-ti-dac5571-Add-TI-DAC081C081-support/20210724-023333
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: x86_64-randconfig-s022-20210723 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/aea544dbbcecf5d723ede9b42a2da945ac5038f9
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Laurent-Pinchart/iio-ti-dac5571-Add-TI-DAC081C081-support/20210724-023333
        git checkout aea544dbbcecf5d723ede9b42a2da945ac5038f9
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/iio/dac/ti-dac5571.c: In function 'dac5571_probe':
>> drivers/iio/dac/ti-dac5571.c:331:24: error: implicit declaration of function 'of_device_get_match_data'; did you mean 'device_get_match_data'? [-Werror=implicit-function-declaration]
     331 |   chip_id = (uintptr_t)of_device_get_match_data(dev);
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~
         |                        device_get_match_data
   cc1: some warnings being treated as errors


vim +331 drivers/iio/dac/ti-dac5571.c

   306	
   307	static int dac5571_probe(struct i2c_client *client,
   308				 const struct i2c_device_id *id)
   309	{
   310		struct device *dev = &client->dev;
   311		const struct dac5571_spec *spec;
   312		struct dac5571_data *data;
   313		struct iio_dev *indio_dev;
   314		enum chip_id chip_id;
   315		int ret, i;
   316	
   317		indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
   318		if (!indio_dev)
   319			return -ENOMEM;
   320	
   321		data = iio_priv(indio_dev);
   322		i2c_set_clientdata(client, indio_dev);
   323		data->client = client;
   324	
   325		indio_dev->info = &dac5571_info;
   326		indio_dev->name = id->name;
   327		indio_dev->modes = INDIO_DIRECT_MODE;
   328		indio_dev->channels = dac5571_channels;
   329	
   330		if (dev->of_node)
 > 331			chip_id = (uintptr_t)of_device_get_match_data(dev);
   332		else
   333			chip_id = id->driver_data;
   334	
   335		spec = &dac5571_spec[chip_id];
   336	
   337		indio_dev->num_channels = spec->num_channels;
   338		data->spec = spec;
   339	
   340		data->vref = devm_regulator_get(dev, "vref");
   341		if (IS_ERR(data->vref))
   342			return PTR_ERR(data->vref);
   343	
   344		ret = regulator_enable(data->vref);
   345		if (ret < 0)
   346			return ret;
   347	
   348		mutex_init(&data->lock);
   349	
   350		switch (spec->num_channels) {
   351		case 1:
   352			data->dac5571_cmd = dac5571_cmd_single;
   353			data->dac5571_pwrdwn = dac5571_pwrdwn_single;
   354			break;
   355		case 4:
   356			data->dac5571_cmd = dac5571_cmd_quad;
   357			data->dac5571_pwrdwn = dac5571_pwrdwn_quad;
   358			break;
   359		default:
   360			goto err;
   361		}
   362	
   363		for (i = 0; i < spec->num_channels; i++) {
   364			ret = data->dac5571_cmd(data, i, 0);
   365			if (ret) {
   366				dev_err(dev, "failed to initialize channel %d to 0\n", i);
   367				goto err;
   368			}
   369		}
   370	
   371		ret = iio_device_register(indio_dev);
   372		if (ret)
   373			goto err;
   374	
   375		return 0;
   376	
   377	 err:
   378		regulator_disable(data->vref);
   379		return ret;
   380	}
   381	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux