mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
* [PATCH 0/2] phy: amlogic: meson8b-usb2: two small cleanup patches
@ 2024-12-31 19:17 Martin Blumenstingl
  2024-12-31 19:17 ` [PATCH 1/2] phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros Martin Blumenstingl
  2024-12-31 19:17 ` [PATCH 2/2] phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers Martin Blumenstingl
  0 siblings, 2 replies; 5+ messages in thread
From: Martin Blumenstingl @ 2024-12-31 19:17 UTC (permalink / raw)
  To: linux-amlogic, linux-phy
  Cc: linux-arm-kernel, linux-kernel, vkoul, kishon, Martin Blumenstingl

Hello,

this series includes two small cleanups for the phy-meson8b-usb2
driver. There are no functional changes.


Martin Blumenstingl (2):
  phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros
  phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers

 drivers/phy/amlogic/phy-meson8b-usb2.c | 35 +++++++++++---------------
 1 file changed, 14 insertions(+), 21 deletions(-)

-- 
2.47.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros
  2024-12-31 19:17 [PATCH 0/2] phy: amlogic: meson8b-usb2: two small cleanup patches Martin Blumenstingl
@ 2024-12-31 19:17 ` Martin Blumenstingl
  2025-01-02  9:40   ` neil.armstrong
  2024-12-31 19:17 ` [PATCH 2/2] phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers Martin Blumenstingl
  1 sibling, 1 reply; 5+ messages in thread
From: Martin Blumenstingl @ 2024-12-31 19:17 UTC (permalink / raw)
  To: linux-amlogic, linux-phy
  Cc: linux-arm-kernel, linux-kernel, vkoul, kishon, Martin Blumenstingl

This simplifies the code by re-using the FIELD_PREP helper. No
functional changes inteded.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 drivers/phy/amlogic/phy-meson8b-usb2.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
index d63147c41b8c..d9c761b7c15c 100644
--- a/drivers/phy/amlogic/phy-meson8b-usb2.c
+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
@@ -5,6 +5,7 @@
  * Copyright (C) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  */
 
+#include <linux/bitfield.h>
 #include <linux/clk.h>
 #include <linux/delay.h>
 #include <linux/io.h>
@@ -39,9 +40,7 @@
 	#define REG_CTRL_TX_BITSTUFF_ENN		BIT(18)
 	#define REG_CTRL_COMMON_ON			BIT(19)
 	#define REG_CTRL_REF_CLK_SEL_MASK		GENMASK(21, 20)
-	#define REG_CTRL_REF_CLK_SEL_SHIFT		20
 	#define REG_CTRL_FSEL_MASK			GENMASK(24, 22)
-	#define REG_CTRL_FSEL_SHIFT			22
 	#define REG_CTRL_PORT_RESET			BIT(25)
 	#define REG_CTRL_THREAD_ID_MASK			GENMASK(31, 26)
 
@@ -170,10 +169,10 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
 			   REG_CONFIG_CLK_32k_ALTSEL);
 
 	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_REF_CLK_SEL_MASK,
-			   0x2 << REG_CTRL_REF_CLK_SEL_SHIFT);
+			   FIELD_PREP(REG_CTRL_REF_CLK_SEL_MASK, 0x2));
 
 	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_FSEL_MASK,
-			   0x5 << REG_CTRL_FSEL_SHIFT);
+			   FIELD_PREP(REG_CTRL_FSEL_MASK, 0x5));
 
 	/* reset the PHY */
 	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,
-- 
2.47.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers
  2024-12-31 19:17 [PATCH 0/2] phy: amlogic: meson8b-usb2: two small cleanup patches Martin Blumenstingl
  2024-12-31 19:17 ` [PATCH 1/2] phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros Martin Blumenstingl
@ 2024-12-31 19:17 ` Martin Blumenstingl
  2025-01-02  9:41   ` neil.armstrong
  1 sibling, 1 reply; 5+ messages in thread
From: Martin Blumenstingl @ 2024-12-31 19:17 UTC (permalink / raw)
  To: linux-amlogic, linux-phy
  Cc: linux-arm-kernel, linux-kernel, vkoul, kishon, Martin Blumenstingl

These require less code, reduce the chance of typos and overall make the
intent clearer. No functional changes.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 drivers/phy/amlogic/phy-meson8b-usb2.c | 28 ++++++++++----------------
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
index d9c761b7c15c..a553231a9f7c 100644
--- a/drivers/phy/amlogic/phy-meson8b-usb2.c
+++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
@@ -165,8 +165,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
 		return ret;
 	}
 
-	regmap_update_bits(priv->regmap, REG_CONFIG, REG_CONFIG_CLK_32k_ALTSEL,
-			   REG_CONFIG_CLK_32k_ALTSEL);
+	regmap_set_bits(priv->regmap, REG_CONFIG, REG_CONFIG_CLK_32k_ALTSEL);
 
 	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_REF_CLK_SEL_MASK,
 			   FIELD_PREP(REG_CTRL_REF_CLK_SEL_MASK, 0x2));
