[U-Boot] [PATCH 1/1] dm: phy: add missing #ifdef CONFIG_PHY

From: Patrice Chotard patrice.chotard@st.com
To avoid compilation breakage on platform that doesn't support DM PHY but uses xhci-dwc3 driver, add the missing CONFIG_PHY flag.
Introduced by patch : 84e53877 "usb: host: xhci-dwc3: Add generic PHY support"
Cc: Ran Wang ran.wang_1@nxp.com Cc: Bin Meng bmeng.cn@gmail.com
Signed-off-by: Patrice Chotard patrice.chotard@st.com --- include/generic-phy.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/include/generic-phy.h b/include/generic-phy.h index 58cd2b2..9dbc268 100644 --- a/include/generic-phy.h +++ b/include/generic-phy.h @@ -122,6 +122,7 @@ struct phy_ops { int (*power_off)(struct phy *phy); };
+#ifdef CONFIG_PHY
/** * generic_phy_init() - initialize the PHY port @@ -231,4 +232,50 @@ static inline bool generic_phy_valid(struct phy *phy) return phy->dev != NULL; }
+#else /* CONFIG_PHY */ + +int generic_phy_init(struct phy *phy) +{ + return 0; +} + +int generic_phy_exit(struct phy *phy) +{ + return 0; +} + +int generic_phy_reset(struct phy *phy) +{ + return 0; +} + +int generic_phy_power_on(struct phy *phy) +{ + return 0; +} + +int generic_phy_power_off(struct phy *phy) +{ + return 0; +} + +int generic_phy_get_by_index(struct udevice *user, int index, + struct phy *phy) +{ + return 0; +} + +int generic_phy_get_by_name(struct udevice *user, const char *phy_name, + struct phy *phy) +{ + return 0; +} + +static inline bool generic_phy_valid(struct phy *phy) +{ + return 1; +} + +#endif /* CONFIG_PHY */ + #endif /*__GENERIC_PHY_H */

