[PATCH] usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON

Arnd Bergmann posted 1 patch 2 years, 1 month ago
drivers/usb/typec/mux/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON
Posted by Arnd Bergmann 2 years, 1 month ago
From: Arnd Bergmann <arnd@arndb.de>

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@arndb.de>
---
 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
Re: [PATCH] usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON
Posted by Greg Kroah-Hartman 2 years, 1 month ago
On Sat, Aug 05, 2023 at 11:51:53AM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> 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@arndb.de>
> ---
>  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.

thanks,

greg k-h
Re: [PATCH] usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON
Posted by Arnd Bergmann 2 years, 1 month ago
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@arndb.de>
>> 
>> 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@arndb.de>
>> ---
>>  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