
11 Jul
2009
11 Jul
'09
1:05 a.m.
Dear Scott Wood,
In message 20090706175233.GA5964@b07421-ec1.am.freescale.net you wrote:
On Mon, Jul 06, 2009 at 10:10:20AM -0500, Kumar Gala wrote:
static int ata_scsiop_read_capacity10(ccb *pccb) { u8 buf[8];
memset(buf, 0, 8); *(u32 *) buf = le32_to_cpu(ataid[pccb->target]->lba_capacity); buf[6] = 512 >> 8; buf[7] = 512 & 0xff; memcpy(pccb->pdata, buf, 8); return 0;
}
how do we fix this (the *u32 *)buf ... line is the one causing warnings ?
Use a union.
Or simply a temporary variable to perform the conversion in two separate steps.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
'What shall we do?' said Twoflower. 'Panic?' said Rincewind hope-
fully. He always held that panic was the best means of survival; back
in the olden days, his theory went, people faced with hungry sabre-
toothed tigers could be divided very simply in those who panicked and
those who stood there saying 'What a magnificent brute!' or 'Here,
pussy.' - Terry Pratchett, _The Light Fantastic_