[PATCH v3 01/23] serial: omap: define and use to_uart_omap_port()
Tony Lindgren
tony at atomide.com
Fri Aug 24 15:07:14 EDT 2012
* Felipe Balbi <balbi at ti.com> [120823 03:37]:
> current code only works because struct uart_port
> is the first member on the uart_omap_port structure.
>
> If, for whatever reason, someone puts another
> member as the first of the structure, that cast
> won't work anymore. In order to be safe, let's use
> a container_of() which, for now, gets optimized into
> a cast anyway.
>
> Tested-by: Shubhrajyoti D <shubhrajyoti at ti.com>
> Acked-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> Signed-off-by: Felipe Balbi <balbi at ti.com>
> ---
> arch/arm/plat-omap/include/plat/omap-serial.h | 2 ++
> drivers/tty/serial/omap-serial.c | 36 +++++++++++++--------------
> 2 files changed, 20 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/plat-omap/include/plat/omap-serial.h b/arch/arm/plat-omap/include/plat/omap-serial.h
> index 1a52725..f3b35d9 100644
> --- a/arch/arm/plat-omap/include/plat/omap-serial.h
> +++ b/arch/arm/plat-omap/include/plat/omap-serial.h
> @@ -137,4 +137,6 @@ struct uart_omap_port {
> struct work_struct qos_work;
> };
>
> +#define to_uart_omap_port(p) ((container_of((p), struct uart_omap_port, port)))
> +
> #endif /* __OMAP_SERIAL_H__ */
For the arch/arm/*omap*/* parts:
Acked-by: Tony Lindgren <tony at atomide.com>
FYI, note that there are ARM SoC patches to move various header files to
live under include/linux/platform_data which may cause conflicts with these
changes.
Regards,
Tony
More information about the linux-arm-kernel
mailing list