X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fserial%2Fserial_uniphier.c;h=68895bde8eb30eeeea6bf32b9f16ba09931928e5;hb=26f9184e094541b672f83f23652e2e737d5d0729;hp=edb9203858814bd41f8d2460c3c702e59137b5d6;hpb=7c0e5d865ff0b86dfce492b656238919c659d756;p=u-boot diff --git a/drivers/serial/serial_uniphier.c b/drivers/serial/serial_uniphier.c index edb9203858..68895bde8e 100644 --- a/drivers/serial/serial_uniphier.c +++ b/drivers/serial/serial_uniphier.c @@ -1,14 +1,17 @@ /* - * Copyright (C) 2012-2015 Masahiro Yamada + * Copyright (C) 2012-2015 Panasonic Corporation + * Copyright (C) 2015-2016 Socionext Inc. + * Author: Masahiro Yamada * * SPDX-License-Identifier: GPL-2.0+ */ +#include +#include #include #include -#include -#include -#include +#include +#include #include #include @@ -91,18 +94,19 @@ static int uniphier_serial_probe(struct udevice *dev) struct uniphier_serial_private_data *priv = dev_get_priv(dev); struct uniphier_serial __iomem *port; fdt_addr_t base; - fdt_size_t size; u32 tmp; - base = fdtdec_get_addr_size(gd->fdt_blob, dev->of_offset, "reg", &size); + base = devfdt_get_addr(dev); + if (base == FDT_ADDR_T_NONE) + return -EINVAL; - port = map_sysmem(base, size); + port = devm_ioremap(dev, base, SZ_64); if (!port) return -ENOMEM; priv->membase = port; - priv->uartclk = fdtdec_get_int(gd->fdt_blob, dev->of_offset, + priv->uartclk = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "clock-frequency", 0); tmp = readl(&port->lcr_mcr); @@ -113,13 +117,6 @@ static int uniphier_serial_probe(struct udevice *dev) return 0; } -static int uniphier_serial_remove(struct udevice *dev) -{ - unmap_sysmem(uniphier_serial_port(dev)); - - return 0; -} - static const struct udevice_id uniphier_uart_of_match[] = { { .compatible = "socionext,uniphier-uart" }, { /* sentinel */ } @@ -137,7 +134,6 @@ U_BOOT_DRIVER(uniphier_serial) = { .id = UCLASS_SERIAL, .of_match = uniphier_uart_of_match, .probe = uniphier_serial_probe, - .remove = uniphier_serial_remove, .priv_auto_alloc_size = sizeof(struct uniphier_serial_private_data), .ops = &uniphier_serial_ops, };