1. 16 7月, 2012 1 次提交
    • A
      mfd: Remove __devexit annotation for pm80x_deinit · 706c96b7
      Axel Lin 提交于
      This fixes below section mismatch warning:
      
        LD      drivers/mfd/built-in.o
      WARNING: drivers/mfd/built-in.o(.devinit.text+0x46c): Section mismatch in reference from the function pm800_probe() to the function .devexit.text:pm80x_deinit()
      The function __devinit pm800_probe() references
      a function __devexit pm80x_deinit().
      This is often seen when error handling in the init function
      uses functionality in the exit path.
      The fix is often to remove the __devexit annotation of
      pm80x_deinit() so it may be used outside an exit section.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      706c96b7
  2. 10 7月, 2012 1 次提交
  3. 09 7月, 2012 2 次提交
    • Q
      mfd: Add companion chip in 88pm80x · 5500e396
      Qiao Zhou 提交于
      in hw design, 800 is mainly for pmic control, while 805 for audio.
      but there are 3 registers which controls class D speaker property,
      and they are defined in 800 i2c client domain. so 805 codec driver
      needs to use 800 i2c client to access class D speaker reg for
      audio path management. so add this workaround for the purpose to
      let 805 access 800 i2c in some scenario.
      Signed-off-by: NQiao Zhou <zhouqiao@marvell.com>
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      5500e396
    • Q
      mfd: Support 88pm80x in 80x driver · 70c6cce0
      Qiao Zhou 提交于
      88PM800 and 88PM805 are two discrete chips used for power management.
      Hardware designer can use them together or only one of them according
      to requirement.
      
      88pm80x.c provides common i2c driver handling for both 800 and
      805, such as i2c_driver init, regmap init, read/write api etc.
      
      88pm800.c handles specifically for 800, such as chip init, irq
      init/handle, mfd device register, including rtc, onkey, regulator(
      to be add later) etc. besides that, 800 has three i2c device, one
      regular i2c client, two other i2c dummy for gpadc and power purpose.
      
      88pm805.c handles specifically for 805, such as chip init, irq
      init/handle, mfd device register, including codec, headset/mic detect
      etc.
      
      the i2c operation of both 800 and 805 are via regmap, and 88pm80x-i2c
      exported a group of r/w bulk r/w and bits set API for facility.
      Signed-off-by: NQiao Zhou <zhouqiao@marvell.com>
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      70c6cce0