summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/i2c-gpio-custom/Makefile55
-rw-r--r--package/i2c-gpio-custom/src/Kconfig10
-rw-r--r--package/i2c-gpio-custom/src/Makefile1
-rw-r--r--package/i2c-gpio-custom/src/i2c-gpio-custom.c (renamed from target/linux/adm5120/files/drivers/i2c/busses/i2c-gpio-custom.c)0
-rw-r--r--package/kernel/modules/i2c.mk18
-rw-r--r--target/linux/adm5120/patches/300-i2c_gpio_custom.patch34
6 files changed, 67 insertions, 51 deletions
diff --git a/package/i2c-gpio-custom/Makefile b/package/i2c-gpio-custom/Makefile
new file mode 100644
index 000000000..fd448cec4
--- /dev/null
+++ b/package/i2c-gpio-custom/Makefile
@@ -0,0 +1,55 @@
+#
+# 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:=i2c-gpio-custom
+PKG_RELEASE:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/i2c-gpio-custom
+ SUBMENU:=I2C support
+ TITLE:=Custom GPIO-based I2C device
+ DEPENDS:=@GPIO_SUPPORT kmod-i2c-core +kmod-i2c-gpio
+ FILES:=$(PKG_BUILD_DIR)/i2c-gpio-custom.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,58,i2c-gpio-custom)
+ KCONFIG:=
+endef
+
+define KernelPackage/i2c-gpio-custom/description
+ Kernel module for register a custom i2c-gpio platform device.
+endef
+
+EXTRA_KCONFIG:= \
+ CONFIG_I2C_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)" \
+ LINUXINCLUDE="-I$(LINUX_DIR)/include -include linux/autoconf.h" \
+ $(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,i2c-gpio-custom))
diff --git a/package/i2c-gpio-custom/src/Kconfig b/package/i2c-gpio-custom/src/Kconfig
new file mode 100644
index 000000000..e2e3a68d9
--- /dev/null
+++ b/package/i2c-gpio-custom/src/Kconfig
@@ -0,0 +1,10 @@
+config I2C_GPIO_CUSTOM
+ tristate "Custom GPIO-based I2C driver"
+ depends on GENERIC_GPIO
+ select I2C_GPIO
+ help
+ This is an I2C driver to register 1 to 4 custom I2C buses using
+ GPIO lines.
+
+ This support is also available as a module. If so, the module
+ will be called i2c-gpio-custom.
diff --git a/package/i2c-gpio-custom/src/Makefile b/package/i2c-gpio-custom/src/Makefile
new file mode 100644
index 000000000..dcb2e2abe
--- /dev/null
+++ b/package/i2c-gpio-custom/src/Makefile
@@ -0,0 +1 @@
+obj-${CONFIG_I2C_GPIO_CUSTOM} += i2c-gpio-custom.o \ No newline at end of file
diff --git a/target/linux/adm5120/files/drivers/i2c/busses/i2c-gpio-custom.c b/package/i2c-gpio-custom/src/i2c-gpio-custom.c
index 36a8bf0e3..36a8bf0e3 100644
--- a/target/linux/adm5120/files/drivers/i2c/busses/i2c-gpio-custom.c
+++ b/package/i2c-gpio-custom/src/i2c-gpio-custom.c
diff --git a/package/kernel/modules/i2c.mk b/package/kernel/modules/i2c.mk
index c02672f43..687fa9fb2 100644
--- a/package/kernel/modules/i2c.mk
+++ b/package/kernel/modules/i2c.mk
@@ -93,22 +93,6 @@ endef
$(eval $(call KernelPackage,i2c-gpio))
-define KernelPackage/i2c-gpio-custom
- SUBMENU:=$(I2C_MENU)
- TITLE:=Custom GPIO-based I2C device
- DEPENDS:=@TARGET_adm5120 kmod-i2c-core +kmod-i2c-gpio
- KCONFIG:=CONFIG_I2C_GPIO_CUSTOM
- FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-gpio-custom.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,58,i2c-gpio-custom)
-endef
-
-define KernelPackage/i2c-gpio-custom/description
- Kernel module for register a custom i2c-gpio platform device.
-endef
-
-$(eval $(call KernelPackage,i2c-gpio-custom))
-
-
define KernelPackage/i2c-scx200
SUBMENU:=$(I2C_MENU)
TITLE:=Geode SCx200 I2C using GPIO pins
@@ -135,7 +119,7 @@ define KernelPackage/i2c-scx200-acb
endef
define KernelPackage/i2c-scx200-acb/description
- Kernel module for I2C using the ACCESS.bus controllers on the Geode SCx200
+ Kernel module for I2C using the ACCESS.bus controllers on the Geode SCx200
and SC1100 processors and the CS5535 and CS5536 Geode companion devices.
endef
diff --git a/target/linux/adm5120/patches/300-i2c_gpio_custom.patch b/target/linux/adm5120/patches/300-i2c_gpio_custom.patch
deleted file mode 100644
index f7f8997d6..000000000
--- a/target/linux/adm5120/patches/300-i2c_gpio_custom.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Index: linux-2.6.24.2/drivers/i2c/busses/Kconfig
-===================================================================
---- linux-2.6.24.2.orig/drivers/i2c/busses/Kconfig
-+++ linux-2.6.24.2/drivers/i2c/busses/Kconfig
-@@ -146,6 +146,17 @@ config I2C_GPIO
- This is a very simple bitbanging I2C driver utilizing the
- arch-neutral GPIO API to control the SCL and SDA lines.
-
-+config I2C_GPIO_CUSTOM
-+ tristate "Custom GPIO-based I2C driver"
-+ depends on GENERIC_GPIO
-+ select I2C_GPIO
-+ help
-+ This is an I2C driver to register 1 to 4 custom I2C buses using
-+ GPIO lines.
-+
-+ This support is also available as a module. If so, the module
-+ will be called i2c-gpio-custom.
-+
- config I2C_HYDRA
- tristate "CHRP Apple Hydra Mac I/O I2C interface"
- depends on PCI && PPC_CHRP && EXPERIMENTAL
-Index: linux-2.6.24.2/drivers/i2c/busses/Makefile
-===================================================================
---- linux-2.6.24.2.orig/drivers/i2c/busses/Makefile
-+++ linux-2.6.24.2/drivers/i2c/busses/Makefile
-@@ -14,6 +14,7 @@ obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bf
- obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o
- obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
- obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o
-+obj-$(CONFIG_I2C_GPIO_CUSTOM) += i2c-gpio-custom.o
- obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o
- obj-$(CONFIG_I2C_I801) += i2c-i801.o
- obj-$(CONFIG_I2C_I810) += i2c-i810.o