[package] move spi_gpio driver into the kernel, clean-up SPI modules
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 15 Apr 2008 07:33:43 +0000 (07:33 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 15 Apr 2008 07:33:43 +0000 (07:33 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10844 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/kernel/modules/other.mk
package/mmc_over_gpio/Makefile
package/mmc_over_gpio/src/Makefile
package/mmc_over_gpio/src/mmc_over_spigpio.c
target/linux/generic-2.6/config-2.6.23
target/linux/generic-2.6/config-2.6.24
target/linux/generic-2.6/files/drivers/spi/spi_gpio.c [moved from package/mmc_over_gpio/src/spi_gpio.c with 100% similarity]
target/linux/generic-2.6/files/include/linux/spi/spi_gpio.h [moved from package/mmc_over_gpio/src/linux/spi/spi_gpio.h with 100% similarity]
target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch [new file with mode: 0644]
target/linux/generic-2.6/patches-2.6.24/921-gpio_spi_driver.patch [new file with mode: 0644]

index b1f3c501a26820a80eb77b0618748f570d4bd601..3872b3cfea6cd116b31aec4529da81607f98151c 100644 (file)
@@ -535,7 +535,7 @@ $(eval $(call KernelPackage,input-gpio-buttons))
 define KernelPackage/mmc-spi
   SUBMENU:=$(OTHER_MENU)
   TITLE:=MMC/SD over SPI Support
-  DEPENDS:=@LINUX_2_6
+  DEPENDS:=@LINUX_2_6 +kmod-mmc +kmod-spi +kmod-crc-itu-t +kmod-crc7
   KCONFIG:=CONFIG_MMC_SPI
   FILES:=$(LINUX_DIR)/drivers/mmc/host/mmc_spi.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,90,mmc_spi)
@@ -564,32 +564,22 @@ $(eval $(call KernelPackage,mmc-atmelmci))
 
 define KernelPackage/spi
   SUBMENU:=$(OTHER_MENU)
-  TITLE:=Serial Peripheral Interface
-  DEPENDS:=@LINUX_2_6 +kmod-crc-itu-t +kmod-crc7
-  KCONFIG:=CONFIG_SPI=y \
-       CONFIG_MTD_DATAFLASH \
-       CONFIG_MTD_M25P80 \
-       CONFIG_SPI_AT25 \
-       CONFIG_SPI_SPIDEV \
-       CONFIG_SPI_TLE62X0
-  FILES:= \
-       $(LINUX_DIR)/drivers/spi/at25.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/spi/spidev.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/spi/tle62x0.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/mtd/devices/m25p80.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/mtd/devices/mtd_dataflash.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,90,spi)
+  TITLE:=Serial Peripheral Interface support
+  DEPENDS:=@LINUX_2_6
+  KCONFIG:=\
+       CONFIG_SPI=y \
+       CONFIG_SPI_MASTER=y
 endef
 
 define KernelPackage/spi/description
- This package contains the Serial Peripheral Interface driver
+ This package contains the Serial Peripheral Interface Master driver
 endef
 
 $(eval $(call KernelPackage,spi))
 
 define KernelPackage/spi-bitbang
   SUBMENU:=$(OTHER_MENU)
-  TITLE:=Serial Peripheral Interface bitbanging
+  TITLE:=Serial Peripheral Interface bitbanging library
   DEPENDS:=@LINUX_2_6 +kmod-spi
   KCONFIG:=CONFIG_SPI_BITBANG
   FILES:=$(LINUX_DIR)/drivers/spi/spi_bitbang.$(LINUX_KMOD_SUFFIX)
@@ -597,7 +587,38 @@ define KernelPackage/spi-bitbang
 endef
 
 define KernelPackage/spi-bitbang/description
- This package contains the Serial Peripheral Interface bitbanging library
+ This package contains the SPI bitbanging library
 endef
 
 $(eval $(call KernelPackage,spi-bitbang))
+
+define KernelPackage/spi-gpio
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=GPIO based bitbanging SPI controller
+  DEPENDS:=@LINUX_2_6 +kmod-spi-bitbang
+  KCONFIG:=CONFIG_SPI_GPIO
+  FILES:=$(LINUX_DIR)/drivers/spi/spi_gpio.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,92,spi_gpio)
+endef
+
+define KernelPackage/spi-gpio/description
+ This package contains the GPIO based bitbanging SPI controller driver
+endef
+
+$(eval $(call KernelPackage,spi-gpio))
+
+define KernelPackage/spi-dev
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=User mode SPI device driver
+  DEPENDS:=@LINUX_2_6 +kmod-spi
+  KCONFIG:=CONFIG_SPI_SPIDEV
+  FILES:=$(LINUX_DIR)/drivers/spi/spidev.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,91,spidev)
+endef
+
+define KernelPackage/spi-dev/description
+ This package contains the user mode SPI device driver
+endef
+
+$(eval $(call KernelPackage,spi-dev))
+
index 46847a50f6aeeda916f97b0da60eadbc920cf98d..42c666cd3c75c07c751d9bae8ab2479250e601ca 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # Copyright (C) 2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -10,18 +10,17 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mmc-over-gpio
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 include $(INCLUDE_DIR)/package.mk
 
 
 define KernelPackage/mmc-over-gpio
   SUBMENU:=Other modules
-  DEPENDS:=@LINUX_2_6 +kmod-spi +kmod-spi-bitbang +kmod-mmc +kmod-mmc-spi @!TARGET_x86
+  DEPENDS:=@LINUX_2_6 +kmod-mmc-spi +kmod-spi-gpio @!TARGET_x86
   TITLE:=MMC/SD card over GPIO support
-  FILES:=$(PKG_BUILD_DIR)/spi_gpio.$(LINUX_KMOD_SUFFIX) \
-         $(PKG_BUILD_DIR)/mmc_over_spigpio.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,92,spi_gpio mmc_over_spigpio)
+  FILES:=$(PKG_BUILD_DIR)/mmc_over_spigpio.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,93,spi_gpio mmc_over_spigpio)
 endef
 
 define KernelPackage/mmc-over-gpio/description
index d2258bb95f737cd7bb58db0357caf2996fd41c57..b052c405adc839f7668c2c948ebbc688b5c8fee7 100644 (file)
@@ -1,2 +1 @@
-obj-m += spi_gpio.o
 obj-m += mmc_over_spigpio.o
index 36dbd0f6a843eab4ededbeaaca0bb48040733908..113b518a56ee4ca3e7f23aa964364d384afad8e1 100644 (file)
@@ -9,7 +9,7 @@
 #include <linux/platform_device.h>
 #include <linux/list.h>
 #include <linux/mutex.h>
-#include "linux/spi/spi_gpio.h" //XXX
+#include <linux/spi/spi_gpio.h>
 
 
 /* This is the maximum speed in Hz */
index 8d7a6cb3eba1ba0774bc219c3cc5dd1f5126c4cc..3e755eb3615184b8e9477223c45f2661b9fb6bca 100644 (file)
@@ -726,6 +726,8 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_MOUSE_PC110PAD is not set
 CONFIG_MSDOS_FS=m
 CONFIG_MSDOS_PARTITION=y
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
 # CONFIG_MTD_NAND is not set
 # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
 CONFIG_MTD_ROOTFS_ROOT_DEV=y
@@ -1386,6 +1388,8 @@ CONFIG_SOUND=m
 # CONFIG_SPARSEMEM_MANUAL is not set
 # CONFIG_SPI is not set
 # CONFIG_SPI_MASTER is not set
+# CONFIG_SPI_AT25 is not set
+# CONFIG_SPI_TLE62X0 is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_SQUASHFS=y
 # CONFIG_SQUASHFS_EMBEDDED is not set
index 688285582e46de8e21af6af5c1453aa5ae9e1a8b..efd5d62a9422e63d0ee89641e55f84c2634c869b 100644 (file)
@@ -746,6 +746,8 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_MOUSE_PC110PAD is not set
 CONFIG_MSDOS_FS=m
 CONFIG_MSDOS_PARTITION=y
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
 # CONFIG_MTD_INTEL_VR_NOR is not set
 # CONFIG_MTD_NAND is not set
 # CONFIG_MTD_OOPS is not set
@@ -1424,6 +1426,8 @@ CONFIG_SOUND=m
 # CONFIG_SPARSEMEM_MANUAL is not set
 # CONFIG_SPI is not set
 # CONFIG_SPI_MASTER is not set
+# CONFIG_SPI_AT25 is not set
+# CONFIG_SPI_TLE62X0 is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_SQUASHFS=y
 # CONFIG_SQUASHFS_EMBEDDED is not set
diff --git a/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch
new file mode 100644 (file)
index 0000000..aa4e6ee
--- /dev/null
@@ -0,0 +1,28 @@
+Index: linux-2.6.23.16/drivers/spi/Kconfig
+===================================================================
+--- linux-2.6.23.16.orig/drivers/spi/Kconfig
++++ linux-2.6.23.16/drivers/spi/Kconfig
+@@ -100,6 +100,11 @@ 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"
++      depends on SPI_MASTER && GENERIC_GPIO && EXPERIMENTAL
++      select SPI_BITBANG
++
+ config SPI_IMX
+       tristate "Freescale iMX SPI controller"
+       depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
+Index: linux-2.6.23.16/drivers/spi/Makefile
+===================================================================
+--- linux-2.6.23.16.orig/drivers/spi/Makefile
++++ linux-2.6.23.16/drivers/spi/Makefile
+@@ -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_IMX)                 += spi_imx.o
+ obj-$(CONFIG_SPI_LM70_LLP)            += spi_lm70llp.o
+ obj-$(CONFIG_SPI_PXA2XX)              += pxa2xx_spi.o
diff --git a/target/linux/generic-2.6/patches-2.6.24/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.24/921-gpio_spi_driver.patch
new file mode 100644 (file)
index 0000000..aa4e6ee
--- /dev/null
@@ -0,0 +1,28 @@
+Index: linux-2.6.23.16/drivers/spi/Kconfig
+===================================================================
+--- linux-2.6.23.16.orig/drivers/spi/Kconfig
++++ linux-2.6.23.16/drivers/spi/Kconfig
+@@ -100,6 +100,11 @@ 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"
++      depends on SPI_MASTER && GENERIC_GPIO && EXPERIMENTAL
++      select SPI_BITBANG
++
+ config SPI_IMX
+       tristate "Freescale iMX SPI controller"
+       depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
+Index: linux-2.6.23.16/drivers/spi/Makefile
+===================================================================
+--- linux-2.6.23.16.orig/drivers/spi/Makefile
++++ linux-2.6.23.16/drivers/spi/Makefile
+@@ -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_IMX)                 += spi_imx.o
+ obj-$(CONFIG_SPI_LM70_LLP)            += spi_lm70llp.o
+ obj-$(CONFIG_SPI_PXA2XX)              += pxa2xx_spi.o