get rid of $Id$ - it has never helped us and it has broken too many patches ;)
[openwrt/svn-archive/archive.git] / package / kernel / modules / i2c.mk
index a0b121c3341deb8dfaf20c6e610d4c3e044791ce..444cc874f57ca332e23051941373e3663f8ac6bd 100644 (file)
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id $
 
-I2CMENU:=I2C Bus
+I2C_MENU:=I2C support
 
 define KernelPackage/i2c-core
+  SUBMENU:=$(I2C_MENU)
   TITLE:=I2C support
-  DESCRIPTION:=Kernel modules for i2c support
-  SUBMENU:=$(I2CMENU)
-  KCONFIG:=$(CONFIG_I2C)
-  FILES:=$(LINUX_DIR)/drivers/i2c/*.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,50,i2c-core i2c-dev)
+  DEPENDS:=@LINUX_2_6
+  KCONFIG:= \
+       CONFIG_I2C \
+       CONFIG_I2C_CHARDEV
+  FILES:= \
+       $(LINUX_DIR)/drivers/i2c/i2c-core.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/drivers/i2c/i2c-dev.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,51,i2c-core i2c-dev)
 endef
+
+define KernelPackage/i2c-core/description
+ Kernel modules for I2C support
+endef
+
 $(eval $(call KernelPackage,i2c-core))
 
-define KernelPackage/i2c-algos
-  TITLE:=I2C algorithms support
-  DESCRIPTION:=Kernel modules for various i2c algorithms
+
+define KernelPackage/i2c-algo-bit
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=I2C bit-banging interfaces
+  DEPENDS:=kmod-i2c-core
+  KCONFIG:=CONFIG_I2C_ALGOBIT
+  FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-bit.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,55,i2c-algo-bit)
+endef
+
+define KernelPackage/i2c-algo-bit/description
+ Kernel modules for I2C bit-banging interfaces.
+endef
+
+$(eval $(call KernelPackage,i2c-algo-bit))
+
+
+define KernelPackage/i2c-algo-pca
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=I2C PCA 9564 interfaces
+  DEPENDS:=kmod-i2c-core
+  KCONFIG:=CONFIG_I2C_ALGOPCA
+  FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-pca.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,55,i2c-algo-pca)
+endef
+
+define KernelPackage/i2c-algo-pca/description
+ Kernel modules for I2C PCA 9564 interfaces.
+endef
+
+$(eval $(call KernelPackage,i2c-algo-pca))
+
+
+define KernelPackage/i2c-algo-pcf
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=I2C PCF 8584 interfaces
   DEPENDS:=kmod-i2c-core
-  SUBMENU:=$(I2CMENU)
-  KCONFIG:=$(CONFIG_I2C_ALGOBIT)
-  FILES:=$(LINUX_DIR)/drivers/i2c/algos/*.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,60,i2c-algo-bit i2c-algo-pcf i2c-algo-pca)
+  KCONFIG:=CONFIG_I2C_ALGOPCF
+  FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-pcf.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,55,i2c-algo-pcf)
 endef
-$(eval $(call KernelPackage,i2c-algos))
 
-define KernelPackage/i2c-au1x00gpio
-  TITLE:=I2C GPIO interface for Au1x00 devices
-  DESCRIPTION:=I2C GPIO interface for Au1x00 devices
-  DEFAULT:=y if LINUX_2_6_AU1000
-  DEPENDS:=kmod-i2c-core kmod-i2c-algos @LINUX_2_6_AU1000
-  SUBMENU:=$(I2CMENU)
-  KCONFIG:=$(CONFIG_I2C_AU1X00GPIO)
-  FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-au1x00gpio.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call Autoload,70,i2c-au1x00gpio)
+define KernelPackage/i2c-algo-pcf/description
+ Kernel modules for I2C PCF 8584 interfaces
 endef
-$(eval $(call KernelPackage,i2c-au1x00gpio))
+
+$(eval $(call KernelPackage,i2c-algo-pcf))
+
+
+define KernelPackage/i2c-gpio
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=GPIO-based bitbanging I2C
+  DEPENDS:=@GPIO_SUPPORT +kmod-i2c-algo-bit
+  KCONFIG:=CONFIG_I2C_GPIO
+  FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-gpio.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,59,i2c-gpio)
+endef
+
+define KernelPackage/i2c-gpio/description
+ Kernel modules for a very simple bitbanging I2C driver utilizing the
+ arch-neutral GPIO API to control the SCL and SDA lines.
+endef
+
+$(eval $(call KernelPackage,i2c-gpio))
+
 
 define KernelPackage/i2c-scx200
-  TITLE:=SCX200 i2c support
-  DESCRIPTION:=Kernel module for SCX200 i2c bus
-  DEFAULT:=y if LINUX_2_6_X86_Soekris
-  DEPENDS:=kmod-i2c-core kmod-i2c-algos @LINUX_2_6_X86_Soekris
-  SUBMENU:=$(I2CMENU)
-  KCONFIG:=$(CONFIG_I2C_SCX200)
-  FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_i2c.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/i2c/busses/i2c-isa.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,70,scx200_i2c)
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=Geode SCx200 I2C using GPIO pins
+  DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
+  KCONFIG:=CONFIG_SCx200_I2C \
+       CONFIG_SCx200_I2C_SCL=12 \
+       CONFIG_SCx200_I2C_SDA=13
+  FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_i2c.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,59,scx200_i2c)
+endef
+
+define KernelPackage/i2c-scx200/description
+ Kernel module for I2C using GPIO pins on the Geode SCx200 processors.
 endef
+
 $(eval $(call KernelPackage,i2c-scx200))
+
+
+define KernelPackage/i2c-scx200-acb
+  SUBMENU:=$(I2C_MENU)
+  TITLE:=Geode SCx200 ACCESS.bus support
+  DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
+  KCONFIG:=CONFIG_SCx200_ACB
+  FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_acb.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,59,scx200_acb)
+endef
+
+define KernelPackage/i2c-scx200-acb/description
+ 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
+
+$(eval $(call KernelPackage,i2c-scx200-acb))
+