[PATCH next] phy: google: fix build dependency for Google Tensor USB PHY

Roy Luo posted 1 patch 2 weeks, 2 days ago
There is a newer version of this series
drivers/phy/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by Roy Luo 2 weeks, 2 days ago
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>
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by André Draszik 2 weeks, 2 days ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by Roy Luo 2 weeks, 1 day ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by André Draszik 2 weeks, 1 day ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by Roy Luo 2 weeks ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by André Draszik 2 weeks ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by Roy Luo 1 week, 4 days ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by André Draszik 1 week, 2 days ago
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'
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by Roy Luo 1 week, 2 days ago
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
Re: [PATCH next] phy: google: fix build dependency for Google Tensor USB PHY
Posted by Peter Griffin 2 weeks, 2 days ago
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>
>