2006-12-10 19:41:53

by Ralf Baechle

[permalink] [raw]
Subject: [PATCH] Fix namespace conflict between w9968cf.c on MIPS

Both use __SC. Since __* is sort of private namespace I've choosen to
fix this in the driver. For consistency I decieded to also change
__UNSC to UNSC.

Signed-off-by: Ralf Baechle <[email protected]>

diff --git a/drivers/media/video/w9968cf.c b/drivers/media/video/w9968cf.c
index ddce2fb..9f403af 100644
--- a/drivers/media/video/w9968cf.c
+++ b/drivers/media/video/w9968cf.c
@@ -1827,8 +1827,8 @@ w9968cf_set_window(struct w9968cf_device
int err = 0;

/* Work around to avoid FP arithmetics */
- #define __SC(x) ((x) << 10)
- #define __UNSC(x) ((x) >> 10)
+ #define SC(x) ((x) << 10)
+ #define UNSC(x) ((x) >> 10)

/* Make sure we are using a supported resolution */
if ((err = w9968cf_adjust_window_size(cam, (u16*)&win.width,
@@ -1836,15 +1836,15 @@ w9968cf_set_window(struct w9968cf_device
goto error;

/* Scaling factors */
- fw = __SC(win.width) / cam->maxwidth;
- fh = __SC(win.height) / cam->maxheight;
+ fw = SC(win.width) / cam->maxwidth;
+ fh = SC(win.height) / cam->maxheight;

/* Set up the width and height values used by the chip */
if ((win.width > cam->maxwidth) || (win.height > cam->maxheight)) {
cam->vpp_flag |= VPP_UPSCALE;
/* Calculate largest w,h mantaining the same w/h ratio */
- w = (fw >= fh) ? cam->maxwidth : __SC(win.width)/fh;
- h = (fw >= fh) ? __SC(win.height)/fw : cam->maxheight;
+ w = (fw >= fh) ? cam->maxwidth : SC(win.width)/fh;
+ h = (fw >= fh) ? SC(win.height)/fw : cam->maxheight;
if (w < cam->minwidth) /* just in case */
w = cam->minwidth;
if (h < cam->minheight) /* just in case */
@@ -1861,8 +1861,8 @@ w9968cf_set_window(struct w9968cf_device

/* Calculate cropped area manteining the right w/h ratio */
if (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE)) {
- cw = (fw >= fh) ? cam->maxwidth : __SC(win.width)/fh;
- ch = (fw >= fh) ? __SC(win.height)/fw : cam->maxheight;
+ cw = (fw >= fh) ? cam->maxwidth : SC(win.width)/fh;
+ ch = (fw >= fh) ? SC(win.height)/fw : cam->maxheight;
} else {
cw = w;
ch = h;
@@ -1901,8 +1901,8 @@ w9968cf_set_window(struct w9968cf_device
/* We have to scale win.x and win.y offsets */
if ( (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE))
|| (cam->vpp_flag & VPP_UPSCALE) ) {
- ax = __SC(win.x)/fw;
- ay = __SC(win.y)/fh;
+ ax = SC(win.x)/fw;
+ ay = SC(win.y)/fh;
} else {
ax = win.x;
ay = win.y;
@@ -1917,8 +1917,8 @@ w9968cf_set_window(struct w9968cf_device
/* Adjust win.x, win.y */
if ( (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE))
|| (cam->vpp_flag & VPP_UPSCALE) ) {
- win.x = __UNSC(ax*fw);
- win.y = __UNSC(ay*fh);
+ win.x = UNSC(ax*fw);
+ win.y = UNSC(ay*fh);
} else {
win.x = ax;
win.y = ay;


2006-12-11 20:01:42

by Luca Risolia

[permalink] [raw]
Subject: Re: [PATCH] Fix namespace conflict between w9968cf.c on MIPS

Okay, thanks.

Best regards
Luca Risolia

Scrive Ralf Baechle <[email protected]>:

> Both use __SC. Since __* is sort of private namespace I've choosen to
> fix this in the driver. For consistency I decieded to also change
> __UNSC to UNSC.
>
> Signed-off-by: Ralf Baechle <[email protected]>
>
> diff --git a/drivers/media/video/w9968cf.c b/drivers/media/video/w9968cf.c
> index ddce2fb..9f403af 100644
> --- a/drivers/media/video/w9968cf.c
> +++ b/drivers/media/video/w9968cf.c
> @@ -1827,8 +1827,8 @@ w9968cf_set_window(struct w9968cf_device
> int err = 0;
>
> /* Work around to avoid FP arithmetics */
> - #define __SC(x) ((x) << 10)
> - #define __UNSC(x) ((x) >> 10)
> + #define SC(x) ((x) << 10)
> + #define UNSC(x) ((x) >> 10)
>
> /* Make sure we are using a supported resolution */
> if ((err = w9968cf_adjust_window_size(cam, (u16*)&win.width,
> @@ -1836,15 +1836,15 @@ w9968cf_set_window(struct w9968cf_device
> goto error;
>
> /* Scaling factors */
> - fw = __SC(win.width) / cam->maxwidth;
> - fh = __SC(win.height) / cam->maxheight;
> + fw = SC(win.width) / cam->maxwidth;
> + fh = SC(win.height) / cam->maxheight;
>
> /* Set up the width and height values used by the chip */
> if ((win.width > cam->maxwidth) || (win.height > cam->maxheight)) {
> cam->vpp_flag |= VPP_UPSCALE;
> /* Calculate largest w,h mantaining the same w/h ratio */
> - w = (fw >= fh) ? cam->maxwidth : __SC(win.width)/fh;
> - h = (fw >= fh) ? __SC(win.height)/fw : cam->maxheight;
> + w = (fw >= fh) ? cam->maxwidth : SC(win.width)/fh;
> + h = (fw >= fh) ? SC(win.height)/fw : cam->maxheight;
> if (w < cam->minwidth) /* just in case */
> w = cam->minwidth;
> if (h < cam->minheight) /* just in case */
> @@ -1861,8 +1861,8 @@ w9968cf_set_window(struct w9968cf_device
>
> /* Calculate cropped area manteining the right w/h ratio */
> if (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE)) {
> - cw = (fw >= fh) ? cam->maxwidth : __SC(win.width)/fh;
> - ch = (fw >= fh) ? __SC(win.height)/fw : cam->maxheight;
> + cw = (fw >= fh) ? cam->maxwidth : SC(win.width)/fh;
> + ch = (fw >= fh) ? SC(win.height)/fw : cam->maxheight;
> } else {
> cw = w;
> ch = h;
> @@ -1901,8 +1901,8 @@ w9968cf_set_window(struct w9968cf_device
> /* We have to scale win.x and win.y offsets */
> if ( (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE))
> || (cam->vpp_flag & VPP_UPSCALE) ) {
> - ax = __SC(win.x)/fw;
> - ay = __SC(win.y)/fh;
> + ax = SC(win.x)/fw;
> + ay = SC(win.y)/fh;
> } else {
> ax = win.x;
> ay = win.y;
> @@ -1917,8 +1917,8 @@ w9968cf_set_window(struct w9968cf_device
> /* Adjust win.x, win.y */
> if ( (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE))
> || (cam->vpp_flag & VPP_UPSCALE) ) {
> - win.x = __UNSC(ax*fw);
> - win.y = __UNSC(ay*fh);
> + win.x = UNSC(ax*fw);
> + win.y = UNSC(ay*fh);
> } else {
> win.x = ax;
> win.y = ay;
>
>