2020-12-01 22:39:41

by Marek Szyprowski

[permalink] [raw]
Subject: [PATCH] phy: samsung: Fix build break in USB2 PHY driver for Exynos5420 SoCs

Exynos5420 variant of USB2 PHY is handled by the same code as the
Exynos5250 one. Introducing a separate Kconfig symbol for it was an
over-engineering, which turned out to cause build break for certain
configurations:

ERROR: modpost: "exynos5420_usb2_phy_config" [drivers/phy/samsung/phy-exynos-usb2.ko] undefined!

Fix this by removing PHY_EXYNOS5420_USB2 symbol and using
PHY_EXYNOS5250_USB2 also for Exynos5420 SoCs.

Reported-by: Markus Reichl <[email protected]>
Fixes: 81b534f7e9b2 ("phy: samsung: Add support for the Exynos5420 variant of the USB2 PHY")
Signed-off-by: Marek Szyprowski <[email protected]>
---
Vinod: this a fix to the patch merged yesterday. If you want me to resend
a fixed initial patch, let me know.
---
drivers/phy/samsung/Kconfig | 7 +------
drivers/phy/samsung/phy-samsung-usb2.c | 2 --
2 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
index 0f51d3bf38cc..e20d2fcc9fe7 100644
--- a/drivers/phy/samsung/Kconfig
+++ b/drivers/phy/samsung/Kconfig
@@ -64,12 +64,7 @@ config PHY_EXYNOS4X12_USB2
config PHY_EXYNOS5250_USB2
bool
depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS5250
-
-config PHY_EXYNOS5420_USB2
- bool
- depends on PHY_SAMSUNG_USB2
- default SOC_EXYNOS5420
+ default SOC_EXYNOS5250 || SOC_EXYNOS5420

