2005-12-20 21:21:36

by Dave Jones

[permalink] [raw]
Subject: remove incorrect dependancy on CONFIG_APM


>From the PM_LEGACY Kconfig description..

"Support for pm_register() and friends."

Note, no mention of 'make apm stop working'.

Signed-off-by: Dave Jones <[email protected]>

--- linux-2.6.14/arch/i386/Kconfig~ 2005-12-20 16:19:17.000000000 -0500
+++ linux-2.6.14/arch/i386/Kconfig 2005-12-20 16:19:21.000000000 -0500
@@ -710,7 +710,7 @@ depends on PM && !X86_VISWS

config APM
tristate "APM (Advanced Power Management) BIOS support"
- depends on PM && PM_LEGACY
+ depends on PM
---help---
APM is a BIOS specification for saving power using several different
techniques. This is mostly useful for battery powered laptops with


2005-12-23 02:18:15

by Adrian Bunk

[permalink] [raw]
Subject: Re: remove incorrect dependancy on CONFIG_APM

On Tue, Dec 20, 2005 at 04:21:27PM -0500, Dave Jones wrote:
>
> >From the PM_LEGACY Kconfig description..
>
> "Support for pm_register() and friends."
>
> Note, no mention of 'make apm stop working'.
>
> Signed-off-by: Dave Jones <[email protected]>
>
> --- linux-2.6.14/arch/i386/Kconfig~ 2005-12-20 16:19:17.000000000 -0500
> +++ linux-2.6.14/arch/i386/Kconfig 2005-12-20 16:19:21.000000000 -0500
> @@ -710,7 +710,7 @@ depends on PM && !X86_VISWS
>
> config APM
> tristate "APM (Advanced Power Management) BIOS support"
> - depends on PM && PM_LEGACY
> + depends on PM
>...

This doesn't compile:

<-- snip -->

...
CC arch/i386/kernel/apm.o
arch/i386/kernel/apm.c: In function 'apm_init':
arch/i386/kernel/apm.c:2304: error: 'pm_active' undeclared (first use in this function)
arch/i386/kernel/apm.c:2304: error: (Each undeclared identifier is reported only once
arch/i386/kernel/apm.c:2304: error: for each function it appears in.)
arch/i386/kernel/apm.c: In function 'apm_exit':
arch/i386/kernel/apm.c:2410: error: 'pm_active' undeclared (first use in this function)
make[1]: *** [arch/i386/kernel/apm.o] Error 1

<-- snip -->


If PM_LEGACY causes user confusion for APM users, commit
bca73e4bf8563d83f7856164caa44d5f42e44cca should be reverted.


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-12-23 02:23:42

by Dave Jones

[permalink] [raw]
Subject: Re: remove incorrect dependancy on CONFIG_APM

On Fri, Dec 23, 2005 at 03:18:13AM +0100, Adrian Bunk wrote:
> On Tue, Dec 20, 2005 at 04:21:27PM -0500, Dave Jones wrote:
> >
> > >From the PM_LEGACY Kconfig description..
> >
> > "Support for pm_register() and friends."
> >
> > Note, no mention of 'make apm stop working'.
> >
> > Signed-off-by: Dave Jones <[email protected]>
> >
> > --- linux-2.6.14/arch/i386/Kconfig~ 2005-12-20 16:19:17.000000000 -0500
> > +++ linux-2.6.14/arch/i386/Kconfig 2005-12-20 16:19:21.000000000 -0500
> > @@ -710,7 +710,7 @@ depends on PM && !X86_VISWS
> >
> > config APM
> > tristate "APM (Advanced Power Management) BIOS support"
> > - depends on PM && PM_LEGACY
> > + depends on PM
> >...
>
> This doesn't compile:
>
> <-- snip -->
>
> ...
> CC arch/i386/kernel/apm.o
> arch/i386/kernel/apm.c: In function 'apm_init':
> arch/i386/kernel/apm.c:2304: error: 'pm_active' undeclared (first use in this function)
> arch/i386/kernel/apm.c:2304: error: (Each undeclared identifier is reported only once
> arch/i386/kernel/apm.c:2304: error: for each function it appears in.)
> arch/i386/kernel/apm.c: In function 'apm_exit':
> arch/i386/kernel/apm.c:2410: error: 'pm_active' undeclared (first use in this function)
> make[1]: *** [arch/i386/kernel/apm.o] Error 1
>
> <-- snip -->
>
> If PM_LEGACY causes user confusion for APM users, commit
> bca73e4bf8563d83f7856164caa44d5f42e44cca should be reverted.

Yeah, I realised that earlier too, my change was untested.

Hrmph. For now I've enabled PM_LEGACY, but silently taking options
away like this is what surprises users.

Dave

2005-12-23 03:13:04

by Dave Jones

[permalink] [raw]
Subject: Re: remove incorrect dependancy on CONFIG_APM

On Thu, Dec 22, 2005 at 09:22:27PM -0500, Dave Jones wrote:

> > CC arch/i386/kernel/apm.o
> > arch/i386/kernel/apm.c: In function 'apm_init':
> > arch/i386/kernel/apm.c:2304: error: 'pm_active' undeclared (first use in this function)
> > arch/i386/kernel/apm.c:2304: error: (Each undeclared identifier is reported only once
> > arch/i386/kernel/apm.c:2304: error: for each function it appears in.)
> > arch/i386/kernel/apm.c: In function 'apm_exit':
> > arch/i386/kernel/apm.c:2410: error: 'pm_active' undeclared (first use in this function)
> > make[1]: *** [arch/i386/kernel/apm.o] Error 1
> >
> > <-- snip -->
> >
> > If PM_LEGACY causes user confusion for APM users, commit
> > bca73e4bf8563d83f7856164caa44d5f42e44cca should be reverted.
>
> Yeah, I realised that earlier too, my change was untested.
>
> Hrmph. For now I've enabled PM_LEGACY, but silently taking options
> away like this is what surprises users.

Living dangerously with another not-compile-tested patch.
(It's building right now, but I'm about to go eat, and
with my goldfish like attention span, I'll forget about it later)

The ifdef's are a bit ugly, but given it's a legacy interface,
maybe pm_active & co will all go away completely one day.

Signed-off-by: Dave Jones <[email protected]>

--- linux-2.6.14/arch/i386/Kconfig~ 2005-12-22 22:06:10.000000000 -0500
+++ linux-2.6.14/arch/i386/Kconfig 2005-12-22 22:06:16.000000000 -0500
@@ -710,7 +710,7 @@ depends on PM && !X86_VISWS

config APM
tristate "APM (Advanced Power Management) BIOS support"
- depends on PM && PM_LEGACY
+ depends on PM
---help---
APM is a BIOS specification for saving power using several different
techniques. This is mostly useful for battery powered laptops with
--- linux-2.6.14/arch/i386/kernel/apm.c~ 2005-12-22 21:53:43.000000000 -0500
+++ linux-2.6.14/arch/i386/kernel/apm.c 2005-12-22 21:54:02.000000000 -0500
@@ -2301,7 +2301,9 @@ static int __init apm_init(void)
apm_info.disabled = 1;
return -ENODEV;
}
+#ifdef CONFIG_PM_LEGACY
pm_active = 1;
+#endif

/*
* Set up a segment that references the real mode segment 0x40
@@ -2407,7 +2409,9 @@ static void __exit apm_exit(void)
exit_kapmd = 1;
while (kapmd_running)
schedule();
+#ifdef CONFIG_PM_LEGACY
pm_active = 0;
+#endif
}

module_init(apm_init);