linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.6: is include/linux/platform.h a dead header?
@ 2005-09-02 20:52 Adrian Bunk
       [not found] ` <Pine.LNX.4.50.0509291106520.29808-100000@monsoon.he.net>
  0 siblings, 1 reply; 9+ messages in thread
From: Adrian Bunk @ 2005-09-02 20:52 UTC (permalink / raw)
  To: Patrick Mochel; +Cc: linux-kernel

Hi Patrick,

it seems that exept for the default_idle() prototype, the complete 
include/linux/platform.h is obsolete.

Is there a reason to keep it, or should we delete this header?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [2.6 patch] kill include/linux/platform.h
       [not found] ` <Pine.LNX.4.50.0509291106520.29808-100000@monsoon.he.net>
@ 2005-10-01 23:34   ` Adrian Bunk
  2005-10-03 19:01     ` Tony Luck
  0 siblings, 1 reply; 9+ messages in thread
From: Adrian Bunk @ 2005-10-01 23:34 UTC (permalink / raw)
  To: Patrick Mochel, Andrew Morton; +Cc: linux-kernel

On Thu, Sep 29, 2005 at 11:07:18AM -0700, Patrick Mochel wrote:
> 
> Sorry about the delay in responding, been traveling.
> 
> On Fri, 2 Sep 2005, Adrian Bunk wrote:
> 
> > Hi Patrick,
> >
> > it seems that exept for the default_idle() prototype, the complete
> > include/linux/platform.h is obsolete.
> >
> > Is there a reason to keep it, or should we delete this header?
> 
> Kill it, it's way old.

Patch below.

> Thanks,
> 	Patrick

cu
Adrian


<--  snip  -->


This patch removes the obsolete include/linux/platform.h header.

This patch was already ACK'ed by Patrick Mochel.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 arch/i386/mach-visws/reboot.c |    1 
 arch/ia64/kernel/setup.c      |    1 
 arch/sh/kernel/process.c      |    1 
 include/linux/platform.h      |   43 ----------------------------------
 4 files changed, 46 deletions(-)

--- linux-2.6.14-rc2-mm2-full/arch/i386/mach-visws/reboot.c.old	2005-10-02 01:08:55.000000000 +0200
+++ linux-2.6.14-rc2-mm2-full/arch/i386/mach-visws/reboot.c	2005-10-02 01:09:00.000000000 +0200
@@ -1,7 +1,6 @@
 #include <linux/module.h>
 #include <linux/smp.h>
 #include <linux/delay.h>
-#include <linux/platform.h>
 
 #include <asm/io.h>
 #include "piix4.h"
--- linux-2.6.14-rc2-mm2-full/arch/ia64/kernel/setup.c.old	2005-10-02 01:09:11.000000000 +0200
+++ linux-2.6.14-rc2-mm2-full/arch/ia64/kernel/setup.c	2005-10-02 01:09:15.000000000 +0200
@@ -41,7 +41,6 @@
 #include <linux/serial_core.h>
 #include <linux/efi.h>
 #include <linux/initrd.h>
-#include <linux/platform.h>
 #include <linux/pm.h>
 
 #include <asm/ia32.h>
--- linux-2.6.14-rc2-mm2-full/arch/sh/kernel/process.c.old	2005-10-02 01:09:24.000000000 +0200
+++ linux-2.6.14-rc2-mm2-full/arch/sh/kernel/process.c	2005-10-02 01:09:49.000000000 +0200
@@ -18,7 +18,6 @@
 #include <linux/slab.h>
 #include <linux/a.out.h>
 #include <linux/ptrace.h>
-#include <linux/platform.h>
 #include <linux/kallsyms.h>
 
 #include <asm/io.h>
