Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-09-19 Thread Arnd Bergmann
On Thursday 15 September 2011, Grant Likely wrote:
  diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
  index 21574bd..1836cdf 100644
  --- a/drivers/mfd/Kconfig
  +++ b/drivers/mfd/Kconfig
  @@ -2,10 +2,9 @@
   # Multifunction miscellaneous devices
   #
   
  -menuconfig MFD_SUPPORT
  - bool Multifunction device drivers
  +menuconfig MFD_CORE
  + tristate Multifunction device drivers
depends on HAS_IOMEM
  - default y
 
 Looks like there is a bug here.  Kconfig symbols with dependencies
 (HAS_IOMEM) must not ever be selected by other symbols because Kconfig
 doesn't implement a way to resolve them.  This patch means that every
 select MFD_CORE just assumes that HAS_IOMEM is also selected.

That is probably a fair assumption though. Almost all architectures
set HAS_IOMEM unconditionally, and the other ones (probably just s390)
would not select MFD_CORE.

Note that Samuel already took the other patch in the end, so it doesn't
matter. The patch I posted encloses the entire directory in if HAS_IOMEM.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-09-15 Thread Grant Likely
On Mon, Aug 29, 2011 at 09:41:47PM +0300, Luciano Coelho wrote:
 ---
 @@ -417,7 +417,6 @@ config GPIO_TIMBERDALE
  config GPIO_RDC321X
   tristate RDC R-321x GPIO support
   depends on PCI
 - select MFD_SUPPORT
   select MFD_CORE
   select MFD_RDC321X
   help
 diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
 index 21574bd..1836cdf 100644
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
 @@ -2,10 +2,9 @@
  # Multifunction miscellaneous devices
  #
  
 -menuconfig MFD_SUPPORT
 - bool Multifunction device drivers
 +menuconfig MFD_CORE
 + tristate Multifunction device drivers
   depends on HAS_IOMEM
 - default y

Looks like there is a bug here.  Kconfig symbols with dependencies
(HAS_IOMEM) must not ever be selected by other symbols because Kconfig
doesn't implement a way to resolve them.  This patch means that every
select MFD_CORE just assumes that HAS_IOMEM is also selected.

g.

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-09-02 Thread Luciano Coelho
On Wed, 2011-08-31 at 18:49 +0200, Arnd Bergmann wrote: 
 On Monday 29 August 2011, Luciano Coelho wrote:
  From: Randy Dunlap rdun...@xenotime.net
  
  Combine MFD_SUPPORT (which only enabled the remainder of the MFD
  menu) and MFD_CORE.  This allows other drivers to select MFD_CORE
  without needing to also select MFD_SUPPORT, which fixes some
  kconfig unmet dependency warnings.  Modeled after I2C kconfig.
  
  [Forward-ported to 3.1-rc4.  This fixes a warning when some drivers,
  such as RADIO_WL1273, are selected, but MFD_SUPPORT is not. -- Luca]
  
  Signed-off-by: Randy Dunlap rdun...@xenotime.net
  Reported-by: Johannes Berg johan...@sipsolutions.net
  Cc: Jean Delvare kh...@linux-fr.org
  Cc: Tony Lindgren t...@atomide.com
  Cc: Grant Likely grant.lik...@secretlab.ca
  Signed-off-by: Luciano Coelho coe...@ti.com
  ---
  
  I guess this should fix the problem.  I've simple forward-ported
  Randy's patch to the latest mainline kernel.  I don't know via which
  tree this should go in, though.
  
  NOTE: I have not tested this very thoroughly.  But at least
  omap2plus stuff seems to work okay with this change.  MFD_SUPPORT is
  also selected by a couple of tile platforms defconfigs, but I guess
  the Kconfig system should take care of it.
 
 Doing this is a good idea, but incidentally I have just spent some time
 with the same problem and ended up with a solution that I like better,
 which is removing CONFIG_MFD_SUPPORT altogether.
 
 The point is that there is no use enabling MFD_CORE if you don't also
 enable any of the specific drivers. MFD_SUPPORT was added as a 'menuconfig'
 before we had Kconfig warn about broken dependencies, so everything was
 fine. Since Kconfig now issues the warnings, I think it would be better
 to just turn the MFD menu into a plain 'menu' and remove all the
 'depends on MFD_SUPPORT' and 'select MFD_SUPPORT' lines from the other
 Kconfig files.

Yes, this makes sense.  I think your solution is indeed cleaner.  If you
want to send it it's fine with me.  I don't really have any preference,
I just wanted to clean a problem that was reported to me. ;)

If you send your changes, my patch can be ignored, otherwise, I can send
a v2 with the changes Jean proposed.


-- 
Cheers,
Luca.

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-09-02 Thread Jean Delvare
Hi Arnd,

On Wed, 31 Aug 2011 18:49:37 +0200, Arnd Bergmann wrote:
 On Monday 29 August 2011, Luciano Coelho wrote:
  From: Randy Dunlap rdun...@xenotime.net
  
  Combine MFD_SUPPORT (which only enabled the remainder of the MFD
  menu) and MFD_CORE.  This allows other drivers to select MFD_CORE
  without needing to also select MFD_SUPPORT, which fixes some
  kconfig unmet dependency warnings.  Modeled after I2C kconfig.
  
  [Forward-ported to 3.1-rc4.  This fixes a warning when some drivers,
  such as RADIO_WL1273, are selected, but MFD_SUPPORT is not. -- Luca]
  
  Signed-off-by: Randy Dunlap rdun...@xenotime.net
  Reported-by: Johannes Berg johan...@sipsolutions.net
  Cc: Jean Delvare kh...@linux-fr.org
  Cc: Tony Lindgren t...@atomide.com
  Cc: Grant Likely grant.lik...@secretlab.ca
  Signed-off-by: Luciano Coelho coe...@ti.com
  ---
  
  I guess this should fix the problem.  I've simple forward-ported
  Randy's patch to the latest mainline kernel.  I don't know via which
  tree this should go in, though.
  
  NOTE: I have not tested this very thoroughly.  But at least
  omap2plus stuff seems to work okay with this change.  MFD_SUPPORT is
  also selected by a couple of tile platforms defconfigs, but I guess
  the Kconfig system should take care of it.
 
 Doing this is a good idea, but incidentally I have just spent some time
 with the same problem and ended up with a solution that I like better,
 which is removing CONFIG_MFD_SUPPORT altogether.
 
 The point is that there is no use enabling MFD_CORE if you don't also
 enable any of the specific drivers.

Same holds for pretty much every subsystem, right?

 MFD_SUPPORT was added as a 'menuconfig'
 before we had Kconfig warn about broken dependencies, so everything was
 fine. Since Kconfig now issues the warnings, I think it would be better
 to just turn the MFD menu into a plain 'menu' and remove all the
 'depends on MFD_SUPPORT' and 'select MFD_SUPPORT' lines from the other
 Kconfig files.

This would make it impossible to turn off all MFD drivers at once. I
think this is considered a feature, at least I find it very convenient
to be able to kill a subsystem completely. And in the past few years
many subsystems were turned from menu to menuconfig for this reason.
But maybe MFD is a special case here.

Anyway, if you want your patch to be applied, you'll have to send it
for review first, as at this point all we have is Luciano's proposal.

-- 
Jean Delvare
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-09-02 Thread Arnd Bergmann
On Friday 02 September 2011, Jean Delvare wrote:
  Doing this is a good idea, but incidentally I have just spent some time
  with the same problem and ended up with a solution that I like better,
  which is removing CONFIG_MFD_SUPPORT altogether.
  
  The point is that there is no use enabling MFD_CORE if you don't also
  enable any of the specific drivers.
 
 Same holds for pretty much every subsystem, right?

I think not: MFD is a bit different from other subsystems in that it does
not have a user space interface by itself. It's also different from bus
drivers in that it is not specific to some particular class of hardware,
since it only abstracts devices that do multiple things independent of
how they do them.

It is similar to MISC_DEVICES (drivers/misc) in some regards, and I
would also like to turn that one back from menuconfig into menu for
the same reasons.

  MFD_SUPPORT was added as a 'menuconfig'
  before we had Kconfig warn about broken dependencies, so everything was
  fine. Since Kconfig now issues the warnings, I think it would be better
  to just turn the MFD menu into a plain 'menu' and remove all the
  'depends on MFD_SUPPORT' and 'select MFD_SUPPORT' lines from the other
  Kconfig files.
 
 This would make it impossible to turn off all MFD drivers at once. I
 think this is considered a feature, at least I find it very convenient
 to be able to kill a subsystem completely. And in the past few years
 many subsystems were turned from menu to menuconfig for this reason.
 But maybe MFD is a special case here.

