Message ID | 20210416153909.v4.12.If5d4d4e22e97bebcd493b76765c1759527705620@changeid (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | drm: Fix EDID reading on ti-sn65dsi86; solve some chicken-and-egg problems | expand |
On Fri 16 Apr 17:39 CDT 2021, Douglas Anderson wrote: > Let's: > - Set the drvdata as soon as it's allocated. This just sets up a > pointer so there's no downside here. > - Remove the useless call to i2c_set_clientdata() which is literally > the same thing as dev_set_drvdata(). > > No functional changes intended. > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Regards, Bjorn > Signed-off-by: Douglas Anderson <dianders@chromium.org> > --- > > (no changes since v1) > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 2cbf619fbd27..a200e88fd006 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -1238,6 +1238,8 @@ static int ti_sn65dsi86_probe(struct i2c_client *client, > pdata = devm_kzalloc(dev, sizeof(struct ti_sn65dsi86), GFP_KERNEL); > if (!pdata) > return -ENOMEM; > + dev_set_drvdata(dev, pdata); > + pdata->dev = dev; > > pdata->regmap = devm_regmap_init_i2c(client, > &ti_sn65dsi86_regmap_config); > @@ -1246,16 +1248,12 @@ static int ti_sn65dsi86_probe(struct i2c_client *client, > return PTR_ERR(pdata->regmap); > } > > - pdata->dev = dev; > - > ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &pdata->panel, NULL); > if (ret) { > DRM_ERROR("could not find any panel node\n"); > return ret; > } > > - dev_set_drvdata(dev, pdata); > - > pdata->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); > if (IS_ERR(pdata->enable_gpio)) { > DRM_ERROR("failed to get enable gpio from DT\n"); > @@ -1287,8 +1285,6 @@ static int ti_sn65dsi86_probe(struct i2c_client *client, > return ret; > } > > - i2c_set_clientdata(client, pdata); > - > pdata->aux.name = "ti-sn65dsi86-aux"; > pdata->aux.dev = dev; > pdata->aux.transfer = ti_sn_aux_transfer; > -- > 2.31.1.368.gbe11c130af-goog >
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 2cbf619fbd27..a200e88fd006 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -1238,6 +1238,8 @@ static int ti_sn65dsi86_probe(struct i2c_client *client, pdata = devm_kzalloc(dev, sizeof(struct ti_sn65dsi86), GFP_KERNEL); if (!pdata) return -ENOMEM; + dev_set_drvdata(dev, pdata); + pdata->dev = dev; pdata->regmap = devm_regmap_init_i2c(client, &ti_sn65dsi86_regmap_config); @@ -1246,16 +1248,12 @@ static int ti_sn65dsi86_probe(struct i2c_client *client, return PTR_ERR(pdata->regmap); } - pdata->dev = dev; - ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &pdata->panel, NULL); if (ret) { DRM_ERROR("could not find any panel node\n"); return ret; } - dev_set_drvdata(dev, pdata); - pdata->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW); if (IS_ERR(pdata->enable_gpio)) { DRM_ERROR("failed to get enable gpio from DT\n"); @@ -1287,8 +1285,6 @@ static int ti_sn65dsi86_probe(struct i2c_client *client, return ret; } - i2c_set_clientdata(client, pdata); - pdata->aux.name = "ti-sn65dsi86-aux"; pdata->aux.dev = dev; pdata->aux.transfer = ti_sn_aux_transfer;
Let's: - Set the drvdata as soon as it's allocated. This just sets up a pointer so there's no downside here. - Remove the useless call to i2c_set_clientdata() which is literally the same thing as dev_set_drvdata(). No functional changes intended. Signed-off-by: Douglas Anderson <dianders@chromium.org> --- (no changes since v1) drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)