]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Oct 2012 01:21:02 +0000 (10:21 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Oct 2012 01:21:02 +0000 (10:21 +0900)
Pull fbdev updates from Florian Tobias Schandinat:
 "This includes:
   - large updates for OMAP
     - basic OMAP5 DSS support for DPI and DSI outputs
     - large cleanups and restructuring
   - some update to Exynos and da8xx-fb
   - removal of the pnx4008 driver (arch removed)
   - various other small patches"

Fix up some trivial conflicts (mostly just include line changes, but
also some due to the renaming of the deferred work functions by Tejun).

* tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6: (193 commits)
  gbefb: fix compile error
  video: mark nuc900fb_map_video_memory as __devinit
  video/mx3fb: set .owner to prevent module unloading while being used
  video: exynos_dp: use clk_prepare_enable and clk_disable_unprepare
  drivers/video/exynos/exynos_mipi_dsi.c: fix error return code
  drivers/video/savage/savagefb_driver.c: fix error return code
  video: s3c-fb: use clk_prepare_enable and clk_disable_unprepare
  da8xx-fb: save and restore LCDC context across suspend/resume cycle
  da8xx-fb: add pm_runtime support
  video/udlfb: fix line counting in fb_write
  OMAPDSS: add missing include for string.h
  OMAPDSS: DISPC: Configure color conversion coefficients for writeback
  OMAPDSS: DISPC: Add manager like functions for writeback
  OMAPDSS: DISPC: Configure writeback FIFOs
  OMAPDSS: DISPC: Configure writeback specific parameters in dispc_wb_setup()
  OMAPDSS: DISPC: Configure overlay-like parameters in dispc_wb_setup
  OMAPDSS: DISPC: Add function to set channel in for writeback
  OMAPDSS: DISPC: Don't set chroma resampling bit for writeback
  OMAPDSS: DISPC: Downscale chroma if plane is writeback
  OMAPDSS: DISPC: Configure input and output sizes for writeback
  ...

46 files changed:
1  2 
arch/arm/mach-exynos/mach-nuri.c
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-exynos/mach-smdk4x12.c
arch/arm/mach-exynos/mach-smdkv310.c
arch/arm/mach-exynos/mach-universal_c210.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/display.c
arch/arm/mach-omap2/twl-common.c
arch/arm/mach-s3c24xx/mach-smdk2416.c
arch/arm/mach-s3c64xx/mach-anw6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-hmt.c
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-ncp.c
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s5p64x0/mach-smdk6440.c
arch/arm/mach-s5p64x0/mach-smdk6450.c
arch/arm/mach-s5pc100/mach-smdkc100.c
arch/arm/mach-s5pv210/mach-goni.c
arch/arm/mach-s5pv210/mach-smdkv210.c
drivers/gpu/drm/exynos/exynos_drm_fimd.c
drivers/media/platform/omap/omap_vout.c
drivers/staging/omapdrm/omap_drv.c
drivers/video/Kconfig
drivers/video/Makefile
drivers/video/da8xx-fb.c
drivers/video/ep93xx-fb.c
drivers/video/exynos/exynos_mipi_dsi.c
drivers/video/gbefb.c
drivers/video/imxfb.c
drivers/video/jz4740_fb.c
drivers/video/msm/mddi.c
drivers/video/msm/mddi_client_nt35399.c
drivers/video/msm/mdp.c
drivers/video/msm/mdp_hw.h
drivers/video/mx3fb.c
drivers/video/nuc900fb.c
drivers/video/omap2/displays/panel-taal.c
drivers/video/omap2/dss/dispc.c
drivers/video/omap2/dss/dsi.c
drivers/video/omap2/omapfb/omapfb-main.c
drivers/video/ps3fb.c
drivers/video/udlfb.c
drivers/video/vermilion/vermilion.c

Simple merge
Simple merge
index 7a265d1a82d3e6e172799fe2dfc52d16b4217f7c,ee069b47ef262d9d68d279ff05d9098451d59a53..730f1ac65928ed832a52fdb2cf0e8b80f2ae4d60
  #include <plat/devs.h>
  #include <plat/fb.h>
  #include <plat/gpio-cfg.h>
 -#include <plat/iic.h>
 +#include <linux/platform_data/i2c-s3c2410.h>
  #include <plat/keypad.h>
  #include <plat/mfc.h>
- #include <plat/regs-fb.h>
  #include <plat/regs-serial.h>
  #include <plat/sdhci.h>
  
Simple merge
Simple merge
Simple merge
index d83ae4540b9bceefe58fb041dfdeae2eda6a3a54,9bf8a89e78c620a69578139f7d18c89963a9a741..635e109f5ad352e97e04dfad00c11e8728c72c98
@@@ -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,
index db2787aa1e5e7fb5ee61dff9d5c62a861d1d76aa,96478f05fc003096b5875a8429389077cffb6843..f30d7fccbfeedd4e2a22e00703b3933231b03157
  #include <plat/clock.h>
  #include <plat/devs.h>
  #include <plat/cpu.h>
 -#include <plat/nand.h>
 +#include <linux/platform_data/mtd-nand-s3c2410.h>
  #include <plat/sdhci.h>
 -#include <plat/udc.h>
 +#include <linux/platform_data/usb-s3c2410_udc.h>
  #include <linux/platform_data/s3c-hsudc.h>
  
- #include <plat/regs-fb-v4.h>
  #include <plat/fb.h>
  
  #include <plat/common-smdk.h>
index 15c58dfc4584f655b630b45d58798155551a4639,f7a108bafd4cf6928b466c080f4e1c2c79fc2149..99e82ac81b694ce69e27c7e5c8b3a53fc8cef473
@@@ -42,9 -43,8 +43,8 @@@
  #include <asm/mach-types.h>
  
  #include <plat/regs-serial.h>
 -#include <plat/iic.h>
 +#include <linux/platform_data/i2c-s3c2410.h>
  #include <plat/fb.h>
- #include <plat/regs-fb-v4.h>
  
  #include <plat/clock.h>
  #include <plat/devs.h>
Simple merge
Simple merge
index 09311cc40115d7dbf25c40dfe98bd45c5ea0a289,96ebcc5944c3860a45dabd065eeed85e1952cb5c..07c349cca33329fad68fbb253cfa5915e8783237
  #include <plat/cpu.h>
  #include <plat/devs.h>
  #include <plat/fb.h>
 -#include <plat/nand.h>
 +#include <linux/platform_data/mtd-nand-s3c2410.h>
  #include <plat/regs-serial.h>
 -#include <plat/ts.h>
 +#include <linux/platform_data/touchscreen-s3c2410.h>
- #include <plat/regs-fb-v4.h>
  
  #include <video/platform_lcd.h>
+ #include <video/samsung_fimd.h>
  
  #include "common.h"
  
Simple merge
index 6daca203e72b3eaea40d0792b0b8fd972918606d,76d3ffbe9a92f59fa9c6bbd1871e2aabdcde0652..7476f7c722ab18d86d7625caa0b5c6e7d41c3b1f
  #include <plat/cpu.h>
  #include <plat/devs.h>
  #include <plat/fb.h>
 -#include <plat/nand.h>
 +#include <linux/platform_data/mtd-nand-s3c2410.h>
  #include <plat/regs-serial.h>
 -#include <plat/ts.h>
 +#include <linux/platform_data/touchscreen-s3c2410.h>
- #include <plat/regs-fb-v4.h>
  
  #include <video/platform_lcd.h>
+ #include <video/samsung_fimd.h>
  
  #include "common.h"
  
index 2547a8846472180016b0bd24e42f4eb53b009b20,d1378d76e1510ec2861b3826cd4c1663ae79a360..da1a771a29e9f1493ce192d35fde34f6fa23ed01
  #include <plat/devs.h>
  #include <plat/cpu.h>
  #include <plat/adc.h>
 -#include <plat/ts.h>
 +#include <linux/platform_data/touchscreen-s3c2410.h>
  #include <plat/keypad.h>
  #include <plat/backlight.h>
- #include <plat/regs-fb-v4.h>
  
  #include "common.h"
  
Simple merge
Simple merge
index 5d2c0934928b8b85f63fc525247fad486ef8da2a,c3dcafa559b116ec4a400690910b623f697b329b..dba7384a87bde67d48256dd3e0a95cc61735be55
  #include <plat/devs.h>
  #include <plat/cpu.h>
  #include <plat/fb.h>
 -#include <plat/iic.h>
 -#include <plat/ata.h>
 +#include <linux/platform_data/i2c-s3c2410.h>
 +#include <linux/platform_data/ata-samsung_cf.h>
  #include <plat/adc.h>
  #include <plat/keypad.h>
 -#include <plat/ts.h>
 -#include <plat/audio.h>
 +#include <linux/platform_data/touchscreen-s3c2410.h>
 +#include <linux/platform_data/asoc-s3c.h>
  #include <plat/backlight.h>
- #include <plat/regs-fb-v4.h>
  
  #include "common.h"
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 113d43a16f546b95cce777ba62f2a5d5d0e3370c,65a11ef87e1c9b2a1fb4d6dc7e83559a165002a4..80665f66ac1ab844b283bb432a39f0591908d84d
@@@ -948,10 -1038,10 +1038,10 @@@ static int __devexit fb_remove(struct p
                dma_free_coherent(NULL, par->vram_size, par->vram_virt,
                                  par->vram_phys);
                free_irq(par->irq, par);
-               clk_disable(par->lcdc_clk);
-               clk_put(par->lcdc_clk);
+               pm_runtime_put_sync(&dev->dev);
+               pm_runtime_disable(&dev->dev);
                framebuffer_release(info);
 -              iounmap((void __iomem *)da8xx_fb_reg_base);
 +              iounmap(da8xx_fb_reg_base);
                release_mem_region(lcdc_regs->start, resource_size(lcdc_regs));
  
        }
@@@ -1385,14 -1477,12 +1477,12 @@@ err_release_fb_mem
  err_release_fb:
        framebuffer_release(da8xx_fb_info);
  
- err_clk_disable:
-       clk_disable(fb_clk);
- err_clk_put:
-       clk_put(fb_clk);
+ err_pm_runtime_disable:
+       pm_runtime_put_sync(&device->dev);
+       pm_runtime_disable(&device->dev);
  
  err_ioremap:
 -      iounmap((void __iomem *)da8xx_fb_reg_base);
 +      iounmap(da8xx_fb_reg_base);
  
  err_request_mem:
        release_mem_region(lcdc_regs->start, len);
Simple merge
Simple merge
Simple merge
Simple merge
index bf73f048006183da73d75377faddce1d143917d2,d43e178fae273ead19b8707baf3890b47c84ac18..35ac9e8bee63f13a30133382dca3a8f43aa7a25d
  #include <linux/clk.h>
  #include <linux/io.h>
  #include <linux/sched.h>
- #include <mach/msm_iomap.h>
- #include <mach/irqs.h>
- #include <mach/board.h>
 -#include <mach/msm_fb.h>
 +#include <linux/platform_data/video-msm_fb.h>
  #include "mddi_hw.h"
  
  #define FLAG_DISABLE_HIBERNATION 0x0001
index 2e0f3bab61143410971a45f3686f0796823bdd21,752eff7de3cefd91de8487155d68ee4c1fa905e5..f2566c19e71cb10442e42552e9c492b5a3ba1db8
@@@ -25,8 -25,7 +25,7 @@@
  #include <linux/major.h>
  #include <linux/slab.h>
  
- #include <mach/msm_iomap.h>
 -#include <mach/msm_fb.h>
 +#include <linux/platform_data/video-msm_fb.h>
  #include <linux/platform_device.h>
  #include <linux/export.h>
  
index a0bacf581b32896deb3186168c08808791e733fa,2a841374263056a17e2754c4317c8f896d7efc2d..35848d7410015f60ca5c64272557091cb5dc39a8
@@@ -15,8 -15,7 +15,7 @@@
  #ifndef _MDP_HW_H_
  #define _MDP_HW_H_
  
- #include <mach/msm_iomap.h>
 -#include <mach/msm_fb.h>
 +#include <linux/platform_data/video-msm_fb.h>
  
  struct mdp_info {
        struct mdp_device mdp_dev;
Simple merge
Simple merge
index 6b5e6e0e202f253cada3b80ddf5d14db9b4b0bd7,4cf94161ff5101a74fcf0cdb165ce8c9f3aa1f2e..f2f644680ca8dfe2262fac39c42fcd50766982f0
@@@ -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");
        }
  
 -      INIT_DELAYED_WORK_DEFERRABLE(&td->esd_work, taal_esd_work);
+       td->workqueue = create_singlethread_workqueue("taal_esd");
+       if (td->workqueue == NULL) {
+               dev_err(&dssdev->dev, "can't create ESD workqueue\n");
+               return -ENOMEM;
+       }
++      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;
  
index ee9e29639dcc4323c5d1d87b31390da0a1ad5373,a173a9481a23f54a34321f9cc250f4226828812b..b43477a5fae869e5e8981faaea48f51c15827e49
@@@ -37,9 -37,6 +37,8 @@@
  #include <linux/platform_device.h>
  #include <linux/pm_runtime.h>
  
- #include <plat/clock.h>
 +#include <plat/cpu.h>
 +
  #include <video/omapdss.h>
  
  #include "dss.h"
Simple merge
Simple merge
Simple merge
Simple merge