lkml.org 
[lkml]   [2013]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/3] backlight: tosa: convert tosa to dev_pm_ops
    Date
    Instead of using legacy suspend/resume methods, using newer dev_pm_ops
    structure allows better control over power management.

    Signed-off-by: Jingoo Han <jg1.han@samsung.com>
    ---
    drivers/video/backlight/tosa_bl.c | 18 ++++++++----------
    drivers/video/backlight/tosa_lcd.c | 18 ++++++++----------
    2 files changed, 16 insertions(+), 20 deletions(-)

    diff --git a/drivers/video/backlight/tosa_bl.c b/drivers/video/backlight/tosa_bl.c
    index 2326fa8..9df66ac 100644
    --- a/drivers/video/backlight/tosa_bl.c
    +++ b/drivers/video/backlight/tosa_bl.c
    @@ -134,28 +134,27 @@ static int tosa_bl_remove(struct i2c_client *client)
    return 0;
    }

    -#ifdef CONFIG_PM
    -static int tosa_bl_suspend(struct i2c_client *client, pm_message_t pm)
    +#ifdef CONFIG_PM_SLEEP
    +static int tosa_bl_suspend(struct device *dev)
    {
    - struct tosa_bl_data *data = i2c_get_clientdata(client);
    + struct tosa_bl_data *data = dev_get_drvdata(dev);

    tosa_bl_set_backlight(data, 0);

    return 0;
    }

    -static int tosa_bl_resume(struct i2c_client *client)
    +static int tosa_bl_resume(struct device *dev)
    {
    - struct tosa_bl_data *data = i2c_get_clientdata(client);
    + struct tosa_bl_data *data = dev_get_drvdata(dev);

    backlight_update_status(data->bl);
    return 0;
    }
    -#else
    -#define tosa_bl_suspend NULL
    -#define tosa_bl_resume NULL
    #endif

    +static SIMPLE_DEV_PM_OPS(tosa_bl_pm_ops, tosa_bl_suspend, tosa_bl_resume);
    +
    static const struct i2c_device_id tosa_bl_id[] = {
    { "tosa-bl", 0 },
    { },
    @@ -165,11 +164,10 @@ static struct i2c_driver tosa_bl_driver = {
    .driver = {
    .name = "tosa-bl",
    .owner = THIS_MODULE,
    + .pm = &tosa_bl_pm_ops,
    },
    .probe = tosa_bl_probe,
    .remove = tosa_bl_remove,
    - .suspend = tosa_bl_suspend,
    - .resume = tosa_bl_resume,
    .id_table = tosa_bl_id,
    };

    diff --git a/drivers/video/backlight/tosa_lcd.c b/drivers/video/backlight/tosa_lcd.c
    index 666fe25..bf08157 100644
    --- a/drivers/video/backlight/tosa_lcd.c
    +++ b/drivers/video/backlight/tosa_lcd.c
    @@ -240,19 +240,19 @@ static int tosa_lcd_remove(struct spi_device *spi)
    return 0;
    }

    -#ifdef CONFIG_PM
    -static int tosa_lcd_suspend(struct spi_device *spi, pm_message_t state)
    +#ifdef CONFIG_PM_SLEEP
    +static int tosa_lcd_suspend(struct device *dev)
    {
    - struct tosa_lcd_data *data = spi_get_drvdata(spi);
    + struct tosa_lcd_data *data = dev_get_drvdata(dev);

    tosa_lcd_tg_off(data);

    return 0;
    }

    -static int tosa_lcd_resume(struct spi_device *spi)
    +static int tosa_lcd_resume(struct device *dev)
    {
    - struct tosa_lcd_data *data = spi_get_drvdata(spi);
    + struct tosa_lcd_data *data = dev_get_drvdata(dev);

    tosa_lcd_tg_init(data);
    if (POWER_IS_ON(data->lcd_power))
    @@ -262,20 +262,18 @@ static int tosa_lcd_resume(struct spi_device *spi)

    return 0;
    }
    -#else
    -#define tosa_lcd_suspend NULL
    -#define tosa_lcd_resume NULL
    #endif

    +static SIMPLE_DEV_PM_OPS(tosa_lcd_pm_ops, tosa_lcd_suspend, tosa_lcd_resume);
    +
    static struct spi_driver tosa_lcd_driver = {
    .driver = {
    .name = "tosa-lcd",
    .owner = THIS_MODULE,
    + .pm = &tosa_lcd_pm_ops,
    },
    .probe = tosa_lcd_probe,
    .remove = tosa_lcd_remove,
    - .suspend = tosa_lcd_suspend,
    - .resume = tosa_lcd_resume,
    };

    module_spi_driver(tosa_lcd_driver);
    --
    1.7.2.5



    \
     
     \ /
      Last update: 2013-03-28 08:01    [W:3.957 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site