mfd: Add LP3943 MFD driver
authorMilo Kim <milo.kim@ti.com>
Fri, 6 Dec 2013 02:18:41 +0000 (11:18 +0900)
committerLee Jones <lee.jones@linaro.org>
Tue, 21 Jan 2014 08:27:59 +0000 (08:27 +0000)
commit470eca47bded10f2e1a425b44d6f2b1418271a9f
tree9e302eabaeb9fd2edd3dfd3c28d821c109f60487
parent0cc59b9d98d554168915b3765a14e8b4ad75918c
mfd: Add LP3943 MFD driver

LP3943 has 16 output pins which can be used as GPIO expander and PWM generator.

* Regmap I2C interface for R/W LP3943 registers

* Atomic operations for output pin assignment
  The driver should check whether requested pin is available or not.
  If the pin is already used, pin request returns as a failure.
  A driver data, 'pin_used' is checked when gpio_request() and
  pwm_request() are called. If the pin is available, then pin_used is set.
  And it is cleared when gpio_free() and pwm_free().

* Device tree support
  Compatible strings for GPIO and PWM driver.
  LP3943 platform data is PWM related, so parsing the device tree is
  implemented in the PWM driver.

Signed-off-by: Milo Kim <milo.kim@ti.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/mfd/lp3943.c [new file with mode: 0644]
include/linux/mfd/lp3943.h [new file with mode: 0644]