2005-11-03 18:19:26

by Adrian Bunk

[permalink] [raw]
Subject: WTF is include/asm-arm/arch-s3c2410/system.h ?

Can anyone please explain the contents of
include/asm-arm/arch-s3c2410/system.h ?

This file looks like a C file accidentially named .h ...

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


2005-11-03 18:39:16

by Kris Katterjohn

[permalink] [raw]
Subject: Re: WTF is include/asm-arm/arch-s3c2410/system.h ?

From: Adrian Bunk
> This file looks like a C file accidentially named .h


Why do you think so? A lot of other header files have functions in them.


Kris


2005-11-03 18:41:37

by Russell King

[permalink] [raw]
Subject: Re: WTF is include/asm-arm/arch-s3c2410/system.h ?

On Thu, Nov 03, 2005 at 07:19:16PM +0100, Adrian Bunk wrote:
> Can anyone please explain the contents of
> include/asm-arm/arch-s3c2410/system.h ?
>
> This file looks like a C file accidentially named .h ...

It's the machine specific bits for arch/arm/kernel/process.c, part of
the structure left over from 1996ish time.

The functions in there are supposed to be inlined.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

2005-11-03 21:32:31

by Adrian Bunk

[permalink] [raw]
Subject: [2.6 patch] cleanup include/asm-arm/arch-s3c2410/system.h

On Thu, Nov 03, 2005 at 06:41:26PM +0000, Russell King wrote:
> On Thu, Nov 03, 2005 at 07:19:16PM +0100, Adrian Bunk wrote:
> > Can anyone please explain the contents of
> > include/asm-arm/arch-s3c2410/system.h ?
> >
> > This file looks like a C file accidentially named .h ...
>
> It's the machine specific bits for arch/arm/kernel/process.c, part of
> the structure left over from 1996ish time.
>
> The functions in there are supposed to be inlined.

IOW, the (untested) patch below changes them to what was intended?

> Russell King

cu
Adrian


<-- snip -->


This patch makes the functions in include/asm-arm/arch-s3c2410/system.h
static inline as they should be.


Signed-off-by: Adrian Bunk <[email protected]>

---

arch/arm/mach-s3c2410/mach-smdk2440.c | 2 -
include/asm-arm/arch-s3c2410/idle.h | 28 --------------------------
include/asm-arm/arch-s3c2410/system.h | 10 +++------
3 files changed, 5 insertions(+), 35 deletions(-)

--- linux-2.6.14-rc5-mm1-full/include/asm-arm/arch-s3c2410/system.h.old 2005-11-03 22:13:46.000000000 +0100
+++ linux-2.6.14-rc5-mm1-full/include/asm-arm/arch-s3c2410/system.h 2005-11-03 22:14:13.000000000 +0100
@@ -21,14 +21,13 @@
#include <asm/io.h>

#include <asm/arch/map.h>
-#include <asm/arch/idle.h>

#include <asm/arch/regs-watchdog.h>
#include <asm/arch/regs-clock.h>

-void (*s3c24xx_idle)(void);
+static void (*s3c24xx_idle)(void);

-void s3c24xx_default_idle(void)
+static inline void s3c24xx_default_idle(void)
{
void __iomem *reg = S3C2410_CLKCON;
unsigned long tmp;
@@ -52,7 +51,7 @@
__raw_writel(__raw_readl(reg) & ~(1<<2), reg);
}

-static void arch_idle(void)
+static inline void arch_idle(void)
{
if (s3c24xx_idle != NULL)
(s3c24xx_idle)();
@@ -61,8 +60,7 @@
}


-static void
-arch_reset(char mode)
+static inline void arch_reset(char mode)
{
if (mode == 's') {
cpu_reset(0);
--- linux-2.6.14-rc5-mm1-full/arch/arm/mach-s3c2410/mach-smdk2440.c.old 2005-11-03 22:14:24.000000000 +0100
+++ linux-2.6.14-rc5-mm1-full/arch/arm/mach-s3c2410/mach-smdk2440.c 2005-11-03 22:28:48.000000000 +0100
@@ -41,7 +41,7 @@
//#include <asm/debug-ll.h>
#include <asm/arch/regs-serial.h>
#include <asm/arch/regs-gpio.h>
-#include <asm/arch/idle.h>
+#include <asm/arch/system.h>

#include "s3c2410.h"
#include "s3c2440.h"
--- linux-2.6.14-rc5-mm1-modular-2.95/include/asm-arm/arch-s3c2410/idle.h 2005-08-29 01:41:01.000000000 +0200
+++ /dev/null 2005-04-28 03:52:17.000000000 +0200
@@ -1,28 +0,0 @@
-/* linux/include/asm-arm/arch-s3c2410/idle.h
- *
- * Copyright (c) 2004 Simtec Electronics <[email protected]>
- * http://www.simtec.co.uk/products/SWLINUX/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * S3C2410 CPU Idle controls
- *
- * Changelog:
- * 28-Oct-2004 BJD Initial version
- *
-*/
-
-#ifndef __ASM_ARCH_IDLE_H
-#define __ASM_ARCH_IDLE_H __FILE__
-
-/* This allows the over-ride of the default idle code, in case there
- * is any other things to be done over idle (like DVS)
-*/
-
-extern void (*s3c24xx_idle)(void);
-
-extern void s3c24xx_default_idle(void);
-
-#endif /* __ASM_ARCH_IDLE_H */

2005-11-03 21:49:48

by Russell King

[permalink] [raw]
Subject: Re: [2.6 patch] cleanup include/asm-arm/arch-s3c2410/system.h

On Thu, Nov 03, 2005 at 10:29:51PM +0100, Adrian Bunk wrote:
> On Thu, Nov 03, 2005 at 06:41:26PM +0000, Russell King wrote:
> > On Thu, Nov 03, 2005 at 07:19:16PM +0100, Adrian Bunk wrote:
> > > Can anyone please explain the contents of
> > > include/asm-arm/arch-s3c2410/system.h ?
> > >
> > > This file looks like a C file accidentially named .h ...
> >
> > It's the machine specific bits for arch/arm/kernel/process.c, part of
> > the structure left over from 1996ish time.
> >
> > The functions in there are supposed to be inlined.
>
> IOW, the (untested) patch below changes them to what was intended?

Yes. Ben's away for a bit - can we wait for his ack please?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

2005-11-03 21:54:36

by Adrian Bunk

[permalink] [raw]
Subject: Re: [2.6 patch] cleanup include/asm-arm/arch-s3c2410/system.h

On Thu, Nov 03, 2005 at 09:49:41PM +0000, Russell King wrote:
> On Thu, Nov 03, 2005 at 10:29:51PM +0100, Adrian Bunk wrote:
> > On Thu, Nov 03, 2005 at 06:41:26PM +0000, Russell King wrote:
> > > On Thu, Nov 03, 2005 at 07:19:16PM +0100, Adrian Bunk wrote:
> > > > Can anyone please explain the contents of
> > > > include/asm-arm/arch-s3c2410/system.h ?
> > > >
> > > > This file looks like a C file accidentially named .h ...
> > >
> > > It's the machine specific bits for arch/arm/kernel/process.c, part of
> > > the structure left over from 1996ish time.
> > >
> > > The functions in there are supposed to be inlined.
> >
> > IOW, the (untested) patch below changes them to what was intended?
>
> Yes. Ben's away for a bit - can we wait for his ack please?

OK, this is not urgent.

> Russell King

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