tty/serial: atmel: use offset_in_page() macro
authorGeliang Tang <geliangtang@gmail.com>
Sat, 29 Apr 2017 01:39:00 +0000 (09:39 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 May 2017 14:34:55 +0000 (16:34 +0200)
Use offset_in_page() macro instead of open-coding.

Signed-off-by: Geliang Tang <geliangtang@gmail.com>
Acked-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/atmel_serial.c

index c355ac9abafcc12adb5f8fd3205adaf4a16f86c1..d25f044158ff9b67dbf3e166cf3a03bac2773329 100644 (file)
@@ -46,6 +46,7 @@
 #include <linux/err.h>
 #include <linux/irq.h>
 #include <linux/suspend.h>
+#include <linux/mm.h>
 
 #include <asm/io.h>
 #include <asm/ioctls.h>
@@ -959,7 +960,7 @@ static int atmel_prepare_tx_dma(struct uart_port *port)
        sg_set_page(&atmel_port->sg_tx,
                        virt_to_page(port->state->xmit.buf),
                        UART_XMIT_SIZE,
-                       (unsigned long)port->state->xmit.buf & ~PAGE_MASK);
+                       offset_in_page(port->state->xmit.buf));
        nent = dma_map_sg(port->dev,
                                &atmel_port->sg_tx,
                                1,
@@ -1141,7 +1142,7 @@ static int atmel_prepare_rx_dma(struct uart_port *port)
        sg_set_page(&atmel_port->sg_rx,
                    virt_to_page(ring->buf),
                    sizeof(struct atmel_uart_char) * ATMEL_SERIAL_RINGSIZE,
-                   (unsigned long)ring->buf & ~PAGE_MASK);
+                   offset_in_page(ring->buf));
        nent = dma_map_sg(port->dev,
                          &atmel_port->sg_rx,
                          1,