Message ID | 20210222032853.21483-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fbdev: atyfb: add stubs for aty_{ld,st}_lcd() | expand |
On Sun, Feb 21, 2021 at 07:28:53PM -0800, Randy Dunlap wrote: > Fix build errors when these functions are not defined. > > ../drivers/video/fbdev/aty/atyfb_base.c: In function 'aty_power_mgmt': > ../drivers/video/fbdev/aty/atyfb_base.c:2002:7: error: implicit declaration of function 'aty_ld_lcd'; did you mean 'aty_ld_8'? [-Werror=implicit-function-declaration] > 2002 | pm = aty_ld_lcd(POWER_MANAGEMENT, par); > ../drivers/video/fbdev/aty/atyfb_base.c:2004:2: error: implicit declaration of function 'aty_st_lcd'; did you mean 'aty_st_8'? [-Werror=implicit-function-declaration] > 2004 | aty_st_lcd(POWER_MANAGEMENT, pm, par); > > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> > Cc: linux-fbdev@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@linux.ie> > Cc: Jani Nikula <jani.nikula@linux.intel.com> stuffed into drm-misc-next-fixes for 5.12, thanks for your patch. -Daniel > --- > drivers/video/fbdev/aty/atyfb_base.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > --- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb_base.c > +++ linux-next-20210219/drivers/video/fbdev/aty/atyfb_base.c > @@ -175,6 +175,15 @@ u32 aty_ld_lcd(int index, const struct a > return aty_ld_le32(LCD_DATA, par); > } > } > +#else /* defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_BACKLIGHT) \ > + defined(CONFIG_FB_ATY_GENERIC_LCD) */ > +void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) > +{ } > + > +u32 aty_ld_lcd(int index, const struct atyfb_par *par) > +{ > + return 0; > +} > #endif /* defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) */ > > #ifdef CONFIG_FB_ATY_GENERIC_LCD
On Sun, Feb 21, 2021 at 07:28:53PM -0800, Randy Dunlap wrote: > Fix build errors when these functions are not defined. > > ../drivers/video/fbdev/aty/atyfb_base.c: In function 'aty_power_mgmt': > ../drivers/video/fbdev/aty/atyfb_base.c:2002:7: error: implicit declaration of function 'aty_ld_lcd'; did you mean 'aty_ld_8'? [-Werror=implicit-function-declaration] > 2002 | pm = aty_ld_lcd(POWER_MANAGEMENT, par); > ../drivers/video/fbdev/aty/atyfb_base.c:2004:2: error: implicit declaration of function 'aty_st_lcd'; did you mean 'aty_st_8'? [-Werror=implicit-function-declaration] > 2004 | aty_st_lcd(POWER_MANAGEMENT, pm, par); > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> > Cc: linux-fbdev@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@linux.ie> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > --- > drivers/video/fbdev/aty/atyfb_base.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > --- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb_base.c > +++ linux-next-20210219/drivers/video/fbdev/aty/atyfb_base.c > @@ -175,6 +175,15 @@ u32 aty_ld_lcd(int index, const struct a > return aty_ld_le32(LCD_DATA, par); > } > } > +#else /* defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_BACKLIGHT) \ > + defined(CONFIG_FB_ATY_GENERIC_LCD) */ A better fix would seem to be to include these functions if CONFIG_PPC_PMAC is enabled. Otherwise the PM code will surely not work correctly. Though I'm not sure if that PPC PM code makes any sense w/o LCD/backlight support anyway. > +void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) > +{ } > + > +u32 aty_ld_lcd(int index, const struct atyfb_par *par) > +{ > + return 0; > +} > #endif /* defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) */ > > #ifdef CONFIG_FB_ATY_GENERIC_LCD > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On 2/22/21 9:44 AM, Ville Syrjälä wrote: > On Sun, Feb 21, 2021 at 07:28:53PM -0800, Randy Dunlap wrote: >> Fix build errors when these functions are not defined. >> >> ../drivers/video/fbdev/aty/atyfb_base.c: In function 'aty_power_mgmt': >> ../drivers/video/fbdev/aty/atyfb_base.c:2002:7: error: implicit declaration of function 'aty_ld_lcd'; did you mean 'aty_ld_8'? [-Werror=implicit-function-declaration] >> 2002 | pm = aty_ld_lcd(POWER_MANAGEMENT, par); >> ../drivers/video/fbdev/aty/atyfb_base.c:2004:2: error: implicit declaration of function 'aty_st_lcd'; did you mean 'aty_st_8'? [-Werror=implicit-function-declaration] >> 2004 | aty_st_lcd(POWER_MANAGEMENT, pm, par); >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >> Reported-by: kernel test robot <lkp@intel.com> >> Cc: linux-fbdev@vger.kernel.org >> Cc: dri-devel@lists.freedesktop.org >> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> >> Cc: Sam Ravnborg <sam@ravnborg.org> >> Cc: Daniel Vetter <daniel@ffwll.ch> >> Cc: David Airlie <airlied@linux.ie> >> Cc: Jani Nikula <jani.nikula@linux.intel.com> >> --- >> drivers/video/fbdev/aty/atyfb_base.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> --- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb_base.c >> +++ linux-next-20210219/drivers/video/fbdev/aty/atyfb_base.c >> @@ -175,6 +175,15 @@ u32 aty_ld_lcd(int index, const struct a >> return aty_ld_le32(LCD_DATA, par); >> } >> } >> +#else /* defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_BACKLIGHT) \ >> + defined(CONFIG_FB_ATY_GENERIC_LCD) */ > > A better fix would seem to be to include these functions if > CONFIG_PPC_PMAC is enabled. Otherwise the PM code will surely > not work correctly. Though I'm not sure if that PPC PM > code makes any sense w/o LCD/backlight support anyway. Hi Ville, I tried this: -#if defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_GENERIC_LCD) || \ -defined(CONFIG_FB_ATY_BACKLIGHT) +#if defined(CONFIG_PPC_PMAC) in both atyfb_base.c and atyfb.h, but then there is a build error in mach64_ct.c when PPC_PMAC is not enabled but FB_ATY_GENERIC_LCD is enabled. [mach64_ct.c is the only other user of aty_{ld,st}_lcd()] or did you mean adding CONFIG_PPC_PMAC to that longish #if list? (that's not how I understood your comment.) I'll gladly step away and let you submit patches for this. :) >> +void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) >> +{ } >> + >> +u32 aty_ld_lcd(int index, const struct atyfb_par *par) >> +{ >> + return 0; >> +} >> #endif /* defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) */ >> >> #ifdef CONFIG_FB_ATY_GENERIC_LCD >> _______________________________________________ thanks.
On Wed, Feb 24, 2021 at 11:59:45AM -0800, Randy Dunlap wrote: > On 2/22/21 9:44 AM, Ville Syrjälä wrote: > > On Sun, Feb 21, 2021 at 07:28:53PM -0800, Randy Dunlap wrote: > >> Fix build errors when these functions are not defined. > >> > >> ../drivers/video/fbdev/aty/atyfb_base.c: In function 'aty_power_mgmt': > >> ../drivers/video/fbdev/aty/atyfb_base.c:2002:7: error: implicit declaration of function 'aty_ld_lcd'; did you mean 'aty_ld_8'? [-Werror=implicit-function-declaration] > >> 2002 | pm = aty_ld_lcd(POWER_MANAGEMENT, par); > >> ../drivers/video/fbdev/aty/atyfb_base.c:2004:2: error: implicit declaration of function 'aty_st_lcd'; did you mean 'aty_st_8'? [-Werror=implicit-function-declaration] > >> 2004 | aty_st_lcd(POWER_MANAGEMENT, pm, par); > >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > >> Reported-by: kernel test robot <lkp@intel.com> > >> Cc: linux-fbdev@vger.kernel.org > >> Cc: dri-devel@lists.freedesktop.org > >> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > >> Cc: Sam Ravnborg <sam@ravnborg.org> > >> Cc: Daniel Vetter <daniel@ffwll.ch> > >> Cc: David Airlie <airlied@linux.ie> > >> Cc: Jani Nikula <jani.nikula@linux.intel.com> > >> --- > >> drivers/video/fbdev/aty/atyfb_base.c | 9 +++++++++ > >> 1 file changed, 9 insertions(+) > >> > >> --- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb_base.c > >> +++ linux-next-20210219/drivers/video/fbdev/aty/atyfb_base.c > >> @@ -175,6 +175,15 @@ u32 aty_ld_lcd(int index, const struct a > >> return aty_ld_le32(LCD_DATA, par); > >> } > >> } > >> +#else /* defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_BACKLIGHT) \ > >> + defined(CONFIG_FB_ATY_GENERIC_LCD) */ > > > > A better fix would seem to be to include these functions if > > CONFIG_PPC_PMAC is enabled. Otherwise the PM code will surely > > not work correctly. Though I'm not sure if that PPC PM > > code makes any sense w/o LCD/backlight support anyway. > > Hi Ville, > > I tried this: > > -#if defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_GENERIC_LCD) || \ > -defined(CONFIG_FB_ATY_BACKLIGHT) > +#if defined(CONFIG_PPC_PMAC) > > in both atyfb_base.c and atyfb.h, but then there is a build error in > mach64_ct.c when PPC_PMAC is not enabled but FB_ATY_GENERIC_LCD is enabled. > [mach64_ct.c is the only other user of aty_{ld,st}_lcd()] > > or did you mean adding CONFIG_PPC_PMAC to that longish #if list? > (that's not how I understood your comment.) Yeah, I meant adding ||PPC_PMAC to the existing set of conditions. You definitely need to have this stuff for the LCD/backlight support on !PPC_PMAC as well. > > > I'll gladly step away and let you submit patches for this. :) I don't have any powerbook/etc. hw to test this so couldn't really add any extra value. Just have vague memories of touching this stuff long ago so figured I'd provide my "expertise" :) > > >> +void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) > >> +{ } > >> + > >> +u32 aty_ld_lcd(int index, const struct atyfb_par *par) > >> +{ > >> + return 0; > >> +} > >> #endif /* defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) */ > >> > >> #ifdef CONFIG_FB_ATY_GENERIC_LCD > >> _______________________________________________ > > > thanks. > -- > ~Randy
--- linux-next-20210219.orig/drivers/video/fbdev/aty/atyfb_base.c +++ linux-next-20210219/drivers/video/fbdev/aty/atyfb_base.c @@ -175,6 +175,15 @@ u32 aty_ld_lcd(int index, const struct a return aty_ld_le32(LCD_DATA, par); } } +#else /* defined(CONFIG_PMAC_BACKLIGHT) || defined(CONFIG_FB_ATY_BACKLIGHT) \ + defined(CONFIG_FB_ATY_GENERIC_LCD) */ +void aty_st_lcd(int index, u32 val, const struct atyfb_par *par) +{ } + +u32 aty_ld_lcd(int index, const struct atyfb_par *par) +{ + return 0; +} #endif /* defined(CONFIG_PMAC_BACKLIGHT) || defined (CONFIG_FB_ATY_GENERIC_LCD) */ #ifdef CONFIG_FB_ATY_GENERIC_LCD
Fix build errors when these functions are not defined. ../drivers/video/fbdev/aty/atyfb_base.c: In function 'aty_power_mgmt': ../drivers/video/fbdev/aty/atyfb_base.c:2002:7: error: implicit declaration of function 'aty_ld_lcd'; did you mean 'aty_ld_8'? [-Werror=implicit-function-declaration] 2002 | pm = aty_ld_lcd(POWER_MANAGEMENT, par); ../drivers/video/fbdev/aty/atyfb_base.c:2004:2: error: implicit declaration of function 'aty_st_lcd'; did you mean 'aty_st_8'? [-Werror=implicit-function-declaration] 2004 | aty_st_lcd(POWER_MANAGEMENT, pm, par); Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: kernel test robot <lkp@intel.com> Cc: linux-fbdev@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: David Airlie <airlied@linux.ie> Cc: Jani Nikula <jani.nikula@linux.intel.com> --- drivers/video/fbdev/aty/atyfb_base.c | 9 +++++++++ 1 file changed, 9 insertions(+)