diff options
Diffstat (limited to 'drivers/video/omap2')
| -rw-r--r-- | drivers/video/omap2/displays/panel-tpo-td043mtea1.c | 13 | ||||
| -rw-r--r-- | drivers/video/omap2/dss/dss_features.c | 6 | 
2 files changed, 13 insertions, 6 deletions
diff --git a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c index 6b6643911d2..048c98381ef 100644 --- a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c +++ b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c @@ -63,6 +63,9 @@ struct tpo_td043_device {  	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)  {  	struct spi_message	m; @@ -403,7 +406,7 @@ static void tpo_td043_disable(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 ret = 0; @@ -440,6 +443,8 @@ static int tpo_td043_probe(struct omap_dss_device *dssdev)  	if (ret)  		dev_warn(&dssdev->dev, "failed to create sysfs files\n"); +	dev_set_drvdata(&dssdev->dev, tpo_td043); +  	return 0;  fail_gpio_req: @@ -505,6 +510,9 @@ static int tpo_td043_spi_probe(struct spi_device *spi)  		return -ENODEV;  	} +	if (g_tpo_td043 != NULL) +		return -EBUSY; +  	spi->bits_per_word = 16;  	spi->mode = SPI_MODE_0; @@ -521,7 +529,7 @@ static int tpo_td043_spi_probe(struct spi_device *spi)  	tpo_td043->spi = spi;  	tpo_td043->nreset_gpio = dssdev->reset_gpio;  	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); @@ -534,6 +542,7 @@ static int tpo_td043_spi_remove(struct spi_device *spi)  	omap_dss_unregister_driver(&tpo_td043_driver);  	kfree(tpo_td043); +	g_tpo_td043 = NULL;  	return 0;  } diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c index d7d66ef5cb5..7f791aeda4d 100644 --- a/drivers/video/omap2/dss/dss_features.c +++ b/drivers/video/omap2/dss/dss_features.c @@ -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[] = {  	/* OMAP_DSS_CHANNEL_LCD */ -	OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI | -	OMAP_DSS_OUTPUT_DSI1, +	OMAP_DSS_OUTPUT_DBI | OMAP_DSS_OUTPUT_DSI1,  	/* OMAP_DSS_CHANNEL_DIGIT */ -	OMAP_DSS_OUTPUT_VENC | OMAP_DSS_OUTPUT_HDMI | -	OMAP_DSS_OUTPUT_DPI, +	OMAP_DSS_OUTPUT_VENC | OMAP_DSS_OUTPUT_HDMI,  	/* OMAP_DSS_CHANNEL_LCD2 */  	OMAP_DSS_OUTPUT_DPI | OMAP_DSS_OUTPUT_DBI |  |