leds: Convert mc13783 driver to mc13xxx MFD

mc13xxx is the more general API and most of the mc13783_... functions
are going to die.

Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
David Jander 2011-08-24 15:28:20 +02:00 committed by Samuel Ortiz
parent 2b247d06c6
commit f3ca07824f
1 changed files with 26 additions and 26 deletions

View File

@ -21,13 +21,13 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/workqueue.h> #include <linux/workqueue.h>
#include <linux/mfd/mc13783.h> #include <linux/mfd/mc13xxx.h>
#include <linux/slab.h> #include <linux/slab.h>
struct mc13783_led { struct mc13783_led {
struct led_classdev cdev; struct led_classdev cdev;
struct work_struct work; struct work_struct work;
struct mc13783 *master; struct mc13xxx *master;
enum led_brightness new_brightness; enum led_brightness new_brightness;
int id; int id;
}; };
@ -111,11 +111,11 @@ static void mc13783_led_work(struct work_struct *work)
break; break;
} }
mc13783_lock(led->master); mc13xxx_lock(led->master);
mc13783_reg_rmw(led->master, reg, mask, value); mc13xxx_reg_rmw(led->master, reg, mask, value);
mc13783_unlock(led->master); mc13xxx_unlock(led->master);
} }
static void mc13783_led_set(struct led_classdev *led_cdev, static void mc13783_led_set(struct led_classdev *led_cdev,
@ -172,23 +172,23 @@ static int __devinit mc13783_led_setup(struct mc13783_led *led, int max_current)
break; break;
} }
mc13783_lock(led->master); mc13xxx_lock(led->master);
ret = mc13783_reg_rmw(led->master, reg, mask << shift, ret = mc13xxx_reg_rmw(led->master, reg, mask << shift,
value << shift); value << shift);
mc13783_unlock(led->master); mc13xxx_unlock(led->master);
return ret; return ret;
} }
static int __devinit mc13783_leds_prepare(struct platform_device *pdev) static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
{ {
struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev); struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct mc13783 *dev = dev_get_drvdata(pdev->dev.parent); struct mc13xxx *dev = dev_get_drvdata(pdev->dev.parent);
int ret = 0; int ret = 0;
int reg = 0; int reg = 0;
mc13783_lock(dev); mc13xxx_lock(dev);
if (pdata->flags & MC13783_LED_TC1HALF) if (pdata->flags & MC13783_LED_TC1HALF)
reg |= MC13783_LED_C1_TC1HALF_BIT; reg |= MC13783_LED_C1_TC1HALF_BIT;
@ -196,7 +196,7 @@ static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
if (pdata->flags & MC13783_LED_SLEWLIMTC) if (pdata->flags & MC13783_LED_SLEWLIMTC)
reg |= MC13783_LED_Cx_SLEWLIM_BIT; reg |= MC13783_LED_Cx_SLEWLIM_BIT;
ret = mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_1, reg); ret = mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_1, reg);
if (ret) if (ret)
goto out; goto out;
@ -206,7 +206,7 @@ static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
if (pdata->flags & MC13783_LED_SLEWLIMBL) if (pdata->flags & MC13783_LED_SLEWLIMBL)
reg |= MC13783_LED_Cx_SLEWLIM_BIT; reg |= MC13783_LED_Cx_SLEWLIM_BIT;
ret = mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_2, reg); ret = mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_2, reg);
if (ret) if (ret)
goto out; goto out;
@ -216,7 +216,7 @@ static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
if (pdata->flags & MC13783_LED_TRIODE_TC1) if (pdata->flags & MC13783_LED_TRIODE_TC1)
reg |= MC13783_LED_Cx_TRIODE_TC_BIT; reg |= MC13783_LED_Cx_TRIODE_TC_BIT;
ret = mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_3, reg); ret = mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_3, reg);
if (ret) if (ret)
goto out; goto out;
@ -226,7 +226,7 @@ static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
if (pdata->flags & MC13783_LED_TRIODE_TC2) if (pdata->flags & MC13783_LED_TRIODE_TC2)
reg |= MC13783_LED_Cx_TRIODE_TC_BIT; reg |= MC13783_LED_Cx_TRIODE_TC_BIT;
ret = mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_4, reg); ret = mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_4, reg);
if (ret) if (ret)
goto out; goto out;
@ -236,7 +236,7 @@ static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
if (pdata->flags & MC13783_LED_TRIODE_TC3) if (pdata->flags & MC13783_LED_TRIODE_TC3)
reg |= MC13783_LED_Cx_TRIODE_TC_BIT; reg |= MC13783_LED_Cx_TRIODE_TC_BIT;
ret = mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_5, reg); ret = mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_5, reg);
if (ret) if (ret)
goto out; goto out;
@ -255,10 +255,10 @@ static int __devinit mc13783_leds_prepare(struct platform_device *pdev)
reg |= (pdata->abref & MC13783_LED_C0_ABREF_MASK) << reg |= (pdata->abref & MC13783_LED_C0_ABREF_MASK) <<
MC13783_LED_C0_ABREF; MC13783_LED_C0_ABREF;
ret = mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_0, reg); ret = mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_0, reg);
out: out:
mc13783_unlock(dev); mc13xxx_unlock(dev);
return ret; return ret;
} }
@ -353,7 +353,7 @@ static int __devexit mc13783_led_remove(struct platform_device *pdev)
{ {
struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev); struct mc13783_leds_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct mc13783_led *led = platform_get_drvdata(pdev); struct mc13783_led *led = platform_get_drvdata(pdev);
struct mc13783 *dev = dev_get_drvdata(pdev->dev.parent); struct mc13xxx *dev = dev_get_drvdata(pdev->dev.parent);
int i; int i;
for (i = 0; i < pdata->num_leds; i++) { for (i = 0; i < pdata->num_leds; i++) {
@ -361,16 +361,16 @@ static int __devexit mc13783_led_remove(struct platform_device *pdev)
cancel_work_sync(&led[i].work); cancel_work_sync(&led[i].work);
} }
mc13783_lock(dev); mc13xxx_lock(dev);
mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_0, 0); mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_0, 0);
mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_1, 0); mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_1, 0);
mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_2, 0); mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_2, 0);
mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_3, 0); mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_3, 0);
mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_4, 0); mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_4, 0);
mc13783_reg_write(dev, MC13783_REG_LED_CONTROL_5, 0); mc13xxx_reg_write(dev, MC13783_REG_LED_CONTROL_5, 0);
mc13783_unlock(dev); mc13xxx_unlock(dev);
kfree(led); kfree(led);
return 0; return 0;