OSDN Git Service

tty: st-asc: switch to using devm_gpiod_get()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 4 Jan 2020 20:23:14 +0000 (12:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2020 13:01:33 +0000 (14:01 +0100)
The node pointer in question is not a child node, but the node assigned
to the port device itself, so we should not be using
devm_fwnode_get_gpiod_from_child() [that is going away], but standard
devm_gpiod_get().

To maintain the previous labeling we use gpiod_set_consumer_name() after
we acquire the GPIO.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20200104202314.GA13591@dtor-ws
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/st-asc.c

index fb6bbb5..e704851 100644 (file)
@@ -504,7 +504,6 @@ static void asc_set_termios(struct uart_port *port, struct ktermios *termios,
                            struct ktermios *old)
 {
        struct asc_port *ascport = to_asc_port(port);
-       struct device_node *np = port->dev->of_node;
        struct gpio_desc *gpiod;
        unsigned int baud;
        u32 ctrl_val;
@@ -566,13 +565,12 @@ static void asc_set_termios(struct uart_port *port, struct ktermios *termios,
                        pinctrl_select_state(ascport->pinctrl,
                                             ascport->states[NO_HW_FLOWCTRL]);
 
-                       gpiod = devm_fwnode_get_gpiod_from_child(port->dev,
-                                                                "rts",
-                                                                &np->fwnode,
-                                                                GPIOD_OUT_LOW,
-                                                                np->name);
-                       if (!IS_ERR(gpiod))
+                       gpiod = devm_gpiod_get(port->dev, "rts", GPIOD_OUT_LOW);
+                       if (!IS_ERR(gpiod)) {
+                               gpiod_set_consumer_name(gpiod,
+                                               port->dev->of_node->name);
                                ascport->rts = gpiod;
+                       }
                }
        }