Re: drivers/soundwire/qcom.c:767: undefined reference to `slimbus_bus'

From: Randy Dunlap
Date: Wed Nov 04 2020 - 22:33:06 EST


On 11/2/20 11:47 AM, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 3cea11cd5e3b00d91caf0b4730194039b45c5891
> commit: 09309093d5e8f8774e4a3a0d42b73cf47e9421cf soundwire: qcom: fix SLIBMUS/SLIMBUS typo
> date: 8 weeks ago
> config: openrisc-randconfig-r005-20201102 (attached as .config)
> compiler: or1k-linux-gcc (GCC) 9.3.0
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09309093d5e8f8774e4a3a0d42b73cf47e9421cf
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 09309093d5e8f8774e4a3a0d42b73cf47e9421cf
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=openrisc
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> or1k-linux-ld: drivers/soundwire/qcom.o: in function `qcom_swrm_probe':
>>> drivers/soundwire/qcom.c:767: undefined reference to `slimbus_bus'
>>> or1k-linux-ld: drivers/soundwire/qcom.c:771: undefined reference to `slimbus_bus'
>
> vim +767 drivers/soundwire/qcom.c
>
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 756
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 757 static int qcom_swrm_probe(struct platform_device *pdev)
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 758 {
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 759 struct device *dev = &pdev->dev;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 760 struct sdw_master_prop *prop;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 761 struct sdw_bus_params *params;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 762 struct qcom_swrm_ctrl *ctrl;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 763 int ret;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 764 u32 val;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 765
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 766 ctrl = devm_kzalloc(dev, sizeof(*ctrl), GFP_KERNEL);
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 @767 if (!ctrl)
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 768 return -ENOMEM;
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 769
> 09309093d5e8f87 Jonathan Marek 2020-09-08 770 #if IS_ENABLED(CONFIG_SLIMBUS)
> 02efb49aa805cee Srinivas Kandagatla 2020-01-13 @771 if (dev->parent->bus == &slimbus_bus) {
> 5bd773242f75da3 Jonathan Marek 2020-09-05 772 #else
> 5bd773242f75da3 Jonathan Marek 2020-09-05 773 if (false) {
> 5bd773242f75da3 Jonathan Marek 2020-09-05 774 #endif

> :::::: The code at line 767 was first introduced by commit
> :::::: 02efb49aa805cee643a643ab61a1118c2fd08b80 soundwire: qcom: add support for SoundWire controller
>
> :::::: TO: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> :::::: CC: Vinod Koul <vkoul@xxxxxxxxxx>


config SOUNDWIRE_QCOM
tristate "Qualcomm SoundWire Master driver"
imply SLIMBUS
depends on SND_SOC

The kernel config that was attached has:
CONFIG_SOUNDWIRE_QCOM=y
CONFIG_SLIMBUS=m

I expected that "imply" would make SLIMBUS=y since SOUNDWIRE_QCOM=y,
but I guess that's not the case. :(

Any ideas about what to do here?

--
~Randy