[alsa-devel] [PATCH v1 3/3] ASoC: zx-96p22: add zte's aud96p22 controller driver
Baoyou Xie
baoyou.xie at linaro.org
Thu Feb 16 01:24:17 CET 2017
Hi, Charles:
On 15 February 2017 at 19:24, Charles Keepax <
ckeepax at opensource.wolfsonmicro.com> wrote:
> On Wed, Feb 15, 2017 at 06:55:10PM +0800, Baoyou Xie wrote:
> > This patch adds aud96p22 controller driver for zte's SoC family.
> >
> > Signed-off-by: Baoyou Xie <baoyou.xie at linaro.org>
> > ---
> <snip>
> > +static int zx_aud96p22_i2c_write(struct i2c_client *i2c_client,
> > + const void *data, size_t count)
> > +{
> > + int xfer;
> > +
> > + xfer = i2c_master_send(i2c_client, data, count);
> > + if (xfer == count)
> > + return 0;
> > + else if (xfer < 0)
> > + return xfer;
> > + else
> > + return -EIO;
> > +}
> > +
> > +static int zx_aud96p22_i2c_read(struct i2c_client *i2c_client,
> > + unsigned char addr)
> > +{
> > + int xfer;
> > +
> > + xfer = i2c_smbus_read_word_data(i2c_client, addr);
> > + if (xfer < 0)
> > + dev_warn(&i2c_client->dev, "transfer error %d\n", xfer);
> > +
> > + return xfer;
> > +}
> > +
>
> Is there any reason this isn't using regmap? It looks like it
> should be, have a look at any of the other mainline CODECs for an
> example.
>
> We can not read the i2c register directly, cause of the i2c is responded
asynchronous, and involves i2c irq.
I suggest that we access i2c through general i2c interface.
> Thanks,
> Charles
>
More information about the Alsa-devel
mailing list