diff --git a/arch/arm/mach-uniphier/arm64/arm-cci500.c b/arch/arm/mach-uniphier/arm64/arm-cci500.c
index 607f96a..f86d72a 100644
--- a/arch/arm/mach-uniphier/arm64/arm-cci500.c
+++ b/arch/arm/mach-uniphier/arm64/arm-cci500.c
@@ -6,8 +6,6 @@
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
-#include <common.h>
-#include <mapmem.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
@@ -28,13 +26,13 @@ void cci500_init(unsigned int nr_slaves)
 		void __iomem *base;
 		u32 tmp;
 
-		base = map_sysmem(slave_base, SZ_4K);
+		base = ioremap(slave_base, SZ_4K);
 
 		tmp = readl(base);
 		tmp |= CCI500_SNOOP_CTRL_EN_DVM | CCI500_SNOOP_CTRL_EN_SNOOP;
 		writel(tmp, base);
 
-		unmap_sysmem(base);
+		iounmap(base);
 
 		slave_base += CCI500_SLAVE_OFFSET;
 	}
diff --git a/arch/arm/mach-uniphier/arm64/smp_kick_cpus.c b/arch/arm/mach-uniphier/arm64/smp_kick_cpus.c
index 5971ad2..3ed208b 100644
--- a/arch/arm/mach-uniphier/arm64/smp_kick_cpus.c
+++ b/arch/arm/mach-uniphier/arm64/smp_kick_cpus.c
@@ -4,8 +4,6 @@
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
-#include <common.h>
-#include <mapmem.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
 
@@ -18,11 +16,11 @@ void uniphier_smp_kick_all_cpus(void)
 {
 	void __iomem *rom_boot_rsv0;
 
-	rom_boot_rsv0 = map_sysmem(UNIPHIER_SMPCTRL_ROM_RSV0, SZ_8);
+	rom_boot_rsv0 = ioremap(UNIPHIER_SMPCTRL_ROM_RSV0, SZ_8);
 
 	writeq((u64)uniphier_secondary_startup, rom_boot_rsv0);
 
-	unmap_sysmem(rom_boot_rsv0);
+	iounmap(rom_boot_rsv0);
 
 	uniphier_smp_setup();
 
diff --git a/arch/arm/mach-uniphier/arm64/timer.c b/arch/arm/mach-uniphier/arm64/timer.c
index 4beab9d..b81e465 100644
--- a/arch/arm/mach-uniphier/arm64/timer.c
+++ b/arch/arm/mach-uniphier/arm64/timer.c
@@ -4,8 +4,6 @@
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
-#include <common.h>
-#include <mapmem.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
@@ -21,7 +19,7 @@ int timer_init(void)
 	void __iomem *base;
 	u32 tmp;
 
-	base = map_sysmem(CNT_CONTROL_BASE, SZ_4K);
+	base = ioremap(CNT_CONTROL_BASE, SZ_4K);
 
 	/*
 	 * Note:
@@ -32,7 +30,7 @@ int timer_init(void)
 	tmp |= CNTCR_EN;
 	writel(tmp, base + CNTCR);
 
-	unmap_sysmem(base);
+	iounmap(base);
 
 	return 0;
 }
diff --git a/arch/arm/mach-uniphier/dram/cmd_ddrphy.c b/arch/arm/mach-uniphier/dram/cmd_ddrphy.c
index 7a9f76c..32108c0 100644
--- a/arch/arm/mach-uniphier/dram/cmd_ddrphy.c
+++ b/arch/arm/mach-uniphier/dram/cmd_ddrphy.c
@@ -5,7 +5,6 @@
  */
 
 #include <common.h>
-#include <mapmem.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
 
@@ -51,7 +50,7 @@ static void dump_loop(unsigned long *base,
 	int p, dx;
 
 	for (p = 0; *base; base++, p++) {
-		phy = map_sysmem(*base, SZ_4K);
+		phy = ioremap(*base, SZ_4K);
 
 		for (dx = 0; dx < NR_DATX8_PER_DDRPHY; dx++) {
 			printf("PHY%dDX%d:", p, dx);
@@ -59,7 +58,7 @@ static void dump_loop(unsigned long *base,
 			printf("\n");
 		}
 
-		unmap_sysmem(phy);
+		iounmap(phy);
 	}
 }
 
@@ -172,7 +171,7 @@ static void reg_dump(unsigned long *base)
 	printf("\n--- DDR PHY registers ---\n");
 
 	for (p = 0; *base; base++, p++) {
-		phy = map_sysmem(*base, SZ_4K);
+		phy = ioremap(*base, SZ_4K);
 
 		printf("== PHY%d (base: %p) ==\n", p, phy);
 		printf(" No: Name      : Address  : Data\n");
@@ -206,7 +205,7 @@ static void reg_dump(unsigned long *base)
 		REG_DUMP(dx[1].gcr);
 		REG_DUMP(dx[1].gtr);
 
-		unmap_sysmem(phy);
+		iounmap(phy);
 	}
 }
 
diff --git a/drivers/clk/uniphier/clk-uniphier-core.c b/drivers/clk/uniphier/clk-uniphier-core.c
index 2f5d4d8..ede76fd 100644
--- a/drivers/clk/uniphier/clk-uniphier-core.c
+++ b/drivers/clk/uniphier/clk-uniphier-core.c
@@ -5,7 +5,6 @@
  */
 
 #include <common.h>
-#include <mapmem.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
@@ -137,7 +136,7 @@ int uniphier_clk_probe(struct udevice *dev)
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	priv->base = map_sysmem(addr, SZ_4K);
+	priv->base = devm_ioremap(dev, addr, SZ_4K);
 	if (!priv->base)
 		return -ENOMEM;
 
@@ -145,12 +144,3 @@ int uniphier_clk_probe(struct udevice *dev)
 
 	return 0;
 }
-
-int uniphier_clk_remove(struct udevice *dev)
-{
-	struct uniphier_clk_priv *priv = dev_get_priv(dev);
-
-	unmap_sysmem(priv->base);
-
-	return 0;
-}
diff --git a/drivers/clk/uniphier/clk-uniphier-mio.c b/drivers/clk/uniphier/clk-uniphier-mio.c
index 2dd3fc0..1d845f9 100644
--- a/drivers/clk/uniphier/clk-uniphier-mio.c
+++ b/drivers/clk/uniphier/clk-uniphier-mio.c
@@ -179,7 +179,6 @@ U_BOOT_DRIVER(uniphier_mio_clk) = {
 	.id = UCLASS_CLK,
 	.of_match = uniphier_mio_clk_match,
 	.probe = uniphier_clk_probe,
-	.remove = uniphier_clk_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_clk_priv),
 	.ops = &uniphier_clk_ops,
 };
diff --git a/drivers/clk/uniphier/clk-uniphier.h b/drivers/clk/uniphier/clk-uniphier.h
index 560b3f8..77fa9b4 100644
--- a/drivers/clk/uniphier/clk-uniphier.h
+++ b/drivers/clk/uniphier/clk-uniphier.h
@@ -52,6 +52,5 @@ struct uniphier_clk_priv {
 
 extern const struct clk_ops uniphier_clk_ops;
 int uniphier_clk_probe(struct udevice *dev);
-int uniphier_clk_remove(struct udevice *dev);
 
 #endif /* __CLK_UNIPHIER_H__ */
diff --git a/drivers/gpio/gpio-uniphier.c b/drivers/gpio/gpio-uniphier.c
index bde51ea..9226a61 100644
--- a/drivers/gpio/gpio-uniphier.c
+++ b/drivers/gpio/gpio-uniphier.c
@@ -6,7 +6,6 @@
 
 #include <common.h>
 #include <dm/device.h>
-#include <mapmem.h>
 #include <linux/bitops.h>
 #include <linux/io.h>
 #include <linux/sizes.h>
@@ -99,7 +98,7 @@ static int uniphier_gpio_probe(struct udevice *dev)
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	priv->base = map_sysmem(addr, SZ_8);
+	priv->base = devm_ioremap(dev, addr, SZ_8);
 	if (!priv->base)
 		return -ENOMEM;
 
@@ -119,15 +118,6 @@ static int uniphier_gpio_probe(struct udevice *dev)
 	return 0;
 }
 
-static int uniphier_gpio_remove(struct udevice *dev)
-{
-	struct uniphier_gpio_priv *priv = dev_get_priv(dev);
-
-	unmap_sysmem(priv->base);
-
-	return 0;
-}
-
 /* .data = the number of GPIO banks */
 static const struct udevice_id uniphier_gpio_match[] = {
 	{ .compatible = "socionext,uniphier-gpio" },
@@ -139,7 +129,6 @@ U_BOOT_DRIVER(uniphier_gpio) = {
 	.id	= UCLASS_GPIO,
 	.of_match = uniphier_gpio_match,
 	.probe	= uniphier_gpio_probe,
-	.remove	= uniphier_gpio_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_gpio_priv),
 	.ops	= &uniphier_gpio_ops,
 };
