Re: [RFC] regmap: Add regmap_field APIs

From: Mark Brown
Date: Mon Jun 10 2013 - 05:15:50 EST


On Sun, Jun 09, 2013 at 06:00:19PM +0200, Lars-Peter Clausen wrote:

> > +int regmap_field_write(struct regmap_field *field, unsigned int val)
> > +{
> > + int field_bits;
> > + unsigned int reg_mask;
> > + field_bits = field->msb - field->lsb + 1;
> > + reg_mask = ((BIT(field_bits) - 1) << field->lsb);
> > + return regmap_update_bits(field->regmap, field->reg,
> > + reg_mask, val << field->lsb);

> Considering that you'd do the same calculations over and over again it would
> probably make more sense store the mask rather than the msb in the struct

However as an interface for registering either is OK - the current
MSB/LSB approach is probably better as that's what datasheets tend to
include (which is why I didn't say anything).

Attachment: signature.asc
Description: Digital signature