aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/spi-gpio-custom/Makefile
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-09-02 08:45:29 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-09-02 08:45:29 +0000
commit94082a91294517efbdd685a0437c1c27741fe3af (patch)
treebe2da2c0cadbf4f1e7f5696b4b2a715bc6521ab3 /package/kernel/spi-gpio-custom/Makefile
parentd55205b171b6cc2746a89be87f45d56ae2588eee (diff)
downloadmaster-187ad058-94082a91294517efbdd685a0437c1c27741fe3af.tar.gz
master-187ad058-94082a91294517efbdd685a0437c1c27741fe3af.tar.bz2
master-187ad058-94082a91294517efbdd685a0437c1c27741fe3af.zip
package/kernel: add spi-gpio-custom module
The package makes it possible to create custom SPI buses via GPIO lines. This module is based on i2c-gpio-custom and allows to configure an SPI bus via GPIO lines and expose it to userspace without rebuilding the kernel. This is maily intended to connect microcontrollers and other simple SPI devices without making an ad-hoc kernel driver. Signed-off-by: Marco Burato <zmaster.adsl@gmail.com> [juhosg: - change subject, - extend and reformat commit message, - cleanup checkpatch errors/warnings in module source] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37872 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/spi-gpio-custom/Makefile')
-rw-r--r--package/kernel/spi-gpio-custom/Makefile53
1 files changed, 53 insertions, 0 deletions
diff --git a/package/kernel/spi-gpio-custom/Makefile b/package/kernel/spi-gpio-custom/Makefile
new file mode 100644
index 0000000000..3282f0638c
--- /dev/null
+++ b/package/kernel/spi-gpio-custom/Makefile
@@ -0,0 +1,53 @@
+#
+# Copyright (C) 2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=spi-gpio-custom
+PKG_RELEASE:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/spi-gpio-custom
+ SUBMENU:=SPI Support
+ TITLE:=Custom GPIO-based SPI device
+ DEPENDS:=@GPIO_SUPPORT +kmod-spi-bitbang +kmod-spi-gpio +kmod-spi-dev
+ FILES:=$(PKG_BUILD_DIR)/spi-gpio-custom.ko
+ KCONFIG:=
+endef
+
+define KernelPackage/spi-gpio-custom/description
+ Kernel module for register a custom spi-gpio platform device.
+endef
+
+EXTRA_KCONFIG:= \
+ CONFIG_SPI_GPIO_CUSTOM=m
+
+EXTRA_CFLAGS:= \
+ $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
+ $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
+
+MAKE_OPTS:= \
+ ARCH="$(LINUX_KARCH)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ SUBDIRS="$(PKG_BUILD_DIR)" \
+ EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
+ $(EXTRA_KCONFIG)
+
+define Build/Prepare
+ mkdir -p $(PKG_BUILD_DIR)
+ $(CP) ./src/* $(PKG_BUILD_DIR)/
+endef
+
+define Build/Compile
+ $(MAKE) -C "$(LINUX_DIR)" \
+ $(MAKE_OPTS) \
+ modules
+endef
+
+$(eval $(call KernelPackage,spi-gpio-custom))