diff mbox series

usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON

Message ID 20230805095157.3459892-1-arnd@kernel.org (mailing list archive)
State Accepted
Commit ef7c4d8a90c64bac294363c6f67eb98246a162a2
Headers show
Series usb: typec: intel_pmc_mux: select CONFIG_USB_COMMON | expand

Commit Message

Arnd Bergmann Aug. 5, 2023, 9:51 a.m. UTC
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(+)

Comments

Greg KH Aug. 5, 2023, 9:59 a.m. UTC | #1
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
Arnd Bergmann Aug. 5, 2023, 10:04 a.m. UTC | #2
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
diff mbox series

Patch

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