On 8/23/2010 5:57 PM, Guruswamy, Senthilvadivu wrote:
From: Senthilvadivu Guruswamy<svadivu@xxxxxx> RFBI init and exit moved to rfbi probe and remove. Signed-off-by: Senthilvadivu Guruswamy<svadivu@xxxxxx> --- drivers/video/omap2/dss/core.c | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c index 90a8f77..5030a84 100644 --- a/drivers/video/omap2/dss/core.c +++ b/drivers/video/omap2/dss/core.c @@ -199,12 +199,6 @@ static int omap_dss_probe(struct platform_device *pdev) dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); - r = rfbi_init(); - if (r) { - DSSERR("Failed to initialize rfbi\n"); - goto err_rfbi; - } - r = dpi_init(pdev); if (r) { DSSERR("Failed to initialize dpi\n"); @@ -278,8 +272,6 @@ err_venc: err_dispc: dpi_exit(); err_dpi: - rfbi_exit(); -err_rfbi: dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); return r; @@ -296,7 +288,6 @@ static int omap_dss_remove(struct platform_device *pdev) venc_exit(); dispc_exit(); dpi_exit(); - rfbi_exit(); if (cpu_is_omap34xx()) { dsi_exit(); sdi_exit(); @@ -357,11 +348,21 @@ static int omap_dsi1hw_remove(struct platform_device *pdev) /* RFBI HW IP initialisation */ static int omap_rfbihw_probe(struct platform_device *pdev) { - return 0; + int r; + dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); + r = rfbi_init(); + if (r) { + DSSERR("Failed to initialize rfbi\n"); + goto err_rfbi; + } +err_rfbi: + dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); + return r;
There is probably something wrong in this sequence? The same thing is done whatever the return state (except the error log). You should probably return 0 and not disable the clocks if the rfbi_init is successful.
Benoit -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html