]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
i2c: Group bus drivers by type
authorJean Delvare <khali@linux-fr.org>
Mon, 14 Jul 2008 20:38:23 +0000 (22:38 +0200)
committerJean Delvare <khali@mahadeva.delvare>
Mon, 14 Jul 2008 20:38:23 +0000 (22:38 +0200)
The list of I2C/SMBus bus drivers is growing and it is sometimes
difficult for the users to figure out what drivers they should enable.
By grouping the drivers by type, I hope to make the selection easier.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/i2c/busses/Kconfig
drivers/i2c/busses/Makefile

index 37f5b84e0e9c5d823ae2489fc08d3361e342d021..2b0874b0ad11593851e9de7dbd34846668de6757 100644 (file)
@@ -4,6 +4,9 @@
 
 menu "I2C Hardware Bus support"
 
 
 menu "I2C Hardware Bus support"
 
+comment "PC SMBus host controller drivers"
+       depends on PCI
+
 config I2C_ALI1535
        tristate "ALI 1535"
        depends on PCI
 config I2C_ALI1535
        tristate "ALI 1535"
        depends on PCI
@@ -73,93 +76,6 @@ config I2C_AMD8111
          This driver can also be built as a module.  If so, the module
          will be called i2c-amd8111.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-amd8111.
 
-config I2C_AT91
-       tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
-       depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
-       help
-         This supports the use of the I2C interface on Atmel AT91
-         processors.
-
-         This driver is BROKEN because the controller which it uses
-         will easily trigger RX overrun and TX underrun errors.  Using
-         low I2C clock rates may partially work around those issues
-         on some systems.  Another serious problem is that there is no
-         documented way to issue repeated START conditions, as needed
-         to support combined I2C messages.  Use the i2c-gpio driver
-         unless your system can cope with those limitations.
-
-config I2C_AU1550
-       tristate "Au1550/Au1200 SMBus interface"
-       depends on SOC_AU1550 || SOC_AU1200
-       help
-         If you say yes to this option, support will be included for the
-         Au1550 and Au1200 SMBus interface.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-au1550.
-
-config I2C_BLACKFIN_TWI
-       tristate "Blackfin TWI I2C support"
-       depends on BLACKFIN
-       depends on !BF561 && !BF531 && !BF532 && !BF533
-       help
-         This is the I2C bus driver for Blackfin on-chip TWI interface.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-bfin-twi.
-
-config I2C_BLACKFIN_TWI_CLK_KHZ
-       int "Blackfin TWI I2C clock (kHz)"
-       depends on I2C_BLACKFIN_TWI
-       range 10 400
-       default 50
-       help
-         The unit of the TWI clock is kHz.
-
-config I2C_DAVINCI
-       tristate "DaVinci I2C driver"
-       depends on ARCH_DAVINCI
-       help
-         Support for TI DaVinci I2C controller driver.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-davinci.
-
-         Please note that this driver might be needed to bring up other
-         devices such as DaVinci NIC.
-         For details please see http://www.ti.com/davinci
-
-config I2C_ELEKTOR
-       tristate "Elektor ISA card"
-       depends on ISA && BROKEN_ON_SMP
-       select I2C_ALGOPCF
-       help
-         This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
-         such an adapter.
-
-         This support is also available as a module.  If so, the module
-         will be called i2c-elektor.
-
-config I2C_GPIO
-       tristate "GPIO-based bitbanging I2C"
-       depends on GENERIC_GPIO
-       select I2C_ALGOBIT
-       help
-         This is a very simple bitbanging I2C driver utilizing the
-         arch-neutral GPIO API to control the SCL and SDA lines.
-
-config I2C_HYDRA
-       tristate "CHRP Apple Hydra Mac I/O I2C interface"
-       depends on PCI && PPC_CHRP && EXPERIMENTAL
-       select I2C_ALGOBIT
-       help
-         This supports the use of the I2C interface in the Apple Hydra Mac
-         I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
-         have such a machine.
-
-         This support is also available as a module.  If so, the module
-         will be called i2c-hydra.
-
 config I2C_I801
        tristate "Intel 82801 (ICH)"
        depends on PCI
 config I2C_I801
        tristate "Intel 82801 (ICH)"
        depends on PCI
@@ -185,22 +101,6 @@ config I2C_I801
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
 
-config I2C_PXA
-       tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && ARCH_PXA
-       help
-         If you have devices in the PXA I2C bus, say yes to this option.
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-pxa.
-
-config I2C_PXA_SLAVE
-       bool "Intel PXA2XX I2C Slave comms support"
-       depends on I2C_PXA
-       help
-         Support I2C slave mode communications on the PXA I2C bus.  This
-         is necessary for systems where the PXA may be a target on the
-         I2C bus.
-
 config I2C_PIIX4
        tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
        depends on PCI
 config I2C_PIIX4
        tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
        depends on PCI
@@ -226,64 +126,6 @@ config I2C_PIIX4
          This driver can also be built as a module.  If so, the module
          will be called i2c-piix4.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-piix4.
 
