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@teenage.engineering wrote:
The PCM179x family supports both SPI and I2C. This patch adds support for the I2C interface.
Reviewed-by: Johan Hovold johan@kernel.org Signed-off-by: Jacob Siverskog jacob@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