* Re: [PATCH] fbcon: replace mono_col macro with static inline
[not found] <1203963237.5582.4.camel@brick>
@ 2008-02-25 18:50 ` Andrew Morton
2008-02-26 8:18 ` Geert Uytterhoeven
1 sibling, 0 replies; 5+ messages in thread
From: Andrew Morton @ 2008-02-25 18:50 UTC (permalink / raw)
To: Harvey Harrison; +Cc: linux-fbdev-devel, LKML, Antonino Daplas
On Mon, 25 Feb 2008 10:13:57 -0800 Harvey Harrison <harvey.harrison@gmail.com> wrote:
> Use __u32 for max_len to match the declaration of length in the
> struct fb_bitfield.
>
> Suppresses sparse shadowed variable warnings from the nested max()
> macros:
> drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one
> drivers/video/console/fbcon.h:130:8: originally declared here
> drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one
> drivers/video/console/fbcon.h:130:8: originally declared here
> drivers/video/console/fbcon.h:130:8: warning: symbol '_y' shadows an earlier one
> drivers/video/console/fbcon.h:130:8: originally declared here
>
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
> ---
> drivers/video/console/fbcon.h | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h
> index 3706307..51a6bf4 100644
> --- a/drivers/video/console/fbcon.h
> +++ b/drivers/video/console/fbcon.h
> @@ -104,10 +104,14 @@ struct fbcon_ops {
> #define attr_blink(s) \
> ((s) & 0x8000)
>
> -#define mono_col(info) \
> - (~(0xfff << (max((info)->var.green.length, \
> - max((info)->var.red.length, \
> - (info)->var.blue.length)))) & 0xff)
> +
> +static inline int mono_col(struct fb_info *info)
> +{
> + __u32 max_len;
> + max_len = max(info->var.green.length, info->var.red.length);
> + max_len = max(info->var.blue.length, max_len);
> + return ~(0xfff << (max_len & 0xff));
> +}
>
> static inline int attr_col_ec(int shift, struct vc_data *vc,
> struct fb_info *info, int is_fg)
Thanks, but please do try to copy a suitable mailing list on the patches.
Particularly fbdev - Tony has been out of contact for a while, but there
are other fbdev developers who can help us to review code, as long as we
tell them about it.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] fbcon: replace mono_col macro with static inline
[not found] <1203963237.5582.4.camel@brick>
2008-02-25 18:50 ` [PATCH] fbcon: replace mono_col macro with static inline Andrew Morton
@ 2008-02-26 8:18 ` Geert Uytterhoeven
2008-02-26 20:51 ` Harvey Harrison
1 sibling, 1 reply; 5+ messages in thread
From: Geert Uytterhoeven @ 2008-02-26 8:18 UTC (permalink / raw)
To: Harvey Harrison
Cc: Andrew Morton, Linux Frame Buffer Device Development, LKML,
Antonino Daplas
On Mon, 25 Feb 2008, Harvey Harrison wrote:
> Use __u32 for max_len to match the declaration of length in the
> struct fb_bitfield.
>
> Suppresses sparse shadowed variable warnings from the nested max()
> macros:
> drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one
> drivers/video/console/fbcon.h:130:8: originally declared here
> drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one
> drivers/video/console/fbcon.h:130:8: originally declared here
> drivers/video/console/fbcon.h:130:8: warning: symbol '_y' shadows an earlier one
> drivers/video/console/fbcon.h:130:8: originally declared here
>
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
> ---
> drivers/video/console/fbcon.h | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h
> index 3706307..51a6bf4 100644
> --- a/drivers/video/console/fbcon.h
> +++ b/drivers/video/console/fbcon.h
> @@ -104,10 +104,14 @@ struct fbcon_ops {
> #define attr_blink(s) \
> ((s) & 0x8000)
>
> -#define mono_col(info) \
> - (~(0xfff << (max((info)->var.green.length, \
> - max((info)->var.red.length, \
> - (info)->var.blue.length)))) & 0xff)
> +
> +static inline int mono_col(struct fb_info *info)
^^^^^^^^^^^^^^^^^^^^
const struct fb_info *info?
> +{
> + __u32 max_len;
> + max_len = max(info->var.green.length, info->var.red.length);
> + max_len = max(info->var.blue.length, max_len);
> + return ~(0xfff << (max_len & 0xff));
> +}
>
> static inline int attr_col_ec(int shift, struct vc_data *vc,
> struct fb_info *info, int is_fg)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
^ permalink raw reply [flat|nested] 5+ messages in thread