Dear Mark

> > +void rsnd_write(struct rsnd_priv *priv,
> > +           struct rsnd_mod *mod,
> > +           enum rsnd_reg reg, u32 data)
> > +{
> > +   struct rsnd_gen *gen = rsnd_priv_to_gen(priv);
> > +
> > +   if (regmap_fields_enable(gen->regs[reg]))
> > +           regmap_fields_write(gen->regs[reg], rsnd_mod_id(mod), data);
> > +   else
> > +           regmap_field_write(gen->regs[reg], data);
> > +}
> 
> Ah, sorry - I see you are actually using fields_enable().  I must've
> searched for the wrong thing.  However looking at this I'm not sure that
> this is a good use anyway, it seems like the caller should know if the
> register it is writing to is in one of the repeated blocks.  Can you
> provide a bit more detail as to what's going on here?

Hmm...
rsnd_write/read() care about it (block/non-block),
and caller don't care it, is nice point of this function...

For example, SSI device have many ports (0-8),
but ADG is only 1 device.
On this driver, all devices are using rsnd_write/read() to
access register.

I can re-check it, but it will be next week
Thank you

Best regards
--
Kuninori Morimoto
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to