OESF Portables Forum

Everything Else => Zaurus - Everything Development => Distros, Development, and Model Specific Forums => Archived Forums => pdaXrom Development => Topic started by: louigi600 on August 31, 2007, 04:19:20 am

Title: Help New Kernel For Pdaxrom
Post by: louigi600 on August 31, 2007, 04:19:20 am
I've been away for a month or so ... I see 2.6.22.6 is out on kernel.org ... any news for Z ?
Title: Help New Kernel For Pdaxrom
Post by: InSearchOf on August 31, 2007, 09:24:17 am
Isnt Kernels your pdaxrom task :-) j/k
I'm currently still working with 2.6.21.5

Late
Title: Help New Kernel For Pdaxrom
Post by: louigi600 on August 31, 2007, 10:24:02 am
I was hoping other non pdaxrom developers would read this too :-)
Title: Help New Kernel For Pdaxrom
Post by: louigi600 on October 11, 2007, 11:31:57 pm
2.6.23 is out and I see numerous pxa fixes on the changelog.
Title: Help New Kernel For Pdaxrom
Post by: InSearchOf on October 12, 2007, 08:22:55 am
I was actually working with 2.6.22.9 as of 2 weeks ago
I may give 2.6.23  try this weekend and determine if it will be the NEW official kernel

Late
Title: Help New Kernel For Pdaxrom
Post by: Civil on October 12, 2007, 12:48:06 pm
That's what you'll get:
Code: [Select]
  CC      arch/arm/common/sharpsl_pm.o
arch/arm/common/sharpsl_pm.c:785: ошибка: ‘pm_valid_only_mem’ undeclared here (not in a function)
make[1]: *** [arch/arm/common/sharpsl_pm.o] Ошибка 1

It have some pxa fixes, some patches (OZ's) now in mainline, some needs a bit modification (pxa-overlay for example). I don't know what should I do with this sharpsl_pm problem...

P.S. I've attached patches that I was using.
Title: Help New Kernel For Pdaxrom
Post by: Capn_Fish on October 12, 2007, 04:40:35 pm
Have you tried looking to see if that function is in some other file? You could just add an include then and it should be OK, assuming it's just the one thing.
Title: Help New Kernel For Pdaxrom
Post by: Civil on October 13, 2007, 10:36:38 am
Capn_Fish
Not yet, I'll do it today. By the way - there was some changes in function names since 2.6.22

P.S. I've do some googling and it looks like pm_valid_only_mem is now suspend_valid_only_mem

Added:
Yup. pm_valid_only_mem is now suspend_valid_only_mem
Title: Help New Kernel For Pdaxrom
Post by: InSearchOf on October 13, 2007, 12:23:36 pm
Thanks for the heads up Civil... I havent had a chance to look at it yet... but I will at some point today.

Late
Title: Help New Kernel For Pdaxrom
Post by: louigi600 on October 13, 2007, 01:20:41 pm
I had a close look at the changelog and things like this have been happening (this is just the first one of intrest to the type of problem that Civil was hitting):
commit b750a09385d7c464113ae8915e63541a163fbac8
Author: Eric Miao <eric.y.miao@gmail.com>
Date:   Wed Jul 18 11:40:13 2007 +0100

    [ARM] 4489/1: pxa: split pxa_cpu_suspend to processor specific ones
   
    1. split pxa_cpu_suspend to pxa25x_cpu_suspend and pxa27x_cpu_suspend
       and make pxa25x_cpu_pm_enter() and pxa27x_cpu_pm_enter() to invoke
       the corresponding _suspend functions, thus remove all those ugly
       #ifdef .. #endif out of sleep.S
   
    2. move the declarations of those suspend functions to pm.h
   
    note: this is not a clean enough solution until all the pxa25x and
    pxa27x specific part is further removed out of sleep.S, sleep.S is
    supposed to contain generic code only

As I remember there was also cleanup on PM so the old patches need to be carefully adjusted by also looking at the functions used and even may require targeting different files if pxa specific code was moved out of the generic code.

Here is a specific chunk of the changelog concerning PM:
[ARM] 4488/1: pxa: move pxa25x/pxa27x specific code out of pm.c
   
    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

BTW: 2.6.23.1 is out too but the changelog has nothing intresting for ARM.