Commit 696faedd authored by Jingoo Han's avatar Jingoo Han Committed by Greg Kroah-Hartman

serial: use platform_{get,set}_drvdata()

Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.

Also, unnecessary dev_set_drvdata() is removed, because the driver core
clears the driver data to NULL after device_release or on probe failure.
Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9d141cb9
...@@ -1384,7 +1384,7 @@ static int cpm_uart_probe(struct platform_device *ofdev) ...@@ -1384,7 +1384,7 @@ static int cpm_uart_probe(struct platform_device *ofdev)
if (index >= UART_NR) if (index >= UART_NR)
return -ENODEV; return -ENODEV;
dev_set_drvdata(&ofdev->dev, pinfo); platform_set_drvdata(ofdev, pinfo);
/* initialize the device pointer for the port */ /* initialize the device pointer for the port */
pinfo->port.dev = &ofdev->dev; pinfo->port.dev = &ofdev->dev;
...@@ -1398,7 +1398,7 @@ static int cpm_uart_probe(struct platform_device *ofdev) ...@@ -1398,7 +1398,7 @@ static int cpm_uart_probe(struct platform_device *ofdev)
static int cpm_uart_remove(struct platform_device *ofdev) static int cpm_uart_remove(struct platform_device *ofdev)
{ {
struct uart_cpm_port *pinfo = dev_get_drvdata(&ofdev->dev); struct uart_cpm_port *pinfo = platform_get_drvdata(ofdev);
return uart_remove_one_port(&cpm_reg, &pinfo->port); return uart_remove_one_port(&cpm_reg, &pinfo->port);
} }
......
...@@ -1362,15 +1362,14 @@ static int mpc52xx_uart_of_probe(struct platform_device *op) ...@@ -1362,15 +1362,14 @@ static int mpc52xx_uart_of_probe(struct platform_device *op)
if (ret) if (ret)
return ret; return ret;
dev_set_drvdata(&op->dev, (void *)port); platform_set_drvdata(op, (void *)port);
return 0; return 0;
} }
static int static int
mpc52xx_uart_of_remove(struct platform_device *op) mpc52xx_uart_of_remove(struct platform_device *op)
{ {
struct uart_port *port = dev_get_drvdata(&op->dev); struct uart_port *port = platform_get_drvdata(op);
dev_set_drvdata(&op->dev, NULL);
if (port) if (port)
uart_remove_one_port(&mpc52xx_uart_driver, port); uart_remove_one_port(&mpc52xx_uart_driver, port);
...@@ -1382,7 +1381,7 @@ mpc52xx_uart_of_remove(struct platform_device *op) ...@@ -1382,7 +1381,7 @@ mpc52xx_uart_of_remove(struct platform_device *op)
static int static int
mpc52xx_uart_of_suspend(struct platform_device *op, pm_message_t state) mpc52xx_uart_of_suspend(struct platform_device *op, pm_message_t state)
{ {
struct uart_port *port = (struct uart_port *) dev_get_drvdata(&op->dev); struct uart_port *port = (struct uart_port *) platform_get_drvdata(op);
if (port) if (port)
uart_suspend_port(&mpc52xx_uart_driver, port); uart_suspend_port(&mpc52xx_uart_driver, port);
...@@ -1393,7 +1392,7 @@ mpc52xx_uart_of_suspend(struct platform_device *op, pm_message_t state) ...@@ -1393,7 +1392,7 @@ mpc52xx_uart_of_suspend(struct platform_device *op, pm_message_t state)
static int static int
mpc52xx_uart_of_resume(struct platform_device *op) mpc52xx_uart_of_resume(struct platform_device *op)
{ {
struct uart_port *port = (struct uart_port *) dev_get_drvdata(&op->dev); struct uart_port *port = (struct uart_port *) platform_get_drvdata(op);
if (port) if (port)
uart_resume_port(&mpc52xx_uart_driver, port); uart_resume_port(&mpc52xx_uart_driver, port);
......
...@@ -204,7 +204,7 @@ static int of_platform_serial_probe(struct platform_device *ofdev) ...@@ -204,7 +204,7 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
info->type = port_type; info->type = port_type;
info->line = ret; info->line = ret;
dev_set_drvdata(&ofdev->dev, info); platform_set_drvdata(ofdev, info);
return 0; return 0;
out: out:
kfree(info); kfree(info);
...@@ -217,7 +217,7 @@ static int of_platform_serial_probe(struct platform_device *ofdev) ...@@ -217,7 +217,7 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
*/ */
static int of_platform_serial_remove(struct platform_device *ofdev) static int of_platform_serial_remove(struct platform_device *ofdev)
{ {
struct of_serial_info *info = dev_get_drvdata(&ofdev->dev); struct of_serial_info *info = platform_get_drvdata(ofdev);
switch (info->type) { switch (info->type) {
#ifdef CONFIG_SERIAL_8250 #ifdef CONFIG_SERIAL_8250
case PORT_8250 ... PORT_MAX_8250: case PORT_8250 ... PORT_MAX_8250:
......
...@@ -696,7 +696,7 @@ static int sc26xx_probe(struct platform_device *dev) ...@@ -696,7 +696,7 @@ static int sc26xx_probe(struct platform_device *dev)
if (err) if (err)
goto out_remove_ports; goto out_remove_ports;
dev_set_drvdata(&dev->dev, up); platform_set_drvdata(dev, up);
return 0; return 0;
out_remove_ports: out_remove_ports:
...@@ -716,7 +716,7 @@ static int sc26xx_probe(struct platform_device *dev) ...@@ -716,7 +716,7 @@ static int sc26xx_probe(struct platform_device *dev)
static int __exit sc26xx_driver_remove(struct platform_device *dev) static int __exit sc26xx_driver_remove(struct platform_device *dev)
{ {
struct uart_sc26xx_port *up = dev_get_drvdata(&dev->dev); struct uart_sc26xx_port *up = platform_get_drvdata(dev);
free_irq(up->port[0].irq, up); free_irq(up->port[0].irq, up);
...@@ -728,7 +728,6 @@ static int __exit sc26xx_driver_remove(struct platform_device *dev) ...@@ -728,7 +728,6 @@ static int __exit sc26xx_driver_remove(struct platform_device *dev)
kfree(up); kfree(up);
sc26xx_port = NULL; sc26xx_port = NULL;
dev_set_drvdata(&dev->dev, NULL);
return 0; return 0;
} }
......
...@@ -577,7 +577,7 @@ static int hv_probe(struct platform_device *op) ...@@ -577,7 +577,7 @@ static int hv_probe(struct platform_device *op)
if (err) if (err)
goto out_remove_port; goto out_remove_port;
dev_set_drvdata(&op->dev, port); platform_set_drvdata(op, port);
return 0; return 0;
...@@ -601,7 +601,7 @@ static int hv_probe(struct platform_device *op) ...@@ -601,7 +601,7 @@ static int hv_probe(struct platform_device *op)
static int hv_remove(struct platform_device *dev) static int hv_remove(struct platform_device *dev)
{ {
struct uart_port *port = dev_get_drvdata(&dev->dev); struct uart_port *port = platform_get_drvdata(dev);
free_irq(port->irq, port); free_irq(port->irq, port);
...@@ -612,8 +612,6 @@ static int hv_remove(struct platform_device *dev) ...@@ -612,8 +612,6 @@ static int hv_remove(struct platform_device *dev)
kfree(port); kfree(port);
sunhv_port = NULL; sunhv_port = NULL;
dev_set_drvdata(&dev->dev, NULL);
return 0; return 0;
} }
......
...@@ -1037,7 +1037,7 @@ static int sab_probe(struct platform_device *op) ...@@ -1037,7 +1037,7 @@ static int sab_probe(struct platform_device *op)
if (err) if (err)
goto out3; goto out3;
dev_set_drvdata(&op->dev, &up[0]); platform_set_drvdata(op, &up[0]);
inst++; inst++;
...@@ -1059,7 +1059,7 @@ static int sab_probe(struct platform_device *op) ...@@ -1059,7 +1059,7 @@ static int sab_probe(struct platform_device *op)
static int sab_remove(struct platform_device *op) static int sab_remove(struct platform_device *op)
{ {
struct uart_sunsab_port *up = dev_get_drvdata(&op->dev); struct uart_sunsab_port *up = platform_get_drvdata(op);
uart_remove_one_port(&sunsab_reg, &up[1].port); uart_remove_one_port(&sunsab_reg, &up[1].port);
uart_remove_one_port(&sunsab_reg, &up[0].port); uart_remove_one_port(&sunsab_reg, &up[0].port);
...@@ -1070,8 +1070,6 @@ static int sab_remove(struct platform_device *op) ...@@ -1070,8 +1070,6 @@ static int sab_remove(struct platform_device *op)
up[0].port.membase, up[0].port.membase,
sizeof(union sab82532_async_regs)); sizeof(union sab82532_async_regs));
dev_set_drvdata(&op->dev, NULL);
return 0; return 0;
} }
......
...@@ -1454,7 +1454,7 @@ static int su_probe(struct platform_device *op) ...@@ -1454,7 +1454,7 @@ static int su_probe(struct platform_device *op)
kfree(up); kfree(up);
return err; return err;
} }
dev_set_drvdata(&op->dev, up); platform_set_drvdata(op, up);
nr_inst++; nr_inst++;
...@@ -1483,7 +1483,7 @@ static int su_probe(struct platform_device *op) ...@@ -1483,7 +1483,7 @@ static int su_probe(struct platform_device *op)
if (err) if (err)
goto out_unmap; goto out_unmap;
dev_set_drvdata(&op->dev, up); platform_set_drvdata(op, up);
nr_inst++; nr_inst++;
...@@ -1496,7 +1496,7 @@ static int su_probe(struct platform_device *op) ...@@ -1496,7 +1496,7 @@ static int su_probe(struct platform_device *op)
static int su_remove(struct platform_device *op) static int su_remove(struct platform_device *op)
{ {
struct uart_sunsu_port *up = dev_get_drvdata(&op->dev); struct uart_sunsu_port *up = platform_get_drvdata(op);
bool kbdms = false; bool kbdms = false;
if (up->su_type == SU_PORT_MS || if (up->su_type == SU_PORT_MS ||
...@@ -1516,8 +1516,6 @@ static int su_remove(struct platform_device *op) ...@@ -1516,8 +1516,6 @@ static int su_remove(struct platform_device *op)
if (kbdms) if (kbdms)
kfree(up); kfree(up);
dev_set_drvdata(&op->dev, NULL);
return 0; return 0;
} }
......
...@@ -1495,7 +1495,7 @@ static int zs_probe(struct platform_device *op) ...@@ -1495,7 +1495,7 @@ static int zs_probe(struct platform_device *op)
kbm_inst++; kbm_inst++;
} }
dev_set_drvdata(&op->dev, &up[0]); platform_set_drvdata(op, &up[0]);
return 0; return 0;
} }
...@@ -1512,7 +1512,7 @@ static void zs_remove_one(struct uart_sunzilog_port *up) ...@@ -1512,7 +1512,7 @@ static void zs_remove_one(struct uart_sunzilog_port *up)
static int zs_remove(struct platform_device *op) static int zs_remove(struct platform_device *op)
{ {
struct uart_sunzilog_port *up = dev_get_drvdata(&op->dev); struct uart_sunzilog_port *up = platform_get_drvdata(op);
struct zilog_layout __iomem *regs; struct zilog_layout __iomem *regs;
zs_remove_one(&up[0]); zs_remove_one(&up[0]);
...@@ -1521,8 +1521,6 @@ static int zs_remove(struct platform_device *op) ...@@ -1521,8 +1521,6 @@ static int zs_remove(struct platform_device *op)
regs = sunzilog_chip_regs[up[0].port.line / 2]; regs = sunzilog_chip_regs[up[0].port.line / 2];
of_iounmap(&op->resource[0], regs, sizeof(struct zilog_layout)); of_iounmap(&op->resource[0], regs, sizeof(struct zilog_layout));
dev_set_drvdata(&op->dev, NULL);
return 0; return 0;
} }
......
...@@ -1451,7 +1451,7 @@ static int ucc_uart_probe(struct platform_device *ofdev) ...@@ -1451,7 +1451,7 @@ static int ucc_uart_probe(struct platform_device *ofdev)
goto out_np; goto out_np;
} }
dev_set_drvdata(&ofdev->dev, qe_port); platform_set_drvdata(ofdev, qe_port);
dev_info(&ofdev->dev, "UCC%u assigned to /dev/ttyQE%u\n", dev_info(&ofdev->dev, "UCC%u assigned to /dev/ttyQE%u\n",
qe_port->ucc_num + 1, qe_port->port.line); qe_port->ucc_num + 1, qe_port->port.line);
...@@ -1471,13 +1471,12 @@ static int ucc_uart_probe(struct platform_device *ofdev) ...@@ -1471,13 +1471,12 @@ static int ucc_uart_probe(struct platform_device *ofdev)
static int ucc_uart_remove(struct platform_device *ofdev) static int ucc_uart_remove(struct platform_device *ofdev)
{ {
struct uart_qe_port *qe_port = dev_get_drvdata(&ofdev->dev); struct uart_qe_port *qe_port = platform_get_drvdata(ofdev);
dev_info(&ofdev->dev, "removing /dev/ttyQE%u\n", qe_port->port.line); dev_info(&ofdev->dev, "removing /dev/ttyQE%u\n", qe_port->port.line);
uart_remove_one_port(&ucc_uart_driver, &qe_port->port); uart_remove_one_port(&ucc_uart_driver, &qe_port->port);
dev_set_drvdata(&ofdev->dev, NULL);
kfree(qe_port); kfree(qe_port);
return 0; return 0;
......
...@@ -974,12 +974,11 @@ static int xuartps_probe(struct platform_device *pdev) ...@@ -974,12 +974,11 @@ static int xuartps_probe(struct platform_device *pdev)
port->dev = &pdev->dev; port->dev = &pdev->dev;
port->uartclk = clk_get_rate(clk); port->uartclk = clk_get_rate(clk);
port->private_data = clk; port->private_data = clk;
dev_set_drvdata(&pdev->dev, port); platform_set_drvdata(pdev, port);
rc = uart_add_one_port(&xuartps_uart_driver, port); rc = uart_add_one_port(&xuartps_uart_driver, port);
if (rc) { if (rc) {
dev_err(&pdev->dev, dev_err(&pdev->dev,
"uart_add_one_port() failed; err=%i\n", rc); "uart_add_one_port() failed; err=%i\n", rc);
dev_set_drvdata(&pdev->dev, NULL);
return rc; return rc;
} }
return 0; return 0;
...@@ -994,13 +993,12 @@ static int xuartps_probe(struct platform_device *pdev) ...@@ -994,13 +993,12 @@ static int xuartps_probe(struct platform_device *pdev)
**/ **/
static int xuartps_remove(struct platform_device *pdev) static int xuartps_remove(struct platform_device *pdev)
{ {
struct uart_port *port = dev_get_drvdata(&pdev->dev); struct uart_port *port = platform_get_drvdata(pdev);
struct clk *clk = port->private_data; struct clk *clk = port->private_data;
int rc; int rc;
/* Remove the xuartps port from the serial core */ /* Remove the xuartps port from the serial core */
rc = uart_remove_one_port(&xuartps_uart_driver, port); rc = uart_remove_one_port(&xuartps_uart_driver, port);
dev_set_drvdata(&pdev->dev, NULL);
port->mapbase = 0; port->mapbase = 0;
clk_disable_unprepare(clk); clk_disable_unprepare(clk);
return rc; return rc;
......
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