I agree that it's convenient for a lot of subsystems to be able to
turn them off entirely, but in case of MFD and MISC, I cannot see a clear
use case for that.

 Anyway, if you want your patch to be applied, you'll have to send it
 for review first, as at this point all we have is Luciano's proposal.

Ok. I had actually meant to send this mail out before the patches, but
apparently it got stuck in my mail client.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-08-31 Thread Jean Delvare
Hi Luciano,

On Mon, 29 Aug 2011 21:41:47 +0300, Luciano Coelho wrote:
 From: Randy Dunlap rdun...@xenotime.net
 
 Combine MFD_SUPPORT (which only enabled the remainder of the MFD
 menu) and MFD_CORE.  This allows other drivers to select MFD_CORE
 without needing to also select MFD_SUPPORT, which fixes some
 kconfig unmet dependency warnings.  Modeled after I2C kconfig.
 
 [Forward-ported to 3.1-rc4.  This fixes a warning when some drivers,
 such as RADIO_WL1273, are selected, but MFD_SUPPORT is not. -- Luca]

I like the idea in general, this makes things much simpler.

There is at least one issue with your current implementation though.
make oldconfig has this to complain about:

drivers/mfd/Kconfig:5:error: recursive dependency detected!
drivers/mfd/Kconfig:5:  symbol MFD_CORE is selected by OLPC_XO1_PM
arch/x86/Kconfig:2028:  symbol OLPC_XO1_PM depends on MFD_CS5535
drivers/mfd/Kconfig:613:symbol MFD_CS5535 depends on MFD_CORE

Not sure if it is really caused by your patch or only revealed by it,
but it should be fixed anyway. The following should fix it, please
consider folding in your patch:

--- linux-3.1-rc4.orig/arch/x86/Kconfig 2011-08-16 11:49:42.0 +0200
+++ linux-3.1-rc4/arch/x86/Kconfig  2011-08-31 16:54:09.0 +0200
@@ -2028,7 +2028,6 @@ config OLPC
 config OLPC_XO1_PM
bool OLPC XO-1 Power Management
depends on OLPC  MFD_CS5535  PM_SLEEP
-   select MFD_CORE
---help---
  Add support for poweroff and suspend of the OLPC XO-1 laptop.
 
@@ -2044,7 +2043,6 @@ config OLPC_XO1_SCI
depends on OLPC  OLPC_XO1_PM
select POWER_SUPPLY
select GPIO_CS5535
-   select MFD_CORE
---help---
  Add support for SCI-based features of the OLPC XO-1 laptop:
   - EC-driven system wakeups

 
 Signed-off-by: Randy Dunlap rdun...@xenotime.net
 Reported-by: Johannes Berg johan...@sipsolutions.net
 Cc: Jean Delvare kh...@linux-fr.org
 Cc: Tony Lindgren t...@atomide.com
 Cc: Grant Likely grant.lik...@secretlab.ca
 Signed-off-by: Luciano Coelho coe...@ti.com
 ---
 
 I guess this should fix the problem.  I've simple forward-ported
 Randy's patch to the latest mainline kernel.  I don't know via which
 tree this should go in, though.

Samuel Ortiz is the maintainer of the mfd subsystem, so his tree would
be an obvious choice.

 NOTE: I have *not* tested this very thoroughly.  But at least
 omap2plus stuff seems to work okay with this change.  MFD_SUPPORT is
 also selected by a couple of tile platforms defconfigs, but I guess
 the Kconfig system should take care of it.

I can't test it either, but it looks sane to me. If you merge the
proposed changes above, you can add:

Acked-by: Jean Delvare kh...@linux-fr.org

-- 
Jean Delvare
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-08-31 Thread Arnd Bergmann
On Monday 29 August 2011, Luciano Coelho wrote:
 From: Randy Dunlap rdun...@xenotime.net
 
 Combine MFD_SUPPORT (which only enabled the remainder of the MFD
 menu) and MFD_CORE.  This allows other drivers to select MFD_CORE
 without needing to also select MFD_SUPPORT, which fixes some
 kconfig unmet dependency warnings.  Modeled after I2C kconfig.
 
 [Forward-ported to 3.1-rc4.  This fixes a warning when some drivers,
 such as RADIO_WL1273, are selected, but MFD_SUPPORT is not. -- Luca]
 
 Signed-off-by: Randy Dunlap rdun...@xenotime.net
 Reported-by: Johannes Berg johan...@sipsolutions.net
 Cc: Jean Delvare kh...@linux-fr.org
 Cc: Tony Lindgren t...@atomide.com
 Cc: Grant Likely grant.lik...@secretlab.ca
 Signed-off-by: Luciano Coelho coe...@ti.com
 ---
 
 I guess this should fix the problem.  I've simple forward-ported
 Randy's patch to the latest mainline kernel.  I don't know via which
 tree this should go in, though.
 
 NOTE: I have not tested this very thoroughly.  But at least
 omap2plus stuff seems to work okay with this change.  MFD_SUPPORT is
 also selected by a couple of tile platforms defconfigs, but I guess
 the Kconfig system should take care of it.

Doing this is a good idea, but incidentally I have just spent some time
with the same problem and ended up with a solution that I like better,
which is removing CONFIG_MFD_SUPPORT altogether.

The point is that there is no use enabling MFD_CORE if you don't also
enable any of the specific drivers. MFD_SUPPORT was added as a 'menuconfig'
before we had Kconfig warn about broken dependencies, so everything was
fine. Since Kconfig now issues the warnings, I think it would be better
to just turn the MFD menu into a plain 'menu' and remove all the
'depends on MFD_SUPPORT' and 'select MFD_SUPPORT' lines from the other
Kconfig files.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-08-29 Thread Luciano Coelho
From: Randy Dunlap rdun...@xenotime.net

Combine MFD_SUPPORT (which only enabled the remainder of the MFD
menu) and MFD_CORE.  This allows other drivers to select MFD_CORE
without needing to also select MFD_SUPPORT, which fixes some
kconfig unmet dependency warnings.  Modeled after I2C kconfig.

[Forward-ported to 3.1-rc4.  This fixes a warning when some drivers,
such as RADIO_WL1273, are selected, but MFD_SUPPORT is not. -- Luca]

Signed-off-by: Randy Dunlap rdun...@xenotime.net
Reported-by: Johannes Berg johan...@sipsolutions.net
Cc: Jean Delvare kh...@linux-fr.org
Cc: Tony Lindgren t...@atomide.com
Cc: Grant Likely grant.lik...@secretlab.ca
Signed-off-by: Luciano Coelho coe...@ti.com
---

I guess this should fix the problem.  I've simple forward-ported
Randy's patch to the latest mainline kernel.  I don't know via which
tree this should go in, though.

NOTE: I have *not* tested this very thoroughly.  But at least
omap2plus stuff seems to work okay with this change.  MFD_SUPPORT is
also selected by a couple of tile platforms defconfigs, but I guess
the Kconfig system should take care of it.

 arch/arm/mach-omap2/Kconfig |2 +-
 drivers/gpio/Kconfig|3 +-
 drivers/mfd/Kconfig |   54 +++---
 3 files changed, 6 insertions(+), 53 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 57b66d5..1046923 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -14,7 +14,7 @@ config ARCH_OMAP2PLUS_TYPICAL
select SERIAL_OMAP_CONSOLE
select I2C
select I2C_OMAP
-   select MFD_SUPPORT
+   select MFD_CORE
select MENELAUS if ARCH_OMAP2
select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index d539efd..fbc5fd4 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -180,7 +180,7 @@ config GPIO_SCH
 
 config GPIO_VX855
tristate VIA VX855/VX875 GPIO
-   depends on MFD_SUPPORT  PCI
+   depends on PCI
select MFD_CORE
select MFD_VX855
help
@@ -417,7 +417,6 @@ config GPIO_TIMBERDALE
 config GPIO_RDC321X
tristate RDC R-321x GPIO support
depends on PCI
-   select MFD_SUPPORT
select MFD_CORE
select MFD_RDC321X
help
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 21574bd..1836cdf 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -2,10 +2,9 @@
 # Multifunction miscellaneous devices
 #
 
