[U-Boot] [PATCH] drivers/block/systemace: fixes read/write words for bus width = 8
Michal Simek
monstr at monstr.eu
Thu Jan 3 10:39:21 CET 2013
2013/1/3 Wolfgang Denk <wd at denx.de>:
> Dear Michal Simek,
>
> In message <CAHTX3d+shCmUjaXzS0oS5pT8a89cyA9UKemc+oRk5xk6qRNrdQ at mail.gmail.com> you wrote:
>>
>> > You say, if one sets width to 8 bits, then the code fails when the bus
>> > is actually 16 bits wide?
> ...
>> Here is that function with my comment about missing "else".
>> In ace_writew function we shouldn't write 16bit value when width is 8.
>> (It probably doesn't break anything but it is not correct - I will
>> check it on the HW)
>
> I see. Well, I think the commit message is not really clear. I
> definitely misunderstood it. Maybe it can be improved?
Yep.
btw: is there any coding style rule about this second function
Current (simplified) case.
static u16 ace_readw(unsigned off)
{
if (width == 8)
return readb(base + off) | (readb(base + off + 1) << 8);
return readw(base + off);
}
or (with else)
static u16 ace_readw(unsigned off)
{
if (width == 8)
return readb(base + off) | (readb(base + off + 1) << 8);
else
return readw(base + off);
}
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian
More information about the U-Boot
mailing list