lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 19 Oct 2023 09:30:22 -0500
From:   Sam Protsenko <semen.protsenko@...aro.org>
To:     André Draszik <andre.draszik@...aro.org>
Cc:     linux-kernel@...r.kernel.org, krzysztof.kozlowski@...aro.org,
        alim.akhtar@...sung.com, gregkh@...uxfoundation.org,
        jirislaby@...nel.org, linux-arm-kernel@...ts.infradead.org,
        linux-samsung-soc@...r.kernel.org, linux-serial@...r.kernel.org
Subject: Re: [PATCH v2] tty: serial: samsung_tty: remove dead code

On Thu, Oct 19, 2023 at 5:09 AM André Draszik <andre.draszik@...aro.org> wrote:
>
> When support for various old platforms was removed in commit
> 1ea35b355722 ("ARM: s3c: remove s3c24xx specific hacks"),
> s3c24xx_serial_ops also became unused here because nothing sets port
> type TYPE_S3C24XX anymore.
>
> Remove s3c24xx_serial_ops and all the code that's unreachable now.
>
> Fixes: 1ea35b355722 ("ARM: s3c: remove s3c24xx specific hacks")
> Signed-off-by: André Draszik <andre.draszik@...aro.org>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
>
> ---

Reviewed-by: Sam Protsenko <semen.protsenko@...aro.org>