-menuconfig MFD_SUPPORT
-   bool Multifunction device drivers
+menuconfig MFD_CORE
+   tristate Multifunction device drivers
depends on HAS_IOMEM
-   default y
help
  Multifunction devices embed several functions (e.g. GPIOs,
  touchscreens, keyboards, current regulators, power management chips,
@@ -18,16 +17,11 @@ menuconfig MFD_SUPPORT
 
  This option alone does not add any kernel code.
 
-if MFD_SUPPORT
-
-config MFD_CORE
-   tristate
-   default n
+if MFD_CORE
 
 config MFD_88PM860X
bool Support Marvell 88PM8606/88PM8607
depends on I2C=y  GENERIC_HARDIRQS
-   select MFD_CORE
help
  This supports for Marvell 88PM8606/88PM8607 Power Management IC.
  This includes the I2C driver and the core APIs _only_, you have to
@@ -55,14 +49,12 @@ config MFD_SM501_GPIO
 config MFD_ASIC3
bool Support for Compaq ASIC3
depends on GENERIC_HARDIRQS  GPIOLIB  ARM
-   select MFD_CORE
 ---help---
  This driver supports the ASIC3 multifunction chip found on many
  PDAs (mainly iPAQ and HTC based ones)
 
 config MFD_DAVINCI_VOICECODEC
tristate
-   select MFD_CORE
 
 config MFD_DM355EVM_MSP
bool DaVinci DM355 EVM microcontroller
@@ -75,7 +67,6 @@ config MFD_DM355EVM_MSP
 config MFD_TI_SSP
tristate TI Sequencer Serial Port support
depends on ARCH_DAVINCI_TNETV107X
-   select MFD_CORE
---help---
  Say Y here if you want support for the Sequencer Serial Port
  in a Texas Instruments TNETV107X SoC.
@@ -93,7 +84,6 @@ config HTC_EGPIO
 
 config HTC_PASIC3
tristate HTC PASIC3 LED/DS1WM chip support
-   select MFD_CORE
help
  This core driver provides register access for the LED/DS1WM
  chips labeled AIC2 and AIC3, found on HTC Blueangel and
@@ -124,7 +114,6 @@ config TPS6105X
tristate TPS61050/61052 Boost Converters
depends on I2C
select REGULATOR
-   select MFD_CORE
select REGULATOR_FIXED_VOLTAGE
help
  This option enables a driver for the TP61050/TPS61052
@@ -147,7 +136,6 @@ config TPS65010
 
 config TPS6507X
tristate TPS6507x Power Management / Touch Screen chips
-   select MFD_CORE
depends on I2C
help
  If you say yes here you get support for the TPS6507x 

Re: [PATCH] mfd: Combine MFD_SUPPORT and MFD_CORE

2011-08-29 Thread Grant Likely
On Mon, Aug 29, 2011 at 12:41 PM, Luciano Coelho coe...@ti.com wrote:
 From: Randy Dunlap rdun...@xenotime.net

 Combine MFD_SUPPORT (which only enabled the remainder of the MFD
 menu) and MFD_CORE.  This allows other drivers to select MFD_CORE
 without needing to also select MFD_SUPPORT, which fixes some
 kconfig unmet dependency warnings.  Modeled after I2C kconfig.

 [Forward-ported to 3.1-rc4.  This fixes a warning when some drivers,
 such as RADIO_WL1273, are selected, but MFD_SUPPORT is not. -- Luca]

 Signed-off-by: Randy Dunlap rdun...@xenotime.net
 Reported-by: Johannes Berg johan...@sipsolutions.net
 Cc: Jean Delvare kh...@linux-fr.org
 Cc: Tony Lindgren t...@atomide.com
 Cc: Grant Likely grant.lik...@secretlab.ca
 Signed-off-by: Luciano Coelho coe...@ti.com

okay by me.

g.

 ---

 I guess this should fix the problem.  I've simple forward-ported
 Randy's patch to the latest mainline kernel.  I don't know via which
 tree this should go in, though.

 NOTE: I have *not* tested this very thoroughly.  But at least
 omap2plus stuff seems to work okay with this change.  MFD_SUPPORT is
 also selected by a couple of tile platforms defconfigs, but I guess
 the Kconfig system should take care of it.

  arch/arm/mach-omap2/Kconfig |    2 +-
  drivers/gpio/Kconfig        |    3 +-
  drivers/mfd/Kconfig         |   54 +++---
  3 files changed, 6 insertions(+), 53 deletions(-)

 diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
 index 57b66d5..1046923 100644
 --- a/arch/arm/mach-omap2/Kconfig
 +++ b/arch/arm/mach-omap2/Kconfig
 @@ -14,7 +14,7 @@ config ARCH_OMAP2PLUS_TYPICAL
        select SERIAL_OMAP_CONSOLE
        select I2C
        select I2C_OMAP
 -       select MFD_SUPPORT
 +       select MFD_CORE
        select MENELAUS if ARCH_OMAP2
        select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
        select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
 diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
 index d539efd..fbc5fd4 100644
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
 @@ -180,7 +180,7 @@ config GPIO_SCH

  config GPIO_VX855
        tristate VIA VX855/VX875 GPIO
 -       depends on MFD_SUPPORT  PCI
 +       depends on PCI
        select MFD_CORE
        select MFD_VX855
        help
 @@ -417,7 +417,6 @@ config GPIO_TIMBERDALE
  config GPIO_RDC321X
        tristate RDC R-321x GPIO support
        depends on PCI
 -       select MFD_SUPPORT
        select MFD_CORE
        select MFD_RDC321X
        help
 diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
 index 21574bd..1836cdf 100644
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
 @@ -2,10 +2,9 @@
  # Multifunction miscellaneous devices
  #

 -menuconfig MFD_SUPPORT
 -       bool Multifunction device drivers
 +menuconfig MFD_CORE
 +       tristate Multifunction device drivers
        depends on HAS_IOMEM
 -       default y
        help
          Multifunction devices embed several functions (e.g. GPIOs,
          touchscreens, keyboards, current regulators, power management chips,
 @@ -18,16 +17,11 @@ menuconfig MFD_SUPPORT

          This option alone does not add any kernel code.

 -if MFD_SUPPORT
 -
 -config MFD_CORE
 -       tristate
 -       default n
 +if MFD_CORE

  config MFD_88PM860X
        bool Support Marvell 88PM8606/88PM8607
        depends on I2C=y  GENERIC_HARDIRQS
 -       select MFD_CORE
        help
          This supports for Marvell 88PM8606/88PM8607 Power Management IC.
          This includes the I2C driver and the core APIs _only_, you have to
 @@ -55,14 +49,12 @@ config MFD_SM501_GPIO
  config MFD_ASIC3
        bool Support for Compaq ASIC3
        depends on GENERIC_HARDIRQS  GPIOLIB  ARM
 -       select MFD_CORE
         ---help---
          This driver supports the ASIC3 multifunction chip found on many
          PDAs (mainly iPAQ and HTC based ones)

  config MFD_DAVINCI_VOICECODEC
        tristate
 -       select MFD_CORE

  config MFD_DM355EVM_MSP
        bool DaVinci DM355 EVM microcontroller
 @@ -75,7 +67,6 @@ config MFD_DM355EVM_MSP
  config MFD_TI_SSP
        tristate TI Sequencer Serial Port support
        depends on ARCH_DAVINCI_TNETV107X
 -       select MFD_CORE
        ---help---
          Say Y here if you want support for the Sequencer Serial Port
          in a Texas Instruments TNETV107X SoC.
 @@ -93,7 +84,6 @@ config HTC_EGPIO

  config HTC_PASIC3
        tristate HTC PASIC3 LED/DS1WM chip support
 -       select MFD_CORE
        help
          This core driver provides register access for the LED/DS1WM
          chips labeled AIC2 and AIC3, found on HTC Blueangel and
 @@ -124,7 +114,6 @@ config TPS6105X
        tristate TPS61050/61052 Boost Converters
        depends on I2C
        select REGULATOR
 -       select MFD_CORE
        select REGULATOR_FIXED_VOLTAGE
        help
          This option enables a driver for the TP61050/TPS61052
 @@ -147,7 +136,6 @@ config TPS65010

  config TPS6507X
        tristate TPS6507x Power