Move the setting of the lp->cfg pointer to the chip specific
lp855x_device_config struct from lp855x_configure() to
lp855x_probe(), before calling lp855x_parse_dt().

This is a preperation patch for adding ACPI enumeration support.

Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
 drivers/video/backlight/lp855x_bl.c | 32 ++++++++++++++---------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/video/backlight/lp855x_bl.c 
b/drivers/video/backlight/lp855x_bl.c
index e94932c69f54..808ff00b2003 100644
--- a/drivers/video/backlight/lp855x_bl.c
+++ b/drivers/video/backlight/lp855x_bl.c
@@ -170,22 +170,6 @@ static int lp855x_configure(struct lp855x *lp)
        int i, ret;
        struct lp855x_platform_data *pd = lp->pdata;
 
-       switch (lp->chip_id) {
-       case LP8550:
-       case LP8551:
-       case LP8552:
-       case LP8553:
-       case LP8556:
-               lp->cfg = &lp855x_dev_cfg;
-               break;
-       case LP8555:
-       case LP8557:
-               lp->cfg = &lp8557_dev_cfg;
-               break;
-       default:
-               return -EINVAL;
-       }
-
        if (lp->cfg->pre_init_device) {
                ret = lp->cfg->pre_init_device(lp);
                if (ret) {
@@ -413,6 +397,22 @@ static int lp855x_probe(struct i2c_client *cl, const 
struct i2c_device_id *id)
        lp->chip_id = id->driver_data;
        lp->pdata = dev_get_platdata(&cl->dev);
 
+       switch (lp->chip_id) {
+       case LP8550:
+       case LP8551:
+       case LP8552:
+       case LP8553:
+       case LP8556:
+               lp->cfg = &lp855x_dev_cfg;
+               break;
+       case LP8555:
+       case LP8557:
+               lp->cfg = &lp8557_dev_cfg;
+               break;
+       default:
+               return -EINVAL;
+       }
+
        if (!lp->pdata) {
                ret = lp855x_parse_dt(lp);
                if (ret < 0)
-- 
2.31.1

Reply via email to