Re: [PATCH] fbdev: fbmem: mark get_fb_unmapped_area() static

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>:
> Hi Arnd,
>
> On Tue, May 16, 2023 at 10:23 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> > From: Arnd Bergmann <arnd@xxxxxxxx>
> >
> > There is a global function with this name on sparc, but no
> > global declaration:
> >
> > drivers/video/fbdev/core/fbmem.c:1469:15: error: no previous prototype for 'get_fb_unmapped_area'
> >
> > Make the generic definition static to avoid this warning. On
> > sparc, this is never seen.
> >
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> > --- a/drivers/video/fbdev/core/fbmem.c
> > +++ b/drivers/video/fbdev/core/fbmem.c
> > @@ -1468,7 +1468,7 @@ __releases(&info->lock)
> >  }
> >
> >  #if defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA) && !defined(CONFIG_MMU)
> > -unsigned long get_fb_unmapped_area(struct file *filp,
> > +static unsigned long get_fb_unmapped_area(struct file *filp,
> >                                    unsigned long addr, unsigned long len,
> >                                    unsigned long pgoff, unsigned long flags)
> >  {
>
> LGTM, as this is unrelated to the SPARC function, and SPARC does
> not support nommu (yet? ;-)
>
> drivers/video/fbdev/Kconfig:config FB_PROVIDE_GET_FB_UNMAPPED_AREA
> drivers/video/fbdev/Kconfig-    bool
> drivers/video/fbdev/Kconfig-    depends on FB
> drivers/video/fbdev/Kconfig-    help
> drivers/video/fbdev/Kconfig-      Allow generic frame-buffer to
> provide get_fb_unmapped_area
> drivers/video/fbdev/Kconfig-      function.
>
> Probably you want to update this help text, too. E.g.
> "to provide shareable character device support on nommu"?

I've added Geerts suggestions and made it dependend on !MMU.

Applied to fbdev git tree as below.

Thanks!
Helge


>From 9adfa68ca0ddd63007cdce60a8ffcb493bb30d97 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@xxxxxxxx>
Subject: [PATCH] fbdev: fbmem: mark get_fb_unmapped_area() static

There is a global function with this name on sparc, but no
global declaration:

drivers/video/fbdev/core/fbmem.c:1469:15: error: no previous prototype for 'get_fb_unmapped_area'

Make the generic definition static to avoid this warning. On
sparc, this is never seen.

Edit by Helge:
Update Kconfig text as suggested by Geert Uytterhoeven and make it dependend on
!MMU.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Helge Deller <deller@xxxxxx>

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 96e91570cdd3..1688875a07de 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -121,10 +121,10 @@ config FB_SYS_IMAGEBLIT

 config FB_PROVIDE_GET_FB_UNMAPPED_AREA
 	bool
-	depends on FB
+	depends on FB && !MMU
 	help
 	  Allow generic frame-buffer to provide get_fb_unmapped_area
-	  function.
+	  function to provide shareable character device support on nommu.

 menuconfig FB_FOREIGN_ENDIAN
 	bool "Framebuffer foreign endianness support"
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
index e808dc86001c..21a108d9f08e 100644
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1467,8 +1467,8 @@ __releases(&info->lock)
 	return 0;
 }

-#if defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA) && !defined(CONFIG_MMU)
-unsigned long get_fb_unmapped_area(struct file *filp,
+#if defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA)
+static unsigned long get_fb_unmapped_area(struct file *filp,
 				   unsigned long addr, unsigned long len,
 				   unsigned long pgoff, unsigned long flags)
 {
@@ -1494,8 +1494,7 @@ static const struct file_operations fb_fops = {
 	.open =		fb_open,
 	.release =	fb_release,
 #if defined(HAVE_ARCH_FB_UNMAPPED_AREA) || \
-	(defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA) && \
-	 !defined(CONFIG_MMU))
+	defined(CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA)
 	.get_unmapped_area = get_fb_unmapped_area,
 #endif
 #ifdef CONFIG_FB_DEFERRED_IO




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux