Re: [PATCH] usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON

From: Arnd Bergmann
Date: Sat Aug 05 2023 - 06:04:55 EST


On Sat, Aug 5, 2023, at 11:59, Greg Kroah-Hartman wrote:
> On Sat, Aug 05, 2023 at 11:51:53AM +0200, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@xxxxxxxx>
>>
>> It is possible to configure the typec drivers to be built-in while the
>> actual USB host and device support is in loadable modules, but that now
>> causes a link failure because the usb debugfs support is then not
>> available to built-in code.
>>
>> x86_64-linux-ld: drivers/usb/typec/mux/intel_pmc_mux.o: in function `pmc_usb_init':
>> intel_pmc_mux.c:(.init.text+0x3): undefined reference to `usb_debug_root'
>>
>> Select CONFIG_USB_COMMON to get it to build again, as we do for
>> other drivers that require the core usb functionality.
>>
>> Fixes: 0a453dc9f2602 ("usb: typec: intel_pmc_mux: Expose IOM port status to debugfs")
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> drivers/usb/typec/mux/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/usb/typec/mux/Kconfig b/drivers/usb/typec/mux/Kconfig
>> index 784b9d8107e9b..65da61150ba78 100644
>> --- a/drivers/usb/typec/mux/Kconfig
>> +++ b/drivers/usb/typec/mux/Kconfig
>> @@ -29,6 +29,7 @@ config TYPEC_MUX_INTEL_PMC
>> tristate "Intel PMC mux control"
>> depends on ACPI
>> depends on INTEL_SCU_IPC
>> + select USB_COMMON
>> select USB_ROLE_SWITCH
>> help
>> Driver for USB muxes controlled by Intel PMC FW. Intel PMC FW can
>> --
>> 2.39.2
>>
>
> I think this is already fixed by commit ef7c4d8a90c6 ("usb: typec: mux:
> intel: Add dependency on USB_COMMON") in my tree and will be in the next
> linux-next release on Monday.

Right, adding a dependency also works.

I tried to avoid mixing 'depends on' with 'select' here, and
(almost) all the other users of USB_COMMON use select since
this is a hidden symbol, but practically speaking there is
very little difference since you wouldn't actually want to
have the typec support builtin without also having USB builtin.

Arnd