Messages in this thread | | | Date | Mon, 24 Sep 2007 19:59:01 -0400 | From | Jeff Garzik <> | Subject | Re: [patch 1/2] Enable link power management for ata drivers |
| |
Kristen Carlson Accardi wrote: > On Tue, 25 Sep 2007 01:12:32 +0200 > roel <12o3l@tiscali.nl> wrote: > >>> #define ata_id_cdb_intr(id) (((id)[0] & 0x60) == 0x20) >>> +#define ata_id_has_hipm(id) \ >>> + ( (((id)[76] != 0x0000) && ((id)[76] != 0xffff)) && \ >>> + ((id)[76] & (1 << 9)) ) >> ^ >> | >> are you sure this >> should be 76? > > Yes. > >> we can also change the first statement a bit: >> (!(((id)[76] == 0x0000) || ((id)[76] == 0xffff)) && \ >> >> >>> +#define ata_id_has_dipm(id) \ >>> + ( (((id)[76] != 0x0000) && ((id)[76] != 0xffff)) && \ >> and: >> (!(((id)[76] == 0x0000) || ((id)[76] == 0xffff)) && \ > > I feel this is equivalent functionality and not as readable.
Poke around for Alan Cox's cleanup of this area of linux/ata.h.
It converts several macros to inline functions (encouraged), and also illustrates a nice, clean way of testing an ID word's validity. [obviously the final implementation varies, depending on that ID word's history]
Alan or Andrew, got a copy somewhere? My feeble search skills don't seem to turn it up at the moment, even though I had a copy in my hands quite recently.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |