[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