Subject: [PATCH 5/7] at91 : fix dirty hack for the selfrefresh function

From: [email-masked] (Daniel Lezcano)
Date: Fri, 13 Jan 2012 10:29:49 +0100

On 01/13/2012 01:38 AM, Rob Lee wrote:
> On Thu, Jan 12, 2012 at 1:36 PM, Russell King - ARM Linux
> <[email-masked]> wrote:
> 
>> Okay, that makes sense (because everything but rm9200 branches out to
>> one of the cpu idle functions.)
>>
>> It also supports my second idea described in
>> http://lists.arm.linux.org.uk/lurker/message/20120109.144443.3626e5a6.en.html
>> See the paragraph starting "So, what I suggest instead" at that URL and
>> following text.
>>
>> The reason I think this is the best solution is:
>> (a) we move the CPU dependencies into each CPU file
>> (b) we localize the quirks needed for each CPU into its own specific code
>> (c) we can select at run time between the various standby functions
>>
>> These are all AT91 specific wins.  What it also gets us is _much_ less
>> exported code from arch/arm/mach-at91 when the CPU idle stuff moves out,
>> reducing it down to just a mere function pointer, and, because the AT91
>> specific idle stuff is hidden behind this it potentially opens the door
>> towards some consolidation in this area between different SoCs.
> 
> Apologies if this is a dumb question, but for the arch/arm/mach-at91
> function pointer that needs to be exported, what is the recommended
> method for exporting it to a file that needs it in drivers/cpuidle?

I was asking me the same question. I am wondering if that makes sense to
create an arch/arm/include/asm/pm.h file where we move from the system.h
file these two functions:

extern void (*arm_pm_restart)(char str, const char *cmd);
extern void (*arm_pm_idle)(void);

and we add:

extern void (*arm_pm_standby)(void);

- -- 
 <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog