← Back to team overview

ac100 team mailing list archive

Re: [PATCH 1/2] Manage wake up Events

 

On Sun, Oct 23, 2011 at 04:18:56PM +0200, Pierre-Hugues Husson wrote:
> Le dimanche 23 octobre 2011 13:01:38, Leon Romanovsky a écrit :
> > On Sun, Oct 23, 2011 at 04:13, Pierre-Hugues Husson <phhusson@xxxxxxxxx> 
> wrote:
> > > +       {
> > > +               //Resume on home key press
> > > +               char cmd[]={ 0x05, 0x03, 0x01, 0x02};
> > > +               cmd[2]=!!wakeup_on_home_key;
> > > +               nvec_write_async(nvec, cmd, sizeof(cmd));
> > > +       }
> > > +}
> > 
> > It is better to use the same coding style as was already in nvec
> > nvec_write_async(nvec, cmd, sizeof(cmd)); ===> nvec_write_async(nvec,
> > "\x05\x03\x01\x02", 4);
> So the code would look like:
> if(wakeup_on_home_key)
> 	nvec_write_async(nvec, "\x05\x03\x01\x02", 4);
> else
> 	nvec_write_async(nvec, "\x05\x03\x00\x02", 4);
> ?
> I find it less understandable (as in which field is of which use).
> But well, all nvec code is mostly about magic code, so why not.

For now, we should go with this. We plan to rewrite it in the
future to generate the command packets with a macro, but we're
not there yet. The macro version would look something like:

    NVEC_CALL_ASYNC(nvec, WAKEUP, KEYBOARD, !!wakeup_on_home_key, '\x02')

this expands to something like:

    char buf[] = {NVEC_WAKEUP, NVEC_WAKEUP_KEYBOARD, !!wakeup_on_home_key, '\x02'};
    nvec_write_async(nvec, buf, sizeof(buf));

This would then be a more readable version in my opinion. Other
proposals are welcome as well, though.

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.


References