Commit 5e248509b67f82102b9bfbf43d6efa04ba8252aa

Authored by Linus Torvalds

Merge tag 'fbdev-fixes-3.9-rc4' of git://gitorious.org/linux-omap-dss2/linux

Pull fbdev fixes from Tomi Valkeinen:
 "Since Florian is still away/inactive, I volunteered to collect fbdev
  fixes for 3.9 and changes for 3.10.  I didn't receive any other fbdev
  fixes than OMAP yet, but I didn't want to delay this further as
  there's a compilation fix for OMAP1.  So there could be still some
  fbdev fixes on the way a bit later.

  This contains:

   - Fix OMAP1 compilation
   - OMAP display fixes"

* tag 'fbdev-fixes-3.9-rc4' of git://gitorious.org/linux-omap-dss2/linux:
  omapdss: features: fix supported outputs for OMAP4
  OMAPDSS: tpo-td043 panel: fix data passing between SPI/DSS parts
  omapfb: fix broken build on OMAP1

Showing 3 changed files Side-by-side Diff

drivers/video/omap/omapfb_main.c
... ... @@ -32,6 +32,8 @@
32 32  
33 33 #include <linux/omap-dma.h>
34 34  
  35 +#include <mach/hardware.h>
  36 +
35 37 #include "omapfb.h"
36 38 #include "lcdc.h"
37 39  
drivers/video/omap2/displays/panel-tpo-td043mtea1.c
... ... @@ -63,6 +63,9 @@
63 63 u32 power_on_resume:1;
64 64 };
65 65  
  66 +/* used to pass spi_device from SPI to DSS portion of the driver */
  67 +static struct tpo_td043_device *g_tpo_td043;
  68 +
66 69 static int tpo_td043_write(struct spi_device *spi, u8 addr, u8 data)
67 70 {
68 71 struct spi_message m;
... ... @@ -403,7 +406,7 @@
403 406  
404 407 static int tpo_td043_probe(struct omap_dss_device *dssdev)
405 408 {
406   - struct tpo_td043_device *tpo_td043 = dev_get_drvdata(&dssdev->dev);
  409 + struct tpo_td043_device *tpo_td043 = g_tpo_td043;
407 410 int nreset_gpio = dssdev->reset_gpio;
408 411 int ret = 0;
409 412  
... ... @@ -440,6 +443,8 @@
440 443 if (ret)
441 444 dev_warn(&dssdev->dev, "failed to create sysfs files\n");
442 445  
  446 + dev_set_drvdata(&dssdev->dev, tpo_td043);
  447 +
443 448 return 0;
444 449  
445 450 fail_gpio_req:
... ... @@ -505,6 +510,9 @@
505 510 return -ENODEV;
506 511 }
507 512  
  513 + if (g_tpo_td043 != NULL)
  514 + return -EBUSY;
  515 +
508 516 spi->bits_per_word = 16;
509 517 spi->mode = SPI_MODE_0;
510 518  
... ... @@ -521,7 +529,7 @@
521 529 tpo_td043->spi = spi;
522 530 tpo_td043->nreset_gpio = dssdev->reset_gpio;
523 531 dev_set_drvdata(&spi->dev, tpo_td043);
524   - dev_set_drvdata(&dssdev->dev, tpo_td043);
  532 + g_tpo_td043 = tpo_td043;
525 533  
526 534 omap_dss_register_driver(&tpo_td043_driver);
527 535  
... ... @@ -534,6 +542,7 @@
534 542  
535 543 omap_dss_unregister_driver(&tpo_td043_driver);
536 544 kfree(tpo_td043);
  545 + g_tpo_td043 = NULL;
537 546  
538 547 return 0;
539 548 }
drivers/video/omap2/dss/dss_features.c
... ... @@ -202,12 +202,10 @@
202 202  
203 203 static const enum omap_dss_output_id omap4_dss_supported_outputs[] = {
204 204 /* OMAP_DSS_CHANNEL_LCD */
205   - OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI |
206   - OMAP_DSS_OUTPUT_DSI1,
  205 + OMAP_DSS_OUTPUT_DBI | OMAP_DSS_OUTPUT_DSI1,
207 206  
208 207 /* OMAP_DSS_CHANNEL_DIGIT */
209   - OMAP_DSS_OUTPUT_VENC | OMAP_DSS_OUTPUT_HDMI |
210   - OMAP_DSS_OUTPUT_DPI,
  208 + OMAP_DSS_OUTPUT_VENC | OMAP_DSS_OUTPUT_HDMI,
211 209  
212 210 /* OMAP_DSS_CHANNEL_LCD2 */
213 211 OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI |