Loading Documentation/devicetree/bindings/sound/wm8962.txt 0 → 100644 +16 −0 Original line number Diff line number Diff line WM8962 audio CODEC This device supports I2C only. Required properties: - compatible : "wlf,wm8962" - reg : the I2C address of the device. Example: codec: wm8962@1a { compatible = "wlf,wm8962"; reg = <0x1a>; }; sound/soc/codecs/wm8962.c +20 −17 Original line number Diff line number Diff line Loading @@ -2873,7 +2873,6 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, ret = 0; if (fll1 & WM8962_FLL_ENA) { /* This should be a massive overestimate but go even * higher if we'll error out */ Loading @@ -2889,7 +2888,6 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, dev_err(codec->dev, "FLL lock timed out"); ret = -ETIMEDOUT; } } wm8962->fll_fref = Fref; wm8962->fll_fout = Fout; Loading Loading @@ -3189,7 +3187,7 @@ static void wm8962_init_beep(struct snd_soc_codec *codec) struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec); int ret; wm8962->beep = input_allocate_device(); wm8962->beep = devm_input_allocate_device(codec->dev); if (!wm8962->beep) { dev_err(codec->dev, "Failed to allocate beep device\n"); return; Loading @@ -3210,7 +3208,6 @@ static void wm8962_init_beep(struct snd_soc_codec *codec) ret = input_register_device(wm8962->beep); if (ret != 0) { input_free_device(wm8962->beep); wm8962->beep = NULL; dev_err(codec->dev, "Failed to register beep device\n"); } Loading @@ -3227,7 +3224,6 @@ static void wm8962_free_beep(struct snd_soc_codec *codec) struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec); device_remove_file(codec->dev, &dev_attr_beep); input_unregister_device(wm8962->beep); cancel_work_sync(&wm8962->beep_work); wm8962->beep = NULL; Loading Loading @@ -3758,10 +3754,17 @@ static const struct i2c_device_id wm8962_i2c_id[] = { }; MODULE_DEVICE_TABLE(i2c, wm8962_i2c_id); static const struct of_device_id wm8962_of_match[] = { { .compatible = "wlf,wm8962", }, { } }; MODULE_DEVICE_TABLE(of, wm8962_of_match); static struct i2c_driver wm8962_i2c_driver = { .driver = { .name = "wm8962", .owner = THIS_MODULE, .of_match_table = wm8962_of_match, .pm = &wm8962_pm, }, .probe = wm8962_i2c_probe, Loading Loading
Documentation/devicetree/bindings/sound/wm8962.txt 0 → 100644 +16 −0 Original line number Diff line number Diff line WM8962 audio CODEC This device supports I2C only. Required properties: - compatible : "wlf,wm8962" - reg : the I2C address of the device. Example: codec: wm8962@1a { compatible = "wlf,wm8962"; reg = <0x1a>; };
sound/soc/codecs/wm8962.c +20 −17 Original line number Diff line number Diff line Loading @@ -2873,7 +2873,6 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, ret = 0; if (fll1 & WM8962_FLL_ENA) { /* This should be a massive overestimate but go even * higher if we'll error out */ Loading @@ -2889,7 +2888,6 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source, dev_err(codec->dev, "FLL lock timed out"); ret = -ETIMEDOUT; } } wm8962->fll_fref = Fref; wm8962->fll_fout = Fout; Loading Loading @@ -3189,7 +3187,7 @@ static void wm8962_init_beep(struct snd_soc_codec *codec) struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec); int ret; wm8962->beep = input_allocate_device(); wm8962->beep = devm_input_allocate_device(codec->dev); if (!wm8962->beep) { dev_err(codec->dev, "Failed to allocate beep device\n"); return; Loading @@ -3210,7 +3208,6 @@ static void wm8962_init_beep(struct snd_soc_codec *codec) ret = input_register_device(wm8962->beep); if (ret != 0) { input_free_device(wm8962->beep); wm8962->beep = NULL; dev_err(codec->dev, "Failed to register beep device\n"); } Loading @@ -3227,7 +3224,6 @@ static void wm8962_free_beep(struct snd_soc_codec *codec) struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec); device_remove_file(codec->dev, &dev_attr_beep); input_unregister_device(wm8962->beep); cancel_work_sync(&wm8962->beep_work); wm8962->beep = NULL; Loading Loading @@ -3758,10 +3754,17 @@ static const struct i2c_device_id wm8962_i2c_id[] = { }; MODULE_DEVICE_TABLE(i2c, wm8962_i2c_id); static const struct of_device_id wm8962_of_match[] = { { .compatible = "wlf,wm8962", }, { } }; MODULE_DEVICE_TABLE(of, wm8962_of_match); static struct i2c_driver wm8962_i2c_driver = { .driver = { .name = "wm8962", .owner = THIS_MODULE, .of_match_table = wm8962_of_match, .pm = &wm8962_pm, }, .probe = wm8962_i2c_probe, Loading