2010-12-19 18:13:06

by Alexey Charkov

[permalink] [raw]
Subject: [PATCH] fbdev: Minor cleanup in WM8505-related code

This fixes vsync timing calculation in wm8505fb.c (was off by one,
which caused some flicker with larger panels) and replaces the last
remaining driver name reference with the macro for uniformity.

In addition, the error return path in wmt_ge_rops.c is made more
uniform by getting rid of goto's in remaining places.

Signed-off-by: Alexey Charkov <[email protected]>
---

Paul, could you please apply this to your fbdev tree? The patch seems
to be trivial, and it would bring the mainline code in line with what
people use when pulling from our Gitorious development repo.

Best regards,
Alexey

diff --git a/drivers/video/wm8505fb.c b/drivers/video/wm8505fb.c
index e37251b..96e34a5 100644
--- a/drivers/video/wm8505fb.c
+++ b/drivers/video/wm8505fb.c
@@ -88,7 +88,7 @@ static int wm8505fb_set_timing(struct fb_info *info)
int v_start = info->var.upper_margin;
int v_end = v_start + info->var.yres;
int v_all = v_end + info->var.lower_margin;
- int v_sync = info->var.vsync_len + 1;
+ int v_sync = info->var.vsync_len;

writel(0, fbi->regbase + WMT_GOVR_TG);

@@ -291,7 +291,7 @@ static int __devinit wm8505fb_probe(struct platform_device *pdev)
goto failed_fbi;
}

- res = request_mem_region(res->start, resource_size(res), "wm8505fb");
+ res = request_mem_region(res->start, resource_size(res), DRIVER_NAME);
if (res == NULL) {
dev_err(&pdev->dev, "failed to request I/O memory\n");
ret = -EBUSY;
diff --git a/drivers/video/wmt_ge_rops.c b/drivers/video/wmt_ge_rops.c
index f31883f..45832b7 100644
--- a/drivers/video/wmt_ge_rops.c
+++ b/drivers/video/wmt_ge_rops.c
@@ -127,13 +127,11 @@ EXPORT_SYMBOL_GPL(wmt_ge_sync);
static int __devinit wmt_ge_rops_probe(struct platform_device *pdev)
{
struct resource *res;
- int ret;

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (res == NULL) {
dev_err(&pdev->dev, "no I/O memory resource defined\n");
- ret = -ENODEV;
- goto error;
+ return -ENODEV;
}

/* Only one ROP engine is presently supported. */
@@ -145,17 +143,13 @@ static int __devinit wmt_ge_rops_probe(struct platform_device *pdev)
regbase = ioremap(res->start, resource_size(res));
if (regbase == NULL) {
dev_err(&pdev->dev, "failed to map I/O memory\n");
- ret = -EBUSY;
- goto error;
+ return -EBUSY;
}

writel(1, regbase + GE_ENABLE_OFF);
printk(KERN_INFO "Enabled support for WMT GE raster acceleration\n");

return 0;
-
-error:
- return ret;
}

static int __devexit wmt_ge_rops_remove(struct platform_device *pdev)


2010-12-20 05:06:35

by Janorkar, Mayuresh

[permalink] [raw]
Subject: RE: [PATCH] fbdev: Minor cleanup in WM8505-related code

Alexey,

How about sending this as two different patches?
1) Correcting vsync
2) code cleanup

