1. 21 7月, 2007 1 次提交
    • E
      [ARM] 4488/1: pxa: move pxa25x/pxa27x specific code out of pm.c · 711be5cc
      Eric Miao 提交于
      1. introduce a structure pxa_cpu_pm_fns for pxa25x/pxa27x specific
         operations as follows:
      
      	struct pxa_cpu_pm_fns {
      		int	save_size;
      		void	(*save)(unsigned long *);
      		void	(*restore)(unsigned long *);
      		int	(*valid)(suspend_state_t state);
      		void	(*enter)(suspend_state_t state);
      	}
      
      2. processor specific registers saving and restoring are performed
         by calling the corresponding (*save) and (*restore)
      
      3. pxa_cpu_pm_fns->save_size should be initialized to the required
         size for processor specific registers saving, the allocated
         memory address will be passed to (*save) and (*restore)
      
         memory allocation happens early in pxa_pm_init(), and save_size
         should be assigned prior to this (which is usually true, since
         pxa_pm_init() happens in device_initcall()
      
      4. there're some redundancies for those SLEEP_SAVE_XXX and related
         macros, will be fixed later, one way possible is for the system
         devices to handle the specific registers saving and restoring
      Signed-off-by: Neric miao <eric.y.miao@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      711be5cc
  2. 20 7月, 2007 39 次提交