]> git.sur5r.net Git - u-boot/blobdiff - drivers/gpio/rk_gpio.c
spi: mxc_spi: Fix chipselect on DM_SPI driver uclass
[u-boot] / drivers / gpio / rk_gpio.c
index 64abcbaa0ac8c654fe1e7342ae783a861a0d5938..a8f311bbd675af265477e60f47cdab6ae9b640e9 100644 (file)
@@ -1,16 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2015 Google, Inc
  *
  * (C) Copyright 2008-2014 Rockchip Electronics
  * Peter, Software Engineering, <superpeter.cai@gmail.com>.
- *
- * SPDX-License-Identifier:     GPL-2.0+
  */
 
 #include <common.h>
 #include <dm.h>
 #include <syscon.h>
-#include <asm/errno.h>
+#include <linux/errno.h>
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
@@ -86,10 +85,6 @@ static int rockchip_gpio_get_function(struct udevice *dev, unsigned offset)
        ret = pinctrl_get_gpio_mux(priv->pinctrl, priv->bank, offset);
        if (ret)
                return ret;
-
-       /* If it's not 0, then it is not a GPIO */
-       if (ret)
-               return GPIOF_FUNC;
        is_output = readl(&regs->swport_ddr) & OFFSET_TO_BIT(offset);
 
        return is_output ? GPIOF_OUTPUT : GPIOF_INPUT;
@@ -103,8 +98,7 @@ static int rockchip_gpio_probe(struct udevice *dev)
        char *end;
        int ret;
 
-       /* This only supports RK3288 at present */
-       priv->regs = (struct rockchip_gpio_regs *)dev_get_addr(dev);
+       priv->regs = dev_read_addr_ptr(dev);
        ret = uclass_first_device_err(UCLASS_PINCTRL, &priv->pinctrl);
        if (ret)
                return ret;