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: Stephen Rothwell <sfr@canb.auug.org.au> Suggested-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> [Also drop the header file dummies that only this driver was using] Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
f759921cfb
commit
0043c1dfbe
@ -575,12 +575,13 @@ static void asc_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
pinctrl_select_state(ascport->pinctrl,
|
||||
ascport->states[NO_HW_FLOWCTRL]);
|
||||
|
||||
gpiod = devm_get_gpiod_from_child(port->dev, "rts",
|
||||
&np->fwnode);
|
||||
if (!IS_ERR(gpiod)) {
|
||||
gpiod_direction_output(gpiod, 0);
|
||||
gpiod = devm_fwnode_get_gpiod_from_child(port->dev,
|
||||
"rts",
|
||||
&np->fwnode,
|
||||
GPIOD_OUT_LOW,
|
||||
np->name);
|
||||
if (!IS_ERR(gpiod))
|
||||
ascport->rts = gpiod;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,15 +143,6 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
|
||||
struct fwnode_handle *child,
|
||||
enum gpiod_flags flags,
|
||||
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 */
|
||||
|
||||
@ -444,13 +435,6 @@ struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
|
||||
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 */
|
||||
|
||||
static inline
|
||||
|
Loading…
Reference in New Issue
Block a user