# \[PATCH -next\] fbdev: atyfb: always declare aty\_{ld,st}\_lcd()

- Status: LANDED (39a3898abf4d · 2021-03-11 10:11)
- Landed in mainline as 39a3898abf4d on 2021-03-11.
- List: linux-fbdev
- 3 messages, 2 authors
- Page: https://ratatoskr.run/linux-fbdev/2021/02/6278326/t

## \[PATCH -next\] fbdev: atyfb: always declare aty\_{ld,st}\_lcd()

- From: Randy Dunlap \<rdunlap@infradead.org\>
- Date: 2021-02-24 21:56:36 
- Message: https://ratatoskr.run/linux-fbdev/2021/02/6278326.md

```text
The previously added stubs for aty_{ld,}st_lcd() make it
so that these functions are used regardless of the config
options that were guarding them, so remove the #ifdef/#endif
lines and make their declarations always visible.
This fixes build warnings that were reported by clang:

   drivers/video/fbdev/aty/atyfb_base.c:180:6: warning: no previous prototype for function 'aty_st_lcd' [-Wmissing-prototypes]
   void aty_st_lcd(int index, u32 val, const struct atyfb_par *par)
        ^
   drivers/video/fbdev/aty/atyfb_base.c:180:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void aty_st_lcd(int index, u32 val, const struct atyfb_par *par)

   drivers/video/fbdev/aty/atyfb_base.c:183:5: warning: no previous prototype for function 'aty_ld_lcd' [-Wmissing-prototypes]
   u32 aty_ld_lcd(int index, const struct atyfb_par *par)
       ^
   drivers/video/fbdev/aty/atyfb_base.c:183:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   u32 aty_ld_lcd(int index, const struct atyfb_par *par)

They should not be marked as static since they are used in
mach64_ct.c.

Fixes: bfa5782b9caa ("fbdev: atyfb: add stubs for aty_{ld,st}_lcd()")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <redacted>
Cc: Daniel Vetter <redacted>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: <redacted>
Cc: <redacted>
Cc: Bartlomiej Zolnierkiewicz <redacted>
Cc: Sam Ravnborg <redacted>
Cc: David Airlie <redacted>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
---
 drivers/video/fbdev/aty/atyfb.h |    3 ---
 1 file changed, 3 deletions(-)

--- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb.h
+++ linux-next-20210219/drivers/video/fbdev/aty/atyfb.h
@@ -287,11 +287,8 @@ static inline void aty_st_8(int regindex
 #endif
 }
 
-#if defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) || \
-defined (CONFIG_FB_ATY_BACKLIGHT)
 extern void aty_st_lcd(int index, u32 val, const struct atyfb_par *par);
 extern u32 aty_ld_lcd(int index, const struct atyfb_par *par);
-#endif
 
     /*
      *  DAC operations
```

## Re: \[PATCH -next\] fbdev: atyfb: always declare aty\_{ld,st}\_lcd()

- From: Nick Desaulniers \<ndesaulniers@google.com\>
- Date: 2021-02-24 22:08:21 
- Message: https://ratatoskr.run/linux-fbdev/2021/02/6278333.md