diff --git a/drivers/i2c/i2c-uniphier-f.c b/drivers/i2c/i2c-uniphier-f.c
index aebdcfc..0f9cf03 100644
--- a/drivers/i2c/i2c-uniphier-f.c
+++ b/drivers/i2c/i2c-uniphier-f.c
@@ -13,7 +13,6 @@
 #include <dm/root.h>
 #include <i2c.h>
 #include <fdtdec.h>
-#include <mapmem.h>
 
 struct uniphier_fi2c_regs {
 	u32 cr;				/* control register */
@@ -118,7 +117,7 @@ static int uniphier_fi2c_probe(struct udevice *dev)
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	priv->regs = map_sysmem(addr, SZ_128);
+	priv->regs = devm_ioremap(dev, addr, SZ_128);
 	if (!priv->regs)
 		return -ENOMEM;
 
@@ -134,15 +133,6 @@ static int uniphier_fi2c_probe(struct udevice *dev)
 	return 0;
 }
 
-static int uniphier_fi2c_remove(struct udevice *dev)
-{
-	struct uniphier_fi2c_dev *priv = dev_get_priv(dev);
-
-	unmap_sysmem(priv->regs);
-
-	return 0;
-}
-
 static int wait_for_irq(struct uniphier_fi2c_dev *dev, u32 flags,
 			bool *stop)
 {
@@ -359,7 +349,6 @@ U_BOOT_DRIVER(uniphier_fi2c) = {
 	.id = UCLASS_I2C,
 	.of_match = uniphier_fi2c_of_match,
 	.probe = uniphier_fi2c_probe,
-	.remove = uniphier_fi2c_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_fi2c_dev),
 	.ops = &uniphier_fi2c_ops,
 };
diff --git a/drivers/i2c/i2c-uniphier.c b/drivers/i2c/i2c-uniphier.c
index f8221da..36ca946 100644
--- a/drivers/i2c/i2c-uniphier.c
+++ b/drivers/i2c/i2c-uniphier.c
@@ -13,7 +13,6 @@
 #include <dm/root.h>
 #include <i2c.h>
 #include <fdtdec.h>
-#include <mapmem.h>
 
 struct uniphier_i2c_regs {
 	u32 dtrm;			/* data transmission */
@@ -53,7 +52,7 @@ static int uniphier_i2c_probe(struct udevice *dev)
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	priv->regs = map_sysmem(addr, SZ_64);
+	priv->regs = devm_ioremap(dev, addr, SZ_64);
 	if (!priv->regs)
 		return -ENOMEM;
 
@@ -65,15 +64,6 @@ static int uniphier_i2c_probe(struct udevice *dev)
 	return 0;
 }
 
-static int uniphier_i2c_remove(struct udevice *dev)
-{
-	struct uniphier_i2c_dev *priv = dev_get_priv(dev);
-
-	unmap_sysmem(priv->regs);
-
-	return 0;
-}
-
 static int send_and_recv_byte(struct uniphier_i2c_dev *dev, u32 dtrm)
 {
 	writel(dtrm, &dev->regs->dtrm);
@@ -220,7 +210,6 @@ U_BOOT_DRIVER(uniphier_i2c) = {
 	.id = UCLASS_I2C,
 	.of_match = uniphier_i2c_of_match,
 	.probe = uniphier_i2c_probe,
-	.remove = uniphier_i2c_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_i2c_dev),
 	.ops = &uniphier_i2c_ops,
 };
diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c
index 152e987..f1053ea 100644
--- a/drivers/mmc/uniphier-sd.c
+++ b/drivers/mmc/uniphier-sd.c
@@ -7,7 +7,6 @@
 #include <common.h>
 #include <clk.h>
 #include <fdtdec.h>
-#include <mapmem.h>
 #include <mmc.h>
 #include <dm/device.h>
 #include <linux/compat.h>
@@ -660,7 +659,7 @@ int uniphier_sd_probe(struct udevice *dev)
 	if (base == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	priv->regbase = map_sysmem(base, SZ_2K);
+	priv->regbase = devm_ioremap(dev, base, SZ_2K);
 	if (!priv->regbase)
 		return -ENOMEM;
 
@@ -735,7 +734,6 @@ int uniphier_sd_remove(struct udevice *dev)
 {
 	struct uniphier_sd_priv *priv = dev_get_priv(dev);
 
-	unmap_sysmem(priv->regbase);
 	mmc_destroy(priv->mmc);
 
 	return 0;
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
index 225a05c..895f840 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
@@ -4,8 +4,6 @@
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
-#include <common.h>
-#include <mapmem.h>
 #include <linux/io.h>
 #include <linux/err.h>
 #include <linux/sizes.h>
@@ -188,7 +186,7 @@ int uniphier_pinctrl_probe(struct udevice *dev,
 	if (addr == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	priv->base = map_sysmem(addr, SZ_4K);
+	priv->base = devm_ioremap(dev, addr, SZ_4K);
 	if (!priv->base)
 		return -ENOMEM;
 
@@ -196,12 +194,3 @@ int uniphier_pinctrl_probe(struct udevice *dev,
 
 	return 0;
 }
-
-int uniphier_pinctrl_remove(struct udevice *dev)
-{
-	struct uniphier_pinctrl_priv *priv = dev_get_priv(dev);
-
-	unmap_sysmem(priv->base);
-
-	return 0;
-}
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c
index e95870f..e42602b 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c
@@ -101,7 +101,6 @@ U_BOOT_DRIVER(uniphier_ld11_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_ld11_pinctrl_match),
 	.probe = uniphier_ld11_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
index e903196..d6ae512 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c
@@ -115,7 +115,6 @@ U_BOOT_DRIVER(uniphier_ld20_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_ld20_pinctrl_match),
 	.probe = uniphier_ld20_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
index dbb9499..626c61f 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld4.c
@@ -135,7 +135,6 @@ U_BOOT_DRIVER(uniphier_ld4_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_ld4_pinctrl_match),
 	.probe = uniphier_ld4_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
index 8b40801..82dea3f 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld6b.c
@@ -135,7 +135,6 @@ U_BOOT_DRIVER(uniphier_ld6b_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_ld6b_pinctrl_match),
 	.probe = uniphier_ld6b_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
index dace726..512dee5 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro4.c
@@ -143,7 +143,6 @@ U_BOOT_DRIVER(uniphier_pro4_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_pro4_pinctrl_match),
 	.probe = uniphier_pro4_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 	.flags = DM_FLAG_PRE_RELOC,
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
index 50b41cc..608230f 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pro5.c
@@ -134,7 +134,6 @@ U_BOOT_DRIVER(uniphier_pro5_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_pro5_pinctrl_match),
 	.probe = uniphier_pro5_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 	.flags = DM_FLAG_PRE_RELOC,
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
index 9223eeb..b64176a 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-pxs2.c
@@ -147,7 +147,6 @@ U_BOOT_DRIVER(uniphier_pxs2_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_pxs2_pinctrl_match),
 	.probe = uniphier_pxs2_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
index cee0eb1..9274e28 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-sld8.c
@@ -143,7 +143,6 @@ U_BOOT_DRIVER(uniphier_sld8_pinctrl) = {
 	.id = UCLASS_PINCTRL,
 	.of_match = of_match_ptr(uniphier_sld8_pinctrl_match),
 	.probe = uniphier_sld8_pinctrl_probe,
-	.remove = uniphier_pinctrl_remove,
 	.priv_auto_alloc_size = sizeof(struct uniphier_pinctrl_priv),
 	.ops = &uniphier_pinctrl_ops,
 };
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier.h b/drivers/pinctrl/uniphier/pinctrl-uniphier.h
index 4bb8932..d4057c7 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier.h
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier.h
@@ -119,6 +119,4 @@ extern const struct pinctrl_ops uniphier_pinctrl_ops;
 int uniphier_pinctrl_probe(struct udevice *dev,
 			   struct uniphier_pinctrl_socdata *socdata);
 
-int uniphier_pinctrl_remove(struct udevice *dev);
-
 #endif /* __PINCTRL_UNIPHIER_H__ */
diff --git a/drivers/serial/serial_uniphier.c b/drivers/serial/serial_uniphier.c
index 525f0a4..35c6f12 100644
--- a/drivers/serial/serial_uniphier.c
+++ b/drivers/serial/serial_uniphier.c
@@ -9,7 +9,6 @@
 #include <linux/sizes.h>
 #include <asm/errno.h>
 #include <dm/device.h>
-#include <mapmem.h>
 #include <serial.h>
 #include <fdtdec.h>
 
@@ -98,7 +97,7 @@ static int uniphier_serial_probe(struct udevice *dev)
 	if (base == FDT_ADDR_T_NONE)
 		return -EINVAL;
 
-	port = map_sysmem(base, SZ_64);
+	port = devm_ioremap(dev, base, SZ_64);
 	if (!port)
 		return -ENOMEM;
 
@@ -115,13 +114,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 */ }
@@ -139,7 +131,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,
 };
