[PATCH v2 2/2] tty: serial: samsung_tty: cast the interrupt's void *id just once

Jiri Slaby jirislaby at kernel.org
Thu Aug 8 00:31:24 PDT 2024


On 07. 08. 24, 13:58, André Draszik wrote:
> The interrupt handler routines and helpers are casting the 'void *'
> pointer to 'struct exynos_uart_port *' all over the place.
> 
> There is no need for that, we can do the casting once and keep passing
> the 'struct exynos_uart_port *', simplifying the code and saving a few
> lines of code.
> 
> No functional changes.
...
> @@ -944,17 +939,17 @@ static irqreturn_t s3c24xx_serial_tx_irq(void *id)
>   /* interrupt handler for s3c64xx and later SoC's.*/
>   static irqreturn_t s3c64xx_serial_handle_irq(int irq, void *id)
>   {
> -	const struct s3c24xx_uart_port *ourport = id;
> -	const struct uart_port *port = &ourport->port;
> +	struct s3c24xx_uart_port *ourport = id;
> +	struct uart_port *port = &ourport->port;
>   	u32 pend = rd_regl(port, S3C64XX_UINTP);
>   	irqreturn_t ret = IRQ_HANDLED;
>   
>   	if (pend & S3C64XX_UINTM_RXD_MSK) {
> -		ret = s3c24xx_serial_rx_irq(id);
> +		ret = s3c24xx_serial_rx_irq(ourport);
>   		wr_regl(port, S3C64XX_UINTP, S3C64XX_UINTM_RXD_MSK);
>   	}
>   	if (pend & S3C64XX_UINTM_TXD_MSK) {
> -		ret = s3c24xx_serial_tx_irq(id);
> +		ret = s3c24xx_serial_tx_irq(ourport);
>   		wr_regl(port, S3C64XX_UINTP, S3C64XX_UINTM_TXD_MSK);
>   	}
>   	return ret;
> @@ -963,19 +958,19 @@ static irqreturn_t s3c64xx_serial_handle_irq(int irq, void *id)
>   /* interrupt handler for Apple SoC's.*/
>   static irqreturn_t apple_serial_handle_irq(int irq, void *id)
>   {
> -	const struct s3c24xx_uart_port *ourport = id;
> -	const struct uart_port *port = &ourport->port;
> +	struct s3c24xx_uart_port *ourport = id;
> +	struct uart_port *port = &ourport->port;

No need to remove const from port here and above, right? (Only from 
ourport.)

Other than that, LGTM.

thanks,
-- 
js
suse labs




More information about the linux-arm-kernel mailing list