| From b4386b538ebb1ae0f5f8d7e5027df0e3c26562f7 Mon Sep 17 00:00:00 2001 |
| From: Javier Martinez Canillas <javier@osg.samsung.com> |
| Date: Tue, 4 Apr 2017 15:26:29 -0400 |
| Subject: [PATCH 149/286] ASoC: wm8978: Add OF device ID table |
| |
| The driver doesn't have a struct of_device_id table but supported devices |
| are registered via Device Trees. This is working on the assumption that a |
| I2C device registered via OF will always match a legacy I2C device ID and |
| that the MODALIAS reported will always be of the form i2c:<device>. |
| |
| But this could change in the future so the correct approach is to have an |
| OF device ID table if the devices are registered via OF. |
| |
| Before this patch: |
| |
| $ modinfo sound/soc/codecs/snd-soc-wm8978.ko | grep alias |
| alias: i2c:wm8978 |
| |
| After this patch: |
| |
| $ modinfo sound/soc/codecs/snd-soc-wm8978.ko | grep alias |
| alias: i2c:wm8978 |
| alias: of:N*T*Cwlf,wm8978C* |
| alias: of:N*T*Cwlf,wm8978 |
| |
| Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> |
| Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| (cherry picked from commit 5cf015d9cb02c360582b624497b0a1716881cf28) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/codecs/wm8978.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/sound/soc/codecs/wm8978.c |
| +++ b/sound/soc/codecs/wm8978.c |
| @@ -1071,9 +1071,16 @@ static const struct i2c_device_id wm8978 |
| }; |
| MODULE_DEVICE_TABLE(i2c, wm8978_i2c_id); |
| |
| +static const struct of_device_id wm8978_of_match[] = { |
| + { .compatible = "wlf,wm8978", }, |
| + { } |
| +}; |
| +MODULE_DEVICE_TABLE(of, wm8978_of_match); |
| + |
| static struct i2c_driver wm8978_i2c_driver = { |
| .driver = { |
| .name = "wm8978", |
| + .of_match_table = wm8978_of_match, |
| }, |
| .probe = wm8978_i2c_probe, |
| .remove = wm8978_i2c_remove, |