Message ID | 1416293401-7714-1-git-send-email-kiran.kumar@linaro.org |
---|---|
State | New |
Headers | show |
On Tue, Nov 18, 2014 at 12:20:01PM +0530, Kiran Kumar Raparthy wrote: > From: San Mehat <san@google.com> > > serial_core: Add wake_peer uart operation > > Add wake_peer which is called before starting UART TX. The idea here > is to provide a mechanism where we can wakeup our peer before sending > data. > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Jiri Slaby <jslaby@suse.cz> > Cc: linux-serial@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: Android Kernel Team <kernel-team@android.com> > Cc: John Stultz <john.stultz@linaro.org> > Cc: Sumit Semwal <sumit.semwal@linaro.org> > Signed-off-by: San Mehat <san@google.com> > [Kiran: Added context to commit message] > Signed-off-by: Kiran Raparthy <kiran.kumar@linaro.org> > --- > This is one of the number of patches from the Android AOSP common.git tree, > which is used on almost all Android devices. I wanted to submit it for review > to see if it should go upstream. > > drivers/tty/serial/serial_core.c | 3 +++ > include/linux/serial_core.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c > index df3a8c7..dc45c4b 100644 > --- a/drivers/tty/serial/serial_core.c > +++ b/drivers/tty/serial/serial_core.c > @@ -95,6 +95,9 @@ static void __uart_start(struct tty_struct *tty) > struct uart_state *state = tty->driver_data; > struct uart_port *port = state->uart_port; > > + if (port->ops->wake_peer) > + port->ops->wake_peer(port); > + > if (!uart_tx_stopped(port)) > port->ops->start_tx(port); > } > diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h > index 21c2e05..219b6a3 100644 > --- a/include/linux/serial_core.h > +++ b/include/linux/serial_core.h > @@ -66,6 +66,7 @@ struct uart_ops { > void (*set_ldisc)(struct uart_port *, int new); > void (*pm)(struct uart_port *, unsigned int state, > unsigned int oldstate); > + void (*wake_peer)(struct uart_port *); > > /* > * Return a string describing the type of the port Do you have a driver that uses this callback to submit? I really don't like taking hooks that are not used in the tree, otherwise it usually gets removed by someone who says, "look this hook isn't being used, let's delete it!" thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
On 18 November 2014 21:55, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote: > On Tue, Nov 18, 2014 at 12:20:01PM +0530, Kiran Kumar Raparthy wrote: >> From: San Mehat <san@google.com> >> >> serial_core: Add wake_peer uart operation >> >> Add wake_peer which is called before starting UART TX. The idea here >> is to provide a mechanism where we can wakeup our peer before sending >> data. >> >> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> >> Cc: Jiri Slaby <jslaby@suse.cz> >> Cc: linux-serial@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> Cc: Android Kernel Team <kernel-team@android.com> >> Cc: John Stultz <john.stultz@linaro.org> >> Cc: Sumit Semwal <sumit.semwal@linaro.org> >> Signed-off-by: San Mehat <san@google.com> >> [Kiran: Added context to commit message] >> Signed-off-by: Kiran Raparthy <kiran.kumar@linaro.org> >> --- >> This is one of the number of patches from the Android AOSP common.git tree, >> which is used on almost all Android devices. I wanted to submit it for review >> to see if it should go upstream. >> >> drivers/tty/serial/serial_core.c | 3 +++ >> include/linux/serial_core.h | 1 + >> 2 files changed, 4 insertions(+) >> >> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c >> index df3a8c7..dc45c4b 100644 >> --- a/drivers/tty/serial/serial_core.c >> +++ b/drivers/tty/serial/serial_core.c >> @@ -95,6 +95,9 @@ static void __uart_start(struct tty_struct *tty) >> struct uart_state *state = tty->driver_data; >> struct uart_port *port = state->uart_port; >> >> + if (port->ops->wake_peer) >> + port->ops->wake_peer(port); >> + >> if (!uart_tx_stopped(port)) >> port->ops->start_tx(port); >> } >> diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h >> index 21c2e05..219b6a3 100644 >> --- a/include/linux/serial_core.h >> +++ b/include/linux/serial_core.h >> @@ -66,6 +66,7 @@ struct uart_ops { >> void (*set_ldisc)(struct uart_port *, int new); >> void (*pm)(struct uart_port *, unsigned int state, >> unsigned int oldstate); >> + void (*wake_peer)(struct uart_port *); >> >> /* >> * Return a string describing the type of the port > > Do you have a driver that uses this callback to submit? I really don't > like taking hooks that are not used in the tree, otherwise it usually > gets removed by someone who says, "look this hook isn't being used, > let's delete it!" Okay,let me check and resubmit the patch which uses the callback in driver. Thanks for the review comments. Regards, Kiran > > thanks, > > greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index df3a8c7..dc45c4b 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -95,6 +95,9 @@ static void __uart_start(struct tty_struct *tty) struct uart_state *state = tty->driver_data; struct uart_port *port = state->uart_port; + if (port->ops->wake_peer) + port->ops->wake_peer(port); + if (!uart_tx_stopped(port)) port->ops->start_tx(port); } diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 21c2e05..219b6a3 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -66,6 +66,7 @@ struct uart_ops { void (*set_ldisc)(struct uart_port *, int new); void (*pm)(struct uart_port *, unsigned int state, unsigned int oldstate); + void (*wake_peer)(struct uart_port *); /* * Return a string describing the type of the port