Re: [PATCH 03/10] i2c-mux: move the slave side adapter management to i2c_mux_core

From: kbuild test robot
Date: Mon Jan 04 2016 - 11:03:08 EST


Hi Peter,

[auto build test ERROR on wsa/i2c/for-next]
[also build test ERROR 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
config: x86_64-randconfig-i0-201601 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All error/warnings (new ones prefixed by >>):

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:58:5: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
int 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:58:5: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct m88ds3103_dev *'
int 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:58:5: note: declared here
int i2c_add_mux_adapter(struct i2c_mux_core *muxc,
^
>> drivers/media/dvb-frontends/m88ds3103.c:1470:19: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
dev->i2c_adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
^
drivers/media/dvb-frontends/m88ds3103.c: In function 'm88ds3103_remove':
>> drivers/media/dvb-frontends/m88ds3103.c:1505:2: error: implicit declaration of function 'i2c_del_mux_adapter' [-Werror=implicit-function-declaration]
i2c_del_mux_adapter(dev->i2c_adapter);
^
cc1: some warnings being treated as errors
--
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:58:5: note: expected 'struct i2c_mux_core *' but argument is of type 'struct i2c_adapter *'
int 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:58:5: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct i2c_client *'
int 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:58:5: note: declared here
int i2c_add_mux_adapter(struct i2c_mux_core *muxc,
^
>> drivers/media/dvb-frontends/rtl2830.c:868:15: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
dev->adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
^
drivers/media/dvb-frontends/rtl2830.c: In function 'rtl2830_remove':
>> drivers/media/dvb-frontends/rtl2830.c:903:2: error: implicit declaration of function 'i2c_del_mux_adapter' [-Werror=implicit-function-declaration]
i2c_del_mux_adapter(dev->adapter);
^
cc1: some warnings being treated as errors

vim +/i2c_del_mux_adapter +1505 drivers/media/dvb-frontends/m88ds3103.c

f01919e8f Antti Palosaari 2015-04-16 1464 goto err_kfree;
56ea37da3 Antti Palosaari 2015-10-03 1465 ret = m88ds3103_update_bits(dev, 0x23, 0x10, 0x10);
395d00d1c Antti Palosaari 2013-02-25 1466 if (ret)
f01919e8f Antti Palosaari 2015-04-16 1467 goto err_kfree;
395d00d1c Antti Palosaari 2013-02-25 1468
44b9055b4 Antti Palosaari 2013-11-19 1469 /* create mux i2c adapter for tuner */
f01919e8f Antti Palosaari 2015-04-16 @1470 dev->i2c_adapter = i2c_add_mux_adapter(client->adapter, &client->dev,
f01919e8f Antti Palosaari 2015-04-16 1471 dev, 0, 0, 0, m88ds3103_select,
478932b16 Antti Palosaari 2015-04-16 1472 NULL);
4347df6a7 Dan Carpenter 2015-06-02 1473 if (dev->i2c_adapter == NULL) {
4347df6a7 Dan Carpenter 2015-06-02 1474 ret = -ENOMEM;
f01919e8f Antti Palosaari 2015-04-16 1475 goto err_kfree;
4347df6a7 Dan Carpenter 2015-06-02 1476 }
44b9055b4 Antti Palosaari 2013-11-19 1477
395d00d1c Antti Palosaari 2013-02-25 1478 /* create dvb_frontend */
f01919e8f Antti Palosaari 2015-04-16 1479 memcpy(&dev->fe.ops, &m88ds3103_ops, sizeof(struct dvb_frontend_ops));
f01919e8f Antti Palosaari 2015-04-16 1480 if (dev->chip_id == M88RS6000_CHIP_ID)
7978b8a1b Antti Palosaari 2015-04-16 1481 strncpy(dev->fe.ops.info.name, "Montage Technology M88RS6000",
7978b8a1b Antti Palosaari 2015-04-16 1482 sizeof(dev->fe.ops.info.name));
f01919e8f Antti Palosaari 2015-04-16 1483 if (!pdata->attach_in_use)
f01919e8f Antti Palosaari 2015-04-16 1484 dev->fe.ops.release = NULL;
f01919e8f Antti Palosaari 2015-04-16 1485 dev->fe.demodulator_priv = dev;
f01919e8f Antti Palosaari 2015-04-16 1486 i2c_set_clientdata(client, dev);
f01919e8f Antti Palosaari 2015-04-16 1487
f01919e8f Antti Palosaari 2015-04-16 1488 /* setup callbacks */
f01919e8f Antti Palosaari 2015-04-16 1489 pdata->get_dvb_frontend = m88ds3103_get_dvb_frontend;
f01919e8f Antti Palosaari 2015-04-16 1490 pdata->get_i2c_adapter = m88ds3103_get_i2c_adapter;
f01919e8f Antti Palosaari 2015-04-16 1491 return 0;
f01919e8f Antti Palosaari 2015-04-16 1492 err_kfree:
f01919e8f Antti Palosaari 2015-04-16 1493 kfree(dev);
395d00d1c Antti Palosaari 2013-02-25 1494 err:
f01919e8f Antti Palosaari 2015-04-16 1495 dev_dbg(&client->dev, "failed=%d\n", ret);
f01919e8f Antti Palosaari 2015-04-16 1496 return ret;
395d00d1c Antti Palosaari 2013-02-25 1497 }
395d00d1c Antti Palosaari 2013-02-25 1498
f01919e8f Antti Palosaari 2015-04-16 1499 static int m88ds3103_remove(struct i2c_client *client)
f01919e8f Antti Palosaari 2015-04-16 1500 {
7978b8a1b Antti Palosaari 2015-04-16 1501 struct m88ds3103_dev *dev = i2c_get_clientdata(client);
395d00d1c Antti Palosaari 2013-02-25 1502
f01919e8f Antti Palosaari 2015-04-16 1503 dev_dbg(&client->dev, "\n");
395d00d1c Antti Palosaari 2013-02-25 1504
f01919e8f Antti Palosaari 2015-04-16 @1505 i2c_del_mux_adapter(dev->i2c_adapter);
395d00d1c Antti Palosaari 2013-02-25 1506
f01919e8f Antti Palosaari 2015-04-16 1507 kfree(dev);
f01919e8f Antti Palosaari 2015-04-16 1508 return 0;

:::::: The code at line 1505 was first introduced by commit
:::::: f01919e8f54f645fb00fdb823fe266e21eebe3b1 [media] m88ds3103: add I2C client binding

:::::: TO: Antti Palosaari <crope@xxxxxx>
:::::: CC: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: Binary data