Hello Mike, I got a remark about this patch:
2009/6/16 Mike Frysinger <vap...@gentoo.org>: > From: Bryan Wu <bryan...@analog.com> > > Signed-off-by: Bryan Wu <bryan...@analog.com> > Signed-off-by: Mike Frysinger <vap...@gentoo.org> > --- > drivers/usb/musb/Makefile | 1 + > drivers/usb/musb/blackfin_usb.c | 152 +++++++++++++++ > drivers/usb/musb/blackfin_usb.h | 27 +++ > drivers/usb/musb/musb_core.h | 73 +++++++ > include/asm-blackfin/mach-common/bits/usb.h | 280 > +++++++++++++++++++++++++++ > include/usb.h | 3 +- > 6 files changed, 535 insertions(+), 1 deletions(-) > --- a/drivers/usb/musb/musb_core.h > +++ b/drivers/usb/musb/musb_core.h > @@ -42,6 +42,68 @@ > > /* Mentor USB core register overlay structure */ > struct musb_regs { > +#if defined(CONFIG_USB_BLACKFIN) > + /* Every register is 32bit aligned, but only 16bits in size */ > +# define ureg(name) u16 name; u16 __pad_##name; > + /* common registers */ > + ureg(faddr) > + ureg(power) > + ureg(intrtx) > + ureg(intrrx) > + ureg(intrtxe) > + ureg(intrrxe) > + ureg(intrusb) > + ureg(intrusbe) > + ureg(frame) > + ureg(index) > + ureg(testmode) > + ureg(globintr) > + ureg(global_ctl) > + u32 reserved0[3]; > + /* indexed registers */ > + ureg(txmaxp) > + ureg(txcsr) > + ureg(rxmaxp) > + ureg(rxcsr) > + ureg(rxcount) > + ureg(txtype) > + ureg(txinterval) > + ureg(rxtype) > + ureg(rxinterval) > + u32 reserved1; > + ureg(txcount) > + u32 reserved2[5]; > + /* fifo */ > + u16 fifox[32]; > + /* OTG, dynamic FIFO, version & vendor registers */ > + u32 reserved3[16]; > + ureg(devctl) > + ureg(vbus_irq) > + ureg(vbus_mask) > + u32 reserved4[15]; > + ureg(linkinfo) > + ureg(vplen) > + ureg(hseof1) > + ureg(fseof1) > + ureg(lseof1) > + u32 reserved5[41]; > + /* target address registers */ > + struct musb_tar_regs { > + ureg(txmaxp) > + ureg(txcsr) > + ureg(rxmaxp) > + ureg(rxcsr) > + ureg(rxcount) > + ureg(txtype) > + ureg(txinternal) > + ureg(rxtype) > + ureg(rxinternal) > + u32 reserved6; > + ureg(txcount) > + u32 reserved7[5]; > + } tar[8]; > +# undef ureg > +#else > /* common registers */ > u8 faddr; > u8 power; > @@ -97,6 +159,7 @@ struct musb_regs { > u8 rxhubaddr; > u8 rxhubport; > } tar[16]; > +#endif Can both branches of this ifdef be merged somehow, such that the ifdef is much smaller? Both branches seem to contain the same elements, only type differs ( which could maybe be handled with ureg() constructions also) > } __attribute__((aligned(32))); Shouldn't this be '__attribute__((packed))' too? Kind Regards, Remy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot