History

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

Linus Torvalds committed 13 years ago

Commit 5e248502 parents 2c3de1c ff588d83 files · +15 −6Browse files

Unified · Split

3 files
  1. drivers/video/omap/omapfb_main.c +2 −0
  2. drivers/video/omap2/displays/panel-tpo-td043mtea1.c +11 −2
  3. drivers/video/omap2/dss/dss_features.c +2 −4
drivers/video/omap/omapfb_main.c+2−0
@@ -32,6 +32,8 @@ · 31 unmodified lines
3232
3333 #include <linux/omap-dma.h>
3434
35+#include <mach/hardware.h>
36+
3537 #include "omapfb.h"
3638 #include "lcdc.h"
3739
drivers/video/omap2/displays/panel-tpo-td043mtea1.c+11−2
@@ -63,6 +63,9 @@ struct tpo_td043_device { · 62 unmodified lines
6363 u32 power_on_resume:1;
6464 };
6565
66+/* used to pass spi_device from SPI to DSS portion of the driver */
67+static struct tpo_td043_device *g_tpo_td043;
68+
6669 static int tpo_td043_write(struct spi_device *spi, u8 addr, u8 data)
6770 {
6871 struct spi_message m;
@@ -403,7 +406,7 @@ static void tpo_td043_disable(struct omap_dss_device *dssdev) · 334 unmodified lines
403406
404407 static int tpo_td043_probe(struct omap_dss_device *dssdev)
405408 {
406− struct tpo_td043_device *tpo_td043 = dev_get_drvdata(&dssdev->dev);
409+ struct tpo_td043_device *tpo_td043 = g_tpo_td043;
407410 int nreset_gpio = dssdev->reset_gpio;
408411 int ret = 0;
409412
@@ -440,6 +443,8 @@ static int tpo_td043_probe(struct omap_dss_device *dssdev) · 30 unmodified lines
440443 if (ret)
441444 dev_warn(&dssdev->dev, "failed to create sysfs files\n");
442445
446+ dev_set_drvdata(&dssdev->dev, tpo_td043);
447+
443448 return 0;
444449
445450 fail_gpio_req:
@@ -505,6 +510,9 @@ static int tpo_td043_spi_probe(struct spi_device *spi) · 59 unmodified lines
505510 return -ENODEV;
506511 }
507512
513+ if (g_tpo_td043 != NULL)
514+ return -EBUSY;
515+
508516 spi->bits_per_word = 16;
509517 spi->mode = SPI_MODE_0;
510518
@@ -521,7 +529,7 @@ static int tpo_td043_spi_probe(struct spi_device *spi) · 10 unmodified lines
521529 tpo_td043->spi = spi;
522530 tpo_td043->nreset_gpio = dssdev->reset_gpio;
523531 dev_set_drvdata(&spi->dev, tpo_td043);
524− dev_set_drvdata(&dssdev->dev, tpo_td043);
532+ g_tpo_td043 = tpo_td043;
525533
526534 omap_dss_register_driver(&tpo_td043_driver);
527535
@@ -534,6 +542,7 @@ static int tpo_td043_spi_remove(struct spi_device *spi) · 6 unmodified lines
534542
535543 omap_dss_unregister_driver(&tpo_td043_driver);
536544 kfree(tpo_td043);
545+ g_tpo_td043 = NULL;
537546
538547 return 0;
539548 }
drivers/video/omap2/dss/dss_features.c+2−4
@@ -202,12 +202,10 @@ static const enum omap_dss_output_id omap3630_dss_supported_outputs[] = { · 201 unmodified lines
202202
203203 static const enum omap_dss_output_id omap4_dss_supported_outputs[] = {
204204 /* 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,
207206
208207 /* 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,
211209
212210 /* OMAP_DSS_CHANNEL_LCD2 */
213211 OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI |