[v5,1/3] gpio: loongson2ef: move driver to original location
Commit Message
This gpio driver doesn't cover CPU_LOONGSON64 platforms, because
of gpio address was wrong and I don't plan to support it thus
move this driver to arch/mips/loongson2ef/ so that I can drop the
shackles of the legacy driver and add a new driver that supports
dts/acpi to support LoongArch platforms.
Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
---
MAINTAINERS | 2 +-
arch/loongarch/configs/loongson3_defconfig | 1 -
arch/loongarch/include/asm/loongson.h | 6 ------
arch/mips/configs/lemote2f_defconfig | 1 -
arch/mips/configs/loongson2k_defconfig | 1 -
arch/mips/configs/loongson3_defconfig | 1 -
arch/mips/include/asm/mach-loongson64/loongson.h | 5 -----
arch/mips/loongson2ef/common/Makefile | 1 +
.../gpio-loongson.c => arch/mips/loongson2ef/common/gpio.c | 2 +-
drivers/gpio/Kconfig | 6 ------
drivers/gpio/Makefile | 1 -
11 files changed, 3 insertions(+), 24 deletions(-)
rename drivers/gpio/gpio-loongson.c => arch/mips/loongson2ef/common/gpio.c (98%)
Comments
On Mon, Nov 21, 2022 at 1:38 PM Yinbo Zhu <zhuyinbo@loongson.cn> wrote:
> This gpio driver doesn't cover CPU_LOONGSON64 platforms, because
> of gpio address was wrong and I don't plan to support it thus
> move this driver to arch/mips/loongson2ef/ so that I can drop the
> shackles of the legacy driver and add a new driver that supports
> dts/acpi to support LoongArch platforms.
>
> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Don't do this, we spent a lot of time to collect drivers in
in drivers/gpio this is counter to our ambitions to have the
drivers under drivers/* and only arch code under arch/*.
Create a new file named loongson2-64bit.c or so and just
ignore that this one exist is an option, as is actually
integrating this driver properly.
Yours,
Linus Walleij
@@ -13881,7 +13881,7 @@ M: Jiaxun Yang <jiaxun.yang@flygoat.com>
L: linux-mips@vger.kernel.org
S: Maintained
F: arch/mips/include/asm/mach-loongson2ef/
-F: arch/mips/loongson2ef/
+F: arch/mips/loongson2ef/*
F: drivers/cpufreq/loongson2_cpufreq.c
MIPS/LOONGSON64 ARCHITECTURE
@@ -601,7 +601,6 @@ CONFIG_I2C_PIIX4=y
CONFIG_I2C_GPIO=y
CONFIG_SPI=y
CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_LOONGSON=y
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_W83795=m
@@ -29,12 +29,6 @@
#define LOONGSON_REG_SIZE 0x00100000 /* 1M */
#define LOONGSON_REG_TOP (LOONGSON_REG_BASE+LOONGSON_REG_SIZE-1)
-/* GPIO Regs - r/w */
-
-#define LOONGSON_GPIODATA LOONGSON_REG(0x11c)
-#define LOONGSON_GPIOIE LOONGSON_REG(0x120)
-#define LOONGSON_REG_GPIO_BASE (LOONGSON_REG_BASE + 0x11c)
-
#define MAX_PACKAGES 16
#define xconf_readl(addr) readl(addr)
@@ -127,7 +127,6 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_FOURPORT=y
CONFIG_HW_RANDOM=y
-CONFIG_GPIO_LOONGSON=y
CONFIG_THERMAL=y
CONFIG_MEDIA_SUPPORT=m
CONFIG_FB=y
@@ -230,7 +230,6 @@ CONFIG_SERIAL_NONSTANDARD=y
CONFIG_HW_RANDOM=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_PIIX4=y
-CONFIG_GPIO_LOONGSON=y
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_W83627HF=m
@@ -269,7 +269,6 @@ CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_PIIX4=y
-CONFIG_GPIO_LOONGSON=y
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_W83627HF=m
@@ -177,11 +177,6 @@ extern int mach_i8259_irq(void);
#define LOONGSON_PCIMEMBASECFG LOONGSON_REG(LOONGSON_REGBASE + 0x14)
#define LOONGSON_PCIMAP_CFG LOONGSON_REG(LOONGSON_REGBASE + 0x18)
-/* GPIO Regs - r/w */
-
-#define LOONGSON_GPIODATA LOONGSON_REG(LOONGSON_REGBASE + 0x1c)
-#define LOONGSON_GPIOIE LOONGSON_REG(LOONGSON_REGBASE + 0x20)
-
/* ICU Configuration Regs - r/w */
#define LOONGSON_INTEDGE LOONGSON_REG(LOONGSON_REGBASE + 0x24)
@@ -14,6 +14,7 @@ obj-$(CONFIG_LOONGSON_UART_BASE) += serial.o
obj-$(CONFIG_EARLY_PRINTK) += serial.o
obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o
obj-$(CONFIG_LOONGSON_MC146818) += rtc.o
+obj-$(CONFIG_GPIOLIB) += gpio.o
#
# Enable CS5536 Virtual Support Module(VSM) to virtulize the PCI configure
similarity index 98%
rename from drivers/gpio/gpio-loongson.c
rename to arch/mips/loongson2ef/common/gpio.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
- * Loongson-2F/3A/3B GPIO Support
+ * Loongson-2F GPIO Support
*
* Copyright (c) 2008 Richard Liu, STMicroelectronics <richard.liu@st.com>
* Copyright (c) 2008-2010 Arnaud Patard <apatard@mandriva.com>
@@ -375,12 +375,6 @@ config GPIO_LOGICVC
Say yes here to support GPIO functionality of the Xylon LogiCVC
programmable logic block.
-config GPIO_LOONGSON
- bool "Loongson-2/3 GPIO support"
- depends on CPU_LOONGSON2EF || CPU_LOONGSON64
- help
- Driver for GPIO functionality on Loongson-2F/3A/3B processors.
-
config GPIO_LPC18XX
tristate "NXP LPC18XX/43XX GPIO support"
default y if ARCH_LPC18XX
@@ -77,7 +77,6 @@ obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o
obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o
-obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o
obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o
obj-$(CONFIG_GPIO_LP873X) += gpio-lp873x.o
obj-$(CONFIG_GPIO_LP87565) += gpio-lp87565.o