diff mbox

[6/8] ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi

Message ID 20090514202805.GQ5593@atomide.com (mailing list archive)
State Not Applicable, archived
Delegated to: Tomi Valkeinen
Headers show

Commit Message

Tony Lindgren May 14, 2009, 8:28 p.m. UTC
* Krzysztof Helt <krzysztof.h1@poczta.fm> [090514 11:57]:
> On Thu, 14 May 2009 10:49:59 -0700
> Tony Lindgren <tony@atomide.com> wrote:
> 
> > This makes the framebuffer work on omap3.
> > 
> > Also fix the clk_get usage for checkpatch.pl
> > "ERROR: do not use assignment in if condition".
> > 
> > Cc: Imre Deak <imre.deak@nokia.com>
> > Cc: linux-fbdev-devel@lists.sourceforge.net
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> 
> Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>

Thanks for looking. Here's v2 of the patch with one line fixed below.

> > --- a/drivers/video/omap/dispc.c
> > +++ b/drivers/video/omap/dispc.c
> > @@ -880,23 +880,25 @@ static irqreturn_t omap_dispc_irq_handler(int irq, void *dev)
> >  
> >  static int get_dss_clocks(void)
> >  {
> > -	if (IS_ERR((dispc.dss_ick = clk_get(dispc.fbdev->dev, "dss_ick")))) {
> > -		dev_err(dispc.fbdev->dev, "can't get dss_ick\n");
> > +	dispc.dss_ick = clk_get(dispc.fbdev->dev, "ick");
> > +	if (IS_ERR(dispc.dss_ick)) {
> > +		dev_err(dispc.fbdev->dev, "can't get ick\n");
> >  		return PTR_ERR(dispc.dss_ick);
> >  	}
> >  
> > -	if (IS_ERR((dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck")))) {
> > +	dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck");
> > +	if (IS_ERR(dispc.dss1_fck)) {
> >  		dev_err(dispc.fbdev->dev, "can't get dss1_fck\n");
> >  		clk_put(dispc.dss_ick);
> >  		return PTR_ERR(dispc.dss1_fck);
> >  	}
> >  
> > -	if (IS_ERR((dispc.dss_54m_fck =
> > -				clk_get(dispc.fbdev->dev, "dss_54m_fck")))) {
> > -		dev_err(dispc.fbdev->dev, "can't get dss_54m_fck\n");
> > +	dispc.dss_54m_fck = clk_get(dispc.fbdev->dev, "tv_fck");
> > +	if (IS_ERR(dispc.dss_54m_fck)) {
> > +		dev_err(dispc.fbdev->dev, "can't get tv_fck\n");
> >  		clk_put(dispc.dss_ick);
> >  		clk_put(dispc.dss1_fck);
> > -		return PTR_ERR(dispc.dss_54m_fck);
> > +
> >  	}

The return PTR_ERR(dispc.dss_54m_fck) should not be left out.

Regards,

Tony

Comments

Russell King - ARM Linux May 16, 2009, 9:06 a.m. UTC | #1
On Thu, May 14, 2009 at 01:28:06PM -0700, Tony Lindgren wrote:
> commit 27db33cfadd3c47c9499def6e71aaf5d2fd51e60
> Author: Tony Lindgren <tony@atomide.com>
> Date:   Tue May 12 11:20:03 2009 -0700
> 
>     ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2
>     
>     This makes the framebuffer work on omap3.
>     
>     Also fix the clk_get usage for checkpatch.pl
>     "ERROR: do not use assignment in if condition".
>     
>     Cc: Imre Deak <imre.deak@nokia.com>
>     Cc: linux-fbdev-devel@lists.sourceforge.net
>     Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
>     Signed-off-by: Tony Lindgren <tony@atomide.com>

This isn't a bug fix - the current code works, although checkpatch will
complain about the assignment in the if condition.

The rest of the patch is just a conversion from the old way of doing
things to the new way, and I don't think is -rc material.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren May 16, 2009, 3:25 p.m. UTC | #2
* Russell King - ARM Linux <linux@arm.linux.org.uk> [090516 02:06]:
> On Thu, May 14, 2009 at 01:28:06PM -0700, Tony Lindgren wrote:
> > commit 27db33cfadd3c47c9499def6e71aaf5d2fd51e60
> > Author: Tony Lindgren <tony@atomide.com>
> > Date:   Tue May 12 11:20:03 2009 -0700
> > 
> >     ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2
> >     
> >     This makes the framebuffer work on omap3.
> >     
> >     Also fix the clk_get usage for checkpatch.pl
> >     "ERROR: do not use assignment in if condition".
> >     
> >     Cc: Imre Deak <imre.deak@nokia.com>
> >     Cc: linux-fbdev-devel@lists.sourceforge.net
> >     Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
> >     Signed-off-by: Tony Lindgren <tony@atomide.com>
> 
> This isn't a bug fix - the current code works, although checkpatch will
> complain about the assignment in the if condition.
> 
> The rest of the patch is just a conversion from the old way of doing
> things to the new way, and I don't think is -rc material.

The code does not work for omap3 without this patch because of the
different clock names. It only works for 24xx. And because of the
different source clocks, it's pointless trying to fix it in any
other way for -rc series.

Dropping anyways from the omap-fixes series, we can wait a bit
longer.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux May 16, 2009, 4:22 p.m. UTC | #3
On Sat, May 16, 2009 at 08:25:43AM -0700, Tony Lindgren wrote:
> The code does not work for omap3 without this patch because of the
> different clock names. It only works for 24xx. And because of the
> different source clocks, it's pointless trying to fix it in any
> other way for -rc series.

If that's the case, leave it in please.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren May 16, 2009, 6:02 p.m. UTC | #4
* Russell King - ARM Linux <linux@arm.linux.org.uk> [090516 09:22]:
> On Sat, May 16, 2009 at 08:25:43AM -0700, Tony Lindgren wrote:
> > The code does not work for omap3 without this patch because of the
> > different clock names. It only works for 24xx. And because of the
> > different source clocks, it's pointless trying to fix it in any
> > other way for -rc series.
> 
> If that's the case, leave it in please.

OK, thanks. I'll add it back and send an updated pull request too.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

commit 27db33cfadd3c47c9499def6e71aaf5d2fd51e60
Author: Tony Lindgren <tony@atomide.com>
Date:   Tue May 12 11:20:03 2009 -0700

    ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2
    
    This makes the framebuffer work on omap3.
    
    Also fix the clk_get usage for checkpatch.pl
    "ERROR: do not use assignment in if condition".
    
    Cc: Imre Deak <imre.deak@nokia.com>
    Cc: linux-fbdev-devel@lists.sourceforge.net
    Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
    Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
index ff9b4c0..e4cef33 100644
--- a/arch/arm/mach-omap2/clock24xx.c
+++ b/arch/arm/mach-omap2/clock24xx.c
@@ -103,10 +103,10 @@  static struct omap_clk omap24xx_clks[] = {
 	CLK(NULL,	"mdm_ick",	&mdm_ick,	CK_243X),
 	CLK(NULL,	"mdm_osc_ck",	&mdm_osc_ck,	CK_243X),
 	/* DSS domain clocks */
-	CLK(NULL,	"dss_ick",	&dss_ick,	CK_243X | CK_242X),
-	CLK(NULL,	"dss1_fck",	&dss1_fck,	CK_243X | CK_242X),
-	CLK(NULL,	"dss2_fck",	&dss2_fck,	CK_243X | CK_242X),
-	CLK(NULL,	"dss_54m_fck",	&dss_54m_fck,	CK_243X | CK_242X),
+	CLK("omapfb",	"ick",		&dss_ick,	CK_243X | CK_242X),
+	CLK("omapfb",	"dss1_fck",	&dss1_fck,	CK_243X | CK_242X),
+	CLK("omapfb",	"dss2_fck",	&dss2_fck,	CK_243X | CK_242X),
+	CLK("omapfb",	"tv_fck",	&dss_54m_fck,	CK_243X | CK_242X),
 	/* L3 domain clocks */
 	CLK(NULL,	"core_l3_ck",	&core_l3_ck,	CK_243X | CK_242X),
 	CLK(NULL,	"ssi_fck",	&ssi_ssr_sst_fck, CK_243X | CK_242X),
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
index a057539..ba05aa4 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
@@ -197,11 +197,11 @@  static struct omap_clk omap34xx_clks[] = {
 	CLK("omap_rng",	"ick",		&rng_ick,	CK_343X),
 	CLK(NULL,	"sha11_ick",	&sha11_ick,	CK_343X),
 	CLK(NULL,	"des1_ick",	&des1_ick,	CK_343X),
-	CLK(NULL,	"dss1_alwon_fck", &dss1_alwon_fck, CK_343X),
-	CLK(NULL,	"dss_tv_fck",	&dss_tv_fck,	CK_343X),
-	CLK(NULL,	"dss_96m_fck",	&dss_96m_fck,	CK_343X),
-	CLK(NULL,	"dss2_alwon_fck", &dss2_alwon_fck, CK_343X),
-	CLK(NULL,	"dss_ick",	&dss_ick,	CK_343X),
+	CLK("omapfb",	"dss1_fck",	&dss1_alwon_fck, CK_343X),
+	CLK("omapfb",	"tv_fck",	&dss_tv_fck,	CK_343X),
+	CLK("omapfb",	"video_fck",	&dss_96m_fck,	CK_343X),
+	CLK("omapfb",	"dss2_fck",	&dss2_alwon_fck, CK_343X),
+	CLK("omapfb",	"ick",		&dss_ick,	CK_343X),
 	CLK(NULL,	"cam_mclk",	&cam_mclk,	CK_343X),
 	CLK(NULL,	"cam_ick",	&cam_ick,	CK_343X),
 	CLK(NULL,	"csi2_96m_fck",	&csi2_96m_fck,	CK_343X),
diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
index dfb72f5..148cbcc 100644
--- a/drivers/video/omap/dispc.c
+++ b/drivers/video/omap/dispc.c
@@ -880,20 +880,22 @@  static irqreturn_t omap_dispc_irq_handler(int irq, void *dev)
 
 static int get_dss_clocks(void)
 {
-	if (IS_ERR((dispc.dss_ick = clk_get(dispc.fbdev->dev, "dss_ick")))) {
-		dev_err(dispc.fbdev->dev, "can't get dss_ick\n");
+	dispc.dss_ick = clk_get(dispc.fbdev->dev, "ick");
+	if (IS_ERR(dispc.dss_ick)) {
+		dev_err(dispc.fbdev->dev, "can't get ick\n");
 		return PTR_ERR(dispc.dss_ick);
 	}
 
-	if (IS_ERR((dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck")))) {
+	dispc.dss1_fck = clk_get(dispc.fbdev->dev, "dss1_fck");
+	if (IS_ERR(dispc.dss1_fck)) {
 		dev_err(dispc.fbdev->dev, "can't get dss1_fck\n");
 		clk_put(dispc.dss_ick);
 		return PTR_ERR(dispc.dss1_fck);
 	}
 
-	if (IS_ERR((dispc.dss_54m_fck =
-				clk_get(dispc.fbdev->dev, "dss_54m_fck")))) {
-		dev_err(dispc.fbdev->dev, "can't get dss_54m_fck\n");
+	dispc.dss_54m_fck = clk_get(dispc.fbdev->dev, "tv_fck");
+	if (IS_ERR(dispc.dss_54m_fck)) {
+		dev_err(dispc.fbdev->dev, "can't get tv_fck\n");
 		clk_put(dispc.dss_ick);
 		clk_put(dispc.dss1_fck);
 		return PTR_ERR(dispc.dss_54m_fck);
diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c
index a13c8dc..9332d6c 100644
--- a/drivers/video/omap/rfbi.c
+++ b/drivers/video/omap/rfbi.c
@@ -83,12 +83,14 @@  static inline u32 rfbi_read_reg(int idx)
 
 static int rfbi_get_clocks(void)
 {
-	if (IS_ERR((rfbi.dss_ick = clk_get(rfbi.fbdev->dev, "dss_ick")))) {
-		dev_err(rfbi.fbdev->dev, "can't get dss_ick\n");
+	rfbi.dss_ick = clk_get(rfbi.fbdev->dev, "ick");
+	if (IS_ERR(rfbi.dss_ick)) {
+		dev_err(rfbi.fbdev->dev, "can't get ick\n");
 		return PTR_ERR(rfbi.dss_ick);
 	}
 
-	if (IS_ERR((rfbi.dss1_fck = clk_get(rfbi.fbdev->dev, "dss1_fck")))) {
+	rfbi.dss1_fck = clk_get(rfbi.fbdev->dev, "dss1_fck");
+	if (IS_ERR(rfbi.dss1_fck)) {
 		dev_err(rfbi.fbdev->dev, "can't get dss1_fck\n");
 		clk_put(rfbi.dss_ick);
 		return PTR_ERR(rfbi.dss1_fck);