[12/15] can: tcan4x5x: Remove invalid write in clear_interrupts

Message ID 20221116205308.2996556-13-msp@baylibre.com
State New
Headers
Series can: m_can: Optimizations for tcan and peripheral chips |

Commit Message

Markus Schneider-Pargmann Nov. 16, 2022, 8:53 p.m. UTC
  Register 0x824 TCAN4X5X_MCAN_INT_REG is a read-only register. Any writes
to this register do not have any effect.

Remove this write. The m_can driver aldready clears the interrupts in
m_can_isr() by writing to M_CAN_IR which is translated to register
0x1050 which is a writable version of this register.

Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
---
 drivers/net/can/m_can/tcan4x5x-core.c | 5 -----
 1 file changed, 5 deletions(-)
  

Comments

Marc Kleine-Budde Dec. 2, 2022, 2:17 p.m. UTC | #1
On 16.11.2022 21:53:05, Markus Schneider-Pargmann wrote:
> Register 0x824 TCAN4X5X_MCAN_INT_REG is a read-only register. Any writes
> to this register do not have any effect.
> 
> Remove this write. The m_can driver aldready clears the interrupts in
> m_can_isr() by writing to M_CAN_IR which is translated to register
> 0x1050 which is a writable version of this register.
> 
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>

Please add a fixes tag.

Marc

> ---
>  drivers/net/can/m_can/tcan4x5x-core.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/net/can/m_can/tcan4x5x-core.c b/drivers/net/can/m_can/tcan4x5x-core.c
> index 41645a24384c..1fec394b3517 100644
> --- a/drivers/net/can/m_can/tcan4x5x-core.c
> +++ b/drivers/net/can/m_can/tcan4x5x-core.c
> @@ -204,11 +204,6 @@ static int tcan4x5x_clear_interrupts(struct m_can_classdev *cdev)
>  	if (ret)
>  		return ret;
>  
> -	ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_MCAN_INT_REG,
> -				      TCAN4X5X_ENABLE_MCAN_INT);
> -	if (ret)
> -		return ret;
> -
>  	ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_INT_FLAGS,
>  				      TCAN4X5X_CLEAR_ALL_INT);
>  	if (ret)
> -- 
> 2.38.1
> 
>
  

Patch

diff --git a/drivers/net/can/m_can/tcan4x5x-core.c b/drivers/net/can/m_can/tcan4x5x-core.c
index 41645a24384c..1fec394b3517 100644
--- a/drivers/net/can/m_can/tcan4x5x-core.c
+++ b/drivers/net/can/m_can/tcan4x5x-core.c
@@ -204,11 +204,6 @@  static int tcan4x5x_clear_interrupts(struct m_can_classdev *cdev)
 	if (ret)
 		return ret;
 
-	ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_MCAN_INT_REG,
-				      TCAN4X5X_ENABLE_MCAN_INT);
-	if (ret)
-		return ret;
-
 	ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_INT_FLAGS,
 				      TCAN4X5X_CLEAR_ALL_INT);
 	if (ret)