Merge tag 'fbdev-for-3.8' of git://gitorious.org/linux-omap-dss2/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Dec 2012 21:03:48 +0000 (13:03 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Dec 2012 21:03:48 +0000 (13:03 -0800)
Pull fbdev changes from Tomi Valkeinen:
 "OMAPDSS changes, including:
   - use dynanic debug prints
   - OMAP platform dependency removals
   - Creation of compat-layer, helping us to improve omapdrm
   - Misc cleanups, aiming to make omadss more in line with the upcoming
     common display framework

  Exynos DP changes for the 3.8 merge window:
   - Device Tree support for Samsung Exynos DP
   - SW Link training is cleaned up.
   - HPD interrupt is supported.

  Samsung Framebuffer changes for the 3.8 merge window:
   - The bit definitions of header file are updated.
   - Some minor typos are fixed.
   - Some minor bugs of s3c_fb_check_var() are fixed.

  FB related changes for SH Mobile, Freescale DIU

  Add support for the Solomon SSD1307 OLED Controller"

* tag 'fbdev-for-3.8' of git://gitorious.org/linux-omap-dss2/linux: (191 commits)
  OMAPDSS: fix TV-out issue with DSI PLL
  Revert "OMAPFB: simplify locking"
  OMAPFB: remove silly loop in fb2display()
  OMAPFB: fix error handling in omapfb_find_best_mode()
  OMAPFB: use devm_kzalloc to allocate omapfb2_device
  OMAPDSS: DISPC: remove dispc fck uses
  OMAPDSS: DISPC: get dss clock rate from dss driver
  drivers/video/console/softcursor.c: remove redundant NULL check before kfree()
  drivers/video: add support for the Solomon SSD1307 OLED Controller
  OMAPDSS: use omapdss_compat_init() in other drivers
  OMAPDSS: export dispc functions
  OMAPDSS: export dss_feat functions
  OMAPDSS: export dss_mgr_ops functions
  OMAPDSS: separate compat files in the Makefile
  OMAPDSS: move display sysfs init to compat layer
  OMAPDSS: DPI: use dispc's check_timings
  OMAPDSS: DISPC: add dispc_ovl_check()
  OMAPDSS: move irq handling to dispc-compat
  OMAPDSS: move omap_dispc_wait_for_irq_interruptible_timeout to dispc-compat.c
  OMAPDSS: move blocking mgr enable/disable to compat layer
  ...

Conflicts:
arch/arm/mach-davinci/devices-da8xx.c
arch/arm/plat-omap/common.c
drivers/media/platform/omap/omap_vout.c

1  2 
MAINTAINERS
arch/arm/mach-davinci/da850.c
arch/arm/mach-davinci/devices-da8xx.c
arch/arm/mach-omap2/board-rx51.c
arch/arm/mach-omap2/display.c
arch/arm/mach-shmobile/board-ap4evb.c
arch/arm/mach-shmobile/board-mackerel.c
arch/arm/plat-omap/fb.c
drivers/media/platform/omap/omap_vout.c
drivers/staging/omapdrm/omap_drv.c

diff --cc MAINTAINERS
Simple merge
Simple merge
@@@ -520,98 -518,9 +520,78 @@@ void __init da8xx_register_mcasp(int id
        }
  }
  
- static const struct display_panel disp_panel = {
-       QVGA,
-       16,
-       16,
-       COLOR_ACTIVE,
- };
 +static struct resource da8xx_pruss_resources[] = {
 +      {
 +              .start  = DA8XX_PRUSS_MEM_BASE,
 +              .end    = DA8XX_PRUSS_MEM_BASE + 0xFFFF,
 +              .flags  = IORESOURCE_MEM,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT0,
 +              .end    = IRQ_DA8XX_EVTOUT0,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT1,
 +              .end    = IRQ_DA8XX_EVTOUT1,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT2,
 +              .end    = IRQ_DA8XX_EVTOUT2,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT3,
 +              .end    = IRQ_DA8XX_EVTOUT3,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT4,
 +              .end    = IRQ_DA8XX_EVTOUT4,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT5,
 +              .end    = IRQ_DA8XX_EVTOUT5,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT6,
 +              .end    = IRQ_DA8XX_EVTOUT6,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +      {
 +              .start  = IRQ_DA8XX_EVTOUT7,
 +              .end    = IRQ_DA8XX_EVTOUT7,
 +              .flags  = IORESOURCE_IRQ,
 +      },
 +};
 +
 +static struct uio_pruss_pdata da8xx_uio_pruss_pdata = {
 +      .pintc_base     = 0x4000,
 +};
 +
 +static struct platform_device da8xx_uio_pruss_dev = {
 +      .name           = "pruss_uio",
 +      .id             = -1,
 +      .num_resources  = ARRAY_SIZE(da8xx_pruss_resources),
 +      .resource       = da8xx_pruss_resources,
 +      .dev            = {
 +              .coherent_dma_mask      = DMA_BIT_MASK(32),
 +              .platform_data          = &da8xx_uio_pruss_pdata,
 +      }
 +};
 +
 +int __init da8xx_register_uio_pruss(void)
 +{
 +      da8xx_uio_pruss_pdata.sram_pool = sram_get_gen_pool();
 +      return platform_device_register(&da8xx_uio_pruss_dev);
 +}
 +
  static struct lcd_ctrl_config lcd_cfg = {
-       &disp_panel,
-       .ac_bias                = 255,
-       .ac_bias_intrpt         = 0,
-       .dma_burst_sz           = 16,
+       .panel_shade            = COLOR_ACTIVE,
        .bpp                    = 16,
-       .fdd                    = 255,
-       .tft_alt_mode           = 0,
-       .stn_565_mode           = 0,
-       .mono_8bit_mode         = 0,
-       .invert_line_clock      = 1,
-       .invert_frm_clock       = 1,
-       .sync_edge              = 0,
-       .sync_ctrl              = 1,
-       .raster_order           = 0,
-       .fifo_th                = 6,
  };
  
  struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata = {
Simple merge
Simple merge
Simple merge
@@@ -29,7 -29,9 +29,8 @@@
  #include <linux/memblock.h>
  #include <linux/io.h>
  #include <linux/omapfb.h>
+ #include <linux/dma-mapping.h>
  
 -#include <mach/hardware.h>
  #include <asm/mach/map.h>
  
  #include <plat/cpu.h>
@@@ -561,10 -570,16 +561,18 @@@ static int dev_load(struct drm_device *
                return -ENOMEM;
        }
  
 +      priv->omaprev = pdata->omaprev;
 +
        dev->dev_private = priv;
  
+       ret = omapdss_compat_init();
+       if (ret) {
+               dev_err(dev->dev, "coult not init omapdss\n");
+               dev->dev_private = NULL;
+               kfree(priv);
+               return ret;
+       }
        priv->wq = alloc_ordered_workqueue("omapdrm", 0);
  
        INIT_LIST_HEAD(&priv->obj_list);