Commit 5e248509 authored by Linus Torvalds's avatar 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
parents 2c3de1c2 ff588d83
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
#include <linux/omap-dma.h> #include <linux/omap-dma.h>
#include <mach/hardware.h>
#include "omapfb.h" #include "omapfb.h"
#include "lcdc.h" #include "lcdc.h"
......
...@@ -63,6 +63,9 @@ struct tpo_td043_device { ...@@ -63,6 +63,9 @@ struct tpo_td043_device {
u32 power_on_resume:1; u32 power_on_resume:1;
}; };
/* used to pass spi_device from SPI to DSS portion of the driver */
static struct tpo_td043_device *g_tpo_td043;
static int tpo_td043_write(struct spi_device *spi, u8 addr, u8 data) static int tpo_td043_write(struct spi_device *spi, u8 addr, u8 data)
{ {
struct spi_message m; struct spi_message m;
...@@ -403,7 +406,7 @@ static void tpo_td043_disable(struct omap_dss_device *dssdev) ...@@ -403,7 +406,7 @@ static void tpo_td043_disable(struct omap_dss_device *dssdev)
static int tpo_td043_probe(struct omap_dss_device *dssdev) static int tpo_td043_probe(struct omap_dss_device *dssdev)
{ {
struct tpo_td043_device *tpo_td043 = dev_get_drvdata(&dssdev->dev); struct tpo_td043_device *tpo_td043 = g_tpo_td043;
int nreset_gpio = dssdev->reset_gpio; int nreset_gpio = dssdev->reset_gpio;
int ret = 0; int ret = 0;
...@@ -440,6 +443,8 @@ static int tpo_td043_probe(struct omap_dss_device *dssdev) ...@@ -440,6 +443,8 @@ static int tpo_td043_probe(struct omap_dss_device *dssdev)
if (ret) if (ret)
dev_warn(&dssdev->dev, "failed to create sysfs files\n"); dev_warn(&dssdev->dev, "failed to create sysfs files\n");
dev_set_drvdata(&dssdev->dev, tpo_td043);
return 0; return 0;
fail_gpio_req: fail_gpio_req:
...@@ -505,6 +510,9 @@ static int tpo_td043_spi_probe(struct spi_device *spi) ...@@ -505,6 +510,9 @@ static int tpo_td043_spi_probe(struct spi_device *spi)
return -ENODEV; return -ENODEV;
} }
if (g_tpo_td043 != NULL)
return -EBUSY;
spi->bits_per_word = 16; spi->bits_per_word = 16;
spi->mode = SPI_MODE_0; spi->mode = SPI_MODE_0;
...@@ -521,7 +529,7 @@ static int tpo_td043_spi_probe(struct spi_device *spi) ...@@ -521,7 +529,7 @@ static int tpo_td043_spi_probe(struct spi_device *spi)
tpo_td043->spi = spi; tpo_td043->spi = spi;
tpo_td043->nreset_gpio = dssdev->reset_gpio; tpo_td043->nreset_gpio = dssdev->reset_gpio;
dev_set_drvdata(&spi->dev, tpo_td043); dev_set_drvdata(&spi->dev, tpo_td043);
dev_set_drvdata(&dssdev->dev, tpo_td043); g_tpo_td043 = tpo_td043;
omap_dss_register_driver(&tpo_td043_driver); omap_dss_register_driver(&tpo_td043_driver);
...@@ -534,6 +542,7 @@ static int tpo_td043_spi_remove(struct spi_device *spi) ...@@ -534,6 +542,7 @@ static int tpo_td043_spi_remove(struct spi_device *spi)
omap_dss_unregister_driver(&tpo_td043_driver); omap_dss_unregister_driver(&tpo_td043_driver);
kfree(tpo_td043); kfree(tpo_td043);
g_tpo_td043 = NULL;
return 0; return 0;
} }
......
...@@ -202,12 +202,10 @@ static const enum omap_dss_output_id omap3630_dss_supported_outputs[] = { ...@@ -202,12 +202,10 @@ static const enum omap_dss_output_id omap3630_dss_supported_outputs[] = {
static const enum omap_dss_output_id omap4_dss_supported_outputs[] = { static const enum omap_dss_output_id omap4_dss_supported_outputs[] = {
/* OMAP_DSS_CHANNEL_LCD */ /* OMAP_DSS_CHANNEL_LCD */
OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI | OMAP_DSS_OUTPUT_DBI | OMAP_DSS_OUTPUT_DSI1,
OMAP_DSS_OUTPUT_DSI1,
/* OMAP_DSS_CHANNEL_DIGIT */ /* OMAP_DSS_CHANNEL_DIGIT */
OMAP_DSS_OUTPUT_VENC | OMAP_DSS_OUTPUT_HDMI | OMAP_DSS_OUTPUT_VENC | OMAP_DSS_OUTPUT_HDMI,
OMAP_DSS_OUTPUT_DPI,
/* OMAP_DSS_CHANNEL_LCD2 */ /* OMAP_DSS_CHANNEL_LCD2 */
OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI | OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI |
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment