1. 15 11月, 2012 1 次提交
    • L
      mfd: tps6586x: move regulator dt parsing to regulator driver · 64e48160
      Laxman Dewangan 提交于
      Moving regulator node parsing to regulator driver in place
      of parsing it on mfd driver.
      The motivation for this change are:
      - MFD core driver should not depends on regulator and able
        to instantiate device without regulator.
      - The API for matching regulators are in regulator core and
        it is good that regulator driver only calls this API.
      - Regulator specific support should be in regulator driver only
        to ease any enhancement/modification for regulators.
      - The regulator driver is now registered as mfd sub device and
        all regulator registration is done from single probe call.
      Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      64e48160
  2. 01 10月, 2012 1 次提交
  3. 29 9月, 2012 1 次提交
  4. 24 9月, 2012 1 次提交
    • M
      mfd: Add lp8788 mfd driver · eea6b7cc
      Milo Kim 提交于
      TI LP8788 PMU provides regulators, battery charger, ADC,
      RTC, backlight driver and current sinks.
      
      This MFD patch supports the I2C communication using the regmap,
      the interrupt handling using the linear IRQ domain and
      configurable platform data structures for each driver module.
      
       (Driver Architecture)
      
                                               < mfd devices >
        LP8788 HW  ..........  mfd  .......... regulator drivers
                      I2C                      power supply driver
                      IRQs                     iio adc driver
                                               rtc driver
                                               backlight driver
                                               current sink drivers
      
        o regulators    : LDOs and BUCKs
        o power supply  : Battery charger
        o iio adc       : Battery voltage/temperature
        o rtc           : RTC and alarm
        o backlight
        o current sink  : LED and vibrator
      
      All MFD device modules are registered by LP8788 MFD core driver.
      For sharing information such like the virtual IRQ number,
      MFD core driver uses the resource structure.
      Then each module can retrieve the specific IRQ number and detect it
      in the IRQ thread.
      
      Configurable platform data is handled in each driver module.
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      eea6b7cc
  5. 22 9月, 2012 1 次提交
  6. 19 9月, 2012 1 次提交
  7. 17 9月, 2012 3 次提交
  8. 21 8月, 2012 1 次提交
    • G
      gpu/mfd/usb: Fix USB randconfig problems · 8f057d7b
      Guenter Roeck 提交于
      Fix config warning:
      
      warning: ( ... && DRM_USB) selects USB which has unmet direct dependencies
      (USB_SUPPORT && USB_ARCH_HAS_HCD)
      
      and build error:
      ERROR: "usb_speed_string" [drivers/usb/core/usbcore.ko] undefined!
      
      by adding the missing dependency on USB_ARCH_HAS_HCD to DRM_UDL and DRM_USB.
      
      This exposes:
      drivers/video/Kconfig:36:error: recursive dependency detected!
      drivers/video/Kconfig:36:       symbol FB is selected by DRM_KMS_HELPER
      drivers/gpu/drm/Kconfig:28:     symbol DRM_KMS_HELPER is selected by DRM_UDL
      drivers/gpu/drm/udl/Kconfig:1:  symbol DRM_UDL depends on USB_ARCH_HAS_HCD
      drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
      drivers/usb/Kconfig:16: symbol USB_ARCH_HAS_OHCI depends on I2C
      drivers/i2c/Kconfig:5:  symbol I2C is selected by FB_DDC
      drivers/video/Kconfig:86:       symbol FB_DDC is selected by FB_CYBER2000_DDC
      drivers/video/Kconfig:385:      symbol FB_CYBER2000_DDC depends on FB_CYBER2000
      drivers/video/Kconfig:373:      symbol FB_CYBER2000 depends on FB
      
      which is due to drivers/usb/Kconfig:
      config USB_ARCH_HAS_OHCI
      	...
      	default y if ARCH_PNX4008 && I2C
      
      Fix by dropping I2C from the above dependency; logic is that this is not a
      platform dependency but a configuration dependency: the _architecture_ still
      supports USB even is I2C is not selected.
      
      This exposes:
      drivers/video/Kconfig:36:error: recursive dependency detected!
      drivers/video/Kconfig:36:       symbol FB is selected by DRM_KMS_HELPER
      drivers/gpu/drm/Kconfig:28:     symbol DRM_KMS_HELPER is selected by DRM_UDL
      drivers/gpu/drm/udl/Kconfig:1:  symbol DRM_UDL depends on USB_ARCH_HAS_HCD
      drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
      drivers/usb/Kconfig:17: symbol USB_ARCH_HAS_OHCI depends on MFD_TC6393XB
      drivers/mfd/Kconfig:396:        symbol MFD_TC6393XB depends on GPIOLIB
      drivers/gpio/Kconfig:35:        symbol GPIOLIB is selected by FB_VIA
      drivers/video/Kconfig:1560:     symbol FB_VIA depends on FB
      
      which can be fixed by having MFD_TC6393XB select GPIOLIB instead of depending on
      it.
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8f057d7b
  9. 27 7月, 2012 1 次提交
    • S
      mfd: Arizone core should select MFD_CORE · c481c048
      Samuel Ortiz 提交于
      Otherwise, with:
      
      CONFIG_MFD_ARIZONA=y
      CONFIG_MFD_ARIZONA_I2C=m
      CONFIG_MFD_CORE=m
      
      We get:
      
      drivers/built-in.o: In function `arizona_dev_init':
      (.devinit.text+0x3ab0): undefined reference to `mfd_add_devices'
      drivers/built-in.o: In function `arizona_dev_init':
      (.devinit.text+0x3fdc): undefined reference to `mfd_add_devices'
      drivers/built-in.o: In function `arizona_dev_init':
      (.devinit.text+0x3fff): undefined reference to `mfd_add_devices'
      drivers/built-in.o: In function `arizona_dev_init':
      (.devinit.text+0x4059): undefined reference to `mfd_remove_devices'
      drivers/built-in.o: In function `arizona_dev_exit':
      (.devexit.text+0x9): undefined reference to `mfd_remove_devices'
      Reported-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      c481c048
  10. 25 7月, 2012 3 次提交
  11. 23 7月, 2012 1 次提交
    • T
      pwm: Conflict with legacy PWM API · eac7a92f
      Thierry Reding 提交于
      In order to avoid duplicate symbols with legacy PWM API implementations,
      the new PWM framework needs to conflict with any of the existing legacy
      implementations. This is done in two ways: for implementations provided
      by drivers, a conflict is added to the driver to ensure it will have to
      be ported to the PWM subsystem before it can coexist with other PWM
      providers. For architecture-specific code, the conflict is added to the
      PWM symbol to avoid confusion when a previously picked platform or
      machine can no longer be selected because of the PWM subsystem being
      included.
      Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de>
      eac7a92f
  12. 16 7月, 2012 3 次提交
  13. 09 7月, 2012 10 次提交
  14. 23 6月, 2012 1 次提交
  15. 24 5月, 2012 1 次提交
    • C
      mfd: Fix build break of max77693 by adding REGMAP_I2C option · 29f772d4
      Chanwoo Choi 提交于
      This patch add REGMAP_I2C config option to fix build break
      of max77693 mfd driver because max77693 use regmap interface
      for i2c communication.
      
      drivers/mfd/max77693.c:103: error: variable 'max77693_regmap_config' has initializer but incomplete type
      drivers/mfd/max77693.c:104: error: unknown field 'reg_bits' specified in initializer
      drivers/mfd/max77693.c:104: warning: excess elements in struct initializer
      drivers/mfd/max77693.c:104: warning: (near initialization for 'max77693_regmap_config')
      drivers/mfd/max77693.c:105: error: unknown field 'val_bits' specified in initializer
      drivers/mfd/max77693.c:105: warning: excess elements in struct initializer
      drivers/mfd/max77693.c:105: warning: (near initialization for 'max77693_regmap_config')
      drivers/mfd/max77693.c:106: error: unknown field 'max_register' specified in initializer
      drivers/mfd/max77693.c:106: warning: excess elements in struct initializer
      drivers/mfd/max77693.c:106: warning: (near initialization for 'max77693_regmap_config')
      drivers/mfd/max77693.c: In function 'max77693_i2c_probe':
      drivers/mfd/max77693.c:122: error: implicit declaration of function 'devm_regmap_init_i2c'
      drivers/mfd/max77693.c:122: warning: assignment makes pointer from integer without a cast
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NMyungjoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      29f772d4
  16. 23 5月, 2012 2 次提交
    • L
      mfd: ab8500-core should depend on MFD_DB8500_PRCMU · 21f082a6
      Lee Jones 提交于
      A recent move to eliminate excess historical baggage from ab8500 core
      code resulting in errors when building with x86_64 allmodconfig:
      
      In file included from drivers/mfd/ab8500-core.c:21:0:
      include/linux/mfd/dbx500-prcmu.h:614:19: error: redefinition of 'prcmu_abb_read'
      include/linux/mfd/db8500-prcmu.h:673:19: note: previous definition of 'prcmu_abb_read' was here
      include/linux/mfd/dbx500-prcmu.h:619:19: error: redefinition of 'prcmu_abb_write'
      include/linux/mfd/db8500-prcmu.h:678:19: note: previous definition of 'prcmu_abb_write' was here
      include/linux/mfd/dbx500-prcmu.h:630:19: error: redefinition of 'prcmu_config_clkout'
      include/linux/mfd/db8500-prcmu.h:643:19: note: previous definition of 'prcmu_config_clkout' was here
      include/linux/mfd/dbx500-prcmu.h:692:20: error: redefinition of 'prcmu_ac_wake_req'
      include/linux/mfd/db8500-prcmu.h:683:20: note: previous definition of 'prcmu_ac_wake_req' was here
      include/linux/mfd/dbx500-prcmu.h:694:20: error: redefinition of 'prcmu_ac_sleep_req'
      include/linux/mfd/db8500-prcmu.h:685:20: note: previous definition of 'prcmu_ac_sleep_req' was here
      
      Problem:
      When CONFIG_AB8500_CORE is set, building ab8500-core.c and
      !(CONFIG_UX500_SOC_DB8500 | CONFIG_MFD_DB8500_PRCMU), both db8500-prcmu.h
      and dbx500-prcmu.h take it upon themselves to _both_ create 'return 0'
      inline functions for the following:
      
      prcmu_abb_read()
      prcmu_abb_write()
      prcmu_config_clkout()
      prcmu_ac_wake_req()
      prcmu_ac_sleep_req()
      
      Solution:
      Depend on MFD_DB8500_PRCMU, which in turn depends on UX500_SOC_DB8500.
      Reported-By: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      21f082a6
    • M
      regmap: Use select .. if to get IRQ_DOMAIN enabled · 18d5eacb
      Mark Brown 提交于
      Ensure that we can't get randconfig breakage by doing the IRQ_DOMAIN
      select automatically. Don't just do the select from REGMAP_IRQ to ensure
      that the select actually gets noticed.
      Reported-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      18d5eacb
  17. 20 5月, 2012 8 次提交