* [PATCH -tip] nubus.h: extern's make no sense in userspace
@ 2009-01-13 7:48 Jaswinder Singh Rajput
2009-01-13 9:03 ` Geert Uytterhoeven
0 siblings, 1 reply; 5+ messages in thread
From: Jaswinder Singh Rajput @ 2009-01-13 7:48 UTC (permalink / raw)
To: Ingo Molnar, Alan Cox, sam, harvey.harrison, gorcunov, LKML
Impact: cleanup, Impact: fix 3 make headers_check warnings:
usr/include/linux/nubus.h:298: extern's make no sense in userspace
usr/include/linux/nubus.h:300: extern's make no sense in userspace
usr/include/linux/nubus.h:304: extern's make no sense in userspace
Also moved nubus_scan_bus() in __KERNEL__
Also removed obsolete get_nubus_list()
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
---
include/linux/nubus.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/include/linux/nubus.h b/include/linux/nubus.h
index bd31554..9f54a23 100644
--- a/include/linux/nubus.h
+++ b/include/linux/nubus.h
@@ -297,6 +297,7 @@ struct nubus_dev {
struct nubus_board* board;
};
+#ifdef __KERNEL__
/* This is all NuBus devices (used to find devices later on) */
extern struct nubus_dev* nubus_devices;
/* This is all NuBus cards */
@@ -305,7 +306,7 @@ extern struct nubus_board* nubus_boards;
/* Generic NuBus interface functions, modelled after the PCI interface */
void nubus_scan_bus(void);
extern void nubus_proc_init(void);
-int get_nubus_list(char *buf);
+#endif /* __KERNEL__ */
int nubus_proc_attach_device(struct nubus_dev *dev);
int nubus_proc_detach_device(struct nubus_dev *dev);
/* If we need more precision we can add some more of these */
--
1.5.6.6
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH -tip] nubus.h: extern's make no sense in userspace
2009-01-13 7:48 [PATCH -tip] nubus.h: extern's make no sense in userspace Jaswinder Singh Rajput
@ 2009-01-13 9:03 ` Geert Uytterhoeven
2009-01-14 20:04 ` Harvey Harrison
0 siblings, 1 reply; 5+ messages in thread
From: Geert Uytterhoeven @ 2009-01-13 9:03 UTC (permalink / raw)
To: Jaswinder Singh Rajput
Cc: Ingo Molnar, Alan Cox, sam, harvey.harrison, gorcunov, LKML
On Tue, 13 Jan 2009, Jaswinder Singh Rajput wrote:
> Impact: cleanup, Impact: fix 3 make headers_check warnings:
>
> usr/include/linux/nubus.h:298: extern's make no sense in userspace
> usr/include/linux/nubus.h:300: extern's make no sense in userspace
> usr/include/linux/nubus.h:304: extern's make no sense in userspace
>
> Also moved nubus_scan_bus() in __KERNEL__
>
> Also removed obsolete get_nubus_list()
>
> Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> ---
> include/linux/nubus.h | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/nubus.h b/include/linux/nubus.h
> index bd31554..9f54a23 100644
> --- a/include/linux/nubus.h
> +++ b/include/linux/nubus.h
> @@ -297,6 +297,7 @@ struct nubus_dev {
> struct nubus_board* board;
> };
>
> +#ifdef __KERNEL__
> /* This is all NuBus devices (used to find devices later on) */
> extern struct nubus_dev* nubus_devices;
> /* This is all NuBus cards */
> @@ -305,7 +306,7 @@ extern struct nubus_board* nubus_boards;
> /* Generic NuBus interface functions, modelled after the PCI interface */
> void nubus_scan_bus(void);
> extern void nubus_proc_init(void);
> -int get_nubus_list(char *buf);
> +#endif /* __KERNEL__ */
> int nubus_proc_attach_device(struct nubus_dev *dev);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> int nubus_proc_detach_device(struct nubus_dev *dev);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> /* If we need more precision we can add some more of these */
What about these? They (unfortunately) lack the "extern" keyword, but they're
still external declarations, and "make headers_check' doesn't notice them?
BTW, is there a way to tell gcc to warn about externs not marked "extern", so
we can fix all of them?
With kind regards,
Geert Uytterhoeven
Software Architect
Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/
A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH -tip] nubus.h: extern's make no sense in userspace
2009-01-13 9:03 ` Geert Uytterhoeven
@ 2009-01-14 20:04 ` Harvey Harrison
2009-01-14 20:10 ` Sam Ravnborg
0 siblings, 1 reply; 5+ messages in thread
From: Harvey Harrison @ 2009-01-14 20:04 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Jaswinder Singh Rajput, Ingo Molnar, Alan Cox, sam, gorcunov,
LKML
On Tue, 2009-01-13 at 10:03 +0100, Geert Uytterhoeven wrote:
> On Tue, 13 Jan 2009, Jaswinder Singh Rajput wrote:
> > Impact: cleanup, Impact: fix 3 make headers_check warnings:
> >
> > usr/include/linux/nubus.h:298: extern's make no sense in userspace
> > usr/include/linux/nubus.h:300: extern's make no sense in userspace
> > usr/include/linux/nubus.h:304: extern's make no sense in userspace
> >
> > Also moved nubus_scan_bus() in __KERNEL__
> >
> > Also removed obsolete get_nubus_list()
> >
> > Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> > ---
> > include/linux/nubus.h | 3 ++-
> > 1 files changed, 2 insertions(+), 1 deletions(-)
> >
> > diff --git a/include/linux/nubus.h b/include/linux/nubus.h
> > index bd31554..9f54a23 100644
> > --- a/include/linux/nubus.h
> > +++ b/include/linux/nubus.h
> > @@ -297,6 +297,7 @@ struct nubus_dev {
> > struct nubus_board* board;
> > };
> >
> > +#ifdef __KERNEL__
> > /* This is all NuBus devices (used to find devices later on) */
> > extern struct nubus_dev* nubus_devices;
> > /* This is all NuBus cards */
> > @@ -305,7 +306,7 @@ extern struct nubus_board* nubus_boards;
> > /* Generic NuBus interface functions, modelled after the PCI interface */
> > void nubus_scan_bus(void);
> > extern void nubus_proc_init(void);
> > -int get_nubus_list(char *buf);
> > +#endif /* __KERNEL__ */
> > int nubus_proc_attach_device(struct nubus_dev *dev);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > int nubus_proc_detach_device(struct nubus_dev *dev);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > /* If we need more precision we can add some more of these */
>
> What about these? They (unfortunately) lack the "extern" keyword, but they're
> still external declarations, and "make headers_check' doesn't notice them?
>
> BTW, is there a way to tell gcc to warn about externs not marked "extern", so
> we can fix all of them?
I had a look at this file, there's the small patch that just wraps the whole
section of function declarations with ifdef __KERNEL, or the larger patch
that does the wrapping _and_ adds the missing externs to make it obvious.
But I'm not sure that there is agreement regarding adding the externs too.
What do people think?
Harvey
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH -tip] nubus.h: extern's make no sense in userspace
2009-01-14 20:04 ` Harvey Harrison
@ 2009-01-14 20:10 ` Sam Ravnborg
2009-01-14 20:13 ` Harvey Harrison
0 siblings, 1 reply; 5+ messages in thread
From: Sam Ravnborg @ 2009-01-14 20:10 UTC (permalink / raw)
To: Harvey Harrison
Cc: Geert Uytterhoeven, Jaswinder Singh Rajput, Ingo Molnar, Alan Cox,
gorcunov, LKML
On Wed, Jan 14, 2009 at 12:04:21PM -0800, Harvey Harrison wrote:
> On Tue, 2009-01-13 at 10:03 +0100, Geert Uytterhoeven wrote:
> > On Tue, 13 Jan 2009, Jaswinder Singh Rajput wrote:
> > > Impact: cleanup, Impact: fix 3 make headers_check warnings:
> > >
> > > usr/include/linux/nubus.h:298: extern's make no sense in userspace
> > > usr/include/linux/nubus.h:300: extern's make no sense in userspace
> > > usr/include/linux/nubus.h:304: extern's make no sense in userspace
> > >
> > > Also moved nubus_scan_bus() in __KERNEL__
> > >
> > > Also removed obsolete get_nubus_list()
> > >
> > > Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> > > ---
> > > include/linux/nubus.h | 3 ++-
> > > 1 files changed, 2 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/include/linux/nubus.h b/include/linux/nubus.h
> > > index bd31554..9f54a23 100644
> > > --- a/include/linux/nubus.h
> > > +++ b/include/linux/nubus.h
> > > @@ -297,6 +297,7 @@ struct nubus_dev {
> > > struct nubus_board* board;
> > > };
> > >
> > > +#ifdef __KERNEL__
> > > /* This is all NuBus devices (used to find devices later on) */
> > > extern struct nubus_dev* nubus_devices;
> > > /* This is all NuBus cards */
> > > @@ -305,7 +306,7 @@ extern struct nubus_board* nubus_boards;
> > > /* Generic NuBus interface functions, modelled after the PCI interface */
> > > void nubus_scan_bus(void);
> > > extern void nubus_proc_init(void);
> > > -int get_nubus_list(char *buf);
> > > +#endif /* __KERNEL__ */
> > > int nubus_proc_attach_device(struct nubus_dev *dev);
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > int nubus_proc_detach_device(struct nubus_dev *dev);
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > /* If we need more precision we can add some more of these */
> >
> > What about these? They (unfortunately) lack the "extern" keyword, but they're
> > still external declarations, and "make headers_check' doesn't notice them?
> >
> > BTW, is there a way to tell gcc to warn about externs not marked "extern", so
> > we can fix all of them?
>
> I had a look at this file, there's the small patch that just wraps the whole
> section of function declarations with ifdef __KERNEL, or the larger patch
> that does the wrapping _and_ adds the missing externs to make it obvious.
>
> But I'm not sure that there is agreement regarding adding the externs too.
>
> What do people think?
The general consensus is to add externs for new prototypes.
So if _and only if_ you are anyway touching this file in that area then
I would say - add the externs. But just adding externs are not (yet)
worth a patch alone.
Sam
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH -tip] nubus.h: extern's make no sense in userspace
2009-01-14 20:10 ` Sam Ravnborg
@ 2009-01-14 20:13 ` Harvey Harrison
0 siblings, 0 replies; 5+ messages in thread
From: Harvey Harrison @ 2009-01-14 20:13 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Geert Uytterhoeven, Jaswinder Singh Rajput, Ingo Molnar, Alan Cox,
gorcunov, LKML
On Wed, 2009-01-14 at 21:10 +0100, Sam Ravnborg wrote:
> On Wed, Jan 14, 2009 at 12:04:21PM -0800, Harvey Harrison wrote:
> >
> > I had a look at this file, there's the small patch that just wraps the whole
> > section of function declarations with ifdef __KERNEL, or the larger patch
> > that does the wrapping _and_ adds the missing externs to make it obvious.
> >
> > But I'm not sure that there is agreement regarding adding the externs too.
> >
> > What do people think?
>
> The general consensus is to add externs for new prototypes.
> So if _and only if_ you are anyway touching this file in that area then
> I would say - add the externs. But just adding externs are not (yet)
> worth a patch alone.
>
Agreed about just adding externs not being worth it, but as part of auditing
this file for userspace inclusion I'll send the patch that adds the externs
as well as the ifdef __KERNEL__ bits.
Harvey
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-01-14 20:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-13 7:48 [PATCH -tip] nubus.h: extern's make no sense in userspace Jaswinder Singh Rajput
2009-01-13 9:03 ` Geert Uytterhoeven
2009-01-14 20:04 ` Harvey Harrison
2009-01-14 20:10 ` Sam Ravnborg
2009-01-14 20:13 ` Harvey Harrison
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox