[RFC v6 0/8] Crystalcove (CRC) PMIC based panel and pwm control

Shobhit Kumar
2015-04-24T15:33:28Z

Hi All,
Finally I came back to this and tried to address the pending review comments.
Couple of the patches from the older series were merged in linux-next. This
series reworks on the remaining and rebases on linux-next. Basically following
are implemented -

1. GPIO control for panel enable/disable with GFX device as consumer
2. New PWM chip driver added for CRC PMIC based backlight control
3. i915 is modified to use the CRC gpio chip and the CRC PWM chip to do
backlight control. This is now added in intel_panel.c in the generic
panel backlight control infrastructure

All these patches have been tested on AsusT100 and working fine using
/sys/class/backlight/intel_backlight interface.

Recently I noticed another device Dell Venue 8 Pro (BYT-CR) which should be
using LPSS backlight control. There is already a LPSS PWM chip driver in
upstream kernel which should be used in this case. That patch is for another
day.

Regards
Shobhit

Shobhit Kumar (8):
drivers/gpio/gpiolib: Add support for removing registered consumer
lookup table
drivers/pwm/core: Add support to remove registered consumer lookup
tables
drivers/mfd: Add lookup table for Panel Control as GPIO signal
drivers/mfd: Add PWM cell device for Crystalcove PMIC
drivers/mfd: ADD PWM lookup table for CRC PMIC based PWM
drivers/pwm: Add Crystalcove (CRC) PWM driver
drm/i915: Use the CRC gpio for panel enable/disable
drm/i915: Backlight control using CRC PMIC based PWM driver

drivers/gpio/gpiolib.c | 13 +++
drivers/gpu/drm/i915/intel_drv.h | 5 ++
drivers/gpu/drm/i915/intel_dsi.c | 38 ++++++++-
drivers/gpu/drm/i915/intel_dsi.h | 6 ++
drivers/gpu/drm/i915/intel_panel.c | 92 ++++++++++++++++++--
drivers/mfd/intel_soc_pmic_core.c | 29 +++++++
drivers/mfd/intel_soc_pmic_crc.c | 3 +
drivers/pwm/Kconfig | 7 ++
drivers/pwm/Makefile | 1 +
drivers/pwm/core.c | 17 ++++
drivers/pwm/pwm-crc.c | 171 +++++++++++++++++++++++++++++++++++++
include/linux/gpio/machine.h | 1 +
include/linux/pwm.h | 5 ++
13 files changed, 381 insertions(+), 7 deletions(-)
create mode 100644 drivers/pwm/pwm-crc.c