@@ -175,23 +174,20 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
 			   FIELD_PREP(REG_CTRL_FSEL_MASK, 0x5));
 
 	/* reset the PHY */
-	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,
-			   REG_CTRL_POWER_ON_RESET);
+	regmap_set_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET);
 	udelay(RESET_COMPLETE_TIME);
-	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET, 0);
+	regmap_clear_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET);
 	udelay(RESET_COMPLETE_TIME);
 
-	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_SOF_TOGGLE_OUT,
-			   REG_CTRL_SOF_TOGGLE_OUT);
+	regmap_set_bits(priv->regmap, REG_CTRL, REG_CTRL_SOF_TOGGLE_OUT);
 
 	if (priv->dr_mode == USB_DR_MODE_HOST) {
-		regmap_update_bits(priv->regmap, REG_DBG_UART,
-				   REG_DBG_UART_SET_IDDQ, 0);
+		regmap_clear_bits(priv->regmap, REG_DBG_UART,
+				  REG_DBG_UART_SET_IDDQ);
 
 		if (priv->match->host_enable_aca) {
-			regmap_update_bits(priv->regmap, REG_ADP_BC,
-					   REG_ADP_BC_ACA_ENABLE,
-					   REG_ADP_BC_ACA_ENABLE);
+			regmap_set_bits(priv->regmap, REG_ADP_BC,
+					REG_ADP_BC_ACA_ENABLE);
 
 			udelay(ACA_ENABLE_COMPLETE_TIME);
 
@@ -214,17 +210,15 @@ static int phy_meson8b_usb2_power_off(struct phy *phy)
 	struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy);
 
 	if (priv->dr_mode == USB_DR_MODE_HOST)
-		regmap_update_bits(priv->regmap, REG_DBG_UART,
-				   REG_DBG_UART_SET_IDDQ,
-				   REG_DBG_UART_SET_IDDQ);
+		regmap_set_bits(priv->regmap, REG_DBG_UART,
+				REG_DBG_UART_SET_IDDQ);
 
 	clk_disable_unprepare(priv->clk_usb);
 	clk_disable_unprepare(priv->clk_usb_general);
 	reset_control_rearm(priv->reset);
 
 	/* power off the PHY by putting it into reset mode */
-	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,
-			   REG_CTRL_POWER_ON_RESET);
+	regmap_set_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET);
 
 	return 0;
 }
-- 
2.47.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros
  2024-12-31 19:17 ` [PATCH 1/2] phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros Martin Blumenstingl
@ 2025-01-02  9:40   ` neil.armstrong
  0 siblings, 0 replies; 5+ messages in thread
From: neil.armstrong @ 2025-01-02  9:40 UTC (permalink / raw)
  To: Martin Blumenstingl, linux-amlogic, linux-phy
  Cc: linux-arm-kernel, linux-kernel, vkoul, kishon

On 31/12/2024 20:17, Martin Blumenstingl wrote:
> This simplifies the code by re-using the FIELD_PREP helper. No
> functional changes inteded.
> 
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
>   drivers/phy/amlogic/phy-meson8b-usb2.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
> index d63147c41b8c..d9c761b7c15c 100644
> --- a/drivers/phy/amlogic/phy-meson8b-usb2.c
> +++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
> @@ -5,6 +5,7 @@
>    * Copyright (C) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>    */
>   
> +#include <linux/bitfield.h>
>   #include <linux/clk.h>
>   #include <linux/delay.h>
>   #include <linux/io.h>
> @@ -39,9 +40,7 @@
>   	#define REG_CTRL_TX_BITSTUFF_ENN		BIT(18)
>   	#define REG_CTRL_COMMON_ON			BIT(19)
>   	#define REG_CTRL_REF_CLK_SEL_MASK		GENMASK(21, 20)
> -	#define REG_CTRL_REF_CLK_SEL_SHIFT		20
>   	#define REG_CTRL_FSEL_MASK			GENMASK(24, 22)
> -	#define REG_CTRL_FSEL_SHIFT			22
>   	#define REG_CTRL_PORT_RESET			BIT(25)
>   	#define REG_CTRL_THREAD_ID_MASK			GENMASK(31, 26)
>   
> @@ -170,10 +169,10 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
>   			   REG_CONFIG_CLK_32k_ALTSEL);
>   
>   	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_REF_CLK_SEL_MASK,
> -			   0x2 << REG_CTRL_REF_CLK_SEL_SHIFT);
> +			   FIELD_PREP(REG_CTRL_REF_CLK_SEL_MASK, 0x2));
>   
>   	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_FSEL_MASK,
> -			   0x5 << REG_CTRL_FSEL_SHIFT);
> +			   FIELD_PREP(REG_CTRL_FSEL_MASK, 0x5));
>   
>   	/* reset the PHY */
>   	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers
  2024-12-31 19:17 ` [PATCH 2/2] phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers Martin Blumenstingl
@ 2025-01-02  9:41   ` neil.armstrong
  0 siblings, 0 replies; 5+ messages in thread
