From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932319AbbKQQn7 (ORCPT ); Tue, 17 Nov 2015 11:43:59 -0500 Received: from mga03.intel.com ([134.134.136.65]:37949 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932101AbbKQQnq (ORCPT ); Tue, 17 Nov 2015 11:43:46 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,308,1444719600"; d="scan'208";a="601921976" Date: Tue, 17 Nov 2015 22:17:30 +0530 From: Vinod Koul To: kbuild test robot Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, Mark Brown , Jeeja KP Subject: Re: sound/soc/codecs/rl6347a.c:66:8: error: implicit declaration of function 'i2c_master_send' Message-ID: <20151117164730.GO25173@localhost> References: <201511171925.DG2z7kcb%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201511171925.DG2z7kcb%fengguang.wu@intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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