> v2: update commit message
> ---
>  drivers/tty/serial/samsung_tty.c | 105 -------------------------------
>  1 file changed, 105 deletions(-)
>
> diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
> index 07fb8a9dac63..6b8d4b4402e9 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -64,7 +64,6 @@
>  #define RXSTAT_DUMMY_READ (0x10000000)
>
>  enum s3c24xx_port_type {
> -       TYPE_S3C24XX,
>         TYPE_S3C6400,
>         TYPE_APPLE_S5L,
>  };
> @@ -128,8 +127,6 @@ struct s3c24xx_uart_dma {
>  };
>
>  struct s3c24xx_uart_port {
> -       unsigned char                   rx_claimed;
> -       unsigned char                   tx_claimed;
>         unsigned char                   rx_enabled;
>         unsigned char                   tx_enabled;
>         unsigned int                    pm_level;
> @@ -1166,29 +1163,6 @@ static void s3c24xx_serial_release_dma(struct s3c24xx_uart_port *p)
>         }
>  }
>
> -static void s3c24xx_serial_shutdown(struct uart_port *port)
> -{
> -       struct s3c24xx_uart_port *ourport = to_ourport(port);
> -
> -       if (ourport->tx_claimed) {
> -               free_irq(ourport->tx_irq, ourport);
> -               ourport->tx_enabled = 0;
> -               ourport->tx_claimed = 0;
> -               ourport->tx_mode = 0;
> -       }
> -
> -       if (ourport->rx_claimed) {
> -               free_irq(ourport->rx_irq, ourport);
> -               ourport->rx_claimed = 0;
> -               ourport->rx_enabled = 0;
> -       }
> -
> -       if (ourport->dma)
> -               s3c24xx_serial_release_dma(ourport);
> -
> -       ourport->tx_in_progress = 0;
> -}
> -
>  static void s3c64xx_serial_shutdown(struct uart_port *port)
>  {
>         struct s3c24xx_uart_port *ourport = to_ourport(port);
> @@ -1234,48 +1208,6 @@ static void apple_s5l_serial_shutdown(struct uart_port *port)
>         ourport->tx_in_progress = 0;
>  }
>
> -static int s3c24xx_serial_startup(struct uart_port *port)
> -{
> -       struct s3c24xx_uart_port *ourport = to_ourport(port);
> -       int ret;
> -
> -       ourport->rx_enabled = 1;
> -
> -       ret = request_irq(ourport->rx_irq, s3c24xx_serial_rx_irq, 0,
> -                         s3c24xx_serial_portname(port), ourport);
> -
> -       if (ret != 0) {
> -               dev_err(port->dev, "cannot get irq %d\n", ourport->rx_irq);
> -               return ret;
> -       }
> -
> -       ourport->rx_claimed = 1;
> -
> -       dev_dbg(port->dev, "requesting tx irq...\n");
> -
> -       ourport->tx_enabled = 1;
> -
> -       ret = request_irq(ourport->tx_irq, s3c24xx_serial_tx_irq, 0,
> -                         s3c24xx_serial_portname(port), ourport);
> -
> -       if (ret) {
> -               dev_err(port->dev, "cannot get irq %d\n", ourport->tx_irq);
> -               goto err;
> -       }
> -
> -       ourport->tx_claimed = 1;
> -
> -       /* the port reset code should have done the correct
> -        * register setup for the port controls
> -        */
> -
> -       return ret;
> -
> -err:
> -       s3c24xx_serial_shutdown(port);
> -       return ret;
> -}
> -
>  static int s3c64xx_serial_startup(struct uart_port *port)
>  {
>         struct s3c24xx_uart_port *ourport = to_ourport(port);
> @@ -1692,8 +1624,6 @@ static const char *s3c24xx_serial_type(struct uart_port *port)
>         const struct s3c24xx_uart_port *ourport = to_ourport(port);
>
>         switch (ourport->info->type) {
> -       case TYPE_S3C24XX:
> -               return "S3C24XX";
>         case TYPE_S3C6400:
>                 return "S3C6400/10";
>         case TYPE_APPLE_S5L:
> @@ -1753,27 +1683,6 @@ static void s3c24xx_serial_put_poll_char(struct uart_port *port,
>                          unsigned char c);
>  #endif
>
> -static const struct uart_ops s3c24xx_serial_ops = {
> -       .pm             = s3c24xx_serial_pm,
> -       .tx_empty       = s3c24xx_serial_tx_empty,
> -       .get_mctrl      = s3c24xx_serial_get_mctrl,
> -       .set_mctrl      = s3c24xx_serial_set_mctrl,
> -       .stop_tx        = s3c24xx_serial_stop_tx,
> -       .start_tx       = s3c24xx_serial_start_tx,
> -       .stop_rx        = s3c24xx_serial_stop_rx,
> -       .break_ctl      = s3c24xx_serial_break_ctl,
> -       .startup        = s3c24xx_serial_startup,
> -       .shutdown       = s3c24xx_serial_shutdown,
> -       .set_termios    = s3c24xx_serial_set_termios,
> -       .type           = s3c24xx_serial_type,
> -       .config_port    = s3c24xx_serial_config_port,
> -       .verify_port    = s3c24xx_serial_verify_port,
> -#if defined(CONFIG_SERIAL_SAMSUNG_CONSOLE) && defined(CONFIG_CONSOLE_POLL)
> -       .poll_get_char = s3c24xx_serial_get_poll_char,
> -       .poll_put_char = s3c24xx_serial_put_poll_char,
> -#endif
> -};
> -
>  static const struct uart_ops s3c64xx_serial_ops = {
>         .pm             = s3c24xx_serial_pm,
>         .tx_empty       = s3c24xx_serial_tx_empty,
> @@ -1836,7 +1745,6 @@ static void s3c24xx_serial_init_port_default(int index) {
>         port->iotype = UPIO_MEM;
>         port->uartclk = 0;
>         port->fifosize = 16;
> -       port->ops = &s3c24xx_serial_ops;
>         port->flags = UPF_BOOT_AUTOCONF;
>         port->line = index;
>  }
> @@ -1954,16 +1862,6 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
>                 ourport->tx_irq = ret + 1;
>         }
>
> -       switch (ourport->info->type) {
> -       case TYPE_S3C24XX:
> -               ret = platform_get_irq(platdev, 1);
> -               if (ret > 0)
> -                       ourport->tx_irq = ret;
> -               break;
> -       default:
> -               break;
> -       }
> -
>         /*
>          * DMA is currently supported only on DT platforms, if DMA properties
>          * are specified.
> @@ -2083,9 +1981,6 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
>                         &ourport->drv_data->def_cfg;
>
>         switch (ourport->info->type) {
> -       case TYPE_S3C24XX:
> -               ourport->port.ops = &s3c24xx_serial_ops;
> -               break;
>         case TYPE_S3C6400:
>                 ourport->port.ops = &s3c64xx_serial_ops;
>                 break;
> --
> 2.40.1
>

Powered by blists - more mailing lists