drivers/phy/Kconfig | 1 + 1 file changed, 1 insertion(+)
The Google Tensor USB PHY driver uses the Type-C switch framework to
handle orientation changes. However, the Kconfig did not specify a
dependency on the TYPEC framework, leading to undefined reference
errors when building for architectures or configurations where
CONFIG_TYPEC is disabled or configured as a module.
Add 'depends on TYPEC' to the PHY_GOOGLE_USB entry to ensure all
required symbols are available during linking.
Fixes: cbce66669c82 ("phy: Add Google Tensor SoC USB PHY driver")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202601210825.ELrpQeED-lkp@intel.com/
Signed-off-by: Roy Luo <royluo@google.com>
---
drivers/phy/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 142e7b0ef2efb9209781800ee47b820a91b115ae..5531ff31d8156cb164c32e3e52d4a57b26a62d8d 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -49,6 +49,7 @@ config GENERIC_PHY_MIPI_DPHY
config PHY_GOOGLE_USB
tristate "Google Tensor SoC USB PHY driver"
+ depends on TYPEC
select GENERIC_PHY
help
Enable support for the USB PHY on Google Tensor SoCs, starting with
---
base-commit: 8bb92fd7a04077925c8330f46a6ab44c80ca59f4
change-id: 20260121-next-b949189cacf4
Best regards,
--
Roy Luo <royluo@google.com>
Hi Roy,
On Wed, 2026-01-21 at 22:21 +0000, Roy Luo wrote:
> The Google Tensor USB PHY driver uses the Type-C switch framework to
> handle orientation changes. However, the Kconfig did not specify a
> dependency on the TYPEC framework, leading to undefined reference
> errors when building for architectures or configurations where
> CONFIG_TYPEC is disabled or configured as a module.
>
> Add 'depends on TYPEC' to the PHY_GOOGLE_USB entry to ensure all
> required symbols are available during linking.
>
> Fixes: cbce66669c82 ("phy: Add Google Tensor SoC USB PHY driver")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202601210825.ELrpQeED-lkp@intel.com/
> Signed-off-by: Roy Luo <royluo@google.com>
> ---
> drivers/phy/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 142e7b0ef2efb9209781800ee47b820a91b115ae..5531ff31d8156cb164c32e3e52d4a57b26a62d8d 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -49,6 +49,7 @@ config GENERIC_PHY_MIPI_DPHY
>
> config PHY_GOOGLE_USB
> tristate "Google Tensor SoC USB PHY driver"
> + depends on TYPEC
Can you make this
depends on TYPEC || COMPILE_TEST
to allow some better test coverage?
Cheers,
Andre
On Thu, Jan 22, 2026 at 2:39 AM André Draszik <andre.draszik@linaro.org> wrote:
>
> Hi Roy,
>
> On Wed, 2026-01-21 at 22:21 +0000, Roy Luo wrote:
> > The Google Tensor USB PHY driver uses the Type-C switch framework to
> > handle orientation changes. However, the Kconfig did not specify a
> > dependency on the TYPEC framework, leading to undefined reference
> > errors when building for architectures or configurations where
> > CONFIG_TYPEC is disabled or configured as a module.
> >
> > Add 'depends on TYPEC' to the PHY_GOOGLE_USB entry to ensure all
> > required symbols are available during linking.
> >
> > Fixes: cbce66669c82 ("phy: Add Google Tensor SoC USB PHY driver")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202601210825.ELrpQeED-lkp@intel.com/
> > Signed-off-by: Roy Luo <royluo@google.com>
> > ---
> > drivers/phy/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> > index 142e7b0ef2efb9209781800ee47b820a91b115ae..5531ff31d8156cb164c32e3e52d4a57b26a62d8d 100644
> > --- a/drivers/phy/Kconfig
> > +++ b/drivers/phy/Kconfig
> > @@ -49,6 +49,7 @@ config GENERIC_PHY_MIPI_DPHY
> >
> > config PHY_GOOGLE_USB
> > tristate "Google Tensor SoC USB PHY driver"
> > + depends on TYPEC
>
> Can you make this
>
> depends on TYPEC || COMPILE_TEST
>
> to allow some better test coverage?
>
> Cheers,
> Andre
Hi Andre,
Whether to add COMPILE_TEST for build coverage was discussed in
another thread [1]. My takeaway from that discussion is that
COMPILE_TEST is intended to substitute for ARCH_XXX in build
testing and should not be used without it. Once ARCH_GOOGLE is
present, we can add "depends on (ARCH_GOOGLE || COMPILTE_TEST)".
[1] https://lore.kernel.org/all/CA+zupgwgfKwPYqj8G2tNf4pEXNEWA+vL2WYJPhJ16xExgko7Dw@mail.gmail.com/
Regards,
Roy
Hi Roy,
On Thu, 2026-01-22 at 11:00 -0800, Roy Luo wrote:
> On Thu, Jan 22, 2026 at 2:39 AM André Draszik <andre.draszik@linaro.org> wrote:
> >
> > Hi Roy,
> >
> > On Wed, 2026-01-21 at 22:21 +0000, Roy Luo wrote:
> > > The Google Tensor USB PHY driver uses the Type-C switch framework to
> > > handle orientation changes. However, the Kconfig did not specify a
> > > dependency on the TYPEC framework, leading to undefined reference
> > > errors when building for architectures or configurations where
> > > CONFIG_TYPEC is disabled or configured as a module.
> > >
> > > Add 'depends on TYPEC' to the PHY_GOOGLE_USB entry to ensure all
> > > required symbols are available during linking.
> > >
> > > Fixes: cbce66669c82 ("phy: Add Google Tensor SoC USB PHY driver")
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Closes: https://lore.kernel.org/oe-kbuild-all/202601210825.ELrpQeED-lkp@intel.com/
> > > Signed-off-by: Roy Luo <royluo@google.com>
> > > ---
> > > drivers/phy/Kconfig | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> > > index 142e7b0ef2efb9209781800ee47b820a91b115ae..5531ff31d8156cb164c32e3e52d4a57b26a62d8d 100644
> > > --- a/drivers/phy/Kconfig
> > > +++ b/drivers/phy/Kconfig
> > > @@ -49,6 +49,7 @@ config GENERIC_PHY_MIPI_DPHY
> > >
> > > config PHY_GOOGLE_USB
> > > tristate "Google Tensor SoC USB PHY driver"
> > > + depends on TYPEC
> >
> > Can you make this
> >
> > depends on TYPEC || COMPILE_TEST
> >
> > to allow some better test coverage?
> >
> > Cheers,
> > Andre
>
> Hi Andre,
>
> Whether to add COMPILE_TEST for build coverage was discussed in
> another thread [1]. My takeaway from that discussion is that
> COMPILE_TEST is intended to substitute for ARCH_XXX in build
> testing and should not be used without it. Once ARCH_GOOGLE is
> present, we can add "depends on (ARCH_GOOGLE || COMPILTE_TEST)".
COMPILE_TEST is not limited to ARCH_xxx. It allows drivers to be
compile tested even if the current build doesn't enable whatever
option (like TYPEC).
See also https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html#compile-testing
Cheers,
Andre'
>
> [1] https://lore.kernel.org/all/CA+zupgwgfKwPYqj8G2tNf4pEXNEWA+vL2WYJPhJ16xExgko7Dw@mail.gmail.com/
>
> Regards,
> Roy
On Thu, Jan 22, 2026 at 10:28 PM André Draszik <andre.draszik@linaro.org> wrote:
>
> Hi Roy,
>
> On Thu, 2026-01-22 at 11:00 -0800, Roy Luo wrote:
> > On Thu, Jan 22, 2026 at 2:39 AM André Draszik <andre.draszik@linaro.org> wrote:
> > >
> > > Hi Roy,
> > >
> > > On Wed, 2026-01-21 at 22:21 +0000, Roy Luo wrote:
> > > > The Google Tensor USB PHY driver uses the Type-C switch framework to
> > > > handle orientation changes. However, the Kconfig did not specify a
> > > > dependency on the TYPEC framework, leading to undefined reference
> > > > errors when building for architectures or configurations where
> > > > CONFIG_TYPEC is disabled or configured as a module.
> > > >
> > > > Add 'depends on TYPEC' to the PHY_GOOGLE_USB entry to ensure all
> > > > required symbols are available during linking.
> > > >
> > > > Fixes: cbce66669c82 ("phy: Add Google Tensor SoC USB PHY driver")
> > > > Reported-by: kernel test robot <lkp@intel.com>
> > > > Closes: https://lore.kernel.org/oe-kbuild-all/202601210825.ELrpQeED-lkp@intel.com/
> > > > Signed-off-by: Roy Luo <royluo@google.com>
> > > > ---
> > > > drivers/phy/Kconfig | 1 +
> > > > 1 file changed, 1 insertion(+)
> > > >
> > > > diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> > > > index 142e7b0ef2efb9209781800ee47b820a91b115ae..5531ff31d8156cb164c32e3e52d4a57b26a62d8d 100644
> > > > --- a/drivers/phy/Kconfig
> > > > +++ b/drivers/phy/Kconfig
> > > > @@ -49,6 +49,7 @@ config GENERIC_PHY_MIPI_DPHY
> > > >
> > > > config PHY_GOOGLE_USB
> > > > tristate "Google Tensor SoC USB PHY driver"
> > > > + depends on TYPEC
> > >
> > > Can you make this
> > >
> > > depends on TYPEC || COMPILE_TEST
> > >
> > > to allow some better test coverage?
> > >
> > > Cheers,
> > > Andre
> >
> > Hi Andre,
> >
> > Whether to add COMPILE_TEST for build coverage was discussed in
> > another thread [1]. My takeaway from that discussion is that
> > COMPILE_TEST is intended to substitute for ARCH_XXX in build
> > testing and should not be used without it. Once ARCH_GOOGLE is
> > present, we can add "depends on (ARCH_GOOGLE || COMPILTE_TEST)".
>
> COMPILE_TEST is not limited to ARCH_xxx. It allows drivers to be
> compile tested even if the current build doesn't enable whatever
> option (like TYPEC).
>
> See also https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html#compile-testing
"If a config symbol has a dependency, but the code controlled by the
config symbol can still be compiled if the dependency is not met",
TYPEC doesn't fall into this category as it's mandatory for compiling
PHY_GOOGLE_USB.
With "depends on TYPEC || COMPILE_TEST", this very build error
would resurface when TYPEC=n, COMPILE_TEST=y and
PHY_GOOGLE_USB=y. Please let me know if I missed anything.
Thanks,
Roy
>
> Cheers,
> Andre'
>
>
> >
> > [1] https://lore.kernel.org/all/CA+zupgwgfKwPYqj8G2tNf4pEXNEWA+vL2WYJPhJ16xExgko7Dw@mail.gmail.com/
> >
> > Regards,
> > Roy
Hi Roy, On Fri, 2026-01-23 at 15:51 -0800, Roy Luo wrote: > On Thu, Jan 22, 2026 at 10:28 PM André Draszik <andre.draszik@linaro.org> wrote: > > > > > > COMPILE_TEST is not limited to ARCH_xxx. It allows drivers to be > > compile tested even if the current build doesn't enable whatever > > option (like TYPEC). > > > > See also https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html#compile-testing > > "If a config symbol has a dependency, but the code controlled by the > config symbol can still be compiled if the dependency is not met", > TYPEC doesn't fall into this category as it's mandatory for compiling > PHY_GOOGLE_USB. > With "depends on TYPEC || COMPILE_TEST", this very build error > would resurface when TYPEC=n, COMPILE_TEST=y and > PHY_GOOGLE_USB=y. Please let me know if I missed anything. No it wouldn't. If you look at the build log & .config from the reported failure, the error was because: CONFIG_PHY_GOOGLE_USB=y CONFIG_TYPEC=m built-in code can not link against code from a module. The typec APIs are all stubbed out when TYPEC=n. Cheers, Andre' > > Thanks, > Roy > > > > > Cheers, > > Andre' > > > > > > > > > > [1] https://lore.kernel.org/all/CA+zupgwgfKwPYqj8G2tNf4pEXNEWA+vL2WYJPhJ16xExgko7Dw@mail.gmail.com/ > > > > > > Regards, > > > Roy
On Fri, Jan 23, 2026 at 10:52 PM André Draszik <andre.draszik@linaro.org> wrote: > > Hi Roy, > > On Fri, 2026-01-23 at 15:51 -0800, Roy Luo wrote: > > On Thu, Jan 22, 2026 at 10:28 PM André Draszik <andre.draszik@linaro.org> wrote: > > > > > > > > > COMPILE_TEST is not limited to ARCH_xxx. It allows drivers to be > > > compile tested even if the current build doesn't enable whatever > > > option (like TYPEC). > > > > > > See also https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html#compile-testing > > > > "If a config symbol has a dependency, but the code controlled by the > > config symbol can still be compiled if the dependency is not met", > > TYPEC doesn't fall into this category as it's mandatory for compiling > > PHY_GOOGLE_USB. > > With "depends on TYPEC || COMPILE_TEST", this very build error > > would resurface when TYPEC=n, COMPILE_TEST=y and > > PHY_GOOGLE_USB=y. Please let me know if I missed anything. > > No it wouldn't. If you look at the build log & .config from the reported > failure, the error was because: > > CONFIG_PHY_GOOGLE_USB=y > CONFIG_TYPEC=m You're right about the cause of the build error and sorry I gave the wrong example. Let's look at this build error scenario with "depends on TYPEC || COMPILE_TEST": Given COMPILE_TEST=y and CONFIG_TYPEC=m, the "depends on" would be evaluated as max(y,m) = y. Hence, CONFIG_PHY_GOOGLE_USB is allowed to be set to y, m or n. When it's set to y, the exact build error would be introduced. I also tested this locally and saw the build error. Thanks, Roy > > built-in code can not link against code from a module. > > The typec APIs are all stubbed out when TYPEC=n. > > Cheers, > Andre' > > > > > > > Thanks, > > Roy > > > > > > > > Cheers, > > > Andre' > > > > > > > > > > > > > > [1] https://lore.kernel.org/all/CA+zupgwgfKwPYqj8G2tNf4pEXNEWA+vL2WYJPhJ16xExgko7Dw@mail.gmail.com/ > > > > > > > > Regards, > > > > Roy
Hi Roy, On Mon, 2026-01-26 at 18:34 -0800, Roy Luo wrote: > the wrong example. Let's look at this build error scenario with > "depends on TYPEC || COMPILE_TEST": > Given COMPILE_TEST=y and CONFIG_TYPEC=m, the > "depends on" would be evaluated as max(y,m) = y. > Hence, CONFIG_PHY_GOOGLE_USB is allowed to be > set to y, m or n. When it's set to y, the exact build error > would be introduced. I also tested this locally and saw > the build error. Thanks for trying Roy. In that case, it should be written as depends on TYPEC || (TYPEC=n && COMPILE_TEST) Cheers, Andre'
On Wed, Jan 28, 2026 at 11:57 AM André Draszik <andre.draszik@linaro.org> wrote: > > Hi Roy, > > On Mon, 2026-01-26 at 18:34 -0800, Roy Luo wrote: > > the wrong example. Let's look at this build error scenario with > > "depends on TYPEC || COMPILE_TEST": > > Given COMPILE_TEST=y and CONFIG_TYPEC=m, the > > "depends on" would be evaluated as max(y,m) = y. > > Hence, CONFIG_PHY_GOOGLE_USB is allowed to be > > set to y, m or n. When it's set to y, the exact build error > > would be introduced. I also tested this locally and saw > > the build error. > > Thanks for trying Roy. In that case, it should be written as > > depends on TYPEC || (TYPEC=n && COMPILE_TEST) > > > Cheers, > Andre' Hi Andre', Thank you for the clarification. I noticed similar expressions like "(CONFIG_X=n && COMPILE_TEST)" in other drivers, though it seems less common, which is why I was initially hesitant. I will send out v2 now with this change included. Thanks, Roy
On Wed, 21 Jan 2026 at 22:21, Roy Luo <royluo@google.com> wrote:
>
> The Google Tensor USB PHY driver uses the Type-C switch framework to
> handle orientation changes. However, the Kconfig did not specify a
> dependency on the TYPEC framework, leading to undefined reference
> errors when building for architectures or configurations where
> CONFIG_TYPEC is disabled or configured as a module.
>
> Add 'depends on TYPEC' to the PHY_GOOGLE_USB entry to ensure all
> required symbols are available during linking.
>
> Fixes: cbce66669c82 ("phy: Add Google Tensor SoC USB PHY driver")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202601210825.ELrpQeED-lkp@intel.com/
> Signed-off-by: Roy Luo <royluo@google.com>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
> drivers/phy/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 142e7b0ef2efb9209781800ee47b820a91b115ae..5531ff31d8156cb164c32e3e52d4a57b26a62d8d 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -49,6 +49,7 @@ config GENERIC_PHY_MIPI_DPHY
>
> config PHY_GOOGLE_USB
> tristate "Google Tensor SoC USB PHY driver"
> + depends on TYPEC
> select GENERIC_PHY
> help
> Enable support for the USB PHY on Google Tensor SoCs, starting with
>
> ---
> base-commit: 8bb92fd7a04077925c8330f46a6ab44c80ca59f4
> change-id: 20260121-next-b949189cacf4
>
> Best regards,
> --
> Roy Luo <royluo@google.com>
>
© 2016 - 2026 Red Hat, Inc.