Re: [PATCH 02/10] i2c-mux: move select and deselect ops to i2c_mux_core

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

 



Hi Peter,

[auto build test WARNING on wsa/i2c/for-next]
[also build test WARNING on v4.4-rc8 next-20160104]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Peter-Rosin/i2c-mux-cleanup-and-locking-update/20160104-231355
base:   https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux i2c/for-next
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:845:46: sparse: too many arguments for function i2c_add_mux_adapter
   drivers/iio/imu/inv_mpu6050/inv_mpu_core.c: In function 'inv_mpu_probe':
   drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:845:40: warning: passing argument 1 of 'i2c_add_mux_adapter' from incompatible pointer type [-Wincompatible-pointer-types]
     st->mux_adapter = i2c_add_mux_adapter(client->adapter,
                                           ^
   In file included from drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:26:0:
   include/linux/i2c-mux.h:53:21: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:847:12: warning: passing argument 3 of 'i2c_add_mux_adapter' makes integer from pointer without a cast [-Wint-conversion]
               indio_dev,
               ^
   In file included from drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:26:0:
   include/linux/i2c-mux.h:53:21: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct iio_dev *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:845:20: error: too many arguments to function 'i2c_add_mux_adapter'
     st->mux_adapter = i2c_add_mux_adapter(client->adapter,
                       ^
   In file included from drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:26:0:
   include/linux/i2c-mux.h:53:21: note: declared here
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
--
   include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/media/dvb-frontends/si2168.c:712:43: sparse: too many arguments for function i2c_add_mux_adapter
   drivers/media/dvb-frontends/si2168.c: In function 'si2168_probe':
   drivers/media/dvb-frontends/si2168.c:712:37: warning: passing argument 1 of 'i2c_add_mux_adapter' from incompatible pointer type [-Wincompatible-pointer-types]
     dev->adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
                                        ^
   In file included from drivers/media/dvb-frontends/si2168_priv.h:23:0,
                    from drivers/media/dvb-frontends/si2168.c:17:
   include/linux/i2c-mux.h:53:21: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/si2168.c:713:4: warning: passing argument 3 of 'i2c_add_mux_adapter' makes integer from pointer without a cast [-Wint-conversion]
       client, 0, 0, 0, si2168_select, si2168_deselect);
       ^
   In file included from drivers/media/dvb-frontends/si2168_priv.h:23:0,
                    from drivers/media/dvb-frontends/si2168.c:17:
   include/linux/i2c-mux.h:53:21: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct i2c_client *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/si2168.c:712:17: error: too many arguments to function 'i2c_add_mux_adapter'
     dev->adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
                    ^
   In file included from drivers/media/dvb-frontends/si2168_priv.h:23:0,
                    from drivers/media/dvb-frontends/si2168.c:17:
   include/linux/i2c-mux.h:53:21: note: declared here
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
--
   include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/media/dvb-frontends/m88ds3103.c:1470:47: sparse: too many arguments for function i2c_add_mux_adapter
   drivers/media/dvb-frontends/m88ds3103.c: In function 'm88ds3103_probe':
   drivers/media/dvb-frontends/m88ds3103.c:1470:41: warning: passing argument 1 of 'i2c_add_mux_adapter' from incompatible pointer type [-Wincompatible-pointer-types]
     dev->i2c_adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
                                            ^
   In file included from drivers/media/dvb-frontends/m88ds3103_priv.h:24:0,
                    from drivers/media/dvb-frontends/m88ds3103.c:17:
   include/linux/i2c-mux.h:53:21: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/m88ds3103.c:1471:13: warning: passing argument 3 of 'i2c_add_mux_adapter' makes integer from pointer without a cast [-Wint-conversion]
                dev, 0, 0, 0, m88ds3103_select,
                ^
   In file included from drivers/media/dvb-frontends/m88ds3103_priv.h:24:0,
                    from drivers/media/dvb-frontends/m88ds3103.c:17:
   include/linux/i2c-mux.h:53:21: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct m88ds3103_dev *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/m88ds3103.c:1470:21: error: too many arguments to function 'i2c_add_mux_adapter'
     dev->i2c_adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
                        ^
   In file included from drivers/media/dvb-frontends/m88ds3103_priv.h:24:0,
                    from drivers/media/dvb-frontends/m88ds3103.c:17:
   include/linux/i2c-mux.h:53:21: note: declared here
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
--
   include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/media/dvb-frontends/rtl2830.c:868:43: sparse: too many arguments for function i2c_add_mux_adapter
   drivers/media/dvb-frontends/rtl2830.c: In function 'rtl2830_probe':
   drivers/media/dvb-frontends/rtl2830.c:868:37: warning: passing argument 1 of 'i2c_add_mux_adapter' from incompatible pointer type [-Wincompatible-pointer-types]
     dev->adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
                                        ^
   In file included from drivers/media/dvb-frontends/rtl2830_priv.h:24:0,
                    from drivers/media/dvb-frontends/rtl2830.c:18:
   include/linux/i2c-mux.h:53:21: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/rtl2830.c:869:4: warning: passing argument 3 of 'i2c_add_mux_adapter' makes integer from pointer without a cast [-Wint-conversion]
       client, 0, 0, 0, rtl2830_select, NULL);
       ^
   In file included from drivers/media/dvb-frontends/rtl2830_priv.h:24:0,
                    from drivers/media/dvb-frontends/rtl2830.c:18:
   include/linux/i2c-mux.h:53:21: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct i2c_client *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/rtl2830.c:868:17: error: too many arguments to function 'i2c_add_mux_adapter'
     dev->adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
                    ^
   In file included from drivers/media/dvb-frontends/rtl2830_priv.h:24:0,
                    from drivers/media/dvb-frontends/rtl2830.c:18:
   include/linux/i2c-mux.h:53:21: note: declared here
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
--
   include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/media/dvb-frontends/rtl2832.c:1265:53: sparse: too many arguments for function i2c_add_mux_adapter
   drivers/media/dvb-frontends/rtl2832.c: In function 'rtl2832_probe':
   drivers/media/dvb-frontends/rtl2832.c:1265:47: warning: passing argument 1 of 'i2c_add_mux_adapter' from incompatible pointer type [-Wincompatible-pointer-types]
     dev->i2c_adapter_tuner = i2c_add_mux_adapter(i2c, &i2c->dev, dev,
                                                  ^
   In file included from drivers/media/dvb-frontends/rtl2832.h:26:0,
                    from drivers/media/dvb-frontends/rtl2832_priv.h:31,
                    from drivers/media/dvb-frontends/rtl2832.c:22:
   include/linux/i2c-mux.h:53:21: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/rtl2832.c:1265:63: warning: passing argument 3 of 'i2c_add_mux_adapter' makes integer from pointer without a cast [-Wint-conversion]
     dev->i2c_adapter_tuner = i2c_add_mux_adapter(i2c, &i2c->dev, dev,
                                                                  ^
   In file included from drivers/media/dvb-frontends/rtl2832.h:26:0,
                    from drivers/media/dvb-frontends/rtl2832_priv.h:31,
                    from drivers/media/dvb-frontends/rtl2832.c:22:
   include/linux/i2c-mux.h:53:21: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct rtl2832_dev *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/dvb-frontends/rtl2832.c:1265:27: error: too many arguments to function 'i2c_add_mux_adapter'
     dev->i2c_adapter_tuner = i2c_add_mux_adapter(i2c, &i2c->dev, dev,
                              ^
   In file included from drivers/media/dvb-frontends/rtl2832.h:26:0,
                    from drivers/media/dvb-frontends/rtl2832_priv.h:31,
                    from drivers/media/dvb-frontends/rtl2832.c:22:
   include/linux/i2c-mux.h:53:21: note: declared here
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
--
   include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/media/usb/cx231xx/cx231xx-i2c.c:574:56: sparse: too many arguments for function i2c_add_mux_adapter
   drivers/media/usb/cx231xx/cx231xx-i2c.c: In function 'cx231xx_i2c_mux_register':
   drivers/media/usb/cx231xx/cx231xx-i2c.c:574:50: warning: passing argument 1 of 'i2c_add_mux_adapter' from incompatible pointer type [-Wincompatible-pointer-types]
     dev->i2c_mux_adap[mux_no] = i2c_add_mux_adapter(i2c_parent,
                                                     ^
   In file included from drivers/media/usb/cx231xx/cx231xx-i2c.c:27:0:
   include/linux/i2c-mux.h:53:21: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/usb/cx231xx/cx231xx-i2c.c:576:5: warning: passing argument 3 of 'i2c_add_mux_adapter' makes integer from pointer without a cast [-Wint-conversion]
        dev /* mux_priv */,
        ^
   In file included from drivers/media/usb/cx231xx/cx231xx-i2c.c:27:0:
   include/linux/i2c-mux.h:53:21: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct cx231xx *'
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^
   drivers/media/usb/cx231xx/cx231xx-i2c.c:574:30: error: too many arguments to function 'i2c_add_mux_adapter'
     dev->i2c_mux_adap[mux_no] = i2c_add_mux_adapter(i2c_parent,
                                 ^
   In file included from drivers/media/usb/cx231xx/cx231xx-i2c.c:27:0:
   include/linux/i2c-mux.h:53:21: note: declared here
    struct i2c_adapter *i2c_add_mux_adapter(struct i2c_mux_core *muxc,
                        ^

vim +845 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c

452204ae Sachin Kamat        2013-07-30  829  		return result;
09a642b7 Ge Gao              2013-02-02  830  	}
09a642b7 Ge Gao              2013-02-02  831  	result = inv_mpu6050_probe_trigger(indio_dev);
09a642b7 Ge Gao              2013-02-02  832  	if (result) {
09a642b7 Ge Gao              2013-02-02  833  		dev_err(&st->client->dev, "trigger probe fail %d\n", result);
09a642b7 Ge Gao              2013-02-02  834  		goto out_unreg_ring;
09a642b7 Ge Gao              2013-02-02  835  	}
09a642b7 Ge Gao              2013-02-02  836  
09a642b7 Ge Gao              2013-02-02  837  	INIT_KFIFO(st->timestamps);
09a642b7 Ge Gao              2013-02-02  838  	spin_lock_init(&st->time_stamp_lock);
09a642b7 Ge Gao              2013-02-02  839  	result = iio_device_register(indio_dev);
09a642b7 Ge Gao              2013-02-02  840  	if (result) {
09a642b7 Ge Gao              2013-02-02  841  		dev_err(&st->client->dev, "IIO register fail %d\n", result);
09a642b7 Ge Gao              2013-02-02  842  		goto out_remove_trigger;
09a642b7 Ge Gao              2013-02-02  843  	}
09a642b7 Ge Gao              2013-02-02  844  
3a2ecc3d Srinivas Pandruvada 2014-12-05 @845  	st->mux_adapter = i2c_add_mux_adapter(client->adapter,
3a2ecc3d Srinivas Pandruvada 2014-12-05  846  					      &client->dev,
3a2ecc3d Srinivas Pandruvada 2014-12-05  847  					      indio_dev,
3a2ecc3d Srinivas Pandruvada 2014-12-05  848  					      0, 0, 0,
3a2ecc3d Srinivas Pandruvada 2014-12-05  849  					      inv_mpu6050_select_bypass,
3a2ecc3d Srinivas Pandruvada 2014-12-05  850  					      inv_mpu6050_deselect_bypass);
3a2ecc3d Srinivas Pandruvada 2014-12-05  851  	if (!st->mux_adapter) {
3a2ecc3d Srinivas Pandruvada 2014-12-05  852  		result = -ENODEV;
3a2ecc3d Srinivas Pandruvada 2014-12-05  853  		goto out_unreg_device;

:::::: The code at line 845 was first introduced by commit
:::::: 3a2ecc3d2dce6e051b6afc319bb380c829e4e4fd iio: imu: inv_mpu6050: Add i2c mux for by pass

:::::: TO: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
:::::: CC: Jonathan Cameron <jic23@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux