Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+15 -6
+2
drivers/video/omap/omapfb_main.c
··· 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
+11 -2
drivers/video/omap2/displays/panel-tpo-td043mtea1.c
··· 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; ··· 406 403 407 404 static int tpo_td043_probe(struct omap_dss_device *dssdev) 408 405 { 409 - struct tpo_td043_device *tpo_td043 = dev_get_drvdata(&dssdev->dev); 406 + struct tpo_td043_device *tpo_td043 = g_tpo_td043; 410 407 int nreset_gpio = dssdev->reset_gpio; 411 408 int ret = 0; 412 409 ··· 442 439 ret = sysfs_create_group(&dssdev->dev.kobj, &tpo_td043_attr_group); 443 440 if (ret) 444 441 dev_warn(&dssdev->dev, "failed to create sysfs files\n"); 442 + 443 + dev_set_drvdata(&dssdev->dev, tpo_td043); 445 444 446 445 return 0; 447 446 ··· 510 505 return -ENODEV; 511 506 } 512 507 508 + if (g_tpo_td043 != NULL) 509 + return -EBUSY; 510 + 513 511 spi->bits_per_word = 16; 514 512 spi->mode = SPI_MODE_0; 515 513 ··· 529 521 tpo_td043->spi = spi; 530 522 tpo_td043->nreset_gpio = dssdev->reset_gpio; 531 523 dev_set_drvdata(&spi->dev, tpo_td043); 532 - dev_set_drvdata(&dssdev->dev, tpo_td043); 524 + g_tpo_td043 = tpo_td043; 533 525 534 526 omap_dss_register_driver(&tpo_td043_driver); 535 527 ··· 542 534 543 535 omap_dss_unregister_driver(&tpo_td043_driver); 544 536 kfree(tpo_td043); 537 + g_tpo_td043 = NULL; 545 538 546 539 return 0; 547 540 }
+2 -4
drivers/video/omap2/dss/dss_features.c
··· 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 |