diff mbox series

[3/5] phy: meson-gxl-usb2: remove phy_meson_gxl_usb2_set_mode

Message ID 20240618-u-boot-usb-gxl-phy-set-mode-v1-3-6b41efa46e35@linaro.org
State Superseded
Headers show
Series usb: meson: switch to set_mode callback and other cleanup | expand

Commit Message

Neil Armstrong June 18, 2024, 7:55 a.m. UTC
Remove the public phy_meson_gxl_usb2_set_mode and move
the implementation in the the set_mode callback.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
 arch/arm/include/asm/arch-meson/usb-gx.h |  3 ---
 drivers/phy/meson-gxl-usb2.c             | 45 ++++++++++----------------------
 2 files changed, 14 insertions(+), 34 deletions(-)

Comments

Marek Vasut June 18, 2024, 2:56 p.m. UTC | #1
On 6/18/24 9:55 AM, Neil Armstrong wrote:

[...]

> @@ -205,7 +188,7 @@ static int phy_meson_gxl_usb2_power_off(struct phy *phy)
>   struct phy_ops meson_gxl_usb2_phy_ops = {
>   	.power_on = phy_meson_gxl_usb2_power_on,
>   	.power_off = phy_meson_gxl_usb2_power_off,
> -	.set_mode = _phy_meson_gxl_usb2_set_mode,
> +	.set_mode = phy_meson_gxl_usb2_set_mode,

Oh, I see you did rename it here, so please ignore my comment on 1/5 . 
Maybe just mention in the 1/5 commit message that the rename is 
happening in follow up patch , if you are doing V2 at all .
Neil Armstrong June 20, 2024, 7:39 a.m. UTC | #2
On 18/06/2024 16:56, Marek Vasut wrote:
> On 6/18/24 9:55 AM, Neil Armstrong wrote:
> 
> [...]
> 
>> @@ -205,7 +188,7 @@ static int phy_meson_gxl_usb2_power_off(struct phy *phy)
>>   struct phy_ops meson_gxl_usb2_phy_ops = {
>>       .power_on = phy_meson_gxl_usb2_power_on,
>>       .power_off = phy_meson_gxl_usb2_power_off,
>> -    .set_mode = _phy_meson_gxl_usb2_set_mode,
>> +    .set_mode = phy_meson_gxl_usb2_set_mode,
> 
> Oh, I see you did rename it here, so please ignore my comment on 1/5 . Maybe just mention in the 1/5 commit message that the rename is happening in follow up patch , if you are doing V2 at all .

Sure, let me update the commit message,

Thanks,
Neil
Marek Vasut June 20, 2024, 11:52 a.m. UTC | #3
On 6/20/24 9:39 AM, Neil Armstrong wrote:
> On 18/06/2024 16:56, Marek Vasut wrote:
>> On 6/18/24 9:55 AM, Neil Armstrong wrote:
>>
>> [...]
>>
>>> @@ -205,7 +188,7 @@ static int phy_meson_gxl_usb2_power_off(struct 
>>> phy *phy)
>>>   struct phy_ops meson_gxl_usb2_phy_ops = {
>>>       .power_on = phy_meson_gxl_usb2_power_on,
>>>       .power_off = phy_meson_gxl_usb2_power_off,
>>> -    .set_mode = _phy_meson_gxl_usb2_set_mode,
>>> +    .set_mode = phy_meson_gxl_usb2_set_mode,
>>
>> Oh, I see you did rename it here, so please ignore my comment on 1/5 . 
>> Maybe just mention in the 1/5 commit message that the rename is 
>> happening in follow up patch , if you are doing V2 at all .
> 
> Sure, let me update the commit message,

Thank you
diff mbox series

Patch

diff --git a/arch/arm/include/asm/arch-meson/usb-gx.h b/arch/arm/include/asm/arch-meson/usb-gx.h
index 61f1809df9..966d401730 100644
--- a/arch/arm/include/asm/arch-meson/usb-gx.h
+++ b/arch/arm/include/asm/arch-meson/usb-gx.h
@@ -9,9 +9,6 @@ 
 #include <generic-phy.h>
 #include <linux/usb/otg.h>
 
-/* TOFIX add set_mode to struct phy_ops */
-void phy_meson_gxl_usb2_set_mode(struct phy *phy, enum usb_dr_mode mode);
-
 int dwc3_meson_gxl_force_mode(struct udevice *dev, enum usb_dr_mode mode);
 
 #endif
diff --git a/drivers/phy/meson-gxl-usb2.c b/drivers/phy/meson-gxl-usb2.c
index e051e66224..140e936b47 100644
--- a/drivers/phy/meson-gxl-usb2.c
+++ b/drivers/phy/meson-gxl-usb2.c
@@ -19,8 +19,6 @@ 
 #include <linux/printk.h>
 #include <linux/usb/otg.h>
 
-#include <asm/arch/usb-gx.h>
-
 #include <linux/bitops.h>
 #include <linux/compat.h>
 
@@ -121,54 +119,39 @@  static void phy_meson_gxl_usb2_reset(struct phy_meson_gxl_usb2_priv *priv)
 	udelay(RESET_COMPLETE_TIME);
 }
 
-void phy_meson_gxl_usb2_set_mode(struct phy *phy, enum usb_dr_mode mode)
+static int phy_meson_gxl_usb2_set_mode(struct phy *phy, enum phy_mode mode, int submode)
 {
 	struct udevice *dev = phy->dev;
 	struct phy_meson_gxl_usb2_priv *priv = dev_get_priv(dev);
 	uint val;
 
+	if (submode)
+		return -EOPNOTSUPP;
+
 	regmap_read(priv->regmap, U2P_R0, &val);
 
 	switch (mode) {
-	case USB_DR_MODE_UNKNOWN:
-	case USB_DR_MODE_HOST:
-	case USB_DR_MODE_OTG:
-		val |= U2P_R0_DM_PULLDOWN;
-		val |= U2P_R0_DP_PULLDOWN;
-		val &= ~U2P_R0_ID_PULLUP;
-		break;
-
-	case USB_DR_MODE_PERIPHERAL:
+	case PHY_MODE_USB_DEVICE:
 		val &= ~U2P_R0_DM_PULLDOWN;
 		val &= ~U2P_R0_DP_PULLDOWN;
 		val |= U2P_R0_ID_PULLUP;
 		break;
-	}
-
-	regmap_write(priv->regmap, U2P_R0, val);
-
-	phy_meson_gxl_usb2_reset(priv);
-}
-
-static int _phy_meson_gxl_usb2_set_mode(struct phy *phy, enum phy_mode mode, int submode)
-{
-	if (submode)
-		return -EOPNOTSUPP;
-
-	switch (mode) {
-	case PHY_MODE_USB_DEVICE:
-		phy_meson_gxl_usb2_set_mode(phy, USB_DR_MODE_PERIPHERAL);
-		break;
 
 	case PHY_MODE_USB_HOST:
 	case PHY_MODE_USB_OTG:
-		phy_meson_gxl_usb2_set_mode(phy, USB_DR_MODE_HOST);
+		val |= U2P_R0_DM_PULLDOWN;
+		val |= U2P_R0_DP_PULLDOWN;
+		val &= ~U2P_R0_ID_PULLUP;
 		break;
 
 	default:
 		return -EINVAL;
 	}
 
+	regmap_write(priv->regmap, U2P_R0, val);
+
+	phy_meson_gxl_usb2_reset(priv);
+
 	return 0;
 }
 
@@ -183,7 +166,7 @@  static int phy_meson_gxl_usb2_power_on(struct phy *phy)
 	val &= ~U2P_R0_POWER_ON_RESET;
 	regmap_write(priv->regmap, U2P_R0, val);
 
-	_phy_meson_gxl_usb2_set_mode(phy, PHY_MODE_USB_HOST, 0);
+	phy_meson_gxl_usb2_set_mode(phy, PHY_MODE_USB_HOST, 0);
 
 	return 0;
 }
@@ -205,7 +188,7 @@  static int phy_meson_gxl_usb2_power_off(struct phy *phy)
 struct phy_ops meson_gxl_usb2_phy_ops = {
 	.power_on = phy_meson_gxl_usb2_power_on,
 	.power_off = phy_meson_gxl_usb2_power_off,
-	.set_mode = _phy_meson_gxl_usb2_set_mode,
+	.set_mode = phy_meson_gxl_usb2_set_mode,
 };
 
 int meson_gxl_usb2_phy_probe(struct udevice *dev)