Re: [PATCHv2 1/2] add basic register-field manipulation macros

2016-06-14 Thread Jakub Kicinski
On Tue, 14 Jun 2016 20:53:28 +0200, Arend van Spriel wrote: > On 14-06-16 13:44, Jakub Kicinski wrote: > > +#ifndef _LINUX_BITFIELD_H > > +#define _LINUX_BITFIELD_H > > + > > +#include > > +#include > > +#include > > + > > +#define _bf_shf(x) (__builtin_ffsll(x) - 1) > > + > > +#define

Re: [PATCHv2 1/2] add basic register-field manipulation macros

2016-06-14 Thread Jakub Kicinski
On Tue, 14 Jun 2016 20:53:28 +0200, Arend van Spriel wrote: > On 14-06-16 13:44, Jakub Kicinski wrote: > > +#ifndef _LINUX_BITFIELD_H > > +#define _LINUX_BITFIELD_H > > + > > +#include > > +#include > > +#include > > + > > +#define _bf_shf(x) (__builtin_ffsll(x) - 1) > > + > > +#define

Re: [PATCHv2 1/2] add basic register-field manipulation macros

2016-06-14 Thread Arend van Spriel
On 14-06-16 13:44, Jakub Kicinski wrote: > C bitfields are problematic and best avoided. Developers > interacting with hardware registers find themselves searching > for easy-to-use alternatives. Common approach is to define > structures or sets of macros containing mask and shift pair. >

Re: [PATCHv2 1/2] add basic register-field manipulation macros

2016-06-14 Thread Arend van Spriel
On 14-06-16 13:44, Jakub Kicinski wrote: > C bitfields are problematic and best avoided. Developers > interacting with hardware registers find themselves searching > for easy-to-use alternatives. Common approach is to define > structures or sets of macros containing mask and shift pair. >