lkml.org 
[lkml]   [2018]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v18 09/10] drm/panel: Use of_find_backlight helper
    Replace of_find_backlight_by_node and of the code around it
    with of_find_backlight helper to avoid repetition of code.

    Signed-off-by: Meghana Madhyastha <meghana.madhyastha@gmail.com>
    ---
    Changes in v18:
    -Fixed warnings resulting from passing device_node* to of_find_backlight.
    Fixed it by passing struct device* to of_find_backlight

    drivers/gpu/drm/panel/panel-innolux-p079zca.c | 24 ++++-----------------
    drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c | 28 +++++--------------------
    drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c | 27 ++++--------------------
    3 files changed, 13 insertions(+), 66 deletions(-)

    diff --git a/drivers/gpu/drm/panel/panel-innolux-p079zca.c b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
    index 4c1b29eec..57df39b5c 100644
    --- a/drivers/gpu/drm/panel/panel-innolux-p079zca.c
    +++ b/drivers/gpu/drm/panel/panel-innolux-p079zca.c
    @@ -215,7 +215,6 @@ MODULE_DEVICE_TABLE(of, innolux_of_match);
    static int innolux_panel_add(struct innolux_panel *innolux)
    {
    struct device *dev = &innolux->link->dev;
    - struct device_node *np;
    int err;

    innolux->supply = devm_regulator_get(dev, "power");
    @@ -230,37 +229,22 @@ static int innolux_panel_add(struct innolux_panel *innolux)
    innolux->enable_gpio = NULL;
    }

    - np = of_parse_phandle(dev->of_node, "backlight", 0);
    - if (np) {
    - innolux->backlight = of_find_backlight_by_node(np);
    - of_node_put(np);
    + innolux->backlight = devm_of_find_backlight(dev);

    - if (!innolux->backlight)
    - return -EPROBE_DEFER;
    - }
    + if (IS_ERR(innolux->backlight))
    + return PTR_ERR(innolux->backlight);

    drm_panel_init(&innolux->base);
    innolux->base.funcs = &innolux_panel_funcs;
    innolux->base.dev = &innolux->link->dev;

    - err = drm_panel_add(&innolux->base);
    - if (err < 0)
    - goto put_backlight;
    -
    - return 0;
    -
    -put_backlight:
    - put_device(&innolux->backlight->dev);
    -
    - return err;
    + return drm_panel_add(&innolux->base);
    }

    static void innolux_panel_del(struct innolux_panel *innolux)
    {
    if (innolux->base.dev)
    drm_panel_remove(&innolux->base);
    -
    - put_device(&innolux->backlight->dev);
    }

    static int innolux_panel_probe(struct mipi_dsi_device *dsi)
    diff --git a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
    index 072c0fc79..6bf8730f1 100644
    --- a/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
    +++ b/drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c
    @@ -318,8 +318,7 @@ MODULE_DEVICE_TABLE(of, sharp_of_match);

    static int sharp_panel_add(struct sharp_panel *sharp)
    {
    - struct device_node *np;
    - int err;
    + struct device *dev = &sharp->link1->dev;

    sharp->mode = &default_mode;

    @@ -327,30 +326,16 @@ static int sharp_panel_add(struct sharp_panel *sharp)
    if (IS_ERR(sharp->supply))
    return PTR_ERR(sharp->supply);

    - np = of_parse_phandle(sharp->link1->dev.of_node, "backlight", 0);
    - if (np) {
    - sharp->backlight = of_find_backlight_by_node(np);
    - of_node_put(np);
    + sharp->backlight = devm_of_find_backlight(dev);

    - if (!sharp->backlight)
    - return -EPROBE_DEFER;
    - }
    + if (IS_ERR(sharp->backlight))
    + return PTR_ERR(sharp->backlight);

    drm_panel_init(&sharp->base);
    sharp->base.funcs = &sharp_panel_funcs;
    sharp->base.dev = &sharp->link1->dev;

    - err = drm_panel_add(&sharp->base);
    - if (err < 0)
    - goto put_backlight;
    -
    - return 0;
    -
    -put_backlight:
    - if (sharp->backlight)
    - put_device(&sharp->backlight->dev);
    -
    - return err;
    + return drm_panel_add(&sharp->base);
    }

    static void sharp_panel_del(struct sharp_panel *sharp)
    @@ -358,9 +343,6 @@ static void sharp_panel_del(struct sharp_panel *sharp)
    if (sharp->base.dev)
    drm_panel_remove(&sharp->base);

    - if (sharp->backlight)
    - put_device(&sharp->backlight->dev);
    -
    if (sharp->link2)
    put_device(&sharp->link2->dev);
    }
    diff --git a/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c b/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
    index 8a5137963..494aa9b16 100644
    --- a/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
    +++ b/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
    @@ -253,8 +253,6 @@ static const struct drm_panel_funcs sharp_nt_panel_funcs = {
    static int sharp_nt_panel_add(struct sharp_nt_panel *sharp_nt)
    {
    struct device *dev = &sharp_nt->dsi->dev;
    - struct device_node *np;
    - int ret;

    sharp_nt->mode = &default_mode;

    @@ -271,39 +269,22 @@ static int sharp_nt_panel_add(struct sharp_nt_panel *sharp_nt)
    gpiod_set_value(sharp_nt->reset_gpio, 0);
    }

    - np = of_parse_phandle(dev->of_node, "backlight", 0);
    - if (np) {
    - sharp_nt->backlight = of_find_backlight_by_node(np);
    - of_node_put(np);
    + sharp_nt->backlight = devm_of_find_backlight(dev);

    - if (!sharp_nt->backlight)
    - return -EPROBE_DEFER;
    - }
    + if (IS_ERR(sharp_nt->backlight))
    + return PTR_ERR(sharp_nt->backlight);

    drm_panel_init(&sharp_nt->base);
    sharp_nt->base.funcs = &sharp_nt_panel_funcs;
    sharp_nt->base.dev = &sharp_nt->dsi->dev;

    - ret = drm_panel_add(&sharp_nt->base);
    - if (ret < 0)
    - goto put_backlight;
    -
    - return 0;
    -
    -put_backlight:
    - if (sharp_nt->backlight)
    - put_device(&sharp_nt->backlight->dev);
    -
    - return ret;
    + return drm_panel_add(&sharp_nt->base);
    }

    static void sharp_nt_panel_del(struct sharp_nt_panel *sharp_nt)
    {
    if (sharp_nt->base.dev)
    drm_panel_remove(&sharp_nt->base);
    -
    - if (sharp_nt->backlight)
    - put_device(&sharp_nt->backlight->dev);
    }

    static int sharp_nt_panel_probe(struct mipi_dsi_device *dsi)
    --
    2.11.0
    \
     
     \ /
      Last update: 2018-01-22 15:56    [W:4.054 / U:0.468 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site