Skip to content

Commit

Permalink
serial: sh-sci: Remove unused platform data capabilities field
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Laurent Pinchart authored and Greg Kroah-Hartman committed Jan 19, 2017
1 parent d5cb131 commit 97ed979
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
11 changes: 7 additions & 4 deletions drivers/tty/serial/sh-sci.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ struct sci_port {
unsigned int rx_timeout;
#endif

bool has_rtscts;
bool autorts;
};

Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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)) {
Expand Down Expand Up @@ -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)
Expand All @@ -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;
}
Expand Down Expand Up @@ -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,
Expand Down
6 changes: 0 additions & 6 deletions include/linux/serial_sci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit 97ed979

Please sign in to comment.