[alsa-devel] [PATCH 2/3] ASoC: pcm179x: Add I2C interface driver

Johan Hovold johan at kernel.org
Mon Jan 18 17:56:57 CET 2016


On Mon, Jan 18, 2016 at 05:14:42PM +0100, Michael Trimarchi wrote:
> Hi
> 
> On Mon, Jan 18, 2016 at 4:57 PM, Jacob Siverskog
> <jacob at teenage.engineering> wrote:
> > The PCM179x family supports both SPI and I2C. This patch adds support
> > for the I2C interface.
> >
> > Reviewed-by: Johan Hovold <johan at kernel.org>
> > Signed-off-by: Jacob Siverskog <jacob at teenage.engineering>
> > ---

> > +const struct of_device_id pcm179x_of_match[] = {
> > +       { .compatible = "ti,pcm1792a", },
> > +       { }
> > +};
> > +MODULE_DEVICE_TABLE(of, pcm179x_of_match);
> > +
> 
> can match go in the common part?

For matching purposes it could, but that would prevent the OF-aliases
from being defined for the driver modules.

There are a couple of codec drivers that have taken this route, and it
works as long as they also define a legacy (e.g. i2c_device_id) table
that modalias autoloading can fall back to.

But having having the common module carry the OF-aliases does not seem
like the right thing to do (e.g. as the common module cannot drive
anything on its own) even if it avoids a copy of the OF id table.

> > +static const struct i2c_device_id pcm179x_i2c_ids[] = {
> > +       { "pcm179x", 0 },
> > +       { }
> > +};
> > +MODULE_DEVICE_TABLE(i2c, pcm179x_i2c_ids);
> > +
> > +static struct i2c_driver pcm179x_i2c_driver = {
> > +       .driver = {
> > +               .name   = "pcm179x",
> > +               .of_match_table = of_match_ptr(pcm179x_of_match),
> > +       },
> > +       .id_table       = pcm179x_i2c_ids,
> > +       .probe          = pcm179x_i2c_probe,
> > +       .remove         = pcm179x_i2c_remove,
> > +};

> > +
> > +module_i2c_driver(pcm179x_i2c_driver);

Thanks,
Johan


More information about the Alsa-devel mailing list