-config I2C_IBM_IIC
-       tristate "IBM PPC 4xx on-chip I2C interface"
-       depends on 4xx
-       help
-         Say Y here if you want to use IIC peripheral found on
-         embedded IBM PPC 4xx based systems.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-ibm_iic.
-
-config I2C_IOP3XX
-       tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
-       depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
-       help
-         Say Y here if you want to use the IIC bus controller on
-         the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-iop3xx.
-
-config I2C_IXP2000
-       tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)"
-       depends on ARCH_IXP2000
-       select I2C_ALGOBIT
-       help
-         Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based
-         system and are using GPIO lines for an I2C bus.
-
-         This support is also available as a module. If so, the module
-         will be called i2c-ixp2000.
-
-         This driver is deprecated and will be dropped soon. Use i2c-gpio
-         instead.
-
-config I2C_POWERMAC
-       tristate "Powermac I2C interface"
-       depends on PPC_PMAC
-       default y
-       help
-         This exposes the various PowerMac i2c interfaces to the linux i2c
-         layer and to userland. It is used by various drivers on the PowerMac
-         platform, and should generally be enabled.
-
-         This support is also available as a module.  If so, the module
-         will be called i2c-powermac.
-
-config I2C_MPC
-       tristate "MPC107/824x/85xx/52xx/86xx"
-       depends on PPC32
-       help
-         If you say yes to this option, support will be included for the
-         built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and
-         MPC85xx/MPC8641 family processors. The driver may also work on 52xx
-         family processors, though interrupts are known not to work.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-mpc.
-
 config I2C_NFORCE2
        tristate "Nvidia nForce2, nForce3 and nForce4"
        depends on PCI
 config I2C_NFORCE2
        tristate "Nvidia nForce2, nForce3 and nForce4"
        depends on PCI
@@ -307,73 +149,243 @@ config I2C_NFORCE2_S4985
          This driver can also be built as a module.  If so, the module
          will be called i2c-nforce2-s4985.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-nforce2-s4985.
 
-config I2C_OCORES
-       tristate "OpenCores I2C Controller"
-       depends on EXPERIMENTAL
+config I2C_SIS5595
+       tristate "SiS 5595"
+       depends on PCI
        help
          If you say yes to this option, support will be included for the
        help
          If you say yes to this option, support will be included for the
-         OpenCores I2C controller. For details see
-         http://www.opencores.org/projects.cgi/web/i2c/overview
+         SiS5595 SMBus (a subset of I2C) interface.
 
          This driver can also be built as a module.  If so, the module
 
          This driver can also be built as a module.  If so, the module
-         will be called i2c-ocores.
+         will be called i2c-sis5595.
 
 
-config I2C_OMAP
-       tristate "OMAP I2C adapter"
-       depends on ARCH_OMAP
-       default y if MACH_OMAP_H3 || MACH_OMAP_OSK
+config I2C_SIS630
+       tristate "SiS 630/730"
+       depends on PCI
        help
          If you say yes to this option, support will be included for the
        help
          If you say yes to this option, support will be included for the
-         I2C interface on the Texas Instruments OMAP1/2 family of processors.
-         Like OMAP1510/1610/1710/5912 and OMAP242x.
-         For details see http://www.ti.com/omap.
+         SiS630 and SiS730 SMBus (a subset of I2C) interface.
 
 
-config I2C_PARPORT
-       tristate "Parallel port adapter"
-       depends on PARPORT
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-sis630.
+
+config I2C_SIS96X
+       tristate "SiS 96x"
+       depends on PCI
+       help
+         If you say yes to this option, support will be included for the SiS
+         96x SMBus (a subset of I2C) interfaces.  Specifically, the following
+         chipsets are supported:
+           645/961
+           645DX/961
+           645DX/962
+           648/961
+           650/961
+           735
+           745
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-sis96x.
+
+config I2C_VIA
+       tristate "VIA VT82C586B"
+       depends on PCI && EXPERIMENTAL
        select I2C_ALGOBIT
        help
        select I2C_ALGOBIT
        help
-         This supports parallel port I2C adapters such as the ones made by
-         Philips or Velleman, Analog Devices evaluation boards, and more.
-         Basically any adapter using the parallel port as an I2C bus with
-         no extra chipset is supported by this driver, or could be.
+         If you say yes to this option, support will be included for the VIA
+          82C586B I2C interface
 
 
-         This driver is a replacement for (and was inspired by) an older
-         driver named i2c-philips-par.  The new driver supports more devices,
-         and makes it easier to add support for new devices.
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-via.
 
 
-         An adapter type parameter is now mandatory.  Please read the file
-         Documentation/i2c/busses/i2c-parport for details.
+config I2C_VIAPRO
+       tristate "VIA VT82C596/82C686/82xx and CX700"
+       depends on PCI
+       help
+         If you say yes to this option, support will be included for the VIA
+         VT82C596 and later SMBus interface.  Specifically, the following
+         chipsets are supported:
+           VT82C596A/B
+           VT82C686A/B
+           VT8231
+           VT8233/A
+           VT8235
+           VT8237R/A/S
+           VT8251
+           CX700
 
 
-         Another driver exists, named i2c-parport-light, which doesn't depend
-         on the parport driver.  This is meant for embedded systems. Don't say
-         Y here if you intend to say Y or M there.
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-viapro.
 
 
-         This support is also available as a module.  If so, the module
-         will be called i2c-parport.
+comment "Mac SMBus host controller drivers"
+       depends on PPC_CHRP || PPC_PMAC
 
 
-config I2C_PARPORT_LIGHT
-       tristate "Parallel port adapter (light)"
+config I2C_HYDRA
+       tristate "CHRP Apple Hydra Mac I/O I2C interface"
+       depends on PCI && PPC_CHRP && EXPERIMENTAL
        select I2C_ALGOBIT
        help
        select I2C_ALGOBIT
        help
-         This supports parallel port I2C adapters such as the ones made by
-         Philips or Velleman, Analog Devices evaluation boards, and more.
-         Basically any adapter using the parallel port as an I2C bus with
-         no extra chipset is supported by this driver, or could be.
-
-         This driver is a light version of i2c-parport.  It doesn't depend
-         on the parport driver, and uses direct I/O access instead.  This
-         might be preferred on embedded systems where wasting memory for
-         the clean but heavy parport handling is not an option.  The
-         drawback is a reduced portability and the impossibility to
-         daisy-chain other parallel port devices.
+         This supports the use of the I2C interface in the Apple Hydra Mac
+         I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
+         have such a machine.
 
 
-         Don't say Y here if you said Y or M to i2c-parport.  Saying M to
-         both is possible but both modules should not be loaded at the same
-         time.
+         This support is also available as a module.  If so, the module
+         will be called i2c-hydra.
+
+config I2C_POWERMAC
+       tristate "Powermac I2C interface"
+       depends on PPC_PMAC
+       default y
+       help
+         This exposes the various PowerMac i2c interfaces to the linux i2c
+         layer and to userland. It is used by various drivers on the PowerMac
+         platform, and should generally be enabled.
 
          This support is also available as a module.  If so, the module
 
          This support is also available as a module.  If so, the module
-         will be called i2c-parport-light.
+         will be called i2c-powermac.
+
+comment "I2C system bus drivers (mostly embedded / system-on-chip)"
+
+config I2C_AT91
+       tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
+       depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
+       help
+         This supports the use of the I2C interface on Atmel AT91
+         processors.
+
+         This driver is BROKEN because the controller which it uses
+         will easily trigger RX overrun and TX underrun errors.  Using
+         low I2C clock rates may partially work around those issues
+         on some systems.  Another serious problem is that there is no
+         documented way to issue repeated START conditions, as needed
+         to support combined I2C messages.  Use the i2c-gpio driver
+         unless your system can cope with those limitations.
+
+config I2C_AU1550
+       tristate "Au1550/Au1200 SMBus interface"
+       depends on SOC_AU1550 || SOC_AU1200
+       help
+         If you say yes to this option, support will be included for the
+         Au1550 and Au1200 SMBus interface.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-au1550.
+
+config I2C_BLACKFIN_TWI
+       tristate "Blackfin TWI I2C support"
+       depends on BLACKFIN
+       depends on !BF561 && !BF531 && !BF532 && !BF533
+       help
+         This is the I2C bus driver for Blackfin on-chip TWI interface.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-bfin-twi.
+
+config I2C_BLACKFIN_TWI_CLK_KHZ
+       int "Blackfin TWI I2C clock (kHz)"
+       depends on I2C_BLACKFIN_TWI
+       range 10 400
+       default 50
+       help
+         The unit of the TWI clock is kHz.
+
+config I2C_DAVINCI
+       tristate "DaVinci I2C driver"
+       depends on ARCH_DAVINCI
+       help
+         Support for TI DaVinci I2C controller driver.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-davinci.
+
+         Please note that this driver might be needed to bring up other
+         devices such as DaVinci NIC.
+         For details please see http://www.ti.com/davinci
+
+config I2C_GPIO
+       tristate "GPIO-based bitbanging I2C"
+       depends on GENERIC_GPIO
+       select I2C_ALGOBIT
+       help
+         This is a very simple bitbanging I2C driver utilizing the
+         arch-neutral GPIO API to control the SCL and SDA lines.
+
+config I2C_IBM_IIC
+       tristate "IBM PPC 4xx on-chip I2C interface"
+       depends on 4xx
+       help
+         Say Y here if you want to use IIC peripheral found on
+         embedded IBM PPC 4xx based systems.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-ibm_iic.
+
+config I2C_IOP3XX
+       tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
+       depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
+       help
+         Say Y here if you want to use the IIC bus controller on
+         the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-iop3xx.
+
+config I2C_IXP2000
+       tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)"
+       depends on ARCH_IXP2000
+       select I2C_ALGOBIT
+       help
+         Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based
+         system and are using GPIO lines for an I2C bus.
+
+         This support is also available as a module. If so, the module
+         will be called i2c-ixp2000.
+
+         This driver is deprecated and will be dropped soon. Use i2c-gpio
+         instead.
+
+config I2C_MPC
+       tristate "MPC107/824x/85xx/52xx/86xx"
+       depends on PPC32
+       help
+         If you say yes to this option, support will be included for the
+         built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and
+         MPC85xx/MPC8641 family processors. The driver may also work on 52xx
+         family processors, though interrupts are known not to work.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-mpc.
+
+config I2C_MV64XXX
+       tristate "Marvell mv64xxx I2C Controller"
+       depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
+       help
+         If you say yes to this option, support will be included for the
+         built-in I2C interface on the Marvell 64xxx line of host bridges.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-mv64xxx.
+
+config I2C_OCORES
+       tristate "OpenCores I2C Controller"
+       depends on EXPERIMENTAL
+       help
+         If you say yes to this option, support will be included for the
+         OpenCores I2C controller. For details see
+         http://www.opencores.org/projects.cgi/web/i2c/overview
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-ocores.
+
+config I2C_OMAP
+       tristate "OMAP I2C adapter"
+       depends on ARCH_OMAP
+       default y if MACH_OMAP_H3 || MACH_OMAP_OSK
+       help
+         If you say yes to this option, support will be included for the
+         I2C interface on the Texas Instruments OMAP1/2 family of processors.
+         Like OMAP1510/1610/1710/5912 and OMAP242x.
+         For details see http://www.ti.com/omap.
 
 config I2C_PASEMI
        tristate "PA Semi SMBus interface"
 
 config I2C_PASEMI
        tristate "PA Semi SMBus interface"
