Commit e555a211 authored by Soren Brinkmann's avatar Soren Brinkmann Committed by Greg Kroah-Hartman

tty: xuartps: Clean up

This is all white space and comment clean up. Mostly reformatting
comments.
Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
Tested-by: default avatarMichal Simek <michal.simek@xilinx.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 928e9263
/* /*
* Xilinx PS UART driver * Xilinx PS UART driver
* *
* 2011 - 2013 (C) Xilinx Inc. * 2011 - 2014 (C) Xilinx Inc.
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public * and/or modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; * License as published by the Free Software Foundation;
* either version 2 of the License, or (at your option) any * either version 2 of the License, or (at your option) any
* later version. * later version.
*
*/ */
#if defined(CONFIG_SERIAL_XILINX_PS_UART_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) #if defined(CONFIG_SERIAL_XILINX_PS_UART_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
...@@ -49,39 +48,27 @@ static int rx_timeout = 10; ...@@ -49,39 +48,27 @@ static int rx_timeout = 10;
module_param(rx_timeout, uint, S_IRUGO); module_param(rx_timeout, uint, S_IRUGO);
MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255"); MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");
/********************************Register Map********************************/ /* Register offsets for the UART. */
/** UART #define XUARTPS_CR_OFFSET 0x00 /* Control Register */
* #define XUARTPS_MR_OFFSET 0x04 /* Mode Register */
* Register offsets for the UART. #define XUARTPS_IER_OFFSET 0x08 /* Interrupt Enable */
* #define XUARTPS_IDR_OFFSET 0x0C /* Interrupt Disable */
*/ #define XUARTPS_IMR_OFFSET 0x10 /* Interrupt Mask */
#define XUARTPS_CR_OFFSET 0x00 /* Control Register [8:0] */ #define XUARTPS_ISR_OFFSET 0x14 /* Interrupt Status */
#define XUARTPS_MR_OFFSET 0x04 /* Mode Register [10:0] */ #define XUARTPS_BAUDGEN_OFFSET 0x18 /* Baud Rate Generator */
#define XUARTPS_IER_OFFSET 0x08 /* Interrupt Enable [10:0] */ #define XUARTPS_RXTOUT_OFFSET 0x1C /* RX Timeout */
#define XUARTPS_IDR_OFFSET 0x0C /* Interrupt Disable [10:0] */ #define XUARTPS_RXWM_OFFSET 0x20 /* RX FIFO Trigger Level */
#define XUARTPS_IMR_OFFSET 0x10 /* Interrupt Mask [10:0] */ #define XUARTPS_MODEMCR_OFFSET 0x24 /* Modem Control */
#define XUARTPS_ISR_OFFSET 0x14 /* Interrupt Status [10:0]*/ #define XUARTPS_MODEMSR_OFFSET 0x28 /* Modem Status */
#define XUARTPS_BAUDGEN_OFFSET 0x18 /* Baud Rate Generator [15:0] */ #define XUARTPS_SR_OFFSET 0x2C /* Channel Status */
#define XUARTPS_RXTOUT_OFFSET 0x1C /* RX Timeout [7:0] */ #define XUARTPS_FIFO_OFFSET 0x30 /* FIFO */
#define XUARTPS_RXWM_OFFSET 0x20 /* RX FIFO Trigger Level [5:0] */ #define XUARTPS_BAUDDIV_OFFSET 0x34 /* Baud Rate Divider */
#define XUARTPS_MODEMCR_OFFSET 0x24 /* Modem Control [5:0] */ #define XUARTPS_FLOWDEL_OFFSET 0x38 /* Flow Delay */
#define XUARTPS_MODEMSR_OFFSET 0x28 /* Modem Status [8:0] */ #define XUARTPS_IRRX_PWIDTH_OFFSET 0x3C /* IR Minimum Received Pulse Width */
#define XUARTPS_SR_OFFSET 0x2C /* Channel Status [11:0] */ #define XUARTPS_IRTX_PWIDTH_OFFSET 0x40 /* IR Transmitted pulse Width */
#define XUARTPS_FIFO_OFFSET 0x30 /* FIFO [15:0] or [7:0] */ #define XUARTPS_TXWM_OFFSET 0x44 /* TX FIFO Trigger Level */
#define XUARTPS_BAUDDIV_OFFSET 0x34 /* Baud Rate Divider [7:0] */
#define XUARTPS_FLOWDEL_OFFSET 0x38 /* Flow Delay [15:0] */ /* Control Register Bit Definitions */
#define XUARTPS_IRRX_PWIDTH_OFFSET 0x3C /* IR Minimum Received Pulse
Width [15:0] */
#define XUARTPS_IRTX_PWIDTH_OFFSET 0x40 /* IR Transmitted pulse
Width [7:0] */
#define XUARTPS_TXWM_OFFSET 0x44 /* TX FIFO Trigger Level [5:0] */
/** Control Register
*
* The Control register (CR) controls the major functions of the device.
*
* Control Register Bit Definitions
*/
#define XUARTPS_CR_STOPBRK 0x00000100 /* Stop TX break */ #define XUARTPS_CR_STOPBRK 0x00000100 /* Stop TX break */
#define XUARTPS_CR_STARTBRK 0x00000080 /* Set TX break */ #define XUARTPS_CR_STARTBRK 0x00000080 /* Set TX break */
#define XUARTPS_CR_TX_DIS 0x00000020 /* TX disabled. */ #define XUARTPS_CR_TX_DIS 0x00000020 /* TX disabled. */
...@@ -92,14 +79,11 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255"); ...@@ -92,14 +79,11 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");
#define XUARTPS_CR_RXRST 0x00000001 /* RX logic reset */ #define XUARTPS_CR_RXRST 0x00000001 /* RX logic reset */
#define XUARTPS_CR_RST_TO 0x00000040 /* Restart Timeout Counter */ #define XUARTPS_CR_RST_TO 0x00000040 /* Restart Timeout Counter */
/** Mode Register /*
* * Mode Register:
* The mode register (MR) defines the mode of transfer as well as the data * The mode register (MR) defines the mode of transfer as well as the data
* format. If this register is modified during transmission or reception, * format. If this register is modified during transmission or reception,
* data validity cannot be guaranteed. * data validity cannot be guaranteed.
*
* Mode Register Bit Definitions
*
*/ */
#define XUARTPS_MR_CLKSEL 0x00000001 /* Pre-scalar selection */ #define XUARTPS_MR_CLKSEL 0x00000001 /* Pre-scalar selection */
#define XUARTPS_MR_CHMODE_L_LOOP 0x00000200 /* Local loop back mode */ #define XUARTPS_MR_CHMODE_L_LOOP 0x00000200 /* Local loop back mode */
...@@ -118,8 +102,8 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255"); ...@@ -118,8 +102,8 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");
#define XUARTPS_MR_CHARLEN_7_BIT 0x00000004 /* 7 bits data */ #define XUARTPS_MR_CHARLEN_7_BIT 0x00000004 /* 7 bits data */
#define XUARTPS_MR_CHARLEN_8_BIT 0x00000000 /* 8 bits data */ #define XUARTPS_MR_CHARLEN_8_BIT 0x00000000 /* 8 bits data */
/** Interrupt Registers /*
* * Interrupt Registers:
* Interrupt control logic uses the interrupt enable register (IER) and the * Interrupt control logic uses the interrupt enable register (IER) and the
* interrupt disable register (IDR) to set the value of the bits in the * interrupt disable register (IDR) to set the value of the bits in the
* interrupt mask register (IMR). The IMR determines whether to pass an * interrupt mask register (IMR). The IMR determines whether to pass an
...@@ -127,7 +111,6 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255"); ...@@ -127,7 +111,6 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");
* Writing a 1 to IER Enables an interrupt, writing a 1 to IDR disables an * Writing a 1 to IER Enables an interrupt, writing a 1 to IDR disables an
* interrupt. IMR and ISR are read only, and IER and IDR are write only. * interrupt. IMR and ISR are read only, and IER and IDR are write only.
* Reading either IER or IDR returns 0x00. * Reading either IER or IDR returns 0x00.
*
* All four registers have the same bit definitions. * All four registers have the same bit definitions.
*/ */
#define XUARTPS_IXR_TOUT 0x00000100 /* RX Timeout error interrupt */ #define XUARTPS_IXR_TOUT 0x00000100 /* RX Timeout error interrupt */
...@@ -145,8 +128,8 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255"); ...@@ -145,8 +128,8 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");
/* Goes in read_status_mask for break detection as the HW doesn't do it*/ /* Goes in read_status_mask for break detection as the HW doesn't do it*/
#define XUARTPS_IXR_BRK 0x80000000 #define XUARTPS_IXR_BRK 0x80000000
/** Channel Status Register /*
* * Channel Status Register:
* The channel status register (CSR) is provided to enable the control logic * The channel status register (CSR) is provided to enable the control logic
* to monitor the status of bits in the channel interrupt status register, * to monitor the status of bits in the channel interrupt status register,
* even if these are masked out by the interrupt mask register. * even if these are masked out by the interrupt mask register.
...@@ -205,7 +188,6 @@ static irqreturn_t xuartps_isr(int irq, void *dev_id) ...@@ -205,7 +188,6 @@ static irqreturn_t xuartps_isr(int irq, void *dev_id)
* error with all-zeros data as a break sequence. Most of the time, * error with all-zeros data as a break sequence. Most of the time,
* there's another non-zero byte at the end of the sequence. * there's another non-zero byte at the end of the sequence.
*/ */
if (isrstatus & XUARTPS_IXR_FRAMING) { if (isrstatus & XUARTPS_IXR_FRAMING) {
while (!(xuartps_readl(XUARTPS_SR_OFFSET) & while (!(xuartps_readl(XUARTPS_SR_OFFSET) &
XUARTPS_SR_RXEMPTY)) { XUARTPS_SR_RXEMPTY)) {
...@@ -264,8 +246,9 @@ static irqreturn_t xuartps_isr(int irq, void *dev_id) ...@@ -264,8 +246,9 @@ static irqreturn_t xuartps_isr(int irq, void *dev_id)
} else if (isrstatus & XUARTPS_IXR_FRAMING) { } else if (isrstatus & XUARTPS_IXR_FRAMING) {
port->icount.frame++; port->icount.frame++;
status = TTY_FRAME; status = TTY_FRAME;
} else if (isrstatus & XUARTPS_IXR_OVERRUN) } else if (isrstatus & XUARTPS_IXR_OVERRUN) {
port->icount.overrun++; port->icount.overrun++;
}
uart_insert_char(port, isrstatus, XUARTPS_IXR_OVERRUN, uart_insert_char(port, isrstatus, XUARTPS_IXR_OVERRUN,
data, status); data, status);
...@@ -300,7 +283,7 @@ static irqreturn_t xuartps_isr(int irq, void *dev_id) ...@@ -300,7 +283,7 @@ static irqreturn_t xuartps_isr(int irq, void *dev_id)
* the buffer if it reaches limit. * the buffer if it reaches limit.
*/ */
port->state->xmit.tail = port->state->xmit.tail =
(port->state->xmit.tail + 1) & \ (port->state->xmit.tail + 1) &
(UART_XMIT_SIZE - 1); (UART_XMIT_SIZE - 1);
} }
...@@ -419,7 +402,7 @@ static unsigned int xuartps_set_baud_rate(struct uart_port *port, ...@@ -419,7 +402,7 @@ static unsigned int xuartps_set_baud_rate(struct uart_port *port,
* @nb: Notifier block * @nb: Notifier block
* @event: Notify event * @event: Notify event
* @data: Notifier data * @data: Notifier data
* Return: NOTIFY_OK on success, NOTIFY_BAD on error. * Return: NOTIFY_OK or NOTIFY_DONE on success, NOTIFY_BAD on error.
*/ */
static int xuartps_clk_notifier_cb(struct notifier_block *nb, static int xuartps_clk_notifier_cb(struct notifier_block *nb,
unsigned long event, void *data) unsigned long event, void *data)
...@@ -438,8 +421,7 @@ static int xuartps_clk_notifier_cb(struct notifier_block *nb, ...@@ -438,8 +421,7 @@ static int xuartps_clk_notifier_cb(struct notifier_block *nb,
switch (event) { switch (event) {
case PRE_RATE_CHANGE: case PRE_RATE_CHANGE:
{ {
u32 bdiv; u32 bdiv, cd;
u32 cd;
int div8; int div8;
/* /*
...@@ -509,8 +491,6 @@ static int xuartps_clk_notifier_cb(struct notifier_block *nb, ...@@ -509,8 +491,6 @@ static int xuartps_clk_notifier_cb(struct notifier_block *nb,
} }
#endif #endif
/*----------------------Uart Operations---------------------------*/
/** /**
* xuartps_start_tx - Start transmitting bytes * xuartps_start_tx - Start transmitting bytes
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
...@@ -529,9 +509,8 @@ static void xuartps_start_tx(struct uart_port *port) ...@@ -529,9 +509,8 @@ static void xuartps_start_tx(struct uart_port *port)
xuartps_writel((status & ~XUARTPS_CR_TX_DIS) | XUARTPS_CR_TX_EN, xuartps_writel((status & ~XUARTPS_CR_TX_DIS) | XUARTPS_CR_TX_EN,
XUARTPS_CR_OFFSET); XUARTPS_CR_OFFSET);
while (numbytes-- && ((xuartps_readl(XUARTPS_SR_OFFSET) while (numbytes-- && ((xuartps_readl(XUARTPS_SR_OFFSET) &
& XUARTPS_SR_TXFULL)) != XUARTPS_SR_TXFULL) { XUARTPS_SR_TXFULL)) != XUARTPS_SR_TXFULL) {
/* Break if no more data available in the UART buffer */ /* Break if no more data available in the UART buffer */
if (uart_circ_empty(&port->state->xmit)) if (uart_circ_empty(&port->state->xmit))
break; break;
...@@ -666,9 +645,7 @@ static void xuartps_set_termios(struct uart_port *port, ...@@ -666,9 +645,7 @@ static void xuartps_set_termios(struct uart_port *port,
if (tty_termios_baud_rate(termios)) if (tty_termios_baud_rate(termios))
tty_termios_encode_baud_rate(termios, baud, baud); tty_termios_encode_baud_rate(termios, baud, baud);
/* /* Update the per-port timeout. */
* Update the per-port timeout.
*/
uart_update_timeout(port, termios->c_cflag, baud); uart_update_timeout(port, termios->c_cflag, baud);
/* Set TX/RX Reset */ /* Set TX/RX Reset */
...@@ -678,7 +655,8 @@ static void xuartps_set_termios(struct uart_port *port, ...@@ -678,7 +655,8 @@ static void xuartps_set_termios(struct uart_port *port,
ctrl_reg = xuartps_readl(XUARTPS_CR_OFFSET); ctrl_reg = xuartps_readl(XUARTPS_CR_OFFSET);
/* Clear the RX disable and TX disable bits and then set the TX enable /*
* Clear the RX disable and TX disable bits and then set the TX enable
* bit and RX enable bit to enable the transmitter and receiver. * bit and RX enable bit to enable the transmitter and receiver.
*/ */
xuartps_writel( xuartps_writel(
...@@ -756,7 +734,7 @@ static void xuartps_set_termios(struct uart_port *port, ...@@ -756,7 +734,7 @@ static void xuartps_set_termios(struct uart_port *port,
* xuartps_startup - Called when an application opens a xuartps port * xuartps_startup - Called when an application opens a xuartps port
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
* *
* Return: 0 on success, negative error otherwise * Return: 0 on success, negative errno otherwise
*/ */
static int xuartps_startup(struct uart_port *port) static int xuartps_startup(struct uart_port *port)
{ {
...@@ -850,7 +828,7 @@ static const char *xuartps_type(struct uart_port *port) ...@@ -850,7 +828,7 @@ static const char *xuartps_type(struct uart_port *port)
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
* @ser: Handle to the structure whose members are compared * @ser: Handle to the structure whose members are compared
* *
* Return: 0 if success otherwise -EINVAL * Return: 0 on success, negative errno otherwise.
*/ */
static int xuartps_verify_port(struct uart_port *port, static int xuartps_verify_port(struct uart_port *port,
struct serial_struct *ser) struct serial_struct *ser)
...@@ -874,7 +852,7 @@ static int xuartps_verify_port(struct uart_port *port, ...@@ -874,7 +852,7 @@ static int xuartps_verify_port(struct uart_port *port,
* uart_add_one_port() * uart_add_one_port()
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
* *
* Return: 0, -ENOMEM if request fails * Return: 0 on success, negative errno otherwise.
*/ */
static int xuartps_request_port(struct uart_port *port) static int xuartps_request_port(struct uart_port *port)
{ {
...@@ -893,10 +871,11 @@ static int xuartps_request_port(struct uart_port *port) ...@@ -893,10 +871,11 @@ static int xuartps_request_port(struct uart_port *port)
} }
/** /**
* xuartps_release_port - Release the memory region attached to a xuartps * xuartps_release_port - Release UART port
* port, called when the driver removes a xuartps
* port via uart_remove_one_port().
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
*
* Release the memory region attached to a xuartps port. Called when the
* driver removes a xuartps port via uart_remove_one_port().
*/ */
static void xuartps_release_port(struct uart_port *port) static void xuartps_release_port(struct uart_port *port)
{ {
...@@ -906,8 +885,7 @@ static void xuartps_release_port(struct uart_port *port) ...@@ -906,8 +885,7 @@ static void xuartps_release_port(struct uart_port *port)
} }
/** /**
* xuartps_config_port - Configure xuartps, called when the driver adds a * xuartps_config_port - Configure UART port
* xuartps port
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
* @flags: If any * @flags: If any
*/ */
...@@ -919,7 +897,6 @@ static void xuartps_config_port(struct uart_port *port, int flags) ...@@ -919,7 +897,6 @@ static void xuartps_config_port(struct uart_port *port, int flags)
/** /**
* xuartps_get_mctrl - Get the modem control state * xuartps_get_mctrl - Get the modem control state
*
* @port: Handle to the uart port structure * @port: Handle to the uart port structure
* *
* Return: the modem control state * Return: the modem control state
...@@ -987,38 +964,23 @@ static void xuartps_poll_put_char(struct uart_port *port, unsigned char c) ...@@ -987,38 +964,23 @@ static void xuartps_poll_put_char(struct uart_port *port, unsigned char c)
} }
#endif #endif
/** The UART operations structure
*/
static struct uart_ops xuartps_ops = { static struct uart_ops xuartps_ops = {
.set_mctrl = xuartps_set_mctrl, .set_mctrl = xuartps_set_mctrl,
.get_mctrl = xuartps_get_mctrl, .get_mctrl = xuartps_get_mctrl,
.enable_ms = xuartps_enable_ms, .enable_ms = xuartps_enable_ms,
.start_tx = xuartps_start_tx,
.start_tx = xuartps_start_tx, /* Start transmitting */ .stop_tx = xuartps_stop_tx,
.stop_tx = xuartps_stop_tx, /* Stop transmission */ .stop_rx = xuartps_stop_rx,
.stop_rx = xuartps_stop_rx, /* Stop reception */ .tx_empty = xuartps_tx_empty,
.tx_empty = xuartps_tx_empty, /* Transmitter busy? */ .break_ctl = xuartps_break_ctl,
.break_ctl = xuartps_break_ctl, /* Start/stop .set_termios = xuartps_set_termios,
* transmitting break .startup = xuartps_startup,
*/ .shutdown = xuartps_shutdown,
.set_termios = xuartps_set_termios, /* Set termios */ .type = xuartps_type,
.startup = xuartps_startup, /* App opens xuartps */ .verify_port = xuartps_verify_port,
.shutdown = xuartps_shutdown, /* App closes xuartps */ .request_port = xuartps_request_port,
.type = xuartps_type, /* Set UART type */ .release_port = xuartps_release_port,
.verify_port = xuartps_verify_port, /* Verification of port .config_port = xuartps_config_port,
* params
*/
.request_port = xuartps_request_port, /* Claim resources
* associated with a
* xuartps port
*/
.release_port = xuartps_release_port, /* Release resources
* associated with a
* xuartps port
*/
.config_port = xuartps_config_port, /* Configure when driver
* adds a xuartps port
*/
#ifdef CONFIG_CONSOLE_POLL #ifdef CONFIG_CONSOLE_POLL
.poll_get_char = xuartps_poll_get_char, .poll_get_char = xuartps_poll_get_char,
.poll_put_char = xuartps_poll_put_char, .poll_put_char = xuartps_poll_put_char,
...@@ -1028,9 +990,7 @@ static struct uart_ops xuartps_ops = { ...@@ -1028,9 +990,7 @@ static struct uart_ops xuartps_ops = {
static struct uart_port xuartps_port[2]; static struct uart_port xuartps_port[2];
/** /**
* xuartps_get_port - Configure the port from the platform device resource * xuartps_get_port - Configure the port from the platform device resource info
* info
*
* @id: Port id * @id: Port id
* *
* Return: a pointer to a uart_port or NULL for failure * Return: a pointer to a uart_port or NULL for failure
...@@ -1067,8 +1027,6 @@ static struct uart_port *xuartps_get_port(int id) ...@@ -1067,8 +1027,6 @@ static struct uart_port *xuartps_get_port(int id)
return port; return port;
} }
/*-----------------------Console driver operations--------------------------*/
#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE #ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE
/** /**
* xuartps_console_wait_tx - Wait for the TX to be full * xuartps_console_wait_tx - Wait for the TX to be full
...@@ -1144,7 +1102,7 @@ static void xuartps_console_write(struct console *co, const char *s, ...@@ -1144,7 +1102,7 @@ static void xuartps_console_write(struct console *co, const char *s,
* @co: Console handle * @co: Console handle
* @options: Initial settings of uart * @options: Initial settings of uart
* *
* Return: 0, -ENODEV if no device * Return: 0 on success, negative errno otherwise.
*/ */
static int __init xuartps_console_setup(struct console *co, char *options) static int __init xuartps_console_setup(struct console *co, char *options)
{ {
...@@ -1183,7 +1141,7 @@ static struct console xuartps_console = { ...@@ -1183,7 +1141,7 @@ static struct console xuartps_console = {
/** /**
* xuartps_console_init - Initialization call * xuartps_console_init - Initialization call
* *
* Return: 0 on success, negative error otherwise * Return: 0 on success, negative errno otherwise
*/ */
static int __init xuartps_console_init(void) static int __init xuartps_console_init(void)
{ {
...@@ -1195,17 +1153,15 @@ console_initcall(xuartps_console_init); ...@@ -1195,17 +1153,15 @@ console_initcall(xuartps_console_init);
#endif /* CONFIG_SERIAL_XILINX_PS_UART_CONSOLE */ #endif /* CONFIG_SERIAL_XILINX_PS_UART_CONSOLE */
/** Structure Definitions
*/
static struct uart_driver xuartps_uart_driver = { static struct uart_driver xuartps_uart_driver = {
.owner = THIS_MODULE, /* Owner */ .owner = THIS_MODULE,
.driver_name = XUARTPS_NAME, /* Driver name */ .driver_name = XUARTPS_NAME,
.dev_name = XUARTPS_TTY_NAME, /* Node name */ .dev_name = XUARTPS_TTY_NAME,
.major = XUARTPS_MAJOR, /* Major number */ .major = XUARTPS_MAJOR,
.minor = XUARTPS_MINOR, /* Minor number */ .minor = XUARTPS_MINOR,
.nr = XUARTPS_NR_PORTS, /* Number of UART ports */ .nr = XUARTPS_NR_PORTS,
#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE #ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE
.cons = &xuartps_console, /* Console */ .cons = &xuartps_console,
#endif #endif
}; };
...@@ -1322,14 +1278,11 @@ static int xuartps_resume(struct device *device) ...@@ -1322,14 +1278,11 @@ static int xuartps_resume(struct device *device)
static SIMPLE_DEV_PM_OPS(xuartps_dev_pm_ops, xuartps_suspend, xuartps_resume); static SIMPLE_DEV_PM_OPS(xuartps_dev_pm_ops, xuartps_suspend, xuartps_resume);
/* ---------------------------------------------------------------------
* Platform bus binding
*/
/** /**
* xuartps_probe - Platform driver probe * xuartps_probe - Platform driver probe
* @pdev: Pointer to the platform device structure * @pdev: Pointer to the platform device structure
* *
* Return: 0 on success, negative error otherwise * Return: 0 on success, negative errno otherwise
*/ */
static int xuartps_probe(struct platform_device *pdev) static int xuartps_probe(struct platform_device *pdev)
{ {
...@@ -1434,7 +1387,7 @@ static int xuartps_probe(struct platform_device *pdev) ...@@ -1434,7 +1387,7 @@ static int xuartps_probe(struct platform_device *pdev)
* xuartps_remove - called when the platform driver is unregistered * xuartps_remove - called when the platform driver is unregistered
* @pdev: Pointer to the platform device structure * @pdev: Pointer to the platform device structure
* *
* Return: 0 on success, negative error otherwise * Return: 0 on success, negative errno otherwise
*/ */
static int xuartps_remove(struct platform_device *pdev) static int xuartps_remove(struct platform_device *pdev)
{ {
...@@ -1462,24 +1415,16 @@ static struct of_device_id xuartps_of_match[] = { ...@@ -1462,24 +1415,16 @@ static struct of_device_id xuartps_of_match[] = {
MODULE_DEVICE_TABLE(of, xuartps_of_match); MODULE_DEVICE_TABLE(of, xuartps_of_match);
static struct platform_driver xuartps_platform_driver = { static struct platform_driver xuartps_platform_driver = {
.probe = xuartps_probe, /* Probe method */ .probe = xuartps_probe,
.remove = xuartps_remove, /* Detach method */ .remove = xuartps_remove,
.driver = { .driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.name = XUARTPS_NAME, /* Driver name */ .name = XUARTPS_NAME,
.of_match_table = xuartps_of_match, .of_match_table = xuartps_of_match,
.pm = &xuartps_dev_pm_ops, .pm = &xuartps_dev_pm_ops,
}, },
}; };
/* ---------------------------------------------------------------------
* Module Init and Exit
*/
/**
* xuartps_init - Initial driver registration call
*
* Return: whether the registration was successful or not
*/
static int __init xuartps_init(void) static int __init xuartps_init(void)
{ {
int retval = 0; int retval = 0;
...@@ -1497,15 +1442,8 @@ static int __init xuartps_init(void) ...@@ -1497,15 +1442,8 @@ static int __init xuartps_init(void)
return retval; return retval;
} }
/**
* xuartps_exit - Driver unregistration call
*/
static void __exit xuartps_exit(void) static void __exit xuartps_exit(void)
{ {
/* The order of unregistration is important. Unregister the
* UART driver before the platform driver crashes the system.
*/
/* Unregister the platform driver */ /* Unregister the platform driver */
platform_driver_unregister(&xuartps_platform_driver); platform_driver_unregister(&xuartps_platform_driver);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment