]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
serial: zynq: Use platdata for storing static data instead of priv
authorMichal Simek <michal.simek@xilinx.com>
Thu, 14 Jun 2018 08:32:27 +0000 (10:32 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 19 Jul 2018 08:49:54 +0000 (10:49 +0200)
Explanation from Simon Glass
"Private data is created when the device is probed and freed when the
device is removed.

Platform data is created when the device is bound, and survives
probe/remove cycles.

Strictly speaking, platform data should be used to hold the decoded
device tree properties. Private data should be used for run-time
things the device needs to keep track of."

Based on description the driver needs to be switch to use platdata
instead of priv.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/serial/serial_zynq.c

index a191772ff0403240128475099c27d5609f661e54..f689015b4ae7e96ebaf128802a821bdfc142bb7d 100644 (file)
@@ -39,7 +39,7 @@ struct uart_zynq {
        u32 baud_rate_divider; /* 0x34 - Baud Rate Divider [7:0] */
 };
 
-struct zynq_uart_priv {
+struct zynq_uart_platdata {
        struct uart_zynq *regs;
 };
 
@@ -105,7 +105,7 @@ static int _uart_zynq_serial_putc(struct uart_zynq *regs, const char c)
 
 static int zynq_serial_setbrg(struct udevice *dev, int baudrate)
 {
-       struct zynq_uart_priv *priv = dev_get_priv(dev);
+       struct zynq_uart_platdata *platdata = dev_get_platdata(dev);
        unsigned long clock;
 
        int ret;
@@ -130,28 +130,28 @@ static int zynq_serial_setbrg(struct udevice *dev, int baudrate)
                return ret;
        }
 
-       _uart_zynq_serial_setbrg(priv->regs, clock, baudrate);
+       _uart_zynq_serial_setbrg(platdata->regs, clock, baudrate);
 
        return 0;
 }
 
 static int zynq_serial_probe(struct udevice *dev)
 {
-       struct zynq_uart_priv *priv = dev_get_priv(dev);
+       struct zynq_uart_platdata *platdata = dev_get_platdata(dev);
 
        /* No need to reinitialize the UART after relocation */
        if (gd->flags & GD_FLG_RELOC)
                return 0;
 
-       _uart_zynq_serial_init(priv->regs);
+       _uart_zynq_serial_init(platdata->regs);
 
        return 0;
 }
 
 static int zynq_serial_getc(struct udevice *dev)
 {
-       struct zynq_uart_priv *priv = dev_get_priv(dev);
-       struct uart_zynq *regs = priv->regs;
+       struct zynq_uart_platdata *platdata = dev_get_platdata(dev);
+       struct uart_zynq *regs = platdata->regs;
 
        if (readl(&regs->channel_sts) & ZYNQ_UART_SR_RXEMPTY)
                return -EAGAIN;
@@ -161,15 +161,15 @@ static int zynq_serial_getc(struct udevice *dev)
 
 static int zynq_serial_putc(struct udevice *dev, const char ch)
 {
-       struct zynq_uart_priv *priv = dev_get_priv(dev);
+       struct zynq_uart_platdata *platdata = dev_get_platdata(dev);
 
-       return _uart_zynq_serial_putc(priv->regs, ch);
+       return _uart_zynq_serial_putc(platdata->regs, ch);
 }
 
 static int zynq_serial_pending(struct udevice *dev, bool input)
 {
-       struct zynq_uart_priv *priv = dev_get_priv(dev);
-       struct uart_zynq *regs = priv->regs;
+       struct zynq_uart_platdata *platdata = dev_get_platdata(dev);
+       struct uart_zynq *regs = platdata->regs;
 
        if (input)
                return !(readl(&regs->channel_sts) & ZYNQ_UART_SR_RXEMPTY);
@@ -179,11 +179,11 @@ static int zynq_serial_pending(struct udevice *dev, bool input)
 
 static int zynq_serial_ofdata_to_platdata(struct udevice *dev)
 {
-       struct zynq_uart_priv *priv = dev_get_priv(dev);
+       struct zynq_uart_platdata *platdata = dev_get_platdata(dev);
 
-       priv->regs = (struct uart_zynq *)dev_read_addr(dev);
-       if (IS_ERR(priv->regs))
-               return PTR_ERR(priv->regs);
+       platdata->regs = (struct uart_zynq *)dev_read_addr(dev);
+       if (IS_ERR(platdata->regs))
+               return PTR_ERR(platdata->regs);
 
        return 0;
 }
@@ -207,7 +207,7 @@ U_BOOT_DRIVER(serial_zynq) = {
        .id     = UCLASS_SERIAL,
        .of_match = zynq_serial_ids,
        .ofdata_to_platdata = zynq_serial_ofdata_to_platdata,
-       .priv_auto_alloc_size = sizeof(struct zynq_uart_priv),
+       .platdata_auto_alloc_size = sizeof(struct zynq_uart_platdata),
        .probe = zynq_serial_probe,
        .ops    = &zynq_serial_ops,
        .flags = DM_FLAG_PRE_RELOC,