Re: [PATCH 3/4] OMAPDSS: panel-sharp-ls037v7dw01: add device tree support

Tony Lindgren
2014-05-15T18:27:31Z

* Tomi Valkeinen <tomi.valkeinen@ti.com> [140515 06:08]:
> On 14/05/14 00:26, Tony Lindgren wrote:
>
> > +static int sharp_ls_probe_of(struct platform_device *pdev)
> > +{
> > + struct panel_drv_data *ddata = platform_get_drvdata(pdev);
> > + struct device_node *node = pdev->dev.of_node;
> > + struct omap_dss_device *in;
> > +
> > + ddata->vcc = devm_regulator_get(&pdev->dev, "envdd");
> > + if (IS_ERR(ddata->vcc)) {
> > + dev_err(&pdev->dev, "failed to get regulator\n");
> > + return PTR_ERR(ddata->vcc);
> > + }
> > +
> > + /* lcd INI */
> > + ddata->ini_gpio = sharp_ls_get_gpio_of(&pdev->dev, 0, 0, "enable");
> > + if (PTR_ERR(ddata->ini_gpio) == -EPROBE_DEFER)
> > + return -EPROBE_DEFER;
>
> Hmm, the GPIOs are optional, but shouldn't we react somehow to real
> errors? I guess we should do something like:
>
> ddata->ini_gpio = sharp_ls_get_gpio_of(&pdev->dev, 0, 0, "enable");
> if (IS_ERR(ddata->ini_gpio) {
> int err = PTR_ERR(ddata->ini_gpio);
> if (err == -EPROBE_DEFER || err != -ENOENT)
> return err;
> }

Yeah that makes sense to me.

Regards,

Tony