aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2018-06-14 10:32:27 +0200
committerMichal Simek <michal.simek@xilinx.com>2018-07-19 10:49:54 +0200
commit6bdf0a992c962e15ab637a096d7f7d5601e0b4c5 (patch)
treee095ff2f2d23a2092f7672a4da8169281a71ef8c /drivers
parent4fb67f47f123bb301e1ffbbb345d8f6fe46ec3cd (diff)
downloadu-boot-6bdf0a992c962e15ab637a096d7f7d5601e0b4c5.zip
u-boot-6bdf0a992c962e15ab637a096d7f7d5601e0b4c5.tar.gz
u-boot-6bdf0a992c962e15ab637a096d7f7d5601e0b4c5.tar.bz2
serial: zynq: Use platdata for storing static data instead of priv
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/serial/serial_zynq.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/drivers/serial/serial_zynq.c b/drivers/serial/serial_zynq.c
index a191772..f689015 100644
--- a/drivers/serial/serial_zynq.c
+++ b/drivers/serial/serial_zynq.c
@@ -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,