Messages in this thread | | | Date | Tue, 17 Nov 2015 22:17:30 +0530 | From | Vinod Koul <> | Subject | Re: sound/soc/codecs/rl6347a.c:66:8: error: implicit declaration of function 'i2c_master_send' |
| |
On Tue, Nov 17, 2015 at 07:07:28PM +0800, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 8005c49d9aea74d382f474ce11afbbc7d7130bec > commit: 624729fd51871bfbddb647764f180126789a29ee ASoC: Intel: Skylake - Add Skylake RT286 I2S machine driver > date: 4 weeks ago > config: x86_64-randconfig-s5-11171804 (attached as .config) > reproduce: > git checkout 624729fd51871bfbddb647764f180126789a29ee > # save the attached .config to linux build tree > make ARCH=x86_64 > > All error/warnings (new ones prefixed by >>): > > sound/soc/codecs/rl6347a.c: In function 'rl6347a_hw_write': > >> sound/soc/codecs/rl6347a.c:66:8: error: implicit declaration of function 'i2c_master_send' [-Werror=implicit-function-declaration] > ret = i2c_master_send(client, data, 4); > ^ > sound/soc/codecs/rl6347a.c: In function 'rl6347a_hw_read': > >> sound/soc/codecs/rl6347a.c:114:8: error: implicit declaration of function 'i2c_transfer' [-Werror=implicit-function-declaration] > ret = i2c_transfer(client->adapter, xfer, 2); > ^ > cc1: some warnings being treated as errors > -- > >> sound/soc/codecs/rt286.c:1269:1: warning: data definition has no type or storage class > module_i2c_driver(rt286_i2c_driver); > ^ > >> sound/soc/codecs/rt286.c:1269:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int] > >> sound/soc/codecs/rt286.c:1269:1: warning: parameter names (without types) in function declaration > >> sound/soc/codecs/rt286.c:1259:26: warning: 'rt286_i2c_driver' defined but not used [-Wunused-variable] > static struct i2c_driver rt286_i2c_driver = { > ^ > cc1: some warnings being treated as errors
Thanks for reporting this, I was able to verify and looks like the config does not have I2C selected, so the driver does not find this symbol.
Also I noticed, i2c core defines i2c_master_send() APIs as extern, so not having I2C causes failure.
I did try adding depends on I2C on rl6347a but that does not help as rt286 starts not compiling which incidently depends on I2C but was selected by SKL machine
So finalled added depends on SKL machine, will send that out
Thanks -- ~Vinod
| |