@@ -381,6 +393,32 @@ config I2C_PASEMI
        help
          Supports the PA Semi PWRficient on-chip SMBus interfaces.
 
        help
          Supports the PA Semi PWRficient on-chip SMBus interfaces.
 
+config I2C_PNX
+       tristate "I2C bus support for Philips PNX targets"
+       depends on ARCH_PNX4008
+       help
+         This driver supports the Philips IP3204 I2C IP block master and/or
+         slave controller
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-pnx.
+
+config I2C_PXA
+       tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && ARCH_PXA
+       help
+         If you have devices in the PXA I2C bus, say yes to this option.
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-pxa.
+
+config I2C_PXA_SLAVE
+       bool "Intel PXA2XX I2C Slave comms support"
+       depends on I2C_PXA
+       help
+         Support I2C slave mode communications on the PXA I2C bus.  This
+         is necessary for systems where the PXA may be a target on the
+         I2C bus.
+
 config I2C_S3C2410
        tristate "S3C2410 I2C Driver"
        depends on ARCH_S3C2410
 config I2C_S3C2410
        tristate "S3C2410 I2C Driver"
        depends on ARCH_S3C2410
@@ -388,11 +426,24 @@ config I2C_S3C2410
          Say Y here to include support for I2C controller in the
          Samsung S3C2410 based System-on-Chip devices.
 
          Say Y here to include support for I2C controller in the
          Samsung S3C2410 based System-on-Chip devices.
 
-config I2C_SIBYTE
-       tristate "SiByte SMBus interface"
-       depends on SIBYTE_SB1xxx_SOC
+config I2C_SH7760
+       tristate "Renesas SH7760 I2C Controller"
+       depends on CPU_SUBTYPE_SH7760
        help
        help
-         Supports the SiByte SOC on-chip I2C interfaces (2 channels).
+         This driver supports the 2 I2C interfaces on the Renesas SH7760.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-sh7760.
+
+config I2C_SH_MOBILE
+       tristate "SuperH Mobile I2C Controller"
+       depends on SUPERH
+       help
+         If you say yes to this option, support will be included for the
+         built-in I2C interface on the Renesas SH-Mobile processor.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-sh_mobile.
 
 config I2C_SIMTEC
        tristate "Simtec Generic I2C interface"
 
 config I2C_SIMTEC
        tristate "Simtec Generic I2C interface"
@@ -406,86 +457,65 @@ config I2C_SIMTEC
          This driver can also be built as a module. If so, the module
          will be called i2c-simtec.
 
          This driver can also be built as a module. If so, the module
          will be called i2c-simtec.
 
-config SCx200_I2C
-       tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
-       depends on SCx200_GPIO
+config I2C_VERSATILE
+       tristate "ARM Versatile/Realview I2C bus support"
+       depends on ARCH_VERSATILE || ARCH_REALVIEW
        select I2C_ALGOBIT
        help
        select I2C_ALGOBIT
        help
-         Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
-
-         If you don't know what to do here, say N.
+         Say yes if you want to support the I2C serial bus on ARMs Versatile
+         range of platforms.
 
 
-         This support is also available as a module.  If so, the module
-         will be called scx200_i2c.
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-versatile.
 
 
-         This driver is deprecated and will be dropped soon. Use i2c-gpio
-         (or scx200_acb) instead.
+comment "External I2C/SMBus adapter drivers"
 
 
-config SCx200_I2C_SCL
-       int "GPIO pin used for SCL"
-       depends on SCx200_I2C
-       default "12"
+config I2C_PARPORT
+       tristate "Parallel port adapter"
+       depends on PARPORT
+       select I2C_ALGOBIT
        help
        help
