Message ID | 20230828174019.119250-1-biju.das.jz@bp.renesas.com |
---|---|
State | Accepted |
Commit | 26eacb98ca7dd3ba5a6845028a13d13a7f03123f |
Headers | show |
Series | [v2] ASoC: wm8580: Simplify probe() | expand |
On Mon, Aug 28, 2023 at 06:40:19PM +0100, Biju Das wrote: > Simplify probe() by replacing of_match_device->i2c_get_match_data() and > extend matching support for ID table. > > While at it, remove comma in the terminator entry and simplify probe() > by replacing dev_err->dev_err_probe(). dev_err() --> dev_err_probe() Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ... > -static const struct of_device_id wm8580_of_match[] = { > - { .compatible = "wlf,wm8580", .data = &wm8580_data }, > - { .compatible = "wlf,wm8581", .data = &wm8581_data }, > - { }, > -}; > -MODULE_DEVICE_TABLE(of, wm8580_of_match); This doesn't change anything functional, please do it in a separate change.
Hi Andy, > Subject: Re: [PATCH v2] ASoC: wm8580: Simplify probe() > > On Mon, Aug 28, 2023 at 06:40:19PM +0100, Biju Das wrote: > > Simplify probe() by replacing of_match_device->i2c_get_match_data() > > and extend matching support for ID table. > > > > While at it, remove comma in the terminator entry and simplify probe() > > by replacing dev_err->dev_err_probe(). > > dev_err() --> dev_err_probe() > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > ... > > > -static const struct of_device_id wm8580_of_match[] = { > > - { .compatible = "wlf,wm8580", .data = &wm8580_data }, > > - { .compatible = "wlf,wm8581", .data = &wm8581_data }, > > - { }, > > -}; > > -MODULE_DEVICE_TABLE(of, wm8580_of_match); > > This doesn't change anything functional, please do it in a separate change. Agreed. Cheers, Biju
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c index 6d22f7d40ec2..28c0ba348634 100644 --- a/sound/soc/codecs/wm8580.c +++ b/sound/soc/codecs/wm8580.c @@ -988,16 +988,8 @@ static const struct wm8580_driver_data wm8581_data = { .num_dacs = 4, }; -static const struct of_device_id wm8580_of_match[] = { - { .compatible = "wlf,wm8580", .data = &wm8580_data }, - { .compatible = "wlf,wm8581", .data = &wm8581_data }, - { }, -}; -MODULE_DEVICE_TABLE(of, wm8580_of_match); - static int wm8580_i2c_probe(struct i2c_client *i2c) { - const struct of_device_id *of_id; struct wm8580_priv *wm8580; int ret, i; @@ -1022,14 +1014,9 @@ static int wm8580_i2c_probe(struct i2c_client *i2c) i2c_set_clientdata(i2c, wm8580); - of_id = of_match_device(wm8580_of_match, &i2c->dev); - if (of_id) - wm8580->drvdata = of_id->data; - - if (!wm8580->drvdata) { - dev_err(&i2c->dev, "failed to find driver data\n"); - return -EINVAL; - } + wm8580->drvdata = i2c_get_match_data(i2c); + if (!wm8580->drvdata) + return dev_err_probe(&i2c->dev, -EINVAL, "failed to find driver data\n"); ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_wm8580, wm8580_dai, ARRAY_SIZE(wm8580_dai)); @@ -1037,6 +1024,13 @@ static int wm8580_i2c_probe(struct i2c_client *i2c) return ret; } +static const struct of_device_id wm8580_of_match[] = { + { .compatible = "wlf,wm8580", .data = &wm8580_data }, + { .compatible = "wlf,wm8581", .data = &wm8581_data }, + { } +}; +MODULE_DEVICE_TABLE(of, wm8580_of_match); + static const struct i2c_device_id wm8580_i2c_id[] = { { "wm8580", (kernel_ulong_t)&wm8580_data }, { "wm8581", (kernel_ulong_t)&wm8581_data },