aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabian Frederick <fabf@skynet.be>2014-10-05 13:01:02 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-05 22:20:52 -0500
commitb6b30d67f39b7522d606751c0dba019577f0835a (patch)
treeb5568061924fbe66cf25ddd2b1915109f729ac78
parent0a0661ddb8fc9298a293558898e1045fbf54f256 (diff)
serial: use container_of to resolve uart_sio_port from uart_port
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/m32r_sio.c42
1 files changed, 28 insertions, 14 deletions
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/m32r_sio.c
index 5702828fb62e..8f7f83a14c93 100644
--- a/drivers/tty/serial/m32r_sio.c
+++ b/drivers/tty/serial/m32r_sio.c
@@ -249,7 +249,8 @@ static void serial_out(struct uart_sio_port *up, int offset, int value)
249 249
250static void m32r_sio_stop_tx(struct uart_port *port) 250static void m32r_sio_stop_tx(struct uart_port *port)
251{ 251{
252 struct uart_sio_port *up = (struct uart_sio_port *)port; 252 struct uart_sio_port *up =
253 container_of(port, struct uart_sio_port, port);
253 254
254 if (up->ier & UART_IER_THRI) { 255 if (up->ier & UART_IER_THRI) {
255 up->ier &= ~UART_IER_THRI; 256 up->ier &= ~UART_IER_THRI;
@@ -260,7 +261,8 @@ static void m32r_sio_stop_tx(struct uart_port *port)
260static void m32r_sio_start_tx(struct uart_port *port) 261static void m32r_sio_start_tx(struct uart_port *port)
261{ 262{
262#ifdef CONFIG_SERIAL_M32R_PLDSIO 263#ifdef CONFIG_SERIAL_M32R_PLDSIO
263 struct uart_sio_port *up = (struct uart_sio_port *)port; 264 struct uart_sio_port *up =
265 container_of(port, struct uart_sio_port, port);
264 struct circ_buf *xmit = &up->port.state->xmit; 266 struct circ_buf *xmit = &up->port.state->xmit;
265 267
266 if (!(up->ier & UART_IER_THRI)) { 268 if (!(up->ier & UART_IER_THRI)) {
@@ -274,7 +276,8 @@ static void m32r_sio_start_tx(struct uart_port *port)
274 } 276 }
275 while((serial_in(up, UART_LSR) & UART_EMPTY) != UART_EMPTY); 277 while((serial_in(up, UART_LSR) & UART_EMPTY) != UART_EMPTY);
276#else 278#else
277 struct uart_sio_port *up = (struct uart_sio_port *)port; 279 struct uart_sio_port *up =
280 container_of(port, struct uart_sio_port, port);
278 281
279 if (!(up->ier & UART_IER_THRI)) { 282 if (!(up->ier & UART_IER_THRI)) {
280 up->ier |= UART_IER_THRI; 283 up->ier |= UART_IER_THRI;
@@ -285,7 +288,8 @@ static void m32r_sio_start_tx(struct uart_port *port)
285 288
286static void m32r_sio_stop_rx(struct uart_port *port) 289static void m32r_sio_stop_rx(struct uart_port *port)
287{ 290{
288 struct uart_sio_port *up = (struct uart_sio_port *)port; 291 struct uart_sio_port *up =
292 container_of(port, struct uart_sio_port, port);
289 293
290 up->ier &= ~UART_IER_RLSI; 294 up->ier &= ~UART_IER_RLSI;
291 up->port.read_status_mask &= ~UART_LSR_DR; 295 up->port.read_status_mask &= ~UART_LSR_DR;
@@ -294,7 +298,8 @@ static void m32r_sio_stop_rx(struct uart_port *port)
294 298
295static void m32r_sio_enable_ms(struct uart_port *port) 299static void m32r_sio_enable_ms(struct uart_port *port)
296{ 300{
297 struct uart_sio_port *up = (struct uart_sio_port *)port; 301 struct uart_sio_port *up =
302 container_of(port, struct uart_sio_port, port);
298 303
299 up->ier |= UART_IER_MSI; 304 up->ier |= UART_IER_MSI;
300 serial_out(up, UART_IER, up->ier); 305 serial_out(up, UART_IER, up->ier);
@@ -581,7 +586,8 @@ static void m32r_sio_timeout(unsigned long data)
581 586
582static unsigned int m32r_sio_tx_empty(struct uart_port *port) 587static unsigned int m32r_sio_tx_empty(struct uart_port *port)
583{ 588{
584 struct uart_sio_port *up = (struct uart_sio_port *)port; 589 struct uart_sio_port *up =
590 container_of(port, struct uart_sio_port, port);
585 unsigned long flags; 591 unsigned long flags;
586 unsigned int ret; 592 unsigned int ret;
587 593
@@ -609,7 +615,8 @@ static void m32r_sio_break_ctl(struct uart_port *port, int break_state)
609 615
610static int m32r_sio_startup(struct uart_port *port) 616static int m32r_sio_startup(struct uart_port *port)
611{ 617{
612 struct uart_sio_port *up = (struct uart_sio_port *)port; 618 struct uart_sio_port *up =
619 container_of(port, struct uart_sio_port, port);
613 int retval; 620 int retval;
614 621
615 sio_init(); 622 sio_init();
@@ -652,7 +659,8 @@ static int m32r_sio_startup(struct uart_port *port)
652 659
653static void m32r_sio_shutdown(struct uart_port *port) 660static void m32r_sio_shutdown(struct uart_port *port)
654{ 661{
655 struct uart_sio_port *up = (struct uart_sio_port *)port; 662 struct uart_sio_port *up =
663 container_of(port, struct uart_sio_port, port);
656 664
657 /* 665 /*
658 * Disable interrupts from this port 666 * Disable interrupts from this port
@@ -681,7 +689,8 @@ static unsigned int m32r_sio_get_divisor(struct uart_port *port,
681static void m32r_sio_set_termios(struct uart_port *port, 689static void m32r_sio_set_termios(struct uart_port *port,
682 struct ktermios *termios, struct ktermios *old) 690 struct ktermios *termios, struct ktermios *old)
683{ 691{
684 struct uart_sio_port *up = (struct uart_sio_port *)port; 692 struct uart_sio_port *up =
693 container_of(port, struct uart_sio_port, port);
685 unsigned char cval = 0; 694 unsigned char cval = 0;
686 unsigned long flags; 695 unsigned long flags;
687 unsigned int baud, quot; 696 unsigned int baud, quot;
@@ -780,7 +789,8 @@ static void m32r_sio_set_termios(struct uart_port *port,
780static void m32r_sio_pm(struct uart_port *port, unsigned int state, 789static void m32r_sio_pm(struct uart_port *port, unsigned int state,
781 unsigned int oldstate) 790 unsigned int oldstate)
782{ 791{
783 struct uart_sio_port *up = (struct uart_sio_port *)port; 792 struct uart_sio_port *up =
793 container_of(port, struct uart_sio_port, port);
784 794
785 if (up->pm) 795 if (up->pm)
786 up->pm(port, state, oldstate); 796 up->pm(port, state, oldstate);
@@ -825,7 +835,8 @@ m32r_sio_request_std_resource(struct uart_sio_port *up, struct resource **res)
825 835
826static void m32r_sio_release_port(struct uart_port *port) 836static void m32r_sio_release_port(struct uart_port *port)
827{ 837{
828 struct uart_sio_port *up = (struct uart_sio_port *)port; 838 struct uart_sio_port *up =
839 container_of(port, struct uart_sio_port, port);
829 unsigned long start, offset = 0, size = 0; 840 unsigned long start, offset = 0, size = 0;
830 841
831 size <<= up->port.regshift; 842 size <<= up->port.regshift;
@@ -862,7 +873,8 @@ static void m32r_sio_release_port(struct uart_port *port)
862 873
863static int m32r_sio_request_port(struct uart_port *port) 874static int m32r_sio_request_port(struct uart_port *port)
864{ 875{
865 struct uart_sio_port *up = (struct uart_sio_port *)port; 876 struct uart_sio_port *up =
877 container_of(port, struct uart_sio_port, port);
866 struct resource *res = NULL; 878 struct resource *res = NULL;
867 int ret = 0; 879 int ret = 0;
868 880
@@ -889,7 +901,8 @@ static int m32r_sio_request_port(struct uart_port *port)
889 901
890static void m32r_sio_config_port(struct uart_port *port, int unused) 902static void m32r_sio_config_port(struct uart_port *port, int unused)
891{ 903{
892 struct uart_sio_port *up = (struct uart_sio_port *)port; 904 struct uart_sio_port *up =
905 container_of(port, struct uart_sio_port, port);
893 unsigned long flags; 906 unsigned long flags;
894 907
895 spin_lock_irqsave(&up->port.lock, flags); 908 spin_lock_irqsave(&up->port.lock, flags);
@@ -1000,7 +1013,8 @@ static inline void wait_for_xmitr(struct uart_sio_port *up)
1000 1013
1001static void m32r_sio_console_putchar(struct uart_port *port, int ch) 1014static void m32r_sio_console_putchar(struct uart_port *port, int ch)
1002{ 1015{
1003 struct uart_sio_port *up = (struct uart_sio_port *)port; 1016 struct uart_sio_port *up =
1017 container_of(port, struct uart_sio_port, port);
1004 1018
1005 wait_for_xmitr(up); 1019 wait_for_xmitr(up);
1006 sio_out(up, SIOTXB, ch); 1020 sio_out(up, SIOTXB, ch);