From: Stephen Rothwell Date: Mon, 8 Oct 2012 01:23:37 +0000 (+1100) Subject: Merge remote-tracking branch 'omap_dss2/for-next' X-Git-Tag: next-20121008~32 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=78699773f701915df8431cf3b235624d10742963;p=karo-tx-linux.git Merge remote-tracking branch 'omap_dss2/for-next' Conflicts: drivers/video/omap/lcd_ams_delta.c drivers/video/omap2/displays/panel-taal.c drivers/video/omap2/dss/dispc.c --- 78699773f701915df8431cf3b235624d10742963 diff --cc arch/arm/mach-omap2/twl-common.c index 18a851959425,9bf8a89e78c6..974974c99afe --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@@ -237,8 -251,17 +237,12 @@@ void __init omap3_pmic_get_config(struc #if defined(CONFIG_ARCH_OMAP4) static struct twl4030_usb_data omap4_usb_pdata = { - .phy_init = omap4430_phy_init, - .phy_exit = omap4430_phy_exit, - .phy_power = omap4430_phy_power, - .phy_set_clock = omap4430_phy_set_clk, - .phy_suspend = omap4430_phy_suspend, }; + static struct regulator_consumer_supply omap4_vdda_hdmi_dac_supplies[] = { + REGULATOR_SUPPLY("vdda_hdmi_dac", "omapdss_hdmi"), + }; + static struct regulator_init_data omap4_vdac_idata = { .constraints = { .min_uV = 1800000, diff --cc drivers/video/omap2/displays/panel-taal.c index 6b5e6e0e202f,4cf94161ff51..f2f644680ca8 --- a/drivers/video/omap2/displays/panel-taal.c +++ b/drivers/video/omap2/displays/panel-taal.c @@@ -900,29 -925,50 +925,50 @@@ static int taal_probe(struct omap_dss_d atomic_set(&td->do_update, 0); - td->workqueue = create_singlethread_workqueue("taal_esd"); - if (td->workqueue == NULL) { - dev_err(&dssdev->dev, "can't create ESD workqueue\n"); - r = -ENOMEM; - goto err_wq; + if (gpio_is_valid(td->reset_gpio)) { + r = devm_gpio_request_one(&dssdev->dev, td->reset_gpio, + GPIOF_OUT_INIT_LOW, "taal rst"); + if (r) { + dev_err(&dssdev->dev, "failed to request reset gpio\n"); + return r; + } } - INIT_DEFERRABLE_WORK(&td->esd_work, taal_esd_work); - INIT_DELAYED_WORK(&td->ulps_work, taal_ulps_work); - dev_set_drvdata(&dssdev->dev, td); + if (gpio_is_valid(td->ext_te_gpio)) { + r = devm_gpio_request_one(&dssdev->dev, td->ext_te_gpio, + GPIOF_IN, "taal irq"); + if (r) { + dev_err(&dssdev->dev, "GPIO request failed\n"); + return r; + } + + r = devm_request_irq(&dssdev->dev, gpio_to_irq(td->ext_te_gpio), + taal_te_isr, + IRQF_TRIGGER_RISING, + "taal vsync", dssdev); - if (gpio_is_valid(panel_data->reset_gpio)) { - r = gpio_request_one(panel_data->reset_gpio, GPIOF_OUT_INIT_LOW, - "taal rst"); if (r) { - dev_err(&dssdev->dev, "failed to request reset gpio\n"); - goto err_rst_gpio; + dev_err(&dssdev->dev, "IRQ request failed\n"); + return r; } + - INIT_DELAYED_WORK_DEFERRABLE(&td->te_timeout_work, ++ INIT_DEFERRABLE_WORK(&td->te_timeout_work, + taal_te_timeout_work_callback); + + dev_dbg(&dssdev->dev, "Using GPIO TE\n"); } + td->workqueue = create_singlethread_workqueue("taal_esd"); + if (td->workqueue == NULL) { + dev_err(&dssdev->dev, "can't create ESD workqueue\n"); + return -ENOMEM; + } - INIT_DELAYED_WORK_DEFERRABLE(&td->esd_work, taal_esd_work); ++ INIT_DEFERRABLE_WORK(&td->esd_work, taal_esd_work); + INIT_DELAYED_WORK(&td->ulps_work, taal_ulps_work); + taal_hw_reset(dssdev); - if (panel_data->use_dsi_backlight) { + if (td->use_dsi_backlight) { memset(&props, 0, sizeof(struct backlight_properties)); props.max_brightness = 255; diff --cc drivers/video/omap2/dss/dispc.c index ee9e29639dcc,a173a9481a23..b43477a5fae8 --- a/drivers/video/omap2/dss/dispc.c +++ b/drivers/video/omap2/dss/dispc.c @@@ -37,9 -37,6 +37,8 @@@ #include #include +#include - #include + #include