Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 310335
b: refs/heads/master
c: a57dd4f
h: refs/heads/master
i:
  310333: 528837e
  310331: 2939fb3
  310327: fd9373d
  310319: 851a3af
  310303: 0f0194b
  310271: 97f304f
v: v3
  • Loading branch information
Tomi Valkeinen committed May 11, 2012
1 parent be675a4 commit 0f46409
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 42 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 53f576a8dc5729e719c862aba2ed3430867bd5cb
refs/heads/master: a57dd4fe7bef557afaa1a6cdb77cd95b2cba094e
18 changes: 18 additions & 0 deletions trunk/drivers/video/omap2/dss/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,18 @@ static int __init omap_dss_register_drivers(void)
goto err_dispc;
}

r = dpi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize dpi platform driver\n");
goto err_dpi;
}

r = sdi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize sdi platform driver\n");
goto err_sdi;
}

r = rfbi_init_platform_driver();
if (r) {
DSSERR("Failed to initialize rfbi platform driver\n");
Expand Down Expand Up @@ -569,6 +581,10 @@ static int __init omap_dss_register_drivers(void)
err_venc:
rfbi_uninit_platform_driver();
err_rfbi:
sdi_uninit_platform_driver();
err_sdi:
dpi_uninit_platform_driver();
err_dpi:
dispc_uninit_platform_driver();
err_dispc:
dss_uninit_platform_driver();
Expand All @@ -584,6 +600,8 @@ static void __exit omap_dss_unregister_drivers(void)
dsi_uninit_platform_driver();
venc_uninit_platform_driver();
rfbi_uninit_platform_driver();
sdi_uninit_platform_driver();
dpi_uninit_platform_driver();
dispc_uninit_platform_driver();
dss_uninit_platform_driver();

Expand Down
23 changes: 21 additions & 2 deletions trunk/drivers/video/omap2/dss/dpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -379,12 +379,31 @@ int dpi_init_display(struct omap_dss_device *dssdev)
return 0;
}

int dpi_init(void)
static int omap_dpi_probe(struct platform_device *pdev)
{
return 0;
}

void dpi_exit(void)
static int omap_dpi_remove(struct platform_device *pdev)
{
return 0;
}

static struct platform_driver omap_dpi_driver = {
.probe = omap_dpi_probe,
.remove = omap_dpi_remove,
.driver = {
.name = "omapdss_dpi",
.owner = THIS_MODULE,
},
};

int dpi_init_platform_driver(void)
{
return platform_driver_register(&omap_dpi_driver);
}

void dpi_uninit_platform_driver(void)
{
platform_driver_unregister(&omap_dpi_driver);
}
20 changes: 1 addition & 19 deletions trunk/drivers/video/omap2/dss/dss.c
Original file line number Diff line number Diff line change
Expand Up @@ -786,29 +786,14 @@ static int omap_dsshw_probe(struct platform_device *pdev)
dss.lcd_clk_source[0] = OMAP_DSS_CLK_SRC_FCK;
dss.lcd_clk_source[1] = OMAP_DSS_CLK_SRC_FCK;

r = dpi_init();
if (r) {
DSSERR("Failed to initialize DPI\n");
goto err_dpi;
}

r = sdi_init();
if (r) {
DSSERR("Failed to initialize SDI\n");
goto err_sdi;
}

rev = dss_read_reg(DSS_REVISION);
printk(KERN_INFO "OMAP DSS rev %d.%d\n",
FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));

dss_runtime_put();

return 0;
err_sdi:
dpi_exit();
err_dpi:
dss_runtime_put();

err_runtime_get:
pm_runtime_disable(&pdev->dev);
dss_put_clocks();
Expand All @@ -817,9 +802,6 @@ static int omap_dsshw_probe(struct platform_device *pdev)

static int omap_dsshw_remove(struct platform_device *pdev)
{
dpi_exit();
sdi_exit();

pm_runtime_disable(&pdev->dev);

dss_put_clocks();
Expand Down
26 changes: 8 additions & 18 deletions trunk/drivers/video/omap2/dss/dss.h
Original file line number Diff line number Diff line change
Expand Up @@ -272,17 +272,12 @@ int dss_calc_clock_div(bool is_tft, unsigned long req_pck,

/* SDI */
#ifdef CONFIG_OMAP2_DSS_SDI
int sdi_init(void);
void sdi_exit(void);
int sdi_init_platform_driver(void);
void sdi_uninit_platform_driver(void);
int sdi_init_display(struct omap_dss_device *display);
#else
static inline int sdi_init(void)
{
return 0;
}
static inline void sdi_exit(void)
{
}
static inline int sdi_init_platform_driver(void) { return 0; }
static inline void sdi_uninit_platform_driver(void) { }
#endif

/* DSI */
Expand Down Expand Up @@ -384,17 +379,12 @@ static inline struct platform_device *dsi_get_dsidev_from_id(int module)

/* DPI */
#ifdef CONFIG_OMAP2_DSS_DPI
int dpi_init(void);
void dpi_exit(void);
int dpi_init_platform_driver(void);
void dpi_uninit_platform_driver(void);
int dpi_init_display(struct omap_dss_device *dssdev);
#else
static inline int dpi_init(void)
{
return 0;
}
static inline void dpi_exit(void)
{
}
static inline int dpi_init_platform_driver(void) { return 0; }
static inline void dpi_uninit_platform_driver(void) { }
#endif

/* DISPC */
Expand Down
25 changes: 23 additions & 2 deletions trunk/drivers/video/omap2/dss/sdi.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/err.h>
#include <linux/regulator/consumer.h>
#include <linux/export.h>
#include <linux/platform_device.h>

#include <video/omapdss.h>
#include "dss.h"
Expand Down Expand Up @@ -182,11 +183,31 @@ int sdi_init_display(struct omap_dss_device *dssdev)
return 0;
}

int sdi_init(void)
static int omap_sdi_probe(struct platform_device *pdev)
{
return 0;
}

void sdi_exit(void)
static int omap_sdi_remove(struct platform_device *pdev)
{
return 0;
}

static struct platform_driver omap_sdi_driver = {
.probe = omap_sdi_probe,
.remove = omap_sdi_remove,
.driver = {
.name = "omapdss_sdi",
.owner = THIS_MODULE,
},
};

int sdi_init_platform_driver(void)
{
return platform_driver_register(&omap_sdi_driver);
}

void sdi_uninit_platform_driver(void)
{
platform_driver_unregister(&omap_sdi_driver);
}

0 comments on commit 0f46409

Please sign in to comment.