-         Enter the GPIO pin number used for the SCL signal.  This value can
-         also be specified with a module parameter.
+         This supports parallel port I2C adapters such as the ones made by
+         Philips or Velleman, Analog Devices evaluation boards, and more.
+         Basically any adapter using the parallel port as an I2C bus with
+         no extra chipset is supported by this driver, or could be.
 
 
-config SCx200_I2C_SDA
-       int "GPIO pin used for SDA"
-       depends on SCx200_I2C
-       default "13"
-       help
-         Enter the GPIO pin number used for the SSA signal.  This value can
-         also be specified with a module parameter.
+         This driver is a replacement for (and was inspired by) an older
+         driver named i2c-philips-par.  The new driver supports more devices,
+         and makes it easier to add support for new devices.
 
 
-config SCx200_ACB
-       tristate "Geode ACCESS.bus support"
-       depends on X86_32 && PCI
-       help
-         Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
-         SC1100 processors and the CS5535 and CS5536 Geode companion devices.
+         An adapter type parameter is now mandatory.  Please read the file
+         Documentation/i2c/busses/i2c-parport for details.
 
 
-         If you don't know what to do here, say N.
+         Another driver exists, named i2c-parport-light, which doesn't depend
+         on the parport driver.  This is meant for embedded systems. Don't say
+         Y here if you intend to say Y or M there.
 
          This support is also available as a module.  If so, the module
 
          This support is also available as a module.  If so, the module
-         will be called scx200_acb.
-
-config I2C_SIS5595
-       tristate "SiS 5595"
-       depends on PCI
-       help
-         If you say yes to this option, support will be included for the
-         SiS5595 SMBus (a subset of I2C) interface.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-sis5595.
+         will be called i2c-parport.
 
 
-config I2C_SIS630
-       tristate "SiS 630/730"
-       depends on PCI
+config I2C_PARPORT_LIGHT
+       tristate "Parallel port adapter (light)"
+       select I2C_ALGOBIT
        help
        help
-         If you say yes to this option, support will be included for the
-         SiS630 and SiS730 SMBus (a subset of I2C) interface.
+         This supports parallel port I2C adapters such as the ones made by
+         Philips or Velleman, Analog Devices evaluation boards, and more.
+         Basically any adapter using the parallel port as an I2C bus with
+         no extra chipset is supported by this driver, or could be.
 
 
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-sis630.
+         This driver is a light version of i2c-parport.  It doesn't depend
+         on the parport driver, and uses direct I/O access instead.  This
+         might be preferred on embedded systems where wasting memory for
+         the clean but heavy parport handling is not an option.  The
+         drawback is a reduced portability and the impossibility to
+         daisy-chain other parallel port devices.
 
 
-config I2C_SIS96X
-       tristate "SiS 96x"
-       depends on PCI
-       help
-         If you say yes to this option, support will be included for the SiS
-         96x SMBus (a subset of I2C) interfaces.  Specifically, the following
-         chipsets are supported:
-           645/961
-           645DX/961
-           645DX/962
-           648/961
-           650/961
-           735
-           745
+         Don't say Y here if you said Y or M to i2c-parport.  Saying M to
+         both is possible but both modules should not be loaded at the same
+         time.
 
 
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-sis96x.
+         This support is also available as a module.  If so, the module
+         will be called i2c-parport-light.
 
 config I2C_TAOS_EVM
        tristate "TAOS evaluation module"
 
 config I2C_TAOS_EVM
        tristate "TAOS evaluation module"
@@ -503,21 +533,8 @@ config I2C_TAOS_EVM
          This support is also available as a module.  If so, the module
          will be called i2c-taos-evm.
 
          This support is also available as a module.  If so, the module
          will be called i2c-taos-evm.
 
-config I2C_STUB
-       tristate "I2C/SMBus Test Stub"
-       depends on EXPERIMENTAL && m
-       default 'n'
-       help
-         This module may be useful to developers of SMBus client drivers,
-         especially for certain kinds of sensor chips.
-
-         If you do build this module, be sure to read the notes and warnings
-         in <file:Documentation/i2c/i2c-stub>.
-
-         If you don't know what to do here, definitely say N.
-
 config I2C_TINY_USB
 config I2C_TINY_USB
-       tristate "I2C-Tiny-USB"
+       tristate "Tiny-USB adapter"
        depends on USB
        help
          If you say yes to this option, support will be included for the
        depends on USB
        help
          If you say yes to this option, support will be included for the
@@ -527,16 +544,21 @@ config I2C_TINY_USB
          This driver can also be built as a module.  If so, the module
          will be called i2c-tiny-usb.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-tiny-usb.
 
-config I2C_VERSATILE
-       tristate "ARM Versatile/Realview I2C bus support"
-       depends on ARCH_VERSATILE || ARCH_REALVIEW
+comment "Graphics adapter I2C/DDC channel drivers"
+       depends on PCI
+
+config I2C_VOODOO3
+       tristate "Voodoo 3"
+       depends on PCI
        select I2C_ALGOBIT
        help
        select I2C_ALGOBIT
        help
-         Say yes if you want to support the I2C serial bus on ARMs Versatile
-         range of platforms.
+         If you say yes to this option, support will be included for the
+         Voodoo 3 I2C interface.
 
          This driver can also be built as a module.  If so, the module
 
          This driver can also be built as a module.  If so, the module
-         will be called i2c-versatile.
+         will be called i2c-voodoo3.
+
+comment "Other I2C/SMBus bus drivers"
 
 config I2C_ACORN
        tristate "Acorn IOC/IOMD I2C bus support"
 
 config I2C_ACORN
        tristate "Acorn IOC/IOMD I2C bus support"
@@ -548,46 +570,16 @@ config I2C_ACORN
 
          If you don't know, say Y.
 
 
          If you don't know, say Y.
 
-config I2C_VIA
-       tristate "VIA 82C586B"
-       depends on PCI && EXPERIMENTAL
-       select I2C_ALGOBIT
-       help
-         If you say yes to this option, support will be included for the VIA
-          82C586B I2C interface
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-via.
-
-config I2C_VIAPRO
-       tristate "VIA VT82C596/82C686/82xx and CX700"
-       depends on PCI
-       help
-         If you say yes to this option, support will be included for the VIA
-         VT82C596 and later SMBus interface.  Specifically, the following
-         chipsets are supported:
-           VT82C596A/B
-           VT82C686A/B
-           VT8231
-           VT8233/A
-           VT8235
-           VT8237R/A/S
-           VT8251
-           CX700
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-viapro.
-
-config I2C_VOODOO3
-       tristate "Voodoo 3"
-       depends on PCI
-       select I2C_ALGOBIT
+config I2C_ELEKTOR
+       tristate "Elektor ISA card"
+       depends on ISA && BROKEN_ON_SMP
+       select I2C_ALGOPCF
        help
        help
-         If you say yes to this option, support will be included for the
-         Voodoo 3 I2C interface.
+         This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
+         such an adapter.
 
 
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-voodoo3.
+         This support is also available as a module.  If so, the module
+         will be called i2c-elektor.
 
 config I2C_PCA_ISA
        tristate "PCA9564 on an ISA bus"
 
 config I2C_PCA_ISA
        tristate "PCA9564 on an ISA bus"
@@ -617,26 +609,6 @@ config I2C_PCA_PLATFORM
          This driver can also be built as a module.  If so, the module
          will be called i2c-pca-platform.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-pca-platform.
 
-config I2C_MV64XXX
-       tristate "Marvell mv64xxx I2C Controller"
-       depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
-       help
-         If you say yes to this option, support will be included for the
-         built-in I2C interface on the Marvell 64xxx line of host bridges.
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-mv64xxx.
-
-config I2C_PNX
-       tristate "I2C bus support for Philips PNX targets"
-       depends on ARCH_PNX4008
-       help
-         This driver supports the Philips IP3204 I2C IP block master and/or
-         slave controller
-
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-pnx.
-
 config I2C_PMCMSP
        tristate "PMC MSP I2C TWI Controller"
        depends on PMC_MSP
 config I2C_PMCMSP
        tristate "PMC MSP I2C TWI Controller"
        depends on PMC_MSP
@@ -646,23 +618,66 @@ config I2C_PMCMSP
          This driver can also be built as module. If so, the module
          will be called i2c-pmcmsp.
 
          This driver can also be built as module. If so, the module
          will be called i2c-pmcmsp.
 
-config I2C_SH7760
-       tristate "Renesas SH7760 I2C Controller"
-       depends on CPU_SUBTYPE_SH7760
+config I2C_SIBYTE
+       tristate "SiByte SMBus interface"
+       depends on SIBYTE_SB1xxx_SOC
        help
        help
-         This driver supports the 2 I2C interfaces on the Renesas SH7760.
+         Supports the SiByte SOC on-chip I2C interfaces (2 channels).
 
 
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-sh7760.
+config I2C_STUB
+       tristate "I2C/SMBus Test Stub"
+       depends on EXPERIMENTAL && m
+       default 'n'
+       help
+         This module may be useful to developers of SMBus client drivers,
+         especially for certain kinds of sensor chips.
 
 
-config I2C_SH_MOBILE
-       tristate "SuperH Mobile I2C Controller"
-       depends on SUPERH
+         If you do build this module, be sure to read the notes and warnings
+         in <file:Documentation/i2c/i2c-stub>.
+
+         If you don't know what to do here, definitely say N.
+
+config SCx200_I2C
+       tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
+       depends on SCx200_GPIO
+       select I2C_ALGOBIT
        help
        help
-         If you say yes to this option, support will be included for the
-         built-in I2C interface on the Renesas SH-Mobile processor.
+         Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
 
 
-         This driver can also be built as a module.  If so, the module
-         will be called i2c-sh_mobile.
+         If you don't know what to do here, say N.
+
+         This support is also available as a module.  If so, the module
+         will be called scx200_i2c.
+
+         This driver is deprecated and will be dropped soon. Use i2c-gpio
+         (or scx200_acb) instead.
+
+config SCx200_I2C_SCL
+       int "GPIO pin used for SCL"
+       depends on SCx200_I2C
+       default "12"
+       help
+         Enter the GPIO pin number used for the SCL signal.  This value can
+         also be specified with a module parameter.
+
+config SCx200_I2C_SDA
+       int "GPIO pin used for SDA"
+       depends on SCx200_I2C
+       default "13"
+       help
+         Enter the GPIO pin number used for the SSA signal.  This value can
+         also be specified with a module parameter.
+
+config SCx200_ACB
+       tristate "Geode ACCESS.bus support"
+       depends on X86_32 && PCI
+       help
+         Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
+         SC1100 processors and the CS5535 and CS5536 Geode companion devices.
+
+         If you don't know what to do here, say N.
+
+         This support is also available as a module.  If so, the module
+         will be called scx200_acb.
 
 endmenu
 
 endmenu
index 81bb407d24cc9250b5e55231137b564e36ccb582..48a6a5bddc5e7638d40e7df28e1489be1677564f 100644 (file)
@@ -2,55 +2,66 @@
 # Makefile for the i2c bus drivers.
 #
 
 # Makefile for the i2c bus drivers.
 #
 
+# PC SMBus host controller drivers
 obj-$(CONFIG_I2C_ALI1535)      += i2c-ali1535.o
 obj-$(CONFIG_I2C_ALI1563)      += i2c-ali1563.o
 obj-$(CONFIG_I2C_ALI15X3)      += i2c-ali15x3.o
 obj-$(CONFIG_I2C_AMD756)       += i2c-amd756.o
 obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
 obj-$(CONFIG_I2C_AMD8111)      += i2c-amd8111.o
 obj-$(CONFIG_I2C_ALI1535)      += i2c-ali1535.o
 obj-$(CONFIG_I2C_ALI1563)      += i2c-ali1563.o
 obj-$(CONFIG_I2C_ALI15X3)      += i2c-ali15x3.o
 obj-$(CONFIG_I2C_AMD756)       += i2c-amd756.o
 obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
 obj-$(CONFIG_I2C_AMD8111)      += i2c-amd8111.o
+obj-$(CONFIG_I2C_I801)         += i2c-i801.o
+obj-$(CONFIG_I2C_NFORCE2)      += i2c-nforce2.o
+obj-$(CONFIG_I2C_NFORCE2_S4985)        += i2c-nforce2-s4985.o
+obj-$(CONFIG_I2C_PIIX4)                += i2c-piix4.o
+obj-$(CONFIG_I2C_SIS5595)      += i2c-sis5595.o
+obj-$(CONFIG_I2C_SIS630)       += i2c-sis630.o
+obj-$(CONFIG_I2C_SIS96X)       += i2c-sis96x.o
+obj-$(CONFIG_I2C_VIA)          += i2c-via.o
+obj-$(CONFIG_I2C_VIAPRO)       += i2c-viapro.o
+
+# Mac SMBus host controller drivers
+obj-$(CONFIG_I2C_HYDRA)                += i2c-hydra.o
+obj-$(CONFIG_I2C_POWERMAC)     += i2c-powermac.o
+
+# Embebbed system I2C/SMBus host controller drivers
 obj-$(CONFIG_I2C_AT91)         += i2c-at91.o
 obj-$(CONFIG_I2C_AU1550)       += i2c-au1550.o
 obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
 obj-$(CONFIG_I2C_DAVINCI)      += i2c-davinci.o
 obj-$(CONFIG_I2C_AT91)         += i2c-at91.o
 obj-$(CONFIG_I2C_AU1550)       += i2c-au1550.o
 obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
 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)         += i2c-gpio.o
-obj-$(CONFIG_I2C_HYDRA)                += i2c-hydra.o
-obj-$(CONFIG_I2C_I801)         += i2c-i801.o
 obj-$(CONFIG_I2C_IBM_IIC)      += i2c-ibm_iic.o
 obj-$(CONFIG_I2C_IOP3XX)       += i2c-iop3xx.o
 obj-$(CONFIG_I2C_IXP2000)      += i2c-ixp2000.o
 obj-$(CONFIG_I2C_IBM_IIC)      += i2c-ibm_iic.o
 obj-$(CONFIG_I2C_IOP3XX)       += i2c-iop3xx.o
 obj-$(CONFIG_I2C_IXP2000)      += i2c-ixp2000.o
-obj-$(CONFIG_I2C_POWERMAC)     += i2c-powermac.o
 obj-$(CONFIG_I2C_MPC)          += i2c-mpc.o
 obj-$(CONFIG_I2C_MV64XXX)      += i2c-mv64xxx.o
 obj-$(CONFIG_I2C_MPC)          += i2c-mpc.o
 obj-$(CONFIG_I2C_MV64XXX)      += i2c-mv64xxx.o
