[PATCH v2 01/15] serial: sc16is7xx: remove useless enable of enhanced features

Hugo Villeneuve posted 15 patches 4 months, 1 week ago
There is a newer version of this series
[PATCH v2 01/15] serial: sc16is7xx: remove useless enable of enhanced features
Posted by Hugo Villeneuve 4 months, 1 week ago
From: Hugo Villeneuve <hvilleneuve@dimonoff.com>

Commit 43c51bb573aa ("sc16is7xx: make sure device is in suspend once
probed") permanently enabled access to the enhanced features in
sc16is7xx_probe(), and it is never disabled after that.

Therefore, remove useless re-enable of enhanced features in
sc16is7xx_set_baud().

Fixes: 43c51bb573aa ("sc16is7xx: make sure device is in suspend once probed")
Cc: stable@vger.kernel.org
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
---
 drivers/tty/serial/sc16is7xx.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
index 1a2c4c14f6aac..c7435595dce13 100644
--- a/drivers/tty/serial/sc16is7xx.c
+++ b/drivers/tty/serial/sc16is7xx.c
@@ -588,13 +588,6 @@ static int sc16is7xx_set_baud(struct uart_port *port, int baud)
 		div /= prescaler;
 	}
 
-	/* Enable enhanced features */
-	sc16is7xx_efr_lock(port);
-	sc16is7xx_port_update(port, SC16IS7XX_EFR_REG,
-			      SC16IS7XX_EFR_ENABLE_BIT,
-			      SC16IS7XX_EFR_ENABLE_BIT);
-	sc16is7xx_efr_unlock(port);
-
 	/* If bit MCR_CLKSEL is set, the divide by 4 prescaler is activated. */
 	sc16is7xx_port_update(port, SC16IS7XX_MCR_REG,
 			      SC16IS7XX_MCR_CLKSEL_BIT,
-- 
2.39.5
Re: [PATCH v2 01/15] serial: sc16is7xx: remove useless enable of enhanced features
Posted by Greg KH 4 months, 1 week ago
On Thu, Oct 02, 2025 at 10:57:24AM -0400, Hugo Villeneuve wrote:
> From: Hugo Villeneuve <hvilleneuve@dimonoff.com>
> 
> Commit 43c51bb573aa ("sc16is7xx: make sure device is in suspend once
> probed") permanently enabled access to the enhanced features in
> sc16is7xx_probe(), and it is never disabled after that.
> 
> Therefore, remove useless re-enable of enhanced features in
> sc16is7xx_set_baud().
> 
> Fixes: 43c51bb573aa ("sc16is7xx: make sure device is in suspend once probed")
> Cc: stable@vger.kernel.org
> Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
> ---
>  drivers/tty/serial/sc16is7xx.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
> index 1a2c4c14f6aac..c7435595dce13 100644
> --- a/drivers/tty/serial/sc16is7xx.c
> +++ b/drivers/tty/serial/sc16is7xx.c
> @@ -588,13 +588,6 @@ static int sc16is7xx_set_baud(struct uart_port *port, int baud)
>  		div /= prescaler;
>  	}
>  
> -	/* Enable enhanced features */
> -	sc16is7xx_efr_lock(port);
> -	sc16is7xx_port_update(port, SC16IS7XX_EFR_REG,
> -			      SC16IS7XX_EFR_ENABLE_BIT,
> -			      SC16IS7XX_EFR_ENABLE_BIT);
> -	sc16is7xx_efr_unlock(port);
> -
>  	/* If bit MCR_CLKSEL is set, the divide by 4 prescaler is activated. */
>  	sc16is7xx_port_update(port, SC16IS7XX_MCR_REG,
>  			      SC16IS7XX_MCR_CLKSEL_BIT,
> -- 
> 2.39.5
> 
> 

Why is this needed for stable kernels?  It's useless, what is it
harming?

If so, please send it separately, not as a part of a larger series.

thanks,

greg k-h
Re: [PATCH v2 01/15] serial: sc16is7xx: remove useless enable of enhanced features
Posted by Hugo Villeneuve 4 months, 1 week ago
Hi Greg,

On Thu, 2 Oct 2025 17:43:52 +0200
Greg KH <gregkh@linuxfoundation.org> wrote:

> On Thu, Oct 02, 2025 at 10:57:24AM -0400, Hugo Villeneuve wrote:
> > From: Hugo Villeneuve <hvilleneuve@dimonoff.com>
> > 
> > Commit 43c51bb573aa ("sc16is7xx: make sure device is in suspend once
> > probed") permanently enabled access to the enhanced features in
> > sc16is7xx_probe(), and it is never disabled after that.
> > 
> > Therefore, remove useless re-enable of enhanced features in
> > sc16is7xx_set_baud().
> > 
> > Fixes: 43c51bb573aa ("sc16is7xx: make sure device is in suspend once probed")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
> > ---
> >  drivers/tty/serial/sc16is7xx.c | 7 -------
> >  1 file changed, 7 deletions(-)
> > 
> > diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
> > index 1a2c4c14f6aac..c7435595dce13 100644
> > --- a/drivers/tty/serial/sc16is7xx.c
> > +++ b/drivers/tty/serial/sc16is7xx.c
> > @@ -588,13 +588,6 @@ static int sc16is7xx_set_baud(struct uart_port *port, int baud)
> >  		div /= prescaler;
> >  	}
> >  
> > -	/* Enable enhanced features */
> > -	sc16is7xx_efr_lock(port);
> > -	sc16is7xx_port_update(port, SC16IS7XX_EFR_REG,
> > -			      SC16IS7XX_EFR_ENABLE_BIT,
> > -			      SC16IS7XX_EFR_ENABLE_BIT);
> > -	sc16is7xx_efr_unlock(port);
> > -
> >  	/* If bit MCR_CLKSEL is set, the divide by 4 prescaler is activated. */
> >  	sc16is7xx_port_update(port, SC16IS7XX_MCR_REG,
> >  			      SC16IS7XX_MCR_CLKSEL_BIT,
> > -- 
> > 2.39.5
> > 
> > 
> 
> Why is this needed for stable kernels?  It's useless, what is it
> harming?

It is useless, and doing no "harm", but since the device is on a SPI
or I2C bus, this is inefficient as it takes precious cycles on these
busses.

> If so, please send it separately, not as a part of a larger series.

That is why this patch is the first in the series, so that it could be
easily backported. But I can send it separately, sure.

Hugo.