--- linux-2.6.14-rc2-mm2-full/include/linux/platform.h	2005-08-29 01:41:01.000000000 +0200
+++ /dev/null	2005-04-28 03:52:17.000000000 +0200
@@ -1,43 +0,0 @@
-/*
- * include/linux/platform.h - platform driver definitions
- *
- * Because of the prolific consumerism of the average American,
- * and the dominant marketing budgets of PC OEMs, we have been
- * blessed with frequent updates of the PC architecture. 
- *
- * While most of these calls are singular per architecture, they 
- * require an extra layer of abstraction on the x86 so the right
- * subsystem gets the right call. 
- *
- * Basically, this consolidates the power off and reboot callbacks 
- * into one structure, as well as adding power management hooks.
- *
- * When adding a platform driver, please make sure all callbacks are 
- * filled. There are defaults defined below that do nothing; use those
- * if you do not support that callback.
- */ 
-
-#ifndef _PLATFORM_H_
-#define _PLATFORM_H_
-#ifdef __KERNEL__
-
-#include <linux/types.h>
-
-struct platform_t {
-	char	* name;
-	u32	suspend_states;
-	void	(*reboot)(char * cmd);
-	void	(*halt)(void);
-	void	(*power_off)(void);
-	int	(*suspend)(int state, int flags);
-	void	(*idle)(void);
-};
-
-extern struct platform_t * platform;
-extern void default_reboot(char * cmd);
-extern void default_halt(void);
-extern int default_suspend(int state, int flags);
-extern void default_idle(void);
-
-#endif /* __KERNEL__ */
-#endif /* _PLATFORM_H */


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-10-01 23:34   ` [2.6 patch] kill include/linux/platform.h Adrian Bunk
@ 2005-10-03 19:01     ` Tony Luck
  2005-10-03 19:03       ` Adrian Bunk
  0 siblings, 1 reply; 9+ messages in thread
From: Tony Luck @ 2005-10-03 19:01 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Patrick Mochel, Andrew Morton, linux-kernel

> --- linux-2.6.14-rc2-mm2-full/arch/ia64/kernel/setup.c.old      2005-10-02 01:09:11.000000000 +0200
> +++ linux-2.6.14-rc2-mm2-full/arch/ia64/kernel/setup.c  2005-10-02 01:09:15.000000000 +0200
> @@ -41,7 +41,6 @@
>  #include <linux/serial_core.h>
>  #include <linux/efi.h>
>  #include <linux/initrd.h>
> -#include <linux/platform.h>
>  #include <linux/pm.h>
>
>  #include <asm/ia32.h>

NAK.  Without <linux/platform.h> ia64 doesn't compile:

  CC      arch/ia64/kernel/setup.o
arch/ia64/kernel/setup.c: In function `cpu_init':
arch/ia64/kernel/setup.c:855: error: `default_idle' undeclared (first
use in this function)
arch/ia64/kernel/setup.c:855: error: (Each undeclared identifier is
reported only once
arch/ia64/kernel/setup.c:855: error: for each function it appears in.)
make[1]: *** [arch/ia64/kernel/setup.o] Error 1
make: *** [arch/ia64/kernel] Error 2

So you will need to add a:

extern void default_idle(void );

some place in setup.c to fix this.

-Tony

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-10-03 19:01     ` Tony Luck
@ 2005-10-03 19:03       ` Adrian Bunk
  2005-10-03 21:07         ` Tony Luck
  0 siblings, 1 reply; 9+ messages in thread
From: Adrian Bunk @ 2005-10-03 19:03 UTC (permalink / raw)
  To: Tony Luck; +Cc: Patrick Mochel, Andrew Morton, linux-kernel

On Mon, Oct 03, 2005 at 12:01:08PM -0700, Tony Luck wrote:
> > --- linux-2.6.14-rc2-mm2-full/arch/ia64/kernel/setup.c.old      2005-10-02 01:09:11.000000000 +0200
> > +++ linux-2.6.14-rc2-mm2-full/arch/ia64/kernel/setup.c  2005-10-02 01:09:15.000000000 +0200
> > @@ -41,7 +41,6 @@
> >  #include <linux/serial_core.h>
> >  #include <linux/efi.h>
> >  #include <linux/initrd.h>
> > -#include <linux/platform.h>
> >  #include <linux/pm.h>
> >
> >  #include <asm/ia32.h>
> 
> NAK.  Without <linux/platform.h> ia64 doesn't compile:
> 
>   CC      arch/ia64/kernel/setup.o
> arch/ia64/kernel/setup.c: In function `cpu_init':
> arch/ia64/kernel/setup.c:855: error: `default_idle' undeclared (first
> use in this function)
> arch/ia64/kernel/setup.c:855: error: (Each undeclared identifier is
> reported only once
> arch/ia64/kernel/setup.c:855: error: for each function it appears in.)
> make[1]: *** [arch/ia64/kernel/setup.o] Error 1
> make: *** [arch/ia64/kernel] Error 2
> 
> So you will need to add a:
> 
> extern void default_idle(void );
> 
> some place in setup.c to fix this.

