Il Mon, Apr 16, 2007 at 10:35:25PM +0200, Tim Dijkstra ha scritto: 
> On Sun, 15 Apr 2007 02:36:12 +0200
> Luca Tettamanti <[EMAIL PROTECTED]> wrote:
> 
> > > @@ -27,7 +27,16 @@
> > >  int s2ram_do(void)
> > >  {
> > >   int ret = 0;
> > > - FILE *f = fopen("/sys/power/state", "w");
> > > + FILE *f;
> > > +
> > > + /* If this works we're done. Else we just continue as if nothing 
> > > +  * happened, future kernels will work with /s/p/s. */
> > > + ret = s2ram_do_pmu();
> > > + if (!ret)
> > > +         return ret;
> > > + ret = 0;
> > > + 
> > > + f = fopen("/sys/power/state", "w");
> > >   if (!f) {
> > >           printf("/sys/power/state does not exist; what kind of ninja 
> > > mutant machine is this?\n");
> > >           return ENODEV;  
> > 
> > This is what I was trying to avoid. PMU in generic code is not nice.
> > I've corrected the 'ARCH' bug above and added headers as per Pavel's
> > comment.
> > 
> > Anyway, since PPC actually wants to override (as in "do something
> > different") s2ram_do it's also possibile to make it a weak symbol so
> > that s2ram-ppc.c can provides its own implementation, will generic code
> > contains a sensitive default. I'm attacching a patch with the weak
> > symbol version.
> 
> I don't think the s2ram_do_pmu call is that problematic to have in the
> generic code. 
> 
> The trade of have to make is, do we want to duplicate
> the /sys/power/state stuff or do we want an empty function in x86 piece
> of the code.
> 
> I think the latter is better choice.

Well, it's possible to do something like this:

int s2ram_default_do(void) {
        use /s/p/s
}

__attribute__((weak)) int s2ram_do(void) {
        return s2ram_default_do();
}

and then in PPC code:

int s2ram_do(void) {
        poke PMU;

        return s2ram_default_do();
}

Luca
-- 
Se non sei parte della soluzione, allora sei parte del problema.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to