1. 01 10月, 2012 1 次提交
  2. 29 9月, 2012 1 次提交
  3. 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
  4. 22 9月, 2012 1 次提交
  5. 19 9月, 2012 1 次提交
  6. 17 9月, 2012 3 次提交
  7. 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
  8. 25 7月, 2012 3 次提交
  9. 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
  10. 16 7月, 2012 3 次提交
  11. 09 7月, 2012 10 次提交
  12. 23 6月, 2012 1 次提交
  13. 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
  14. 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
  15. 20 5月, 2012 8 次提交
  16. 18 5月, 2012 1 次提交
  17. 14 5月, 2012 1 次提交
    • M
      regmap: Convert regmap_irq to use irq_domain · 4af8be67
      Mark Brown 提交于
      This gets us up to date with the recommended current kernel infrastructure
      and should transparently give us device tree interrupt bindings for any
      devices using the framework. If an explicit IRQ mapping is passed in then
      a legacy interrupt range is created, otherwise a simple linear mapping is
      used. Previously a mapping was mandatory so existing drivers should not
      be affected.
      
      A function regmap_irq_get_virq() is provided to allow drivers to map
      individual IRQs which should be used in preference to the existing
      regmap_irq_chip_get_base() which is only valid if a legacy IRQ range is
      provided.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      4af8be67