config PHY_S5PV210_USB2
bool "Support for S5PV210"
diff --git a/drivers/phy/samsung/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
index 3908153f2ce5..ec2befabeea6 100644
--- a/drivers/phy/samsung/phy-samsung-usb2.c
+++ b/drivers/phy/samsung/phy-samsung-usb2.c
@@ -127,8 +127,6 @@ static const struct of_device_id samsung_usb2_phy_of_match[] = {
.compatible = "samsung,exynos5250-usb2-phy",
.data = &exynos5250_usb2_phy_config,
},
-#endif
-#ifdef CONFIG_PHY_EXYNOS5420_USB2
{
.compatible = "samsung,exynos5420-usb2-phy",
.data = &exynos5420_usb2_phy_config,
--
2.17.1


2020-12-01 23:36:47

by Jaehoon Chung

[permalink] [raw]
Subject: Re: [PATCH] phy: samsung: Fix build break in USB2 PHY driver for Exynos5420 SoCs

On 12/2/20 2:09 AM, Marek Szyprowski wrote:
> Exynos5420 variant of USB2 PHY is handled by the same code as the
> Exynos5250 one. Introducing a separate Kconfig symbol for it was an
> over-engineering, which turned out to cause build break for certain
> configurations:
>
> ERROR: modpost: "exynos5420_usb2_phy_config" [drivers/phy/samsung/phy-exynos-usb2.ko] undefined!
>
> Fix this by removing PHY_EXYNOS5420_USB2 symbol and using
> PHY_EXYNOS5250_USB2 also for Exynos5420 SoCs.
>
> Reported-by: Markus Reichl <[email protected]>
> Fixes: 81b534f7e9b2 ("phy: samsung: Add support for the Exynos5420 variant of the USB2 PHY")
> Signed-off-by: Marek Szyprowski <[email protected]>

Reviewed-by: Jaehoon Chung <[email protected]>

Best Regards,
Jaehoon Chung

> ---
> Vinod: this a fix to the patch merged yesterday. If you want me to resend
> a fixed initial patch, let me know.
> ---
> drivers/phy/samsung/Kconfig | 7 +------
> drivers/phy/samsung/phy-samsung-usb2.c | 2 --
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
> index 0f51d3bf38cc..e20d2fcc9fe7 100644
> --- a/drivers/phy/samsung/Kconfig
> +++ b/drivers/phy/samsung/Kconfig
> @@ -64,12 +64,7 @@ config PHY_EXYNOS4X12_USB2
> config PHY_EXYNOS5250_USB2
> bool
> depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5250
> -
> -config PHY_EXYNOS5420_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5420
> + default SOC_EXYNOS5250 || SOC_EXYNOS5420
>
> config PHY_S5PV210_USB2
> bool "Support for S5PV210"
> diff --git a/drivers/phy/samsung/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
> index 3908153f2ce5..ec2befabeea6 100644
> --- a/drivers/phy/samsung/phy-samsung-usb2.c
> +++ b/drivers/phy/samsung/phy-samsung-usb2.c
> @@ -127,8 +127,6 @@ static const struct of_device_id samsung_usb2_phy_of_match[] = {
> .compatible = "samsung,exynos5250-usb2-phy",
> .data = &exynos5250_usb2_phy_config,
> },
> -#endif
> -#ifdef CONFIG_PHY_EXYNOS5420_USB2
> {
> .compatible = "samsung,exynos5420-usb2-phy",
> .data = &exynos5420_usb2_phy_config,
>

2020-12-02 04:25:55

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] phy: samsung: Fix build break in USB2 PHY driver for Exynos5420 SoCs

On 01-12-20, 18:09, Marek Szyprowski wrote:
> Exynos5420 variant of USB2 PHY is handled by the same code as the
> Exynos5250 one. Introducing a separate Kconfig symbol for it was an
> over-engineering, which turned out to cause build break for certain
> configurations:
>
> ERROR: modpost: "exynos5420_usb2_phy_config" [drivers/phy/samsung/phy-exynos-usb2.ko] undefined!
>
> Fix this by removing PHY_EXYNOS5420_USB2 symbol and using
> PHY_EXYNOS5250_USB2 also for Exynos5420 SoCs.
>
> Reported-by: Markus Reichl <[email protected]>
> Fixes: 81b534f7e9b2 ("phy: samsung: Add support for the Exynos5420 variant of the USB2 PHY")
> Signed-off-by: Marek Szyprowski <[email protected]>
> ---
> Vinod: this a fix to the patch merged yesterday. If you want me to resend
> a fixed initial patch, let me know.

The fix is just fine :)

Although the patch subject line is not. It is supposed to talk about the
change done and not the effect.

Maybe "Merge kconfig for Exynos5420 and Exynos5250" would make better
sense

> ---
> drivers/phy/samsung/Kconfig | 7 +------
> drivers/phy/samsung/phy-samsung-usb2.c | 2 --
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
> index 0f51d3bf38cc..e20d2fcc9fe7 100644
> --- a/drivers/phy/samsung/Kconfig
> +++ b/drivers/phy/samsung/Kconfig
> @@ -64,12 +64,7 @@ config PHY_EXYNOS4X12_USB2
> config PHY_EXYNOS5250_USB2
> bool
> depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5250
> -
> -config PHY_EXYNOS5420_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5420
> + default SOC_EXYNOS5250 || SOC_EXYNOS5420
>
> config PHY_S5PV210_USB2
> bool "Support for S5PV210"
> diff --git a/drivers/phy/samsung/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
> index 3908153f2ce5..ec2befabeea6 100644
> --- a/drivers/phy/samsung/phy-samsung-usb2.c
> +++ b/drivers/phy/samsung/phy-samsung-usb2.c
> @@ -127,8 +127,6 @@ static const struct of_device_id samsung_usb2_phy_of_match[] = {
> .compatible = "samsung,exynos5250-usb2-phy",
> .data = &exynos5250_usb2_phy_config,
> },
> -#endif
> -#ifdef CONFIG_PHY_EXYNOS5420_USB2
> {
> .compatible = "samsung,exynos5420-usb2-phy",
> .data = &exynos5420_usb2_phy_config,
> --
> 2.17.1

--
~Vinod