From: neil.armstrong @ 2025-01-02  9:41 UTC (permalink / raw)
  To: Martin Blumenstingl, linux-amlogic, linux-phy
  Cc: linux-arm-kernel, linux-kernel, vkoul, kishon

On 31/12/2024 20:17, Martin Blumenstingl wrote:
> These require less code, reduce the chance of typos and overall make the
> intent clearer. No functional changes.
> 
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
>   drivers/phy/amlogic/phy-meson8b-usb2.c | 28 ++++++++++----------------
>   1 file changed, 11 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/phy/amlogic/phy-meson8b-usb2.c b/drivers/phy/amlogic/phy-meson8b-usb2.c
> index d9c761b7c15c..a553231a9f7c 100644
> --- a/drivers/phy/amlogic/phy-meson8b-usb2.c
> +++ b/drivers/phy/amlogic/phy-meson8b-usb2.c
> @@ -165,8 +165,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
>   		return ret;
>   	}
>   
> -	regmap_update_bits(priv->regmap, REG_CONFIG, REG_CONFIG_CLK_32k_ALTSEL,
> -			   REG_CONFIG_CLK_32k_ALTSEL);
> +	regmap_set_bits(priv->regmap, REG_CONFIG, REG_CONFIG_CLK_32k_ALTSEL);
>   
>   	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_REF_CLK_SEL_MASK,
>   			   FIELD_PREP(REG_CTRL_REF_CLK_SEL_MASK, 0x2));
> @@ -175,23 +174,20 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
>   			   FIELD_PREP(REG_CTRL_FSEL_MASK, 0x5));
>   
>   	/* reset the PHY */
> -	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,
> -			   REG_CTRL_POWER_ON_RESET);
> +	regmap_set_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET);
>   	udelay(RESET_COMPLETE_TIME);
> -	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET, 0);
> +	regmap_clear_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET);
>   	udelay(RESET_COMPLETE_TIME);
>   
> -	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_SOF_TOGGLE_OUT,
> -			   REG_CTRL_SOF_TOGGLE_OUT);
> +	regmap_set_bits(priv->regmap, REG_CTRL, REG_CTRL_SOF_TOGGLE_OUT);
>   
>   	if (priv->dr_mode == USB_DR_MODE_HOST) {
> -		regmap_update_bits(priv->regmap, REG_DBG_UART,
> -				   REG_DBG_UART_SET_IDDQ, 0);
> +		regmap_clear_bits(priv->regmap, REG_DBG_UART,
> +				  REG_DBG_UART_SET_IDDQ);
>   
>   		if (priv->match->host_enable_aca) {
> -			regmap_update_bits(priv->regmap, REG_ADP_BC,
> -					   REG_ADP_BC_ACA_ENABLE,
> -					   REG_ADP_BC_ACA_ENABLE);
> +			regmap_set_bits(priv->regmap, REG_ADP_BC,
> +					REG_ADP_BC_ACA_ENABLE);
>   
>   			udelay(ACA_ENABLE_COMPLETE_TIME);
>   
> @@ -214,17 +210,15 @@ static int phy_meson8b_usb2_power_off(struct phy *phy)
>   	struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy);
>   
>   	if (priv->dr_mode == USB_DR_MODE_HOST)
> -		regmap_update_bits(priv->regmap, REG_DBG_UART,
> -				   REG_DBG_UART_SET_IDDQ,
> -				   REG_DBG_UART_SET_IDDQ);
> +		regmap_set_bits(priv->regmap, REG_DBG_UART,
> +				REG_DBG_UART_SET_IDDQ);
>   
>   	clk_disable_unprepare(priv->clk_usb);
>   	clk_disable_unprepare(priv->clk_usb_general);
>   	reset_control_rearm(priv->reset);
>   
>   	/* power off the PHY by putting it into reset mode */
> -	regmap_update_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET,
> -			   REG_CTRL_POWER_ON_RESET);
> +	regmap_set_bits(priv->regmap, REG_CTRL, REG_CTRL_POWER_ON_RESET);
>   
>   	return 0;
>   }

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-01-02  9:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-31 19:17 [PATCH 0/2] phy: amlogic: meson8b-usb2: two small cleanup patches Martin Blumenstingl
2024-12-31 19:17 ` [PATCH 1/2] phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros Martin Blumenstingl
2025-01-02  9:40   ` neil.armstrong
2024-12-31 19:17 ` [PATCH 2/2] phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers Martin Blumenstingl
2025-01-02  9:41   ` neil.armstrong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®