[PATCH 09/15] usb: typec: tcpm/tcpci_maxim: simplify clearing of TCPC_ALERT_RX_BUF_OVF

André Draszik posted 15 patches 1 year, 5 months ago
[PATCH 09/15] usb: typec: tcpm/tcpci_maxim: simplify clearing of TCPC_ALERT_RX_BUF_OVF
Posted by André Draszik 1 year, 5 months ago
There is no need for using the ternary if/else here, simply mask
TCPC_ALERT_RX_BUF_OVF as necessary, which arguably makes the code
easier to read.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
 drivers/usb/typec/tcpm/tcpci_maxim_core.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_maxim_core.c b/drivers/usb/typec/tcpm/tcpci_maxim_core.c
index ad9bb61fd9e0..5b5441db7047 100644
--- a/drivers/usb/typec/tcpm/tcpci_maxim_core.c
+++ b/drivers/usb/typec/tcpm/tcpci_maxim_core.c
@@ -193,9 +193,8 @@ static void process_rx(struct max_tcpci_chip *chip, u16 status)
 	 * Read complete, clear RX status alert bit.
 	 * Clear overflow as well if set.
 	 */
-	ret = max_tcpci_write16(chip, TCPC_ALERT, status & TCPC_ALERT_RX_BUF_OVF ?
-				TCPC_ALERT_RX_STATUS | TCPC_ALERT_RX_BUF_OVF :
-				TCPC_ALERT_RX_STATUS);
+	ret = max_tcpci_write16(chip, TCPC_ALERT,
+				TCPC_ALERT_RX_STATUS | (status & TCPC_ALERT_RX_BUF_OVF));
 	if (ret < 0)
 		return;
 
@@ -297,9 +296,8 @@ static irqreturn_t _max_tcpci_irq(struct max_tcpci_chip *chip, u16 status)
 	 * be cleared until we have successfully retrieved message.
 	 */
 	if (status & ~TCPC_ALERT_RX_STATUS) {
-		mask = status & TCPC_ALERT_RX_BUF_OVF ?
-			status & ~(TCPC_ALERT_RX_STATUS | TCPC_ALERT_RX_BUF_OVF) :
-			status & ~TCPC_ALERT_RX_STATUS;
+		mask = status & ~(TCPC_ALERT_RX_STATUS
+				  | (status & TCPC_ALERT_RX_BUF_OVF));
 		ret = max_tcpci_write16(chip, TCPC_ALERT, mask);
 		if (ret < 0) {
 			dev_err(chip->dev, "ALERT clear failed\n");

-- 
2.45.2.803.g4e1b14247a-goog

Re: [PATCH 09/15] usb: typec: tcpm/tcpci_maxim: simplify clearing of TCPC_ALERT_RX_BUF_OVF
Posted by Heikki Krogerus 1 year, 4 months ago
On Wed, Jul 10, 2024 at 11:36:16AM +0100, André Draszik wrote:
> There is no need for using the ternary if/else here, simply mask
> TCPC_ALERT_RX_BUF_OVF as necessary, which arguably makes the code
> easier to read.
> 
> Signed-off-by: André Draszik <andre.draszik@linaro.org>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
>  drivers/usb/typec/tcpm/tcpci_maxim_core.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpci_maxim_core.c b/drivers/usb/typec/tcpm/tcpci_maxim_core.c
> index ad9bb61fd9e0..5b5441db7047 100644
> --- a/drivers/usb/typec/tcpm/tcpci_maxim_core.c
> +++ b/drivers/usb/typec/tcpm/tcpci_maxim_core.c
> @@ -193,9 +193,8 @@ static void process_rx(struct max_tcpci_chip *chip, u16 status)
>  	 * Read complete, clear RX status alert bit.
>  	 * Clear overflow as well if set.
>  	 */
> -	ret = max_tcpci_write16(chip, TCPC_ALERT, status & TCPC_ALERT_RX_BUF_OVF ?
> -				TCPC_ALERT_RX_STATUS | TCPC_ALERT_RX_BUF_OVF :
> -				TCPC_ALERT_RX_STATUS);
> +	ret = max_tcpci_write16(chip, TCPC_ALERT,
> +				TCPC_ALERT_RX_STATUS | (status & TCPC_ALERT_RX_BUF_OVF));
>  	if (ret < 0)
>  		return;
>  
> @@ -297,9 +296,8 @@ static irqreturn_t _max_tcpci_irq(struct max_tcpci_chip *chip, u16 status)
>  	 * be cleared until we have successfully retrieved message.
>  	 */
>  	if (status & ~TCPC_ALERT_RX_STATUS) {
> -		mask = status & TCPC_ALERT_RX_BUF_OVF ?
> -			status & ~(TCPC_ALERT_RX_STATUS | TCPC_ALERT_RX_BUF_OVF) :
> -			status & ~TCPC_ALERT_RX_STATUS;
> +		mask = status & ~(TCPC_ALERT_RX_STATUS
> +				  | (status & TCPC_ALERT_RX_BUF_OVF));
>  		ret = max_tcpci_write16(chip, TCPC_ALERT, mask);
>  		if (ret < 0) {
>  			dev_err(chip->dev, "ALERT clear failed\n");
> 
> -- 
> 2.45.2.803.g4e1b14247a-goog

-- 
heikki