[linux-pm] Re : Re : [HELP] Power management for embedded system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Russell King wrote:
> On Thu, Aug 24, 2006 at 09:37:39AM +0000, moreau francis wrote:
>> Russell King wrote:
>>> On Thu, Aug 24, 2006 at 08:44:25AM +0000, moreau francis wrote:
>>>> Mips one seems to be a copy and paste of arm one and both of them
>>>> have removed all APM bios stuff orginally part of i386 implementation.
>>> The BIOS stuff makes no sense on ARM - there isn't a BIOS to do anything
>>> with.
>> I haven't said that it has been widely/wrongly removed...
> 
> ROTFL!  No, you were stating that the APM bios stuff was removed, and
> I gave the reason for it.  Why are you now objecting to my explaination?
> 

Take it easy ! I'm not objecting your explanation. Your explanation, which
was not asked, sounded to me like I said something wrong/bad on this
amputation. I have prefered to make things clear, no more.

>>>> It doesn't seem that APM is something really stable and finished.
>>> It's complete.  It's purpose is to provide the interface to userland so
>>> that programs know about suspend/resume events, and can initiate suspends.
>>> Eg, the X server.
>>>
>> Is there something specific to ARM in this implementation ? I don't think
>> so and it's surely the reason why MIPS did copy it with almost no changes.
> 
> MIPS copied it because presumably it was useful for them.
> 

Actually my point is that it could be usefull for _all_ embedded systems,
whatever the arches it comes from, couldn't it ?

>> I understand that ARM implementation has been the first one but maybe now

So does it make sense to you to have

linux/driver/apm
|-- apm_userland_interface_emulation_and_not_a_power_management_infrastructure.c
|-- idle.c
|-- core.c

linux/arch/arm/kernel/
|- apm_specific_to_arm_which_is_needed_by_generic_driver.c
| ...

for example ?


>> why not making it the common power management for embedded system that
>> could be used by all arches which need it ?
> 
> It could well become a common interface.  But it is NOT power management
> infrastructure.  It is merely a _userland_ interface.  Nothing more.  It
> does not do anything other than that.
> 

apm_queue_event() (and kapmd) doens't seem something usefull for user space.
It seems to be designed to be used by the kernel no ?

>> BTW, why has apm_cpu_idle() logic been removed from ARM implementation ?
> 
> This APM is just a userland interface.  It has nothing to do with actual
> power management.  CPU idling is handled entirely differently on ARM.
> 

Could you point out where it is handled ?

>>> The power management really comes from the Linux drivers themselves,
>>> which are written to peripherals off when they're not in use.  The other
>>> power saving comes from things like cpufreq - again, nothing to do with
>>> the magical "APM" or "ACPI" terms.
>> BTW why is it still called "APM" on ARM ?
> 
> That's what the userland interface is called on x86.  We could've called it
> apm_userland_interface_emulation_and_not_a_power_management_infrastructure.c
> but although that clearly states what it is, it would've been far too long
> a name. 8)
> 

Sure, but something that can reflect that it's a userland interface emulation
implementation would have been usefull. APM, despite it's already used by APM
BIOS terminology, is rather a name for a complete subsystem.

Francis





[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux