lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 31 Jul 2008 08:47:46 -0400
From:	"M. Asselstine" <asselsm@...aster.ca>
To:	"Andrew Morton" <akpm@...ux-foundation.org>
Cc:	"Alexander Beregalov" <a.beregalov@...il.com>, syrjala@....fi,
	adaplas@...il.com, linux-fbdev-devel@...ts.sourceforge.net,
	kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [Linux-fbdev-devel] [PATCH] atyfb_base.c: fix warning

On Thu, Jul 31, 2008 at 5:15 AM, Andrew Morton
<akpm@...ux-foundation.org> wrote:
> On Thu, 31 Jul 2008 01:03:52 +0400 Alexander Beregalov <a.beregalov@...il.com> wrote:
>
>> From: Alexander Beregalov <a.beregalov@...il.com>
>>
>> atyfb_base.c: fix warning
>>
>> drivers/video/aty/atyfb_base.c:2663: warning: 'aty_resume_chip' defined
>> but not used
>>
>> Signed-off-by: Alexander Beregalov <a.beregalov@...il.com>
>> Cc: Ville Syrjala <syrjala@....fi>
>> Cc: Antonino A. Daplas <adaplas@....net>
>> ---
>>
>>  drivers/video/aty/atyfb_base.c |    4 ++++
>>  1 files changed, 4 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
>> index 620ba81..9e5dfb1 100644
>> --- a/drivers/video/aty/atyfb_base.c
>> +++ b/drivers/video/aty/atyfb_base.c
>> @@ -244,7 +244,9 @@ static int atyfb_sync(struct fb_info *info);
>>       */
>>
>>  static int aty_init(struct fb_info *info);
>> +#if defined(CONFIG_PM) && defined(CONFIG_PCI)
>>  static void aty_resume_chip(struct fb_info *info);
>> +#endif
>>  #ifdef CONFIG_ATARI
>>  static int store_video_par(char *videopar, unsigned char m64_num);
>>  #endif
>> @@ -2659,6 +2661,7 @@ aty_init_exit:
>>       return ret;
>>  }
>>
>> +#if defined(CONFIG_PM) && defined(CONFIG_PCI)
>>  static void aty_resume_chip(struct fb_info *info)
>>  {
>>       struct atyfb_par *par = info->par;
>> @@ -2671,6 +2674,7 @@ static void aty_resume_chip(struct fb_info *info)
>>       if (par->aux_start)
>>               aty_st_le32(BUS_CNTL, aty_ld_le32(BUS_CNTL, par) | BUS_APER_REG_DIS, par);
>>  }
>> +#endif /* defined(CONFIG_PM) && defined(CONFIG_PCI) */
>>
>>  #ifdef CONFIG_ATARI
>>  static int __devinit store_video_par(char *video_str, unsigned char m64_num)
>
> OK...
>
> We don't strictly need the first ifdef - it's OK to declare a
> non-existent function, and ifdefs are ugly.
>
> But we can reorganise the code a bit more and remove the forward
> declaration altogether and remove a whole ifdef block too.
>
> How does this look?
>

Ah. Much better, this is definitely the way to go.

Mark

>  drivers/video/aty/atyfb_base.c |   29 +++++++++++++++--------------
>  1 file changed, 15 insertions(+), 14 deletions(-)
>
> diff -puN drivers/video/aty/atyfb_base.c~atyfb_basec-fix-warning drivers/video/aty/atyfb_base.c
> --- a/drivers/video/aty/atyfb_base.c~atyfb_basec-fix-warning
> +++ a/drivers/video/aty/atyfb_base.c
> @@ -244,7 +244,7 @@ static int atyfb_sync(struct fb_info *in
>      */
>
>  static int aty_init(struct fb_info *info);
> -static void aty_resume_chip(struct fb_info *info);
> +
>  #ifdef CONFIG_ATARI
>  static int store_video_par(char *videopar, unsigned char m64_num);
>  #endif
> @@ -2023,6 +2023,20 @@ static int atyfb_pci_suspend(struct pci_
>        return 0;
>  }
>
> +static void aty_resume_chip(struct fb_info *info)
> +{
> +       struct atyfb_par *par = info->par;
> +
> +       aty_st_le32(MEM_CNTL, par->mem_cntl, par);
> +
> +       if (par->pll_ops->resume_pll)
> +               par->pll_ops->resume_pll(info, &par->pll);
> +
> +       if (par->aux_start)
> +               aty_st_le32(BUS_CNTL,
> +                       aty_ld_le32(BUS_CNTL, par) | BUS_APER_REG_DIS, par);
> +}
> +
>  static int atyfb_pci_resume(struct pci_dev *pdev)
>  {
>        struct fb_info *info = pci_get_drvdata(pdev);
> @@ -2659,19 +2673,6 @@ aty_init_exit:
>        return ret;
>  }
>
> -static void aty_resume_chip(struct fb_info *info)
> -{
> -       struct atyfb_par *par = info->par;
> -
> -       aty_st_le32(MEM_CNTL, par->mem_cntl, par);
> -
> -       if (par->pll_ops->resume_pll)
> -               par->pll_ops->resume_pll(info, &par->pll);
> -
> -       if (par->aux_start)
> -               aty_st_le32(BUS_CNTL, aty_ld_le32(BUS_CNTL, par) | BUS_APER_REG_DIS, par);
> -}
> -
>  #ifdef CONFIG_ATARI
>  static int __devinit store_video_par(char *video_str, unsigned char m64_num)
>  {
> _
>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