The default_idle() prototype should stay inside some header file.

@Patrick:
Any suggestion where it should move to?

> -Tony

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-10-03 19:03       ` Adrian Bunk
@ 2005-10-03 21:07         ` Tony Luck
  2005-10-03 21:50           ` Adrian Bunk
  0 siblings, 1 reply; 9+ messages in thread
From: Tony Luck @ 2005-10-03 21:07 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Patrick Mochel, Andrew Morton, linux-kernel

> The default_idle() prototype should stay inside some header file.

That would be best, yes.

> @Patrick:
> Any suggestion where it should move to?

Of the include files already included directly by arch/ia64/kernel/setup.c,
<linux/sched.h> looks the most promising.  There's lots of .*idle.* things
already in there.

Looking at existing precedent: ppc64 has a definition of default_idle()
in <asm/machdep.h>

i396, cris and um already have gone along the route of adding extern
definitions for default_idle() to ".c" files ... so cleanup creates more
opportunities for cleanup (but you are probably very experienced in
this phenomenom :-)

-Tony

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-10-03 21:07         ` Tony Luck
@ 2005-10-03 21:50           ` Adrian Bunk
  2005-10-10 18:23             ` Andrew Morton
  0 siblings, 1 reply; 9+ messages in thread
From: Adrian Bunk @ 2005-10-03 21:50 UTC (permalink / raw)
  To: Tony Luck; +Cc: Patrick Mochel, Andrew Morton, linux-kernel

On Mon, Oct 03, 2005 at 02:07:12PM -0700, Tony Luck wrote:
> > The default_idle() prototype should stay inside some header file.
> 
> That would be best, yes.
> 
> > @Patrick:
> > Any suggestion where it should move to?
> 
> Of the include files already included directly by arch/ia64/kernel/setup.c,
> <linux/sched.h> looks the most promising.  There's lots of .*idle.* things
> already in there.
> 
> Looking at existing precedent: ppc64 has a definition of default_idle()
> in <asm/machdep.h>

The question whether linux/ or asm/ is the best place for the definition 
boils down to the question whether it is expected that default_idle() is 
present on all architectures or whether it's an architecture-specific 
implementation detail.

In the first case, I'm surprised that there is no platform independent 
code using it.

In the second case, it seems we can kill the default_idle() functions on 
mips (empty) and parisk.

> i396, cris and um already have gone along the route of adding extern
> definitions for default_idle() to ".c" files ... so cleanup creates more
> opportunities for cleanup (but you are probably very experienced in
> this phenomenom :-)

I stumbled across the question whether include/linux/platform.h is still 
required by cleaning up warnings with the -Wmissing-prototypes compiler 
flag I plan to add to the kernel CFLAGS soon that generates warnings 
for such extern constructs...

> -Tony

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-10-03 21:50           ` Adrian Bunk
@ 2005-10-10 18:23             ` Andrew Morton
  2005-11-03 18:23               ` Adrian Bunk
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2005-10-10 18:23 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: tony.luck, mochel, linux-kernel

Adrian Bunk <bunk@stusta.de> wrote:
>
> On Mon, Oct 03, 2005 at 02:07:12PM -0700, Tony Luck wrote:
>  > > The default_idle() prototype should stay inside some header file.
>  > 
>  > That would be best, yes.
>  > 
>  > > @Patrick:
>  > > Any suggestion where it should move to?
>  > 
>  > Of the include files already included directly by arch/ia64/kernel/setup.c,
>  > <linux/sched.h> looks the most promising.  There's lots of .*idle.* things
>  > already in there.
>  > 
>  > Looking at existing precedent: ppc64 has a definition of default_idle()
>  > in <asm/machdep.h>
> 
>  The question whether linux/ or asm/ is the best place for the definition 
>  boils down to the question whether it is expected that default_idle() is 
>  present on all architectures or whether it's an architecture-specific 
>  implementation detail.

Yes, default_idle() is arch-specific and so its prototype should be in an
arch-specific header.

All the implementations happen to have the same signature, so it's tempting
to put the prototype into some generic header, but given that there's no
non-arch-specific caller, we shouldn't do that.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-10-10 18:23             ` Andrew Morton
@ 2005-11-03 18:23               ` Adrian Bunk
  2005-11-08 19:46                 ` Patrick Mochel
  0 siblings, 1 reply; 9+ messages in thread
