Commit 0043c1df authored by Lee Jones's avatar Lee Jones Committed by Linus Walleij

serial: st-asc: Use new GPIOD API to obtain RTS pin

The commits mentioned below adapt the GPIO API to allow more information
to be passed directly through devm_get_gpiod_from_child() in the first
instance.  This facilitates the removal of subsequent calls, such as
gpiod_direction_output().  This patch firstly moves to utilise the new
API and secondly removes the now superfluous call do set the direction.
Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Suggested-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
[Also drop the header file dummies that only this driver was using]
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f759921c
...@@ -575,12 +575,13 @@ static void asc_set_termios(struct uart_port *port, struct ktermios *termios, ...@@ -575,12 +575,13 @@ static void asc_set_termios(struct uart_port *port, struct ktermios *termios,
pinctrl_select_state(ascport->pinctrl, pinctrl_select_state(ascport->pinctrl,
ascport->states[NO_HW_FLOWCTRL]); ascport->states[NO_HW_FLOWCTRL]);
gpiod = devm_get_gpiod_from_child(port->dev, "rts", gpiod = devm_fwnode_get_gpiod_from_child(port->dev,
&np->fwnode); "rts",
if (!IS_ERR(gpiod)) { &np->fwnode,
gpiod_direction_output(gpiod, 0); GPIOD_OUT_LOW,
np->name);
if (!IS_ERR(gpiod))
ascport->rts = gpiod; ascport->rts = gpiod;
}
} }
} }
......
...@@ -143,15 +143,6 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev, ...@@ -143,15 +143,6 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
struct fwnode_handle *child, struct fwnode_handle *child,
enum gpiod_flags flags, enum gpiod_flags flags,
const char *label); const char *label);
/* FIXME: delete this helper when users are switched over */
static inline struct gpio_desc *devm_get_gpiod_from_child(struct device *dev,
const char *con_id, struct fwnode_handle *child)
{
return devm_fwnode_get_index_gpiod_from_child(dev, con_id,
0, child,
GPIOD_ASIS,
"?");
}
#else /* CONFIG_GPIOLIB */ #else /* CONFIG_GPIOLIB */
...@@ -444,13 +435,6 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev, ...@@ -444,13 +435,6 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
return ERR_PTR(-ENOSYS); return ERR_PTR(-ENOSYS);
} }
/* FIXME: delete this when all users are switched over */
static inline struct gpio_desc *devm_get_gpiod_from_child(struct device *dev,
const char *con_id, struct fwnode_handle *child)
{
return ERR_PTR(-ENOSYS);
}
#endif /* CONFIG_GPIOLIB */ #endif /* CONFIG_GPIOLIB */
static inline static inline
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment