Re: [PATCH] backlight: fix 88pm860x_bl macro collision

From: Andrew Morton
Date: Fri Jun 18 2010 - 17:12:16 EST


On Mon, 14 Jun 2010 17:01:22 -0700
Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:

> From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
>
> Fix collision with kernel-supplied #define:
>
> drivers/video/backlight/88pm860x_bl.c:24:1: warning: "CURRENT_MASK" redefined
> arch/x86/include/asm/page_64_types.h:6:1: warning: this is the location of the previous definition
>
> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxxx>
> ---
> drivers/video/backlight/88pm860x_bl.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> --- lnx-2634-rc5.orig/drivers/video/backlight/88pm860x_bl.c
> +++ lnx-2634-rc5/drivers/video/backlight/88pm860x_bl.c
> @@ -21,7 +21,7 @@
> #define MAX_BRIGHTNESS (0xFF)
> #define MIN_BRIGHTNESS (0)
>
> -#define CURRENT_MASK (0x1F << 1)
> +#define CURRENT_BITMASK (0x1F << 1)
>
> struct pm860x_backlight_data {
> struct pm860x_chip *chip;
> @@ -85,7 +85,7 @@ static int pm860x_backlight_set(struct b
> if ((data->current_brightness == 0) && brightness) {
> if (data->iset) {
> ret = pm860x_set_bits(data->i2c, wled_idc(data->port),
> - CURRENT_MASK, data->iset);
> + CURRENT_BITMASK, data->iset);
> if (ret < 0)
> goto out;
> }

mutter. "CURRENT_BITMASK" isn't a lot better. And look at
"MAX_BRIGHTNESS" and "MIN_BRIGHTNESS" up there (five instances of
MAX_BRIGHTNESS in the tree).

Just because a definition resides in a .c file doesn't mena that it's
"private"! We should be more defensive about these things. And
picking better identifiers gets you more ctags-friendliness for free.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/