From 335117b87c7f983d19b6e6ed0e579722f45911d7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michael=20B=C3=BCsch?= Date: Tue, 10 Feb 2009 16:55:38 +0000 Subject: [PATCH] Deprecate the old SPI-GPIO driver. SVN-Revision: 14464 --- package/kernel/modules/other.mk | 14 ++--- package/mmc_over_gpio/Makefile | 2 +- package/wrt55agv2-spidevs/Makefile | 2 +- .../wrt55agv2-spidevs/src/wrt55agv2_spidevs.c | 2 +- .../patches-2.6.28/921-gpio_spi_driver.patch | 62 +++++++++---------- .../patches-2.6.28/922-gpiommc.patch | 38 ++++++++---- 6 files changed, 65 insertions(+), 55 deletions(-) diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index fd1093660a..063096fe9b 100644 --- a/package/kernel/modules/other.mk +++ b/package/kernel/modules/other.mk @@ -690,20 +690,20 @@ endef $(eval $(call KernelPackage,spi-bitbang)) -define KernelPackage/spi-gpio +define KernelPackage/spi-gpio-old SUBMENU:=$(OTHER_MENU) - TITLE:=GPIO based bitbanging SPI controller + TITLE:=Old GPIO based bitbanging SPI controller (DEPRECATED) DEPENDS:=@GPIO_SUPPORT +kmod-spi-bitbang - KCONFIG:=CONFIG_SPI_GPIO - FILES:=$(LINUX_DIR)/drivers/spi/spi_gpio.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,92,spi_gpio) + KCONFIG:=CONFIG_SPI_GPIO_OLD + FILES:=$(LINUX_DIR)/drivers/spi/spi_gpio_old.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,92,spi_gpio_old) endef -define KernelPackage/spi-gpio/description +define KernelPackage/spi-gpio-old/description This package contains the GPIO based bitbanging SPI controller driver endef -$(eval $(call KernelPackage,spi-gpio)) +$(eval $(call KernelPackage,spi-gpio-old)) define KernelPackage/spi-dev SUBMENU:=$(OTHER_MENU) diff --git a/package/mmc_over_gpio/Makefile b/package/mmc_over_gpio/Makefile index a3d1787658..cd911c6f55 100644 --- a/package/mmc_over_gpio/Makefile +++ b/package/mmc_over_gpio/Makefile @@ -15,7 +15,7 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/mmc-over-gpio SUBMENU:=Other modules - DEPENDS:=@GPIO_SUPPORT +kmod-mmc-spi +kmod-spi-gpio + DEPENDS:=@GPIO_SUPPORT +kmod-mmc-spi +kmod-spi-gpio-old KCONFIG:=CONFIG_GPIOMMC CONFIG_CONFIGFS_FS=y TITLE:=MMC/SD card over GPIO support FILES:=$(LINUX_DIR)/drivers/mmc/host/gpiommc.$(LINUX_KMOD_SUFFIX) diff --git a/package/wrt55agv2-spidevs/Makefile b/package/wrt55agv2-spidevs/Makefile index fa9b1c07ab..c6c85dab42 100644 --- a/package/wrt55agv2-spidevs/Makefile +++ b/package/wrt55agv2-spidevs/Makefile @@ -16,7 +16,7 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/wrt55agv2-spidevs SUBMENU:=Other modules TITLE:=WRT55AG v2 SPI devices support - DEPENDS:=@LINUX_2_6 @TARGET_atheros +kmod-spi-gpio +kmod-spi-ks8995 + DEPENDS:=@LINUX_2_6 @TARGET_atheros +kmod-spi-gpio-old +kmod-spi-ks8995 FILES:=$(PKG_BUILD_DIR)/wrt55agv2_spidevs.$(LINUX_KMOD_SUFFIX) endef diff --git a/package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c b/package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c index b1aec4f2e1..9d127dd915 100644 --- a/package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c +++ b/package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c @@ -12,7 +12,7 @@ */ #include -#include +#include #define DRV_NAME "wrt55agv2-spidevs" #define DRV_DESC "SPI driver for the WRT55AG v2 board" diff --git a/target/linux/generic-2.6/patches-2.6.28/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.28/921-gpio_spi_driver.patch index 6cab67a27a..eb9155c8d7 100644 --- a/target/linux/generic-2.6/patches-2.6.28/921-gpio_spi_driver.patch +++ b/target/linux/generic-2.6/patches-2.6.28/921-gpio_spi_driver.patch @@ -1,5 +1,15 @@ ---- /dev/null -+++ b/include/linux/spi/spi_gpio.h +THIS CODE IS DEPRECATED. + +Please use the new mainline SPI-GPIO driver, as of 2.6.29. + +--mb + + + +Index: linux-2.6.28.2/include/linux/spi/spi_gpio_old.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.28.2/include/linux/spi/spi_gpio_old.h 2009-02-10 17:14:33.000000000 +0100 @@ -0,0 +1,73 @@ +/* + * spi_gpio interface to platform code @@ -74,8 +84,10 @@ +int spi_gpio_next_id(void); + +#endif /* _LINUX_SPI_SPI_GPIO */ ---- /dev/null -+++ b/drivers/spi/spi_gpio.c +Index: linux-2.6.28.2/drivers/spi/spi_gpio_old.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.28.2/drivers/spi/spi_gpio_old.c 2009-02-10 17:15:01.000000000 +0100 @@ -0,0 +1,251 @@ +/* + * Bitbanging SPI bus driver using GPIO API @@ -103,7 +115,7 @@ +#include +#include +#include -+#include ++#include +#include +#include + @@ -328,49 +340,35 @@ +MODULE_AUTHOR("Michael Buesch"); +MODULE_DESCRIPTION("Platform independent GPIO bitbanging SPI driver"); +MODULE_LICENSE("GPL v2"); ---- a/drivers/spi/Kconfig -+++ b/drivers/spi/Kconfig -@@ -100,6 +100,19 @@ config SPI_BUTTERFLY +Index: linux-2.6.28.2/drivers/spi/Kconfig +=================================================================== +--- linux-2.6.28.2.orig/drivers/spi/Kconfig 2009-02-10 17:13:57.000000000 +0100 ++++ linux-2.6.28.2/drivers/spi/Kconfig 2009-02-10 17:14:33.000000000 +0100 +@@ -100,6 +100,15 @@ config SPI_BUTTERFLY inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. -+config SPI_GPIO -+ tristate "GPIO API based bitbanging SPI controller" ++config SPI_GPIO_OLD ++ tristate "Old GPIO API based bitbanging SPI controller (DEPRECATED)" + depends on SPI_MASTER && GENERIC_GPIO + select SPI_BITBANG + help -+ This is a platform driver that can be used for bitbanging -+ an SPI bus over GPIO pins. -+ Select this if you have any SPI device that is connected via -+ GPIO pins. -+ The module will be called spi_gpio. ++ This code is deprecated. Please use the new mainline SPI-GPIO driver. + + If unsure, say N. + config SPI_IMX tristate "Freescale iMX SPI controller" depends on ARCH_IMX && EXPERIMENTAL ---- a/drivers/spi/Makefile -+++ b/drivers/spi/Makefile +Index: linux-2.6.28.2/drivers/spi/Makefile +=================================================================== +--- linux-2.6.28.2.orig/drivers/spi/Makefile 2009-02-10 17:13:57.000000000 +0100 ++++ linux-2.6.28.2/drivers/spi/Makefile 2009-02-10 17:14:33.000000000 +0100 @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx. obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o obj-$(CONFIG_SPI_AU1550) += au1550_spi.o obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o -+obj-$(CONFIG_SPI_GPIO) += spi_gpio.o ++obj-$(CONFIG_SPI_GPIO_OLD) += spi_gpio_old.o obj-$(CONFIG_SPI_IMX) += spi_imx.o obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -4027,6 +4027,11 @@ M: jbglaw@lug-owl.de - L: linux-kernel@vger.kernel.org - S: Maintained - -+SPI GPIO MASTER DRIVER -+P: Michael Buesch -+M: mb@bu3sch.de -+S: Maintained -+ - STABLE BRANCH - P: Greg Kroah-Hartman - M: greg@kroah.com diff --git a/target/linux/generic-2.6/patches-2.6.28/922-gpiommc.patch b/target/linux/generic-2.6/patches-2.6.28/922-gpiommc.patch index 5367de8722..d14321cfdc 100644 --- a/target/linux/generic-2.6/patches-2.6.28/922-gpiommc.patch +++ b/target/linux/generic-2.6/patches-2.6.28/922-gpiommc.patch @@ -1,5 +1,7 @@ ---- /dev/null -+++ b/drivers/mmc/host/gpiommc.c +Index: linux-2.6.28.2/drivers/mmc/host/gpiommc.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.28.2/drivers/mmc/host/gpiommc.c 2009-02-10 17:16:16.000000000 +0100 @@ -0,0 +1,608 @@ +/* + * Driver an MMC/SD card on a bitbanging GPIO SPI bus. @@ -15,7 +17,7 @@ +#include +#include +#include -+#include ++#include +#include +#include +#include @@ -609,8 +611,10 @@ + platform_driver_unregister(&gpiommc_plat_driver); +} +module_exit(gpiommc_modexit); ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig +Index: linux-2.6.28.2/drivers/mmc/host/Kconfig +=================================================================== +--- linux-2.6.28.2.orig/drivers/mmc/host/Kconfig 2009-02-10 17:16:15.000000000 +0100 ++++ linux-2.6.28.2/drivers/mmc/host/Kconfig 2009-02-10 17:16:16.000000000 +0100 @@ -192,3 +192,28 @@ config MMC_TMIO help This provides support for the SD/MMC cell found in TC6393XB, @@ -640,16 +644,20 @@ + help + This option automatically enables configfs support for gpiommc + if configfs is available. ---- a/drivers/mmc/host/Makefile -+++ b/drivers/mmc/host/Makefile +Index: linux-2.6.28.2/drivers/mmc/host/Makefile +=================================================================== +--- linux-2.6.28.2.orig/drivers/mmc/host/Makefile 2009-02-10 17:16:15.000000000 +0100 ++++ linux-2.6.28.2/drivers/mmc/host/Makefile 2009-02-10 17:16:16.000000000 +0100 @@ -22,4 +22,5 @@ obj-$(CONFIG_MMC_SPI) += mmc_spi.o obj-$(CONFIG_MMC_S3C) += s3cmci.o obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_cs.o obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o +obj-$(CONFIG_GPIOMMC) += gpiommc.o ---- /dev/null -+++ b/include/linux/mmc/gpiommc.h +Index: linux-2.6.28.2/include/linux/mmc/gpiommc.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.28.2/include/linux/mmc/gpiommc.h 2009-02-10 17:16:16.000000000 +0100 @@ -0,0 +1,71 @@ +/* + * Device driver for MMC/SD cards driven over a GPIO bus. @@ -722,8 +730,10 @@ +int gpiommc_next_id(void); + +#endif /* LINUX_GPIOMMC_H_ */ ---- /dev/null -+++ b/Documentation/gpiommc.txt +Index: linux-2.6.28.2/Documentation/gpiommc.txt +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.28.2/Documentation/gpiommc.txt 2009-02-10 17:16:16.000000000 +0100 @@ -0,0 +1,97 @@ +GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus +================================================================ @@ -822,8 +832,10 @@ +(/config/gpiommc/my_mmc in this example). +There's no need to first unregister the device before removing it. That will +be done automatically. ---- a/MAINTAINERS -+++ b/MAINTAINERS +Index: linux-2.6.28.2/MAINTAINERS +=================================================================== +--- linux-2.6.28.2.orig/MAINTAINERS 2009-02-10 17:16:15.000000000 +0100 ++++ linux-2.6.28.2/MAINTAINERS 2009-02-10 17:16:16.000000000 +0100 @@ -1911,6 +1911,11 @@ W: http://moinejf.free.fr L: video4linux-list@redhat.com S: Maintained -- 2.25.1