From: Paul Gortmaker Date: Fri, 9 Mar 2012 00:12:12 +0000 (-0500) Subject: serial: introduce generic port in/out helpers X-Git-Tag: MMI-PSA29.97-13-9~17267^2~8 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=927353a75602dd97144352f53177e18093fdd198;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git serial: introduce generic port in/out helpers Looking at the existing serial drivers (esp. the 8250 derived variants) we see a common trend. They create a hardware specific port struct, which in turn contains a generic serial_port struct. The other trend, is that they all create some sort of shortcut to go through the hardware specific struct, to the serial_port struct, which has the basic in/out operations within. Looking for the serial_in and serial_out in several drivers shows this. Rather than let this continue, lets create a generic set of similar helper wrappers that can be used on a struct port, so we can eliminate bouncing out through hardware specific struct pointers just to come back into struct port where possible. Signed-off-by: Paul Gortmaker Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 585bfd03d2ee..f51bf2e70c69 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -383,6 +383,16 @@ struct uart_port { void *private_data; /* generic platform data pointer */ }; +static inline int serial_port_in(struct uart_port *up, int offset) +{ + return up->serial_in(up, offset); +} + +static inline void serial_port_out(struct uart_port *up, int offset, int value) +{ + up->serial_out(up, offset, value); +} + /* * This is the state information which is persistent across opens. */