Messages in this thread | | | Date | Tue, 17 Sep 2013 22:23:58 +0900 | From | Kuninori Morimoto <> | Subject | Re: [PATCH v2 4/4] ASoC: rsnd: use regmap instead of original register mapping method |
| |
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
| |