linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: GOTO Masanori <gotom@debian.or.jp>
To: linux-fbdev-devel@lists.sourceforge.net
Cc: gotom@debian.or.jp
Subject: [PATCH] don't export fb.h internal structure to userland
Date: Tue, 04 Nov 2003 14:03:46 +0900	[thread overview]
Message-ID: <80n0bc913h.wl@oris.opensource.jp> (raw)

Hi,

This patch fixes not to compile with linux/fb.h:

	> cat fb.c
	#include <linux/fb.h>
	int main() {}
	> gcc fb.c
	In file included from /usr/include/linux/timer.h:5,
	                 from /usr/include/linux/workqueue.h:8,
	                 from /usr/include/linux/fb.h:5,
	                 from fb.c:1:
	/usr/include/linux/list.h:576:2: warning: #warning "don't include kernel headers in userspace"
	In file included from /usr/include/linux/timer.h:6,
	                 from /usr/include/linux/workqueue.h:8,
	                 from /usr/include/linux/fb.h:5,
	                 from fb.c:1:
	...

This sample program worked in kernel 2.4.  Actually this problem is
occured by (1) including workqueue.h, and (2) struct fb_pixmap has
spinlock_t.  This patch fixes with (1) move workqueue.h to internal of
__KERNEL__, (2) also move struct fb_pixmap to internal of __KERNEL__.
Now fb.h don't export kernel internal structure to userland.

Please apply it.

Regards,
-- gotom

--- include/linux/fb.h	2003-06-23 03:32:39.000000000 +0900
+++ include/linux/fb.h.new	2003-11-04 13:50:12.000000000 +0900
@@ -2,7 +2,6 @@
 #define _LINUX_FB_H
 
 #include <linux/tty.h>
-#include <linux/workqueue.h>
 #include <asm/types.h>
 #include <asm/io.h>
 
@@ -331,23 +330,11 @@
 #define FB_PIXMAP_IO      4     /* memory is iomapped       */
 #define FB_PIXMAP_SYNC    256   /* set if GPU can DMA       */
 
-struct fb_pixmap {
-        __u8  *addr;                      /* pointer to memory             */  
-	__u32 size;                       /* size of buffer in bytes       */
-	__u32 offset;                     /* current offset to buffer      */
-	__u32 buf_align;                  /* byte alignment of each bitmap */
-	__u32 scan_align;                 /* alignment per scanline        */
-	__u32 flags;                      /* see FB_PIXMAP_*               */
-					  /* access methods                */
-	void (*outbuf)(u8 *dst, u8 *addr, unsigned int size); 
-	u8   (*inbuf) (u8 *addr);
-	spinlock_t lock;                  /* spinlock                      */
-	atomic_t count;
-};
 #ifdef __KERNEL__
 
 #include <linux/fs.h>
 #include <linux/init.h>
+#include <linux/workqueue.h>
 
 struct fb_info;
 struct vm_area_struct;
@@ -395,6 +382,20 @@
     int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);
 };
 
+struct fb_pixmap {
+        __u8  *addr;                      /* pointer to memory             */  
+	__u32 size;                       /* size of buffer in bytes       */
+	__u32 offset;                     /* current offset to buffer      */
+	__u32 buf_align;                  /* byte alignment of each bitmap */
+	__u32 scan_align;                 /* alignment per scanline        */
+	__u32 flags;                      /* see FB_PIXMAP_*               */
+					  /* access methods                */
+	void (*outbuf)(u8 *dst, u8 *addr, unsigned int size); 
+	u8 (*inbuf) (u8 *addr);
+	spinlock_t lock;                  /* spinlock                      */
+	atomic_t count;
+};
+
 struct fb_info {
    int node;
    int flags;


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

             reply	other threads:[~2003-11-04  5:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-04  5:03 GOTO Masanori [this message]
2003-11-05 15:55 ` [PATCH] don't export fb.h internal structure to userland GOTO Masanori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=80n0bc913h.wl@oris.opensource.jp \
    --to=gotom@debian.or.jp \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).