On 07/20/2017 02:15 PM, patrice.chotard@st.com wrote:
From: Patrice Chotard patrice.chotard@st.com
To avoid compilation breakage on platform that doesn't support DM PHY but uses xhci-dwc3 driver, add the missing CONFIG_PHY flag.
Introduced by patch : 84e53877 "usb: host: xhci-dwc3: Add generic PHY support"
Cc: Ran Wang ran.wang_1@nxp.com Cc: Bin Meng bmeng.cn@gmail.com
Signed-off-by: Patrice Chotard patrice.chotard@st.com
include/generic-phy.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/include/generic-phy.h b/include/generic-phy.h index 58cd2b2..9dbc268 100644 --- a/include/generic-phy.h +++ b/include/generic-phy.h @@ -122,6 +122,7 @@ struct phy_ops { int (*power_off)(struct phy *phy); };
+#ifdef CONFIG_PHY
/**
- generic_phy_init() - initialize the PHY port
@@ -231,4 +232,50 @@ static inline bool generic_phy_valid(struct phy *phy) return phy->dev != NULL; }
+#else /* CONFIG_PHY */
+int generic_phy_init(struct phy *phy) +{
- return 0;
+}
+int generic_phy_exit(struct phy *phy) +{
- return 0;
+}
+int generic_phy_reset(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_on(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_off(struct phy *phy) +{
- return 0;
+}
+int generic_phy_get_by_index(struct udevice *user, int index,
struct phy *phy)
+{
- return 0;
+}
+int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
struct phy *phy)
+{
- return 0;
+}
+static inline bool generic_phy_valid(struct phy *phy) +{
- return 1;
It's bool, should return true/false . Also I don't think the PHY is really valid. I wonder if we rather need a NOP PHY for the xhci .
+}
+#endif /* CONFIG_PHY */
#endif /*__GENERIC_PHY_H */

On 07/20/2017 02:21 PM, Marek Vasut wrote:
On 07/20/2017 02:15 PM, patrice.chotard@st.com wrote:
From: Patrice Chotard patrice.chotard@st.com
To avoid compilation breakage on platform that doesn't support DM PHY but uses xhci-dwc3 driver, add the missing CONFIG_PHY flag.
Introduced by patch : 84e53877 "usb: host: xhci-dwc3: Add generic PHY support"
Cc: Ran Wang ran.wang_1@nxp.com Cc: Bin Meng bmeng.cn@gmail.com
Signed-off-by: Patrice Chotard patrice.chotard@st.com
include/generic-phy.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/include/generic-phy.h b/include/generic-phy.h index 58cd2b2..9dbc268 100644 --- a/include/generic-phy.h +++ b/include/generic-phy.h @@ -122,6 +122,7 @@ struct phy_ops { int (*power_off)(struct phy *phy); };
+#ifdef CONFIG_PHY
/**
- generic_phy_init() - initialize the PHY port
@@ -231,4 +232,50 @@ static inline bool generic_phy_valid(struct phy *phy) return phy->dev != NULL; }
+#else /* CONFIG_PHY */
+int generic_phy_init(struct phy *phy) +{
- return 0;
+}
+int generic_phy_exit(struct phy *phy) +{
- return 0;
+}
+int generic_phy_reset(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_on(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_off(struct phy *phy) +{
- return 0;
+}
+int generic_phy_get_by_index(struct udevice *user, int index,
struct phy *phy)
+{
- return 0;
+}
+int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
struct phy *phy)
+{
- return 0;
+}
+static inline bool generic_phy_valid(struct phy *phy) +{
- return 1;
It's bool, should return true/false . Also I don't think the PHY is
Ah yes, i will fix the return value.
really valid. I wonder if we rather need a NOP PHY for the xhci .
The phy is not valid, but we don't care, as all other generic PHY API are now defined as stubbed. If you are agree, i will just fix the return value.
Patrice
+}
+#endif /* CONFIG_PHY */
- #endif /*__GENERIC_PHY_H */

On 07/20/2017 02:31 PM, Patrice CHOTARD wrote:
On 07/20/2017 02:21 PM, Marek Vasut wrote:
On 07/20/2017 02:15 PM, patrice.chotard@st.com wrote:
From: Patrice Chotard patrice.chotard@st.com
To avoid compilation breakage on platform that doesn't support DM PHY but uses xhci-dwc3 driver, add the missing CONFIG_PHY flag.
Introduced by patch : 84e53877 "usb: host: xhci-dwc3: Add generic PHY support"
Cc: Ran Wang ran.wang_1@nxp.com Cc: Bin Meng bmeng.cn@gmail.com
Signed-off-by: Patrice Chotard patrice.chotard@st.com
include/generic-phy.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/include/generic-phy.h b/include/generic-phy.h index 58cd2b2..9dbc268 100644 --- a/include/generic-phy.h +++ b/include/generic-phy.h @@ -122,6 +122,7 @@ struct phy_ops { int (*power_off)(struct phy *phy); };
+#ifdef CONFIG_PHY
/**
- generic_phy_init() - initialize the PHY port
@@ -231,4 +232,50 @@ static inline bool generic_phy_valid(struct phy *phy) return phy->dev != NULL; }
+#else /* CONFIG_PHY */
+int generic_phy_init(struct phy *phy) +{
- return 0;
+}
+int generic_phy_exit(struct phy *phy) +{
- return 0;
+}
+int generic_phy_reset(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_on(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_off(struct phy *phy) +{
- return 0;
+}
+int generic_phy_get_by_index(struct udevice *user, int index,
struct phy *phy)
+{
- return 0;
+}
+int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
struct phy *phy)
+{
- return 0;
+}
+static inline bool generic_phy_valid(struct phy *phy) +{
- return 1;
It's bool, should return true/false . Also I don't think the PHY is
Ah yes, i will fix the return value.
really valid. I wonder if we rather need a NOP PHY for the xhci .
The phy is not valid, but we don't care, as all other generic PHY API are now defined as stubbed. If you are agree, i will just fix the return value.
For whatever reason, using a NOP PHY looks more natural. IMO Linux does that too. I'd like a second opinion on that though.

On 20/07/2017 16:50, Marek Vasut wrote:
On 07/20/2017 02:31 PM, Patrice CHOTARD wrote:
On 07/20/2017 02:21 PM, Marek Vasut wrote:
On 07/20/2017 02:15 PM, patrice.chotard@st.com wrote:
From: Patrice Chotard patrice.chotard@st.com
To avoid compilation breakage on platform that doesn't support DM PHY but uses xhci-dwc3 driver, add the missing CONFIG_PHY flag.
Introduced by patch : 84e53877 "usb: host: xhci-dwc3: Add generic PHY support"
Cc: Ran Wang ran.wang_1@nxp.com Cc: Bin Meng bmeng.cn@gmail.com
Signed-off-by: Patrice Chotard patrice.chotard@st.com
include/generic-phy.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/include/generic-phy.h b/include/generic-phy.h index 58cd2b2..9dbc268 100644 --- a/include/generic-phy.h +++ b/include/generic-phy.h @@ -122,6 +122,7 @@ struct phy_ops { int (*power_off)(struct phy *phy); };
+#ifdef CONFIG_PHY
/** * generic_phy_init() - initialize the PHY port @@ -231,4 +232,50 @@ static inline bool generic_phy_valid(struct phy *phy) return phy->dev != NULL; }
+#else /* CONFIG_PHY */
+int generic_phy_init(struct phy *phy) +{
- return 0;
+}
+int generic_phy_exit(struct phy *phy) +{
- return 0;
+}
+int generic_phy_reset(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_on(struct phy *phy) +{
- return 0;
+}
+int generic_phy_power_off(struct phy *phy) +{
- return 0;
+}
+int generic_phy_get_by_index(struct udevice *user, int index,
struct phy *phy)
+{
- return 0;
+}
+int generic_phy_get_by_name(struct udevice *user, const char *phy_name,
struct phy *phy)
+{
- return 0;
+}
+static inline bool generic_phy_valid(struct phy *phy) +{
- return 1;
It's bool, should return true/false . Also I don't think the PHY is
Ah yes, i will fix the return value.
really valid. I wonder if we rather need a NOP PHY for the xhci .
The phy is not valid, but we don't care, as all other generic PHY API are now defined as stubbed. If you are agree, i will just fix the return value.
For whatever reason, using a NOP PHY looks more natural. IMO Linux does that too. I'd like a second opinion on that though.
I tend to think likewise. the xhci-dwc3 driver can select PHY or depend on PHY in Kconfig this will fix the compilation breakage. And a NOP phy device can be used for the stubbing. The reason I prefer this approach, is that the PHY framework can be used for other things than USB (SATA for example) and thus can't be deselected just because the USB driver doesn't need it. I'll prepare a patch for the noop PHY.
Jean-Jacques
participants (4)
-
Jean-Jacques Hiblot
-
Marek Vasut
-
Patrice CHOTARD
-
patrice.chotard@st.com