[PATCH v4 20/21] serial: omap: move uart_omap_port definition to C file
From: Kevin Hilman <hidden>
Date: 2012-09-06 21:58:40
Also in:
linux-omap, linux-serial, lkml
Possibly related (same subject, not in this thread)
- 2012-09-06 · [PATCH v4 20/21] serial: omap: move uart_omap_port definition to C file · Felipe Balbi <hidden>
Felipe Balbi [off-list ref] writes:
nobody needs to access the uart_omap_port structure other than omap-serial.c file. Let's move that structure definition to the C source file in order to prevent anyone from accessing our structure. Tested-by: Shubhrajyoti D <redacted> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <redacted>
This one is clearly broken, and causes compile breakage...
quoted hunk
--- arch/arm/plat-omap/include/plat/omap-serial.h | 37 -------------------------- drivers/tty/serial/omap-serial.c | 38 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 37 deletions(-)diff --git a/arch/arm/plat-omap/include/plat/omap-serial.h b/arch/arm/plat-omap/include/plat/omap-serial.h index a79ed8b..3c9fd3e 100644 --- a/arch/arm/plat-omap/include/plat/omap-serial.h +++ b/arch/arm/plat-omap/include/plat/omap-serial.h@@ -105,45 +105,8 @@ struct uart_omap_dma { unsigned int rx_timeout; }; -struct uart_omap_port { - struct uart_port port; - struct uart_omap_dma uart_dma; - struct device *dev; - - unsigned char ier; - unsigned char lcr; - unsigned char mcr; - unsigned char fcr; - unsigned char efr; - unsigned char dll; - unsigned char dlh; - unsigned char mdr1; - unsigned char scr; - - int use_dma; - /* - * Some bits in registers are cleared on a read, so they must - * be saved whenever the register is read but the bits will not - * be immediately processed. - */ - unsigned int lsr_break_flag; - unsigned char msr_saved_flags; - char name[20]; - unsigned long port_activity; - u32 context_loss_cnt; - u32 errata; - u8 wakeups_enabled; int DTR_gpio; int DTR_inverted; int DTR_active;
The whole struct has moved, but some fields left behind? This looks to be caused by the rebase which includes Neil Brown's DTR GPIO change[1]
quoted hunk
- - struct pm_qos_request pm_qos_request; - u32 latency; - u32 calc_latency; - struct work_struct qos_work; -}; - -#define to_uart_omap_port(p) ((container_of((p), struct uart_omap_port, port))) - #endif /* __OMAP_SERIAL_H__ */diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c index 881b652..164c3c9 100644 --- a/drivers/tty/serial/omap-serial.c +++ b/drivers/tty/serial/omap-serial.c@@ -70,6 +70,44 @@ #define OMAP_UART_MVR_MAJ_SHIFT 8 #define OMAP_UART_MVR_MIN_MASK 0x3f +struct uart_omap_port { + struct uart_port port; + struct uart_omap_dma uart_dma; + struct device *dev; + + unsigned char ier; + unsigned char lcr; + unsigned char mcr; + unsigned char fcr; + unsigned char efr; + unsigned char dll; + unsigned char dlh; + unsigned char mdr1; + unsigned char scr; + + int use_dma; + /* + * Some bits in registers are cleared on a read, so they must + * be saved whenever the register is read but the bits will not + * be immediately processed. + */ + unsigned int lsr_break_flag; + unsigned char msr_saved_flags; + char name[20]; + unsigned long port_activity; + u32 context_loss_cnt; + u32 errata; + u8 wakeups_enabled; + unsigned int irq_pending:1;
And this field was not in the original, yet the changelog describes this
as a move.
Why is a this new field added (and not described in the changelog.)
Kevin
[1]
commit 9574f36fb801035f6ab0fbb1b53ce2c12c17d100
Author: NeilBrown [off-list ref]
Date: Mon Jul 30 10:30:26 2012 +1000
OMAP/serial: Add support for driving a GPIO as DTR.
OMAP hardware doesn't provide a phyisical DTR line, but
some configurations may need a DTR line which tracks whether
the device is open or not.
So allow a gpio to be configured as the DTR line.
Signed-off-by: NeilBrown [off-list ref]
Signed-off-by: Greg Kroah-Hartman [off-list ref]