From: Adrian Bunk @ 2005-11-03 18:23 UTC (permalink / raw)
  To: Andrew Morton; +Cc: tony.luck, mochel, linux-kernel

On Mon, Oct 10, 2005 at 11:23:41AM -0700, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > On Mon, Oct 03, 2005 at 02:07:12PM -0700, Tony Luck wrote:
> >  > > The default_idle() prototype should stay inside some header file.
> >  > 
> >  > That would be best, yes.
> >  > 
> >  > > @Patrick:
> >  > > Any suggestion where it should move to?
> >  > 
> >  > Of the include files already included directly by arch/ia64/kernel/setup.c,
> >  > <linux/sched.h> looks the most promising.  There's lots of .*idle.* things
> >  > already in there.
> >  > 
> >  > Looking at existing precedent: ppc64 has a definition of default_idle()
> >  > in <asm/machdep.h>
> > 
> >  The question whether linux/ or asm/ is the best place for the definition 
> >  boils down to the question whether it is expected that default_idle() is 
> >  present on all architectures or whether it's an architecture-specific 
> >  implementation detail.
> 
> Yes, default_idle() is arch-specific and so its prototype should be in an
> arch-specific header.
> 
> All the implementations happen to have the same signature, so it's tempting
> to put the prototype into some generic header, but given that there's no
> non-arch-specific caller, we shouldn't do that.

ppc64 has the prototype in machdep.h.

The only other architectures that seem to require a non-static 
default_idle() are cris, i386 and ia64.

Any hint which header file would suit best?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [2.6 patch] kill include/linux/platform.h
  2005-11-03 18:23               ` Adrian Bunk
@ 2005-11-08 19:46                 ` Patrick Mochel
  0 siblings, 0 replies; 9+ messages in thread
From: Patrick Mochel @ 2005-11-08 19:46 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Andrew Morton, tony.luck, linux-kernel


On Thu, 3 Nov 2005, Adrian Bunk wrote:

> On Mon, Oct 10, 2005 at 11:23:41AM -0700, Andrew Morton wrote:
> > Adrian Bunk <bunk@stusta.de> wrote:
> > >
> > > On Mon, Oct 03, 2005 at 02:07:12PM -0700, Tony Luck wrote:
> > >  > > The default_idle() prototype should stay inside some header file.
> > >  >
> > >  > That would be best, yes.
> > >  >
> > >  > > @Patrick:
> > >  > > Any suggestion where it should move to?
> > >  >
> > >  > Of the include files already included directly by arch/ia64/kernel/setup.c,
> > >  > <linux/sched.h> looks the most promising.  There's lots of .*idle.* things
> > >  > already in there.
> > >  >
> > >  > Looking at existing precedent: ppc64 has a definition of default_idle()
> > >  > in <asm/machdep.h>
> > >
> > >  The question whether linux/ or asm/ is the best place for the definition
> > >  boils down to the question whether it is expected that default_idle() is
> > >  present on all architectures or whether it's an architecture-specific
> > >  implementation detail.
> >
> > Yes, default_idle() is arch-specific and so its prototype should be in an
> > arch-specific header.
> >
> > All the implementations happen to have the same signature, so it's tempting
> > to put the prototype into some generic header, but given that there's no
> > non-arch-specific caller, we shouldn't do that.
>
> ppc64 has the prototype in machdep.h.
>
> The only other architectures that seem to require a non-static
> default_idle() are cris, i386 and ia64.
>
> Any hint which header file would suit best?

It seems that include/asm-{$arch}/idle.h would suffice. Any objections to
that?



	Pat



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-11-08 19:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-02 20:52 2.6: is include/linux/platform.h a dead header? Adrian Bunk
     [not found] ` <Pine.LNX.4.50.0509291106520.29808-100000@monsoon.he.net>
2005-10-01 23:34   ` [2.6 patch] kill include/linux/platform.h Adrian Bunk
2005-10-03 19:01     ` Tony Luck
2005-10-03 19:03       ` Adrian Bunk
2005-10-03 21:07         ` Tony Luck
2005-10-03 21:50           ` Adrian Bunk
2005-10-10 18:23             ` Andrew Morton
2005-11-03 18:23               ` Adrian Bunk
2005-11-08 19:46                 ` Patrick Mochel

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).