-obj-$(CONFIG_I2C_NFORCE2)      += i2c-nforce2.o
-obj-$(CONFIG_I2C_NFORCE2_S4985)        += i2c-nforce2-s4985.o
 obj-$(CONFIG_I2C_OCORES)       += i2c-ocores.o
 obj-$(CONFIG_I2C_OMAP)         += i2c-omap.o
 obj-$(CONFIG_I2C_OCORES)       += i2c-ocores.o
 obj-$(CONFIG_I2C_OMAP)         += i2c-omap.o
-obj-$(CONFIG_I2C_PARPORT)      += i2c-parport.o
-obj-$(CONFIG_I2C_PARPORT_LIGHT)        += i2c-parport-light.o
 obj-$(CONFIG_I2C_PASEMI)       += i2c-pasemi.o
 obj-$(CONFIG_I2C_PASEMI)       += i2c-pasemi.o
-obj-$(CONFIG_I2C_PCA_ISA)      += i2c-pca-isa.o
-obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o
-obj-$(CONFIG_I2C_PIIX4)                += i2c-piix4.o
-obj-$(CONFIG_I2C_PMCMSP)       += i2c-pmcmsp.o
 obj-$(CONFIG_I2C_PNX)          += i2c-pnx.o
 obj-$(CONFIG_I2C_PXA)          += i2c-pxa.o
 obj-$(CONFIG_I2C_S3C2410)      += i2c-s3c2410.o
 obj-$(CONFIG_I2C_SH7760)       += i2c-sh7760.o
 obj-$(CONFIG_I2C_SH_MOBILE)    += i2c-sh_mobile.o
 obj-$(CONFIG_I2C_PNX)          += i2c-pnx.o
 obj-$(CONFIG_I2C_PXA)          += i2c-pxa.o
 obj-$(CONFIG_I2C_S3C2410)      += i2c-s3c2410.o
 obj-$(CONFIG_I2C_SH7760)       += i2c-sh7760.o
 obj-$(CONFIG_I2C_SH_MOBILE)    += i2c-sh_mobile.o
-obj-$(CONFIG_I2C_SIBYTE)       += i2c-sibyte.o
 obj-$(CONFIG_I2C_SIMTEC)       += i2c-simtec.o
 obj-$(CONFIG_I2C_SIMTEC)       += i2c-simtec.o
-obj-$(CONFIG_I2C_SIS5595)      += i2c-sis5595.o
-obj-$(CONFIG_I2C_SIS630)       += i2c-sis630.o
-obj-$(CONFIG_I2C_SIS96X)       += i2c-sis96x.o
-obj-$(CONFIG_I2C_STUB)         += i2c-stub.o
+obj-$(CONFIG_I2C_VERSATILE)    += i2c-versatile.o
+
+# External I2C/SMBus adapter drivers
+obj-$(CONFIG_I2C_PARPORT)      += i2c-parport.o
+obj-$(CONFIG_I2C_PARPORT_LIGHT)        += i2c-parport-light.o
 obj-$(CONFIG_I2C_TAOS_EVM)     += i2c-taos-evm.o
 obj-$(CONFIG_I2C_TINY_USB)     += i2c-tiny-usb.o
 obj-$(CONFIG_I2C_TAOS_EVM)     += i2c-taos-evm.o
 obj-$(CONFIG_I2C_TINY_USB)     += i2c-tiny-usb.o
-obj-$(CONFIG_I2C_VERSATILE)    += i2c-versatile.o
-obj-$(CONFIG_I2C_ACORN)                += i2c-acorn.o
-obj-$(CONFIG_I2C_VIA)          += i2c-via.o
-obj-$(CONFIG_I2C_VIAPRO)       += i2c-viapro.o
+
+# Graphics adapter I2C/DDC channel drivers
 obj-$(CONFIG_I2C_VOODOO3)      += i2c-voodoo3.o
 obj-$(CONFIG_I2C_VOODOO3)      += i2c-voodoo3.o
+
+# Other I2C/SMBus bus drivers
+obj-$(CONFIG_I2C_ACORN)                += i2c-acorn.o
+obj-$(CONFIG_I2C_ELEKTOR)      += i2c-elektor.o
+obj-$(CONFIG_I2C_PCA_ISA)      += i2c-pca-isa.o
+obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o
+obj-$(CONFIG_I2C_PMCMSP)       += i2c-pmcmsp.o
+obj-$(CONFIG_I2C_SIBYTE)       += i2c-sibyte.o
+obj-$(CONFIG_I2C_STUB)         += i2c-stub.o
 obj-$(CONFIG_SCx200_ACB)       += scx200_acb.o
 obj-$(CONFIG_SCx200_I2C)       += scx200_i2c.o
 
 obj-$(CONFIG_SCx200_ACB)       += scx200_acb.o
 obj-$(CONFIG_SCx200_I2C)       += scx200_i2c.o