aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Büsch <mb@bu3sch.de>2009-02-10 16:55:38 +0000
committerMichael Büsch <mb@bu3sch.de>2009-02-10 16:55:38 +0000
commit317bf035162f73b469bd548be571f7bd0b95e816 (patch)
tree9a720feb533791e187439fa9c19c33ebb988a27d
parentf4937f60c99fa61ee13644a93b46317a1e08a1b6 (diff)
downloadmaster-187ad058-317bf035162f73b469bd548be571f7bd0b95e816.tar.gz
master-187ad058-317bf035162f73b469bd548be571f7bd0b95e816.tar.bz2
master-187ad058-317bf035162f73b469bd548be571f7bd0b95e816.zip
Deprecate the old SPI-GPIO driver.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14464 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/kernel/modules/other.mk14
-rw-r--r--package/mmc_over_gpio/Makefile2
-rw-r--r--package/wrt55agv2-spidevs/Makefile2
-rw-r--r--package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c2
-rw-r--r--target/linux/generic-2.6/patches-2.6.28/921-gpio_spi_driver.patch62
-rw-r--r--target/linux/generic-2.6/patches-2.6.28/922-gpiommc.patch38
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 <linux/platform_device.h>
-#include <linux/spi/spi_gpio.h>
+#include <linux/spi/spi_gpio_old.h>
#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 <linux/platform_device.h>
+#include <linux/spi/spi.h>
+#include <linux/spi/spi_bitbang.h>
-+#include <linux/spi/spi_gpio.h>
++#include <linux/spi/spi_gpio_old.h>
+#include <linux/gpio.h>
+#include <asm/atomic.h>
+
@@ -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 <linux/platform_device.h>
+#include <linux/list.h>
+#include <linux/mutex.h>
-+#include <linux/spi/spi_gpio.h>
++#include <linux/spi/spi_gpio_old.h>
+#include <linux/configfs.h>
+#include <linux/gpio.h>
+#include <asm/atomic.h>
@@ -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