serial: sh-sci: Remove unused platform data capabilities field
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 11 Jan 2017 14:43:39 +0000 (16:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2017 13:17:05 +0000 (14:17 +0100)
The field isn't set by any platform but is only used internally in the
driver to hold data parsed from DT. Move it to the sci_port structure.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sh-sci.c
include/linux/serial_sci.h

index ae1404e701eaf6479672e84a942f665eab27de02..a04ed40279d10dfba69b916b73b815a92b4412e1 100644 (file)
@@ -149,6 +149,7 @@ struct sci_port {
        unsigned int                    rx_timeout;
 #endif
 
+       bool has_rtscts;
        bool autorts;
 };
 
@@ -680,7 +681,7 @@ static void sci_init_pins(struct uart_port *port, unsigned int cflag)
 
                /* Enable RXD and TXD pin functions */
                ctrl &= ~(SCPCR_RXDC | SCPCR_TXDC);
-               if (to_sci_port(port)->cfg->capabilities & SCIx_HAVE_RTSCTS) {
+               if (to_sci_port(port)->has_rtscts) {
                        /* RTS# is output, driven 1 */
                        ctrl |= SCPCR_RTSC;
                        serial_port_out(port, SCPDR,
@@ -1738,7 +1739,7 @@ static void sci_set_mctrl(struct uart_port *port, unsigned int mctrl)
 
        mctrl_gpio_set(s->gpios, mctrl);
 
-       if (!(s->cfg->capabilities & SCIx_HAVE_RTSCTS))
+       if (!s->has_rtscts)
                return;
 
        if (!(mctrl & TIOCM_RTS)) {
@@ -2809,6 +2810,7 @@ sci_parse_dt(struct platform_device *pdev, unsigned int *dev_id)
        struct device_node *np = pdev->dev.of_node;
        const struct of_device_id *match;
        struct plat_sci_port *p;
+       struct sci_port *sp;
        int id;
 
        if (!IS_ENABLED(CONFIG_OF) || !np)
@@ -2829,13 +2831,14 @@ sci_parse_dt(struct platform_device *pdev, unsigned int *dev_id)
                return NULL;
        }
 
+       sp = &sci_ports[id];
        *dev_id = id;
 
        p->type = SCI_OF_TYPE(match->data);
        p->regtype = SCI_OF_REGTYPE(match->data);
 
        if (of_find_property(np, "uart-has-rtscts", NULL))
-               p->capabilities |= SCIx_HAVE_RTSCTS;
+               sp->has_rtscts = true;
 
        return p;
 }
@@ -2863,7 +2866,7 @@ static int sci_probe_single(struct platform_device *dev,
        if (IS_ERR(sciport->gpios) && PTR_ERR(sciport->gpios) != -ENOSYS)
                return PTR_ERR(sciport->gpios);
 
-       if (p->capabilities & SCIx_HAVE_RTSCTS) {
+       if (sciport->has_rtscts) {
                if (!IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(sciport->gpios,
                                                        UART_GPIO_CTS)) ||
                    !IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(sciport->gpios,
index b4419931bf4cb460866a47108716b6e28d99b635..f9a4526f4ec5675d9bb788216be4f77ca4a93425 100644 (file)
@@ -43,18 +43,12 @@ struct plat_sci_port_ops {
        void (*init_pins)(struct uart_port *, unsigned int cflag);
 };
 
-/*
- * Port-specific capabilities
- */
-#define SCIx_HAVE_RTSCTS       BIT(0)
-
 /*
  * Platform device specific platform_data struct
  */
 struct plat_sci_port {
        unsigned int    type;                   /* SCI / SCIF / IRDA / HSCIF */
        upf_t           flags;                  /* UPF_* flags */
-       unsigned long   capabilities;           /* Port features/capabilities */
 
        unsigned int    sampling_rate;
        unsigned int    scscr;                  /* SCSCR initialization */