diff --git a/[refs] b/[refs] index 2c0bc78e8cca..e6abc903691d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3552fb78f1d8d0403ca7f8224da3e85bf2776321 +refs/heads/master: d52e2e7557eace36e7eb731bbd40ed3588eb0f1b diff --git a/trunk/drivers/video/omap2/displays/panel-picodlp.c b/trunk/drivers/video/omap2/displays/panel-picodlp.c index 56d536cabf50..bc8ac77f8827 100644 --- a/trunk/drivers/video/omap2/displays/panel-picodlp.c +++ b/trunk/drivers/video/omap2/displays/panel-picodlp.c @@ -423,10 +423,13 @@ static int picodlp_panel_probe(struct omap_dss_device *dssdev) struct picodlp_panel_data *picodlp_pdata = get_panel_data(dssdev); struct i2c_adapter *adapter; struct i2c_client *picodlp_i2c_client; - int picodlp_adapter_id; + int r, picodlp_adapter_id; dssdev->panel.timings = pico_ls_timings; + if (!picodlp_pdata) + return -EINVAL; + picod = devm_kzalloc(&dssdev->dev, sizeof(*picod), GFP_KERNEL); if (!picod) return -ENOMEM; @@ -452,6 +455,22 @@ static int picodlp_panel_probe(struct omap_dss_device *dssdev) dev_set_drvdata(&dssdev->dev, picod); + if (gpio_is_valid(picodlp_pdata->emu_done_gpio)) { + r = devm_gpio_request_one(&dssdev->dev, + picodlp_pdata->emu_done_gpio, + GPIOF_IN, "DLP EMU DONE"); + if (r) + return r; + } + + if (gpio_is_valid(picodlp_pdata->pwrgood_gpio)) { + r = devm_gpio_request_one(&dssdev->dev, + picodlp_pdata->pwrgood_gpio, + GPIOF_OUT_INIT_LOW, "DLP PWRGOOD"); + if (r) + return r; + } + return 0; }