[PATCH] gpio: Remove mvgpio driver

Stefan Roese sr at denx.de
Tue Aug 9 13:35:05 CEST 2022


On 04.08.22 01:43, Chris Packham wrote:
> The last user of this driver was removed in commit dee08b1999e2 ("arm:
> Remove gplugd board"). Remove the unused driver.
> 
> Signed-off-by: Chris Packham <judge.packham at gmail.com>

Applied to u-boot-marvell/master

Thanks,
Stefan

> ---
> 
>   drivers/gpio/Makefile |  1 -
>   drivers/gpio/mvgpio.c | 97 -------------------------------------------
>   drivers/gpio/mvgpio.h | 53 -----------------------
>   3 files changed, 151 deletions(-)
>   delete mode 100644 drivers/gpio/mvgpio.c
>   delete mode 100644 drivers/gpio/mvgpio.h
> 
> diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
> index 219f37e0e434..39762fa06ce9 100644
> --- a/drivers/gpio/Makefile
> +++ b/drivers/gpio/Makefile
> @@ -24,7 +24,6 @@ obj-$(CONFIG_INTEL_BROADWELL_GPIO)	+= intel_broadwell_gpio.o
>   obj-$(CONFIG_IPROC_GPIO)	+= iproc_gpio.o
>   obj-$(CONFIG_KIRKWOOD_GPIO)	+= kw_gpio.o
>   obj-$(CONFIG_KONA_GPIO)	+= kona_gpio.o
> -obj-$(CONFIG_MARVELL_GPIO)	+= mvgpio.o
>   obj-$(CONFIG_MCP230XX_GPIO)	+= mcp230xx_gpio.o
>   obj-$(CONFIG_MXC_GPIO)	+= mxc_gpio.o
>   obj-$(CONFIG_MXS_GPIO)	+= mxs_gpio.o
> diff --git a/drivers/gpio/mvgpio.c b/drivers/gpio/mvgpio.c
> deleted file mode 100644
> index 12e7197daf7b..000000000000
> --- a/drivers/gpio/mvgpio.c
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0+
> -/*
> - * (C) Copyright 2011
> - * eInfochips Ltd. <www.einfochips.com>
> - * Written-by: Ajay Bhargav <contact at 8051projects.net>
> - *
> - * (C) Copyright 2010
> - * Marvell Semiconductor <www.marvell.com>
> - */
> -
> -#include <common.h>
> -#include <malloc.h>
> -#include <asm/io.h>
> -#include <linux/errno.h>
> -#include "mvgpio.h"
> -#include <asm/gpio.h>
> -
> -#ifndef MV_MAX_GPIO
> -#define MV_MAX_GPIO	128
> -#endif
> -
> -int gpio_request(unsigned gpio, const char *label)
> -{
> -	if (gpio >= MV_MAX_GPIO) {
> -		printf("%s: Invalid GPIO requested %d\n", __func__, gpio);
> -		return -1;
> -	}
> -	return 0;
> -}
> -
> -int gpio_free(unsigned gpio)
> -{
> -	return 0;
> -}
> -
> -int gpio_direction_input(unsigned gpio)
> -{
> -	struct gpio_reg *gpio_reg_bank;
> -
> -	if (gpio >= MV_MAX_GPIO) {
> -		printf("%s: Invalid GPIO %d\n", __func__, gpio);
> -		return -1;
> -	}
> -
> -	gpio_reg_bank = get_gpio_base(GPIO_TO_REG(gpio));
> -	writel(GPIO_TO_BIT(gpio), &gpio_reg_bank->gcdr);
> -	return 0;
> -}
> -
> -int gpio_direction_output(unsigned gpio, int value)
> -{
> -	struct gpio_reg *gpio_reg_bank;
> -
> -	if (gpio >= MV_MAX_GPIO) {
> -		printf("%s: Invalid GPIO %d\n", __func__, gpio);
> -		return -1;
> -	}
> -
> -	gpio_reg_bank = get_gpio_base(GPIO_TO_REG(gpio));
> -	writel(GPIO_TO_BIT(gpio), &gpio_reg_bank->gsdr);
> -	gpio_set_value(gpio, value);
> -	return 0;
> -}
> -
> -int gpio_get_value(unsigned gpio)
> -{
> -	struct gpio_reg *gpio_reg_bank;
> -	u32 gpio_val;
> -
> -	if (gpio >= MV_MAX_GPIO) {
> -		printf("%s: Invalid GPIO %d\n", __func__, gpio);
> -		return -1;
> -	}
> -
> -	gpio_reg_bank = get_gpio_base(GPIO_TO_REG(gpio));
> -	gpio_val = readl(&gpio_reg_bank->gplr);
> -
> -	return GPIO_VAL(gpio, gpio_val);
> -}
> -
> -int gpio_set_value(unsigned gpio, int value)
> -{
> -	struct gpio_reg *gpio_reg_bank;
> -
> -	if (gpio >= MV_MAX_GPIO) {
> -		printf("%s: Invalid GPIO %d\n", __func__, gpio);
> -		return -1;
> -	}
> -
> -	gpio_reg_bank = get_gpio_base(GPIO_TO_REG(gpio));
> -	if (value)
> -		writel(GPIO_TO_BIT(gpio), &gpio_reg_bank->gpsr);
> -	else
> -		writel(GPIO_TO_BIT(gpio), &gpio_reg_bank->gpcr);
> -
> -	return 0;
> -}
> diff --git a/drivers/gpio/mvgpio.h b/drivers/gpio/mvgpio.h
> deleted file mode 100644
> index d68c48e63737..000000000000
> --- a/drivers/gpio/mvgpio.h
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0+ */
> -/*
> - * (C) Copyright 2011
> - * eInfochips Ltd. <www.einfochips.com>
> - * Written-by: Ajay Bhargav <contact at 8051projects.net>
> - *
> - * (C) Copyright 2010
> - * Marvell Semiconductor <www.marvell.com>
> - */
> -
> -#ifndef __MVGPIO_H__
> -#define __MVGPIO_H__
> -
> -#include <common.h>
> -
> -/*
> - * GPIO Register map for Marvell SOCs
> - */
> -struct gpio_reg {
> -	u32 gplr;	/* Pin Level Register - 0x0000 */
> -	u32 pad0[2];
> -	u32 gpdr;	/* Pin Direction Register - 0x000C */
> -	u32 pad1[2];
> -	u32 gpsr;	/* Pin Output Set Register - 0x0018 */
> -	u32 pad2[2];
> -	u32 gpcr;	/* Pin Output Clear Register - 0x0024 */
> -	u32 pad3[2];
> -	u32 grer;	/* Rising-Edge Detect Enable Register - 0x0030 */
> -	u32 pad4[2];
> -	u32 gfer;	/* Falling-Edge Detect Enable Register - 0x003C */
> -	u32 pad5[2];
> -	u32 gedr;	/* Edge Detect Status Register - 0x0048 */
> -	u32 pad6[2];
> -	u32 gsdr;	/* Bitwise Set of GPIO Direction Register - 0x0054 */
> -	u32 pad7[2];
> -	u32 gcdr;	/* Bitwise Clear of GPIO Direction Register - 0x0060 */
> -	u32 pad8[2];
> -	u32 gsrer;	/* Bitwise Set of Rising-Edge Detect Enable
> -			   Register - 0x006C */
> -	u32 pad9[2];
> -	u32 gcrer;	/* Bitwise Clear of Rising-Edge Detect Enable
> -			   Register - 0x0078 */
> -	u32 pad10[2];
> -	u32 gsfer;	/* Bitwise Set of Falling-Edge Detect Enable
> -			   Register - 0x0084 */
> -	u32 pad11[2];
> -	u32 gcfer;	/* Bitwise Clear of Falling-Edge Detect Enable
> -			   Register - 0x0090 */
> -	u32 pad12[2];
> -	u32 apmask;	/* Bitwise Mask of Edge Detect Register - 0x009C */
> -};
> -
> -#endif /* __MVGPIO_H__ */

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list