move spi_gpio driver into the kernel, clean-up SPI modules

SVN-Revision: 10844
This commit is contained in:
Gabor Juhos 2008-04-15 07:33:43 +00:00
parent d80f43d15f
commit 67fd9d7fba
10 changed files with 110 additions and 27 deletions

View 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))

View 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

View file

@ -1,2 +1 @@
obj-m += spi_gpio.o
obj-m += mmc_over_spigpio.o

View 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 */

View 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

View 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

View file

@ -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

View file

@ -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