* [PATCH] arch/x86: Include <asm/fb.h> in fbdev source file
@ 2023-04-24 8:47 Thomas Zimmermann
2023-04-25 16:56 ` Javier Martinez Canillas
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Zimmermann @ 2023-04-24 8:47 UTC (permalink / raw)
To: tglx, mingo, bp, dave.hansen, x86, hpa, deller, arnd,
daniel.vetter, javierm
Cc: linux-kernel, linux-fbdev, Thomas Zimmermann
Move the implementation of fb_pgprotect() to fbdev.c and include
<asm/fb.h>. Fixes the following warning:
../arch/x86/video/fbdev.c:14:5: warning: no previous prototype for 'fb_is_primary_device' [-Wmissing-prototypes]
14 | int fb_is_primary_device(struct fb_info *info)
| ^~~~~~~~~~~~~~~~~~~~
Just including <asm/fb.h> results in a number of built-in errors
about undefined function. Moving fb_pgprotect() to the source file
avoids the required include statements in the header. The function
is only called occasionally from fb_mmap(), so having it as static
inline had no benefit.
While at it, fix the codying style in fbdev.c.
Link: https://elixir.bootlin.com/linux/v6.3-rc7/source/drivers/video/fbdev/core/fbmem.c#L1404
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
arch/x86/include/asm/fb.h | 14 ++------------
arch/x86/video/fbdev.c | 17 ++++++++++++++++-
2 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/arch/x86/include/asm/fb.h b/arch/x86/include/asm/fb.h
index a3fb801f12f1..23873da8fb77 100644
--- a/arch/x86/include/asm/fb.h
+++ b/arch/x86/include/asm/fb.h
@@ -2,21 +2,11 @@
#ifndef _ASM_X86_FB_H
#define _ASM_X86_FB_H
-#include <asm/page.h>
-
struct fb_info;
struct file;
+struct vm_area_struct;
-static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
- unsigned long off)
-{
- unsigned long prot;
-
- prot = pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK;
- if (boot_cpu_data.x86 > 3)
- pgprot_val(vma->vm_page_prot) =
- prot | cachemode2protval(_PAGE_CACHE_MODE_UC_MINUS);
-}
+void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off);
#define fb_pgprotect fb_pgprotect
int fb_is_primary_device(struct fb_info *info);
diff --git a/arch/x86/video/fbdev.c b/arch/x86/video/fbdev.c
index 5ec4eafbb981..57ee3c158f97 100644
--- a/arch/x86/video/fbdev.c
+++ b/arch/x86/video/fbdev.c
@@ -6,11 +6,25 @@
* for more details.
*
*/
+
+#include <asm/fb.h>
+
#include <linux/fb.h>
-#include <linux/pci.h>
#include <linux/module.h>
+#include <linux/pci.h>
#include <linux/vgaarb.h>
+void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off)
+{
+ unsigned long prot;
+
+ prot = pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK;
+ if (boot_cpu_data.x86 > 3)
+ pgprot_val(vma->vm_page_prot) =
+ prot | cachemode2protval(_PAGE_CACHE_MODE_UC_MINUS);
+}
+EXPORT_SYMBOL(fb_pgprotect);
+
int fb_is_primary_device(struct fb_info *info)
{
struct device *device = info->device;
@@ -26,4 +40,5 @@ int fb_is_primary_device(struct fb_info *info)
return 0;
}
EXPORT_SYMBOL(fb_is_primary_device);
+
MODULE_LICENSE("GPL");
base-commit: d2639bb054c42db5ff15c56902d1113303f5b655
prerequisite-patch-id: 0aa359f6144c4015c140c8a6750be19099c676fb
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: cbc453ee02fae02af22fbfdce56ab732c7a88c36
--
2.40.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] arch/x86: Include <asm/fb.h> in fbdev source file
2023-04-24 8:47 [PATCH] arch/x86: Include <asm/fb.h> in fbdev source file Thomas Zimmermann
@ 2023-04-25 16:56 ` Javier Martinez Canillas
0 siblings, 0 replies; 2+ messages in thread
From: Javier Martinez Canillas @ 2023-04-25 16:56 UTC (permalink / raw)
To: Thomas Zimmermann, tglx, mingo, bp, dave.hansen, x86, hpa, deller,
arnd, daniel.vetter
Cc: linux-kernel, linux-fbdev, Thomas Zimmermann
Thomas Zimmermann <tzimmermann@suse.de> writes:
> Move the implementation of fb_pgprotect() to fbdev.c and include
> <asm/fb.h>. Fixes the following warning:
>
> ../arch/x86/video/fbdev.c:14:5: warning: no previous prototype for 'fb_is_primary_device' [-Wmissing-prototypes]
> 14 | int fb_is_primary_device(struct fb_info *info)
> | ^~~~~~~~~~~~~~~~~~~~
>
> Just including <asm/fb.h> results in a number of built-in errors
> about undefined function. Moving fb_pgprotect() to the source file
> avoids the required include statements in the header. The function
> is only called occasionally from fb_mmap(), so having it as static
> inline had no benefit.
>
> While at it, fix the codying style in fbdev.c.
>
> Link: https://elixir.bootlin.com/linux/v6.3-rc7/source/drivers/video/fbdev/core/fbmem.c#L1404
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
Looks good to me.
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
[...]
> base-commit: d2639bb054c42db5ff15c56902d1113303f5b655
> prerequisite-patch-id: 0aa359f6144c4015c140c8a6750be19099c676fb
> prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
> prerequisite-patch-id: cbc453ee02fae02af22fbfdce56ab732c7a88c36
> --
This is a disadvantage of format.useAutoBase = true. I find that have to
do `git branch --set-upstream-to=$foo` more often than I would like...
At least it seems that patchwork ignores these so that's OK.
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-04-25 16:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-24 8:47 [PATCH] arch/x86: Include <asm/fb.h> in fbdev source file Thomas Zimmermann
2023-04-25 16:56 ` Javier Martinez Canillas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).