All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@ti.com>
To: alan@linux.intel.com
Cc: Tony Lindgren <tony@atomide.com>, Kevin Hilman <khilman@ti.com>,
	Linux OMAP Mailing List <linux-omap@vger.kernel.org>,
	Linux ARM Kernel Mailing List 
	<linux-arm-kernel@lists.infradead.org>,
	linux-serial@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Shubhrajyoti Datta <shubhrajyoti@ti.com>,
	Sourav Poddar <sourav.poddar@ti.com>, Felipe Balbi <balbi@ti.com>
Subject: [PATCH v3 01/23] serial: omap: define and use to_uart_omap_port()
Date: Thu, 23 Aug 2012 13:32:41 +0300	[thread overview]
Message-ID: <1345717983-18179-2-git-send-email-balbi@ti.com> (raw)
In-Reply-To: <1345717983-18179-1-git-send-email-balbi@ti.com>

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@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Felipe Balbi <balbi@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__ */
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index d3cda0c..5c0d0bc 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -141,7 +141,7 @@ static void serial_omap_stop_rxdma(struct uart_omap_port *up)
 
 static void serial_omap_enable_ms(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_enable_ms+%d\n", up->port.line);
 
@@ -153,7 +153,7 @@ static void serial_omap_enable_ms(struct uart_port *port)
 
 static void serial_omap_stop_tx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	struct omap_uart_port_info *pdata = up->pdev->dev.platform_data;
 
 	if (up->use_dma &&
@@ -186,7 +186,7 @@ static void serial_omap_stop_tx(struct uart_port *port)
 
 static void serial_omap_stop_rx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	pm_runtime_get_sync(&up->pdev->dev);
 	if (up->use_dma)
@@ -307,7 +307,7 @@ static inline void serial_omap_enable_ier_thri(struct uart_omap_port *up)
 
 static void serial_omap_start_tx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	struct omap_uart_port_info *pdata = up->pdev->dev.platform_data;
 	struct circ_buf *xmit;
 	unsigned int start;
@@ -449,7 +449,7 @@ static inline irqreturn_t serial_omap_irq(int irq, void *dev_id)
 
 static unsigned int serial_omap_tx_empty(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 	unsigned int ret = 0;
 
@@ -464,7 +464,7 @@ static unsigned int serial_omap_tx_empty(struct uart_port *port)
 
 static unsigned int serial_omap_get_mctrl(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned int status;
 	unsigned int ret = 0;
 
@@ -487,7 +487,7 @@ static unsigned int serial_omap_get_mctrl(struct uart_port *port)
 
 static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char mcr = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_set_mctrl+%d\n", up->port.line);
@@ -511,7 +511,7 @@ static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
 
 static void serial_omap_break_ctl(struct uart_port *port, int break_state)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_break_ctl+%d\n", up->port.line);
@@ -528,7 +528,7 @@ static void serial_omap_break_ctl(struct uart_port *port, int break_state)
 
 static int serial_omap_startup(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 	int retval;
 
@@ -606,7 +606,7 @@ static int serial_omap_startup(struct uart_port *port)
 
 static void serial_omap_shutdown(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_shutdown+%d\n", up->port.line);
@@ -721,7 +721,7 @@ static void
 serial_omap_set_termios(struct uart_port *port, struct ktermios *termios,
 			struct ktermios *old)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char cval = 0;
 	unsigned char efr = 0;
 	unsigned long flags = 0;
@@ -932,7 +932,7 @@ static void
 serial_omap_pm(struct uart_port *port, unsigned int state,
 	       unsigned int oldstate)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char efr;
 
 	dev_dbg(up->port.dev, "serial_omap_pm+%d\n", up->port.line);
@@ -971,7 +971,7 @@ static int serial_omap_request_port(struct uart_port *port)
 
 static void serial_omap_config_port(struct uart_port *port, int flags)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_config_port+%d\n",
 							up->port.line);
@@ -989,7 +989,7 @@ serial_omap_verify_port(struct uart_port *port, struct serial_struct *ser)
 static const char *
 serial_omap_type(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_type+%d\n", up->port.line);
 	return up->name;
@@ -1032,7 +1032,7 @@ static inline void wait_for_xmitr(struct uart_omap_port *up)
 
 static void serial_omap_poll_put_char(struct uart_port *port, unsigned char ch)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	pm_runtime_get_sync(&up->pdev->dev);
 	wait_for_xmitr(up);
@@ -1042,7 +1042,7 @@ static void serial_omap_poll_put_char(struct uart_port *port, unsigned char ch)
 
 static int serial_omap_poll_get_char(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned int status;
 
 	pm_runtime_get_sync(&up->pdev->dev);
@@ -1065,7 +1065,7 @@ static struct uart_driver serial_omap_reg;
 
 static void serial_omap_console_putchar(struct uart_port *port, int ch)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	wait_for_xmitr(up);
 	serial_out(up, UART_TX, ch);
@@ -1341,7 +1341,7 @@ static void serial_omap_continue_tx(struct uart_omap_port *up)
 
 static void uart_tx_dma_callback(int lch, u16 ch_status, void *data)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)data;
+	struct uart_omap_port *up = data;
 	struct circ_buf *xmit = &up->port.state->xmit;
 
 	xmit->tail = (xmit->tail + up->uart_dma.tx_buf_size) & \
-- 
1.7.12.rc3


WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: alan@linux.intel.com
Cc: Kevin Hilman <khilman@ti.com>, Tony Lindgren <tony@atomide.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Felipe Balbi <balbi@ti.com>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	linux-serial@vger.kernel.org,
	Sourav Poddar <sourav.poddar@ti.com>,
	Linux OMAP Mailing List <linux-omap@vger.kernel.org>,
	Shubhrajyoti Datta <shubhrajyoti@ti.com>,
	Linux ARM Kernel Mailing List
	<linux-arm-kernel@lists.infradead.org>
Subject: [PATCH v3 01/23] serial: omap: define and use to_uart_omap_port()
Date: Thu, 23 Aug 2012 13:32:41 +0300	[thread overview]
Message-ID: <1345717983-18179-2-git-send-email-balbi@ti.com> (raw)
In-Reply-To: <1345717983-18179-1-git-send-email-balbi@ti.com>

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@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Felipe Balbi <balbi@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__ */
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index d3cda0c..5c0d0bc 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -141,7 +141,7 @@ static void serial_omap_stop_rxdma(struct uart_omap_port *up)
 
 static void serial_omap_enable_ms(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_enable_ms+%d\n", up->port.line);
 
@@ -153,7 +153,7 @@ static void serial_omap_enable_ms(struct uart_port *port)
 
 static void serial_omap_stop_tx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	struct omap_uart_port_info *pdata = up->pdev->dev.platform_data;
 
 	if (up->use_dma &&
@@ -186,7 +186,7 @@ static void serial_omap_stop_tx(struct uart_port *port)
 
 static void serial_omap_stop_rx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	pm_runtime_get_sync(&up->pdev->dev);
 	if (up->use_dma)
@@ -307,7 +307,7 @@ static inline void serial_omap_enable_ier_thri(struct uart_omap_port *up)
 
 static void serial_omap_start_tx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	struct omap_uart_port_info *pdata = up->pdev->dev.platform_data;
 	struct circ_buf *xmit;
 	unsigned int start;
@@ -449,7 +449,7 @@ static inline irqreturn_t serial_omap_irq(int irq, void *dev_id)
 
 static unsigned int serial_omap_tx_empty(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 	unsigned int ret = 0;
 
@@ -464,7 +464,7 @@ static unsigned int serial_omap_tx_empty(struct uart_port *port)
 
 static unsigned int serial_omap_get_mctrl(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned int status;
 	unsigned int ret = 0;
 
@@ -487,7 +487,7 @@ static unsigned int serial_omap_get_mctrl(struct uart_port *port)
 
 static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char mcr = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_set_mctrl+%d\n", up->port.line);
@@ -511,7 +511,7 @@ static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
 
 static void serial_omap_break_ctl(struct uart_port *port, int break_state)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_break_ctl+%d\n", up->port.line);
@@ -528,7 +528,7 @@ static void serial_omap_break_ctl(struct uart_port *port, int break_state)
 
 static int serial_omap_startup(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 	int retval;
 
@@ -606,7 +606,7 @@ static int serial_omap_startup(struct uart_port *port)
 
 static void serial_omap_shutdown(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_shutdown+%d\n", up->port.line);
@@ -721,7 +721,7 @@ static void
 serial_omap_set_termios(struct uart_port *port, struct ktermios *termios,
 			struct ktermios *old)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char cval = 0;
 	unsigned char efr = 0;
 	unsigned long flags = 0;
@@ -932,7 +932,7 @@ static void
 serial_omap_pm(struct uart_port *port, unsigned int state,
 	       unsigned int oldstate)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char efr;
 
 	dev_dbg(up->port.dev, "serial_omap_pm+%d\n", up->port.line);
@@ -971,7 +971,7 @@ static int serial_omap_request_port(struct uart_port *port)
 
 static void serial_omap_config_port(struct uart_port *port, int flags)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_config_port+%d\n",
 							up->port.line);
@@ -989,7 +989,7 @@ serial_omap_verify_port(struct uart_port *port, struct serial_struct *ser)
 static const char *
 serial_omap_type(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_type+%d\n", up->port.line);
 	return up->name;
@@ -1032,7 +1032,7 @@ static inline void wait_for_xmitr(struct uart_omap_port *up)
 
 static void serial_omap_poll_put_char(struct uart_port *port, unsigned char ch)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	pm_runtime_get_sync(&up->pdev->dev);
 	wait_for_xmitr(up);
@@ -1042,7 +1042,7 @@ static void serial_omap_poll_put_char(struct uart_port *port, unsigned char ch)
 
 static int serial_omap_poll_get_char(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned int status;
 
 	pm_runtime_get_sync(&up->pdev->dev);
@@ -1065,7 +1065,7 @@ static struct uart_driver serial_omap_reg;
 
 static void serial_omap_console_putchar(struct uart_port *port, int ch)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	wait_for_xmitr(up);
 	serial_out(up, UART_TX, ch);
@@ -1341,7 +1341,7 @@ static void serial_omap_continue_tx(struct uart_omap_port *up)
 
 static void uart_tx_dma_callback(int lch, u16 ch_status, void *data)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)data;
+	struct uart_omap_port *up = data;
 	struct circ_buf *xmit = &up->port.state->xmit;
 
 	xmit->tail = (xmit->tail + up->uart_dma.tx_buf_size) & \
-- 
1.7.12.rc3

WARNING: multiple messages have this Message-ID (diff)
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 01/23] serial: omap: define and use to_uart_omap_port()
Date: Thu, 23 Aug 2012 13:32:41 +0300	[thread overview]
Message-ID: <1345717983-18179-2-git-send-email-balbi@ti.com> (raw)
In-Reply-To: <1345717983-18179-1-git-send-email-balbi@ti.com>

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@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Felipe Balbi <balbi@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__ */
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index d3cda0c..5c0d0bc 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -141,7 +141,7 @@ static void serial_omap_stop_rxdma(struct uart_omap_port *up)
 
 static void serial_omap_enable_ms(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_enable_ms+%d\n", up->port.line);
 
@@ -153,7 +153,7 @@ static void serial_omap_enable_ms(struct uart_port *port)
 
 static void serial_omap_stop_tx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	struct omap_uart_port_info *pdata = up->pdev->dev.platform_data;
 
 	if (up->use_dma &&
@@ -186,7 +186,7 @@ static void serial_omap_stop_tx(struct uart_port *port)
 
 static void serial_omap_stop_rx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	pm_runtime_get_sync(&up->pdev->dev);
 	if (up->use_dma)
@@ -307,7 +307,7 @@ static inline void serial_omap_enable_ier_thri(struct uart_omap_port *up)
 
 static void serial_omap_start_tx(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	struct omap_uart_port_info *pdata = up->pdev->dev.platform_data;
 	struct circ_buf *xmit;
 	unsigned int start;
@@ -449,7 +449,7 @@ static inline irqreturn_t serial_omap_irq(int irq, void *dev_id)
 
 static unsigned int serial_omap_tx_empty(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 	unsigned int ret = 0;
 
@@ -464,7 +464,7 @@ static unsigned int serial_omap_tx_empty(struct uart_port *port)
 
 static unsigned int serial_omap_get_mctrl(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned int status;
 	unsigned int ret = 0;
 
@@ -487,7 +487,7 @@ static unsigned int serial_omap_get_mctrl(struct uart_port *port)
 
 static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char mcr = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_set_mctrl+%d\n", up->port.line);
@@ -511,7 +511,7 @@ static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
 
 static void serial_omap_break_ctl(struct uart_port *port, int break_state)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_break_ctl+%d\n", up->port.line);
@@ -528,7 +528,7 @@ static void serial_omap_break_ctl(struct uart_port *port, int break_state)
 
 static int serial_omap_startup(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 	int retval;
 
@@ -606,7 +606,7 @@ static int serial_omap_startup(struct uart_port *port)
 
 static void serial_omap_shutdown(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned long flags = 0;
 
 	dev_dbg(up->port.dev, "serial_omap_shutdown+%d\n", up->port.line);
@@ -721,7 +721,7 @@ static void
 serial_omap_set_termios(struct uart_port *port, struct ktermios *termios,
 			struct ktermios *old)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char cval = 0;
 	unsigned char efr = 0;
 	unsigned long flags = 0;
@@ -932,7 +932,7 @@ static void
 serial_omap_pm(struct uart_port *port, unsigned int state,
 	       unsigned int oldstate)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned char efr;
 
 	dev_dbg(up->port.dev, "serial_omap_pm+%d\n", up->port.line);
@@ -971,7 +971,7 @@ static int serial_omap_request_port(struct uart_port *port)
 
 static void serial_omap_config_port(struct uart_port *port, int flags)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_config_port+%d\n",
 							up->port.line);
@@ -989,7 +989,7 @@ serial_omap_verify_port(struct uart_port *port, struct serial_struct *ser)
 static const char *
 serial_omap_type(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	dev_dbg(up->port.dev, "serial_omap_type+%d\n", up->port.line);
 	return up->name;
@@ -1032,7 +1032,7 @@ static inline void wait_for_xmitr(struct uart_omap_port *up)
 
 static void serial_omap_poll_put_char(struct uart_port *port, unsigned char ch)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	pm_runtime_get_sync(&up->pdev->dev);
 	wait_for_xmitr(up);
@@ -1042,7 +1042,7 @@ static void serial_omap_poll_put_char(struct uart_port *port, unsigned char ch)
 
 static int serial_omap_poll_get_char(struct uart_port *port)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 	unsigned int status;
 
 	pm_runtime_get_sync(&up->pdev->dev);
@@ -1065,7 +1065,7 @@ static struct uart_driver serial_omap_reg;
 
 static void serial_omap_console_putchar(struct uart_port *port, int ch)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)port;
+	struct uart_omap_port *up = to_uart_omap_port(port);
 
 	wait_for_xmitr(up);
 	serial_out(up, UART_TX, ch);
@@ -1341,7 +1341,7 @@ static void serial_omap_continue_tx(struct uart_omap_port *up)
 
 static void uart_tx_dma_callback(int lch, u16 ch_status, void *data)
 {
-	struct uart_omap_port *up = (struct uart_omap_port *)data;
+	struct uart_omap_port *up = data;
 	struct circ_buf *xmit = &up->port.state->xmit;
 
 	xmit->tail = (xmit->tail + up->uart_dma.tx_buf_size) & \
-- 
1.7.12.rc3

  reply	other threads:[~2012-08-23 10:45 UTC|newest]

Thread overview: 219+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-23 10:32 [PATCH v3 00/23] OMAP UART patches Felipe Balbi
2012-08-23 10:32 ` Felipe Balbi
2012-08-23 10:32 ` Felipe Balbi
2012-08-23 10:32 ` Felipe Balbi [this message]
2012-08-23 10:32   ` [PATCH v3 01/23] serial: omap: define and use to_uart_omap_port() Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-24 19:07   ` Tony Lindgren
2012-08-24 19:07     ` Tony Lindgren
2012-08-24 19:07     ` Tony Lindgren
2012-08-23 10:32 ` [PATCH v3 02/23] serial: omap: define helpers for pdata function pointers Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 03/23] serial: omap: don't access the platform_device Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-24 19:07   ` Tony Lindgren
2012-08-24 19:07     ` Tony Lindgren
2012-08-24 19:07     ` Tony Lindgren
2012-09-05 20:27   ` Greg KH
2012-09-05 20:27     ` Greg KH
2012-09-05 20:27     ` Greg KH
2012-09-06 12:29     ` Felipe Balbi
2012-09-06 12:29       ` Felipe Balbi
2012-09-06 12:29       ` Felipe Balbi
2012-09-06 12:45       ` [PATCH v4 00/21] OMAP UART Patches Felipe Balbi
2012-09-06 12:45         ` Felipe Balbi
2012-09-06 12:45         ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 01/21] serial: omap: don't access the platform_device Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 02/21] serial: omap: drop DMA support Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 03/21] serial: add OMAP-specific defines Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 04/21] serial: omap: simplify IRQ handling Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 05/21] serial: omap: refactor receive_chars() into rdi/rlsi handlers Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 06/21] serial: omap: move THRE check to transmit_chars() Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 07/21] serial: omap: stick to put_autosuspend Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 08/21] serial: omap: set dev->drvdata before enabling pm_runtime Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 09/21] serial: omap: drop unnecessary check from remove Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 10/21] serial: omap: make sure to suspend device before remove Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 11/21] serial: omap: don't save IRQ flags on hardirq Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 12/21] serial: omap: fix sequence of pm_runtime_* calls Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 13/21] serial: omap: optimization with section annotations Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 14/21] serial: omap: drop "inline" from IRQ handler prototype Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 15/21] serial: omap: unlock the port lock Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 16/21] serial: omap: implement set_wake Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 17/21] serial: omap: make sure to put() on poll_get_char Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 18/21] serial: omap: fix software flow control Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 19/21] serial: omap: remove unnecessary header and add a missing one Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45         ` [PATCH v4 20/21] serial: omap: move uart_omap_port definition to C file Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 21:58           ` Kevin Hilman
2012-09-06 21:58             ` Kevin Hilman
2012-09-06 21:58             ` Kevin Hilman
2012-09-06 12:45         ` [PATCH v4 21/21] serial: omap: enable RX and TX FIFO usage Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 12:45           ` Felipe Balbi
2012-09-06 16:18         ` [PATCH v4 00/21] OMAP UART Patches Greg KH
2012-09-06 16:18           ` Greg KH
2012-09-06 16:18           ` Greg KH
2012-09-06 17:25           ` Felipe Balbi
2012-09-06 17:25             ` Felipe Balbi
2012-09-06 17:25             ` Felipe Balbi
2012-09-06 21:37         ` Paul Walmsley
2012-09-06 21:37           ` Paul Walmsley
2012-09-06 21:37           ` Paul Walmsley
2012-09-11 22:02           ` Paul Walmsley
2012-09-11 22:02             ` Paul Walmsley
2012-09-11 22:02             ` Paul Walmsley
2012-09-12  6:23             ` Felipe Balbi
2012-09-12  6:23               ` Felipe Balbi
2012-09-12  6:23               ` Felipe Balbi
2012-09-12 20:25               ` Paul Walmsley
2012-09-12 20:25                 ` Paul Walmsley
2012-09-12 20:25                 ` Paul Walmsley
2012-09-13  5:01                 ` Felipe Balbi
2012-09-13  5:01                   ` Felipe Balbi
2012-09-13  5:01                   ` Felipe Balbi
2012-09-16  1:22               ` Paul Walmsley
2012-09-16  1:22                 ` Paul Walmsley
2012-09-16  1:22                 ` Paul Walmsley
2012-09-16 18:36                 ` Felipe Balbi
2012-09-16 18:36                   ` Felipe Balbi
2012-09-16 18:36                   ` Felipe Balbi
2012-09-06 22:44         ` Kevin Hilman
2012-09-06 22:44           ` Kevin Hilman
2012-09-06 22:44           ` Kevin Hilman
2012-09-07  5:49           ` Felipe Balbi
2012-09-07  5:49             ` Felipe Balbi
2012-09-07  5:49             ` Felipe Balbi
2012-09-07 20:53             ` Kevin Hilman
2012-09-07 20:53               ` Kevin Hilman
2012-09-07 20:53               ` Kevin Hilman
2012-09-08 19:04               ` Felipe Balbi
2012-09-08 19:04                 ` Felipe Balbi
2012-09-08 19:04                 ` Felipe Balbi
2012-09-11 11:31                 ` Shubhrajyoti
2012-09-11 11:31                   ` Shubhrajyoti
2012-09-11 11:31                   ` Shubhrajyoti
2012-09-11 11:54                   ` Felipe Balbi
2012-09-11 11:54                     ` Felipe Balbi
2012-09-11 11:54                     ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 04/23] serial: omap: drop DMA support Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 05/23] serial: add OMAP-specific defines Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 06/23] serial: omap: simplify IRQ handling Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 07/23] serial: omap: refactor receive_chars() into rdi/rlsi handlers Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 08/23] serial: omap: move THRE check to transmit_chars() Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 09/23] serial: omap: stick to put_autosuspend Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 10/23] serial: omap: set dev->drvdata before enabling pm_runtime Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 11/23] serial: omap: drop unnecessary check from remove Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 12/23] serial: omap: make sure to suspend device before remove Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 13/23] serial: omap: don't save IRQ flags on hardirq Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 14/23] serial: omap: fix sequence of pm_runtime_* calls Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 15/23] serial: omap: optimization with section annotations Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 16/23] serial: omap: drop "inline" from IRQ handler prototype Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 17/23] serial: omap: unlock the port lock Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 18/23] serial: omap: implement set_wake Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32 ` [PATCH v3 19/23] serial: omap: make sure to put() on poll_get_char Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:32   ` Felipe Balbi
2012-08-23 10:33 ` [PATCH v3 20/23] serial: omap: fix software flow control Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-24 19:08   ` Tony Lindgren
2012-08-24 19:08     ` Tony Lindgren
2012-08-24 19:08     ` Tony Lindgren
2012-09-05 20:27   ` Greg KH
2012-09-05 20:27     ` Greg KH
2012-09-05 20:27     ` Greg KH
2012-09-06 12:31     ` Felipe Balbi
2012-09-06 12:31       ` Felipe Balbi
2012-09-06 12:31       ` Felipe Balbi
2012-08-23 10:33 ` [PATCH v3 21/23] serial: omap: remove unnecessary header and add a missing one Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-23 10:33 ` [PATCH v3 22/23] serial: omap: move uart_omap_port definition to C file Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-24 19:08   ` Tony Lindgren
2012-08-24 19:08     ` Tony Lindgren
2012-08-24 19:08     ` Tony Lindgren
2012-08-23 10:33 ` [PATCH v3 23/23] serial: omap: enable RX and TX FIFO usage Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-23 10:33   ` Felipe Balbi
2012-08-24 10:40 ` [PATCH v3 00/23] OMAP UART patches Felipe Balbi
2012-08-24 10:40   ` Felipe Balbi
2012-08-24 10:40   ` Felipe Balbi
2012-09-04 11:45   ` Felipe Balbi
2012-09-04 11:45     ` Felipe Balbi
2012-09-04 11:45     ` Felipe Balbi
2012-09-05 20:18     ` Greg KH
2012-09-05 20:18       ` Greg KH
2012-09-05 20:18       ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1345717983-18179-2-git-send-email-balbi@ti.com \
    --to=balbi@ti.com \
    --cc=alan@linux.intel.com \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=santosh.shilimkar@ti.com \
    --cc=shubhrajyoti@ti.com \
    --cc=sourav.poddar@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.