X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=drivers%2Fserial%2Fserial_pl01x.c;h=2a5f256184f2c195ed0088a211f31ca59540ab8c;hb=29e9363504d6e2aef0bd11a08de59cf635e285bc;hp=941b424a4c6ea961711d82d90041d754f7900a23;hpb=1622559066d890f1b7622be0ede8a5d64de66ef3;p=oweals%2Fu-boot.git diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c index 941b424a4c..2a5f256184 100644 --- a/drivers/serial/serial_pl01x.c +++ b/drivers/serial/serial_pl01x.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2000 * Rob Taylor, Flying Pig Systems. robt@flyingpig.com. @@ -5,8 +6,6 @@ * (C) Copyright 2004 * ARM Ltd. * Philippe Robin, - * - * SPDX-License-Identifier: GPL-2.0+ */ /* Simple U-Boot driver for the PrimeCell PL010/PL011 UARTs */ @@ -20,7 +19,6 @@ #include #include #include "serial_pl01x_internal.h" -#include DECLARE_GLOBAL_DATA_PTR; @@ -274,12 +272,7 @@ __weak struct serial_device *default_serial_console(void) #ifdef CONFIG_DM_SERIAL -struct pl01x_priv { - struct pl01x_regs *regs; - enum pl01x_type type; -}; - -static int pl01x_serial_setbrg(struct udevice *dev, int baudrate) +int pl01x_serial_setbrg(struct udevice *dev, int baudrate) { struct pl01x_serial_platdata *plat = dev_get_platdata(dev); struct pl01x_priv *priv = dev_get_priv(dev); @@ -292,7 +285,7 @@ static int pl01x_serial_setbrg(struct udevice *dev, int baudrate) return 0; } -static int pl01x_serial_probe(struct udevice *dev) +int pl01x_serial_probe(struct udevice *dev) { struct pl01x_serial_platdata *plat = dev_get_platdata(dev); struct pl01x_priv *priv = dev_get_priv(dev); @@ -305,21 +298,21 @@ static int pl01x_serial_probe(struct udevice *dev) return 0; } -static int pl01x_serial_getc(struct udevice *dev) +int pl01x_serial_getc(struct udevice *dev) { struct pl01x_priv *priv = dev_get_priv(dev); return pl01x_getc(priv->regs); } -static int pl01x_serial_putc(struct udevice *dev, const char ch) +int pl01x_serial_putc(struct udevice *dev, const char ch) { struct pl01x_priv *priv = dev_get_priv(dev); return pl01x_putc(priv->regs, ch); } -static int pl01x_serial_pending(struct udevice *dev, bool input) +int pl01x_serial_pending(struct udevice *dev, bool input) { struct pl01x_priv *priv = dev_get_priv(dev); unsigned int fr = readl(&priv->regs->fr); @@ -344,21 +337,20 @@ static const struct udevice_id pl01x_serial_id[] ={ {} }; -static int pl01x_serial_ofdata_to_platdata(struct udevice *dev) +int pl01x_serial_ofdata_to_platdata(struct udevice *dev) { struct pl01x_serial_platdata *plat = dev_get_platdata(dev); fdt_addr_t addr; - addr = dev_get_addr(dev); + addr = devfdt_get_addr(dev); if (addr == FDT_ADDR_T_NONE) return -EINVAL; plat->base = addr; - plat->clock = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "clock", - 1); + plat->clock = dev_read_u32_default(dev, "clock", 1); plat->type = dev_get_driver_data(dev); - plat->skip_init = fdtdec_get_bool(gd->fdt_blob, dev_of_offset(dev), - "skip-init"); + plat->skip_init = dev_read_bool(dev, "skip-init"); + return 0; } #endif