From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Date: Wed, 29 Apr 2020 11:54:17 +0000 Subject: Re: [PATCH v2] video: fbdev: controlfb: fix build for COMPILE_TEST=y && PPC_PMAC=y && PPC32=n Message-Id: <20200429115417.GA12801@ravnborg.org> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Bartlomiej Zolnierkiewicz , Christoph Hellwig Cc: Stephen Rothwell , linux-fbdev@vger.kernel.org, kbuild test robot , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Hi Bartlomiej. On Wed, Apr 29, 2020 at 12:48:24PM +0200, Bartlomiej Zolnierkiewicz wrote: > > powerpc allyesconfig fails like this: > > drivers/video/fbdev/controlfb.c: In function 'controlfb_mmap': > drivers/video/fbdev/controlfb.c:756:23: error: implicit declaration of function 'pgprot_cached_wthru'; did you mean 'pgprot_cached'? [-Werror=implicit-function-declaration] > 756 | vma->vm_page_prot = pgprot_cached_wthru(vma->vm_page_prot); > | ^~~~~~~~~~~~~~~~~~~ > | pgprot_cached > drivers/video/fbdev/controlfb.c:756:23: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct '} from type 'int' > > Fix it by adding missing PPC32 dependency. Is this really the right fix? Short term I htink it is OK, but I think there should be a common way to do the same for all archtectures so no conditional compilation is needed. In other words the use of pgprot_cached_wthru looks like we need a better abstraction. Added Christoph to the mail as he has a good overview of the area. Sam > > Fixes: a07a63b0e24d ("video: fbdev: controlfb: add COMPILE_TEST support") > Reported-by: Stephen Rothwell > Reported-by: kbuild test robot > Cc: Sam Ravnborg > Cc: Daniel Vetter > Signed-off-by: Bartlomiej Zolnierkiewicz > --- > v2: fix implicit btext_update_display() function declaration error > > drivers/video/fbdev/controlfb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: b/drivers/video/fbdev/controlfb.c > =================================> --- a/drivers/video/fbdev/controlfb.c > +++ b/drivers/video/fbdev/controlfb.c > @@ -55,7 +55,7 @@ > #include "macmodes.h" > #include "controlfb.h" > > -#ifndef CONFIG_PPC_PMAC > +#if !defined(CONFIG_PPC_PMAC) || !defined(CONFIG_PPC32) > #define invalid_vram_cache(addr) > #undef in_8 > #undef out_8