-Thanks,
Mayuresh
> -----Original Message-----
> From: [email protected] [mailto:linux-fbdev-
> [email protected]] On Behalf Of Alexey Charkov
> Sent: Sunday, December 19, 2010 11:43 PM
> To: Paul Mundt
> Cc: [email protected]; [email protected]; vt8500-
> [email protected]
> Subject: [PATCH] fbdev: Minor cleanup in WM8505-related code
>
> This fixes vsync timing calculation in wm8505fb.c (was off by one,
> which caused some flicker with larger panels) and replaces the last
> remaining driver name reference with the macro for uniformity.
>
> In addition, the error return path in wmt_ge_rops.c is made more
> uniform by getting rid of goto's in remaining places.
>
> Signed-off-by: Alexey Charkov <[email protected]>
> ---
>
> Paul, could you please apply this to your fbdev tree? The patch seems
> to be trivial, and it would bring the mainline code in line with what
> people use when pulling from our Gitorious development repo.
>
> Best regards,
> Alexey
>
> diff --git a/drivers/video/wm8505fb.c b/drivers/video/wm8505fb.c
> index e37251b..96e34a5 100644
> --- a/drivers/video/wm8505fb.c
> +++ b/drivers/video/wm8505fb.c
> @@ -88,7 +88,7 @@ static int wm8505fb_set_timing(struct fb_info *info)
> int v_start = info->var.upper_margin;
> int v_end = v_start + info->var.yres;
> int v_all = v_end + info->var.lower_margin;
> - int v_sync = info->var.vsync_len + 1;
> + int v_sync = info->var.vsync_len;
>
> writel(0, fbi->regbase + WMT_GOVR_TG);
>
> @@ -291,7 +291,7 @@ static int __devinit wm8505fb_probe(struct
> platform_device *pdev)
> goto failed_fbi;
> }
>
> - res = request_mem_region(res->start, resource_size(res),
> "wm8505fb");
> + res = request_mem_region(res->start, resource_size(res),
> DRIVER_NAME);
> if (res == NULL) {
> dev_err(&pdev->dev, "failed to request I/O memory\n");
> ret = -EBUSY;
> diff --git a/drivers/video/wmt_ge_rops.c b/drivers/video/wmt_ge_rops.c
> index f31883f..45832b7 100644
> --- a/drivers/video/wmt_ge_rops.c
> +++ b/drivers/video/wmt_ge_rops.c
> @@ -127,13 +127,11 @@ EXPORT_SYMBOL_GPL(wmt_ge_sync);
> static int __devinit wmt_ge_rops_probe(struct platform_device *pdev)
> {
> struct resource *res;
> - int ret;
>
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (res == NULL) {
> dev_err(&pdev->dev, "no I/O memory resource defined\n");
> - ret = -ENODEV;
> - goto error;
> + return -ENODEV;
> }
>
> /* Only one ROP engine is presently supported. */
> @@ -145,17 +143,13 @@ static int __devinit wmt_ge_rops_probe(struct
> platform_device *pdev)
> regbase = ioremap(res->start, resource_size(res));
> if (regbase == NULL) {
> dev_err(&pdev->dev, "failed to map I/O memory\n");
> - ret = -EBUSY;
> - goto error;
> + return -EBUSY;
> }
>
> writel(1, regbase + GE_ENABLE_OFF);
> printk(KERN_INFO "Enabled support for WMT GE raster
> acceleration\n");
>
> return 0;
> -
> -error:
> - return ret;
> }
>
> static int __devexit wmt_ge_rops_remove(struct platform_device *pdev)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2010-12-20 13:03:18

by Alexey Charkov

[permalink] [raw]
Subject: [PATCH 1/2] fbdev: Minor cleanup in WM8505-related code

This replaces the last remaining driver name reference with the
macro for uniformity in wm8505fb.

In addition, the error return path in wmt_ge_rops.c is made more
uniform by getting rid of goto's in remaining places.

Signed-off-by: Alexey Charkov <[email protected]>
---

Splitted the vsync change (will follow in PATCH 2/2) from trivial
cleanups. This indeed makes sense for at least bisecting purposes.
Thanks Mayuresh for the suggestion!

Best regards,
Alexey

drivers/video/wm8505fb.c | 2 +-
drivers/video/wmt_ge_rops.c | 10 ++--------
2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/video/wm8505fb.c b/drivers/video/wm8505fb.c
index e37251b..9ca9dbb 100644
--- a/drivers/video/wm8505fb.c
+++ b/drivers/video/wm8505fb.c
@@ -291,7 +291,7 @@ static int __devinit wm8505fb_probe(struct platform_device *pdev)
goto failed_fbi;
}

- res = request_mem_region(res->start, resource_size(res), "wm8505fb");
+ res = request_mem_region(res->start, resource_size(res), DRIVER_NAME);
if (res == NULL) {
dev_err(&pdev->dev, "failed to request I/O memory\n");
ret = -EBUSY;
diff --git a/drivers/video/wmt_ge_rops.c b/drivers/video/wmt_ge_rops.c
index f31883f..45832b7 100644
--- a/drivers/video/wmt_ge_rops.c
+++ b/drivers/video/wmt_ge_rops.c
@@ -127,13 +127,11 @@ EXPORT_SYMBOL_GPL(wmt_ge_sync);
static int __devinit wmt_ge_rops_probe(struct platform_device *pdev)
{
struct resource *res;
- int ret;

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (res == NULL) {
dev_err(&pdev->dev, "no I/O memory resource defined\n");
- ret = -ENODEV;
- goto error;
+ return -ENODEV;
}

/* Only one ROP engine is presently supported. */
@@ -145,17 +143,13 @@ static int __devinit wmt_ge_rops_probe(struct platform_device *pdev)
regbase = ioremap(res->start, resource_size(res));
if (regbase == NULL) {
dev_err(&pdev->dev, "failed to map I/O memory\n");
- ret = -EBUSY;
- goto error;
+ return -EBUSY;
}

writel(1, regbase + GE_ENABLE_OFF);
printk(KERN_INFO "Enabled support for WMT GE raster acceleration\n");

return 0;
-
-error:
- return ret;
}

static int __devexit wmt_ge_rops_remove(struct platform_device *pdev)
--
1.7.3.4

2010-12-20 13:10:03

by Alexey Charkov

[permalink] [raw]
Subject: [PATCH 2/2] fbdev: Modify vsync timing calculation in wm8505fb

This removes the '+1' in vsync timing calculation for wm8505fb to
directly use values provided from the board setup code.

Signed-off-by: Alexey Charkov <[email protected]>
---
drivers/video/wm8505fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/video/wm8505fb.c b/drivers/video/wm8505fb.c
index 9ca9dbb..96e34a5 100644
--- a/drivers/video/wm8505fb.c
+++ b/drivers/video/wm8505fb.c
@@ -88,7 +88,7 @@ static int wm8505fb_set_timing(struct fb_info *info)
int v_start = info->var.upper_margin;
int v_end = v_start + info->var.yres;
int v_all = v_end + info->var.lower_margin;
- int v_sync = info->var.vsync_len + 1;
+ int v_sync = info->var.vsync_len;

writel(0, fbi->regbase + WMT_GOVR_TG);

--
1.7.3.4

2010-12-20 16:01:33

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 1/2] fbdev: Minor cleanup in WM8505-related code

On Mon, Dec 20, 2010 at 04:03:14PM +0300, Alexey Charkov wrote:
> This replaces the last remaining driver name reference with the
> macro for uniformity in wm8505fb.
>
> In addition, the error return path in wmt_ge_rops.c is made more
> uniform by getting rid of goto's in remaining places.
>
> Signed-off-by: Alexey Charkov <[email protected]>

I'll hold on to this for .38, as there's nothing really pressing here.

2010-12-20 16:01:50

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 2/2] fbdev: Modify vsync timing calculation in wm8505fb

On Mon, Dec 20, 2010 at 04:09:57PM +0300, Alexey Charkov wrote:
> This removes the '+1' in vsync timing calculation for wm8505fb to
> directly use values provided from the board setup code.
>
> Signed-off-by: Alexey Charkov <[email protected]>

This is queued for .37, thanks.

2010-12-20 16:04:58

by Alexey Charkov

[permalink] [raw]
Subject: Re: [PATCH 2/2] fbdev: Modify vsync timing calculation in wm8505fb

2010/12/20 Paul Mundt <[email protected]>:
> On Mon, Dec 20, 2010 at 04:09:57PM +0300, Alexey Charkov wrote:
>> This removes the '+1' in vsync timing calculation for wm8505fb to
>> directly use values provided from the board setup code.
>>
>> Signed-off-by: Alexey Charkov <[email protected]>
>
> This is queued for .37, thanks.
>

Paul, in fact, relevant code is only scheduled for merge in .38 (it is
in linux-next right now). This does not apply to .37.

Thanks,
Alexey

2010-12-20 16:06:34

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 2/2] fbdev: Modify vsync timing calculation in wm8505fb

On Mon, Dec 20, 2010 at 07:04:53PM +0300, Alexey Charkov wrote:
> 2010/12/20 Paul Mundt <[email protected]>:
> > On Mon, Dec 20, 2010 at 04:09:57PM +0300, Alexey Charkov wrote:
> >> This removes the '+1' in vsync timing calculation for wm8505fb to
> >> directly use values provided from the board setup code.
> >>
> >> Signed-off-by: Alexey Charkov <[email protected]>
> >
> > This is queued for .37, thanks.
> >
>
> Paul, in fact, relevant code is only scheduled for merge in .38 (it is
> in linux-next right now). This does not apply to .37.
>
I noticed that as I went to apply it.. ok, queued for .38 then :-)