Hi Peter, On Sun, May 5, 2013 at 8:47 PM, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 5 May 2013 04:58, Jean-Christophe DUBOIS <j...@tribudubois.net> wrote: >> On 05/05/2013 05:14 AM, Peter Crosthwaite wrote: >>> You could use an extract macro. extract32 is generally considered >>> better than shift and & logicvfor multi-bit fields. Ill have to look >>> up if extract16 exists (im away from tree for this review) >> >> >> no extract16() macro spotted. >> Should one be added? > > There's no need for one -- just use extract32. The only > reason for having a separate extract64 is to avoid doing > 64 bit arithmetic when we don't have to, I think. >
perhaps a quick: #define extract16(a, b, c) (uint16_t)extract32((uint16_t)(a), (b), (c)) would keep the 16bit device code explicit and clean? Save on dummy casts in certain situations as well (but not this one). Regards, Peter > -- PMM >