Fix i2c driver and package it
[openwrt/staging/florian.git] / package / kernel / modules / i2c.mk
index ed626fcf01e616eae7086b3efa271fca81b639e1..8ca3819278fb6e2adde6811160e5bdc881edf190 100644 (file)
@@ -8,7 +8,7 @@
 I2C_MENU:=I2C support
 
 ModuleConfVar=$(word 1,$(subst :,$(space),$(1)))
-ModuleFullPath=$(if $(findstring y,$($(call ModuleConfVar,$(1)))),,$(LINUX_DIR)/$(word 2,$(subst :,$(space),$(1))).$(LINUX_KMOD_SUFFIX))
+ModuleFullPath=$(if $(findstring y,$($(call ModuleConfVar,$(1)))),,$(LINUX_DIR)/$(word 2,$(subst :,$(space),$(1))).ko)
 ModuleKconfig=$(foreach mod,$(1),$(call ModuleConfVar,$(mod)))
 ModuleFiles=$(foreach mod,$(1),$(call ModuleFullPath,$(mod)))
 ModuleAuto=$(call AutoLoad,$(1),$(foreach mod,$(2),$(basename $(notdir $(call ModuleFullPath,$(mod))))),$(3))
@@ -27,7 +27,7 @@ I2C_CORE_MODULES:= \
 define KernelPackage/i2c-core
   $(call i2c_defaults,$(I2C_CORE_MODULES),51)
   TITLE:=I2C support
-  DEPENDS:=@LINUX_2_6
+  DEPENDS:=@!TARGET_etrax
 endef
 
 define KernelPackage/i2c-core/description
@@ -167,3 +167,34 @@ define KernelPackage/i2c-ibm-iic/description
 endef
 
 $(eval $(call KernelPackage,i2c-ibm-iic))
+
+I2C_MV64XXX_MODULES:=\
+  CONFIG_I2C_MV64XXX:drivers/i2c/busses/i2c-mv64xxx
+
+define KernelPackage/i2c-mv64xxx
+  $(call i2c_defaults,$(I2C_MV64XXX_MODULES),59)
+  TITLE:=Orion Platform I2C interface support
+  DEPENDS:=@TARGET_kirkwood||TARGET_orion +kmod-i2c-core
+endef
+
+define KernelPackage/i2c-mv64xxx/description
+ Kernel module for I2C interface on the Kirkwood and Orion
+ family processors.
+endef
+
+$(eval $(call KernelPackage,i2c-mv64xxx))
+
+define KernelPackage/at91-i2c
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=I2C (TWI) master driver for Atmel AT91
+  DEPENDS:=@TARGET_at91 kmod-i2c-core
+  KCONFIG:=CONFIG_I2C_AT91
+  FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-at91.ko
+  AUTOLOAD:=$(call AutoLoad,55,i2c-at91)
+endef
+
+define KernelPackage/at91-i2c/description
+ Kernel module to use the I2C (TWI) master driver for Atmel AT91
+endef
+
+$(eval $(call KernelPackage,at91-i2c))