```text
On Wed, Feb 24, 2021 at 1:55 PM Randy Dunlap [ref] wrote:
>
> The previously added stubs for aty_{ld,}st_lcd() make it
> so that these functions are used regardless of the config
> options that were guarding them, so remove the #ifdef/#endif
> lines and make their declarations always visible.
> This fixes build warnings that were reported by clang:

Yes, though I think GCC would warn similarly with W=1 builds as well,
which was set for the 0day bot report.

>
>    drivers/video/fbdev/aty/atyfb_base.c:180:6: warning: no previous prototype for function 'aty_st_lcd' [-Wmissing-prototypes]
>    void aty_st_lcd(int index, u32 val, const struct atyfb_par *par)
>         ^
>    drivers/video/fbdev/aty/atyfb_base.c:180:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
>    void aty_st_lcd(int index, u32 val, const struct atyfb_par *par)
>
>    drivers/video/fbdev/aty/atyfb_base.c:183:5: warning: no previous prototype for function 'aty_ld_lcd' [-Wmissing-prototypes]
>    u32 aty_ld_lcd(int index, const struct atyfb_par *par)
>        ^
>    drivers/video/fbdev/aty/atyfb_base.c:183:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
>    u32 aty_ld_lcd(int index, const struct atyfb_par *par)
>
> They should not be marked as static since they are used in
> mach64_ct.c.

Probably don't need to be marked extern either (since that's the
implicit default), but I don't feel strongly about it.

Thanks for sending a cleanup for this.
Acked-by: Nick Desaulniers <ndesaulniers@google.com>

>
> Fixes: bfa5782b9caa ("fbdev: atyfb: add stubs for aty_{ld,st}_lcd()")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <redacted>
> Cc: Daniel Vetter <redacted>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: <redacted>
> Cc: <redacted>
> Cc: Bartlomiej Zolnierkiewicz <redacted>
> Cc: Sam Ravnborg <redacted>
> Cc: David Airlie <redacted>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> ---
>  drivers/video/fbdev/aty/atyfb.h |    3 ---
>  1 file changed, 3 deletions(-)
>
> --- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb.h
> +++ linux-next-20210219/drivers/video/fbdev/aty/atyfb.h
> @@ -287,11 +287,8 @@ static inline void aty_st_8(int regindex
>  #endif
>  }
>
> -#if defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) || \
> -defined (CONFIG_FB_ATY_BACKLIGHT)
>  extern void aty_st_lcd(int index, u32 val, const struct atyfb_par *par);
>  extern u32 aty_ld_lcd(int index, const struct atyfb_par *par);
> -#endif
>
>      /*
>       *  DAC operations



-- 
Thanks,
~Nick Desaulniers
```

## Re: \[PATCH -next\] fbdev: atyfb: always declare aty\_{ld,st}\_lcd()

- From: Randy Dunlap \<rdunlap@infradead.org\>
- Date: 2021-02-24 22:19:13 
- Message: https://ratatoskr.run/linux-fbdev/2021/02/6278336.md

```text
On 2/24/21 2:07 PM, Nick Desaulniers wrote:
> On Wed, Feb 24, 2021 at 1:55 PM Randy Dunlap [ref] wrote:
>>
>> The previously added stubs for aty_{ld,}st_lcd() make it
>> so that these functions are used regardless of the config
>> options that were guarding them, so remove the #ifdef/#endif
>> lines and make their declarations always visible.
>> This fixes build warnings that were reported by clang:
> 
> Yes, though I think GCC would warn similarly with W=1 builds as well,
> which was set for the 0day bot report.
> 

<knocks head> I should enable that until it hurts too much.

>>
>>    drivers/video/fbdev/aty/atyfb_base.c:180:6: warning: no previous prototype for function 'aty_st_lcd' [-Wmissing-prototypes]
>>    void aty_st_lcd(int index, u32 val, const struct atyfb_par *par)
>>         ^
>>    drivers/video/fbdev/aty/atyfb_base.c:180:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
>>    void aty_st_lcd(int index, u32 val, const struct atyfb_par *par)
>>
>>    drivers/video/fbdev/aty/atyfb_base.c:183:5: warning: no previous prototype for function 'aty_ld_lcd' [-Wmissing-prototypes]
>>    u32 aty_ld_lcd(int index, const struct atyfb_par *par)
>>        ^
>>    drivers/video/fbdev/aty/atyfb_base.c:183:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
>>    u32 aty_ld_lcd(int index, const struct atyfb_par *par)
>>
>> They should not be marked as static since they are used in
>> mach64_ct.c.
> 
> Probably don't need to be marked extern either (since that's the
> implicit default), but I don't feel strongly about it.

Yeah, I was just leaving it as it was...

> Thanks for sending a cleanup for this.
> Acked-by: Nick Desaulniers <ndesaulniers@google.com>
> 
>>
>> Fixes: bfa5782b9caa ("fbdev: atyfb: add stubs for aty_{ld,st}_lcd()")
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Reported-by: kernel test robot <redacted>
>> Cc: Daniel Vetter <redacted>
>> Cc: Nick Desaulniers <ndesaulniers@google.com>
>> Cc: <redacted>
>> Cc: <redacted>
>> Cc: Bartlomiej Zolnierkiewicz <redacted>
>> Cc: Sam Ravnborg <redacted>
>> Cc: David Airlie <redacted>
>> Cc: Jani Nikula <jani.nikula@linux.intel.com>
>> ---
>>  drivers/video/fbdev/aty/atyfb.h |    3 ---
>>  1 file changed, 3 deletions(-)


-- 
~Randy

```
