From 5d4687189b5c715b436dd0369efb8c70f94d1f6d Mon Sep 17 00:00:00 2001 From: Archit Taneja Date: Tue, 4 Dec 2012 15:36:34 +0530 Subject: [PATCH] --- yaml --- r: 371338 b: refs/heads/master c: d52e2e7557eace36e7eb731bbd40ed3588eb0f1b h: refs/heads/master v: v3 --- [refs] | 2 +- .../video/omap2/displays/panel-picodlp.c | 21 ++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) 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; }