Dear Marek Vasut, > > > > > > @@ -246,19 +247,20 @@ ehci_submit_async(struct usb_device > > > > > > *dev, > > > > > > unsigned > > > > > > long pipe, void *buffer, */ > > > > > > > > > > > > qh->qh_link = cpu_to_hc32((uint32_t)qh_list | > > > > > > QH_LINK_TYPE_QH); > > > > > > c = (usb_pipespeed(pipe) != USB_SPEED_HIGH && > > > > > > > > > > > > - usb_pipeendpoint(pipe) == 0) ? 1 : 0; > > > > > > - endpt = (8 << 28) | > > > > > > - (c << 27) | > > > > > > - (usb_maxpacket(dev, pipe) << 16) | > > > > > > - (0 << 15) | > > > > > > - (1 << 14) | > > > > > > - (usb_pipespeed(pipe) << 12) | > > > > > > - (usb_pipeendpoint(pipe) << 8) | > > > > > > - (0 << 7) | (usb_pipedevice(pipe) << 0); > > > > > > + usb_pipeendpoint(pipe) == 0); > > > > > > + endpt = (8 << QH_ENDPT1_RL) | > > > > > > + (c << QH_ENDPT1_C) | > > > > > > > > > > Maybe define it as #deifne QH_ENDPT1(x) ((x) << SEOMTHING) ? > > > > > [...] > > > > > > > > For all of these? > > > > > > Yes, do you not think it's better than define the offsets only? > > > > Yes, I hesitated with this solution when writing this code. > > > > Where the offset is needed, I can instead write additional > > extraction > > macros. > > Oh, there're places where the offset is needed?
Yes, I think. > What about adding > both BIT(x) > and BIT_OFFSET in such cases ? And BIT(x) (x << BIT_OFFSET) in that > case. I would prefer: #define FIELD(fldval) (((fldval) & MASK) << OFFSET) #define GET_FIELD(regval) (((regval) >> OFFSET) & MASK) Are you OK with that? Best regards, Benoît _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot