[package] make mmc-over-gpio pins configurable in menuconfig (#6933)
[openwrt/svn-archive/archive.git] / package / mmc_over_gpio / Makefile
index 9076525b03e99732635fafe7aea32bfb625f63dc..4c6fdb5a9c121fbf0f5d7d75049d906680d2a44f 100644 (file)
@@ -1,29 +1,48 @@
-# 
+#
 # Copyright (C) 2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
-#
-# $Id: Makefile 10138 2008-01-06 19:28:26Z nbd $
-
-#XXX This package will go away once the stuff is merged into the kernel.
 
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mmc-over-gpio
-PKG_RELEASE:=1
+PKG_RELEASE:=4
 
 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
+  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:=$(PKG_BUILD_DIR)/spi_gpio.$(LINUX_KMOD_SUFFIX) \
-         $(PKG_BUILD_DIR)/mmc_over_spigpio.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,90,spi_gpio mmc_over_spigpio)
+  FILES:=$(LINUX_DIR)/drivers/mmc/host/gpiommc.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,93,gpiommc)
+endef
+
+define Package/kmod-mmc-over-gpio/config
+config KMOD_MMC_OVER_GPIO_DI_PIN
+       int "GPIO DI PIN"
+       depends PACKAGE_kmod-mmc-over-gpio
+       default 1
+
+config KMOD_MMC_OVER_GPIO_DO_PIN
+       int "GPIO DO PIN"
+       depends PACKAGE_kmod-mmc-over-gpio
+       default 3
+
+config KMOD_MMC_OVER_GPIO_CLK_PIN
+       int "GPIO CLK PIN"
+       depends PACKAGE_kmod-mmc-over-gpio
+       default 4
+
+config KMOD_MMC_OVER_GPIO_CS_PIN
+       int "GPIO CS PIN"
+       depends PACKAGE_kmod-mmc-over-gpio
+       default 7
 endef
 
 define KernelPackage/mmc-over-gpio/description
@@ -32,16 +51,22 @@ endef
 
 define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
-       $(CP) ./src/* $(PKG_BUILD_DIR)/
 endef
 
 define Build/Compile
-       $(MAKE) -C "$(LINUX_DIR)" \
-               CROSS_COMPILE="$(TARGET_CROSS)" \
-               ARCH="$(LINUX_KARCH)" \
-               SUBDIRS="$(PKG_BUILD_DIR)" \
-               EXTRA_CFLAGS="$(BUILDFLAGS)" \
-               modules
+endef
+
+define KernelPackage/mmc-over-gpio/install
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) ./files/mmc_over_gpio.config $(1)/etc/config/mmc_over_gpio
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/mmc_over_gpio.init $(1)/etc/init.d/mmc_over_gpio
+
+       $(SED) 's,@GPIO_DI_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_DI_PIN),g' \
+               -e 's,@GPIO_DO_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_DO_PIN),g' \
+               -e 's,@GPIO_CLK_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_CLK_PIN),g' \
+               -e 's,@GPIO_CS_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_CS_PIN),g' \
+               $(1)/etc/config/mmc_over_gpio
 endef
 
 $(eval $(call KernelPackage,mmc-over-gpio))