diff options
-rw-r--r-- | sound/soc/codecs/adau1977-i2c.c | 7 | ||||
-rw-r--r-- | sound/soc/codecs/adau1977-spi.c | 7 | ||||
-rw-r--r-- | sound/soc/codecs/adau1977.c | 59 |
3 files changed, 29 insertions, 44 deletions
diff --git a/sound/soc/codecs/adau1977-i2c.c b/sound/soc/codecs/adau1977-i2c.c index 21e7394a972a..e7fe1ee5cdeb 100644 --- a/sound/soc/codecs/adau1977-i2c.c +++ b/sound/soc/codecs/adau1977-i2c.c @@ -29,12 +29,6 @@ static int adau1977_i2c_probe(struct i2c_client *client, id->driver_data, NULL); } -static int adau1977_i2c_remove(struct i2c_client *client) -{ - snd_soc_unregister_codec(&client->dev); - return 0; -} - static const struct i2c_device_id adau1977_i2c_ids[] = { { "adau1977", ADAU1977 }, { "adau1978", ADAU1978 }, @@ -48,7 +42,6 @@ static struct i2c_driver adau1977_i2c_driver = { .name = "adau1977", }, .probe = adau1977_i2c_probe, - .remove = adau1977_i2c_remove, .id_table = adau1977_i2c_ids, }; module_i2c_driver(adau1977_i2c_driver); diff --git a/sound/soc/codecs/adau1977-spi.c b/sound/soc/codecs/adau1977-spi.c index 0b46d88b481c..84ffbde9583f 100644 --- a/sound/soc/codecs/adau1977-spi.c +++ b/sound/soc/codecs/adau1977-spi.c @@ -46,12 +46,6 @@ static int adau1977_spi_probe(struct spi_device *spi) id->driver_data, adau1977_spi_switch_mode); } -static int adau1977_spi_remove(struct spi_device *spi) -{ - snd_soc_unregister_codec(&spi->dev); - return 0; -} - static const struct spi_device_id adau1977_spi_ids[] = { { "adau1977", ADAU1977 }, { "adau1978", ADAU1978 }, @@ -65,7 +59,6 @@ static struct spi_driver adau1977_spi_driver = { .name = "adau1977", }, .probe = adau1977_spi_probe, - .remove = adau1977_spi_remove, .id_table = adau1977_spi_ids, }; module_spi_driver(adau1977_spi_driver); diff --git a/sound/soc/codecs/adau1977.c b/sound/soc/codecs/adau1977.c index e384f212beb2..116af6a9ce3b 100644 --- a/sound/soc/codecs/adau1977.c +++ b/sound/soc/codecs/adau1977.c @@ -294,8 +294,8 @@ static int adau1977_lookup_mcs(struct adau1977 *adau1977, unsigned int rate, static int adau1977_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { - struct snd_soc_codec *codec = dai->codec; - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_component *component = dai->component; + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(component); unsigned int rate = params_rate(params); unsigned int slot_width; unsigned int ctrl0, ctrl0_mask; @@ -471,10 +471,10 @@ err_disable_avdd: return ret; } -static int adau1977_set_bias_level(struct snd_soc_codec *codec, +static int adau1977_set_bias_level(struct snd_soc_component *component, enum snd_soc_bias_level level) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(component); int ret = 0; switch (level) { @@ -483,7 +483,7 @@ static int adau1977_set_bias_level(struct snd_soc_codec *codec, case SND_SOC_BIAS_PREPARE: break; case SND_SOC_BIAS_STANDBY: - if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) + if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) ret = adau1977_power_enable(adau1977); break; case SND_SOC_BIAS_OFF: @@ -497,7 +497,7 @@ static int adau1977_set_bias_level(struct snd_soc_codec *codec, static int adau1977_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, unsigned int rx_mask, int slots, int width) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(dai->codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(dai->component); unsigned int ctrl0, ctrl1, drv; unsigned int slot[4]; unsigned int i; @@ -603,7 +603,7 @@ static int adau1977_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask, static int adau1977_mute(struct snd_soc_dai *dai, int mute, int stream) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(dai->codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(dai->component); unsigned int val; if (mute) @@ -617,7 +617,7 @@ static int adau1977_mute(struct snd_soc_dai *dai, int mute, int stream) static int adau1977_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(dai->codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(dai->component); unsigned int ctrl0 = 0, ctrl1 = 0, block_power = 0; bool invert_lrclk; int ret; @@ -704,7 +704,7 @@ static int adau1977_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int adau1977_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(dai->codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(dai->component); u64 formats = 0; if (adau1977->slot_width == 16) @@ -729,7 +729,7 @@ static int adau1977_startup(struct snd_pcm_substream *substream, static int adau1977_set_tristate(struct snd_soc_dai *dai, int tristate) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(dai->codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(dai->component); unsigned int val; if (tristate) @@ -790,10 +790,10 @@ static bool adau1977_check_sysclk(unsigned int mclk, unsigned int base_freq) return true; } -static int adau1977_set_sysclk(struct snd_soc_codec *codec, +static int adau1977_set_sysclk(struct snd_soc_component *component, int clk_id, int source, unsigned int freq, int dir) { - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(codec); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(component); unsigned int mask = 0; unsigned int clk_src; unsigned int ret; @@ -844,10 +844,10 @@ static int adau1977_set_sysclk(struct snd_soc_codec *codec, return 0; } -static int adau1977_codec_probe(struct snd_soc_codec *codec) +static int adau1977_component_probe(struct snd_soc_component *component) { - struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); - struct adau1977 *adau1977 = snd_soc_codec_get_drvdata(codec); + struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); + struct adau1977 *adau1977 = snd_soc_component_get_drvdata(component); int ret; switch (adau1977->type) { @@ -865,20 +865,19 @@ static int adau1977_codec_probe(struct snd_soc_codec *codec) return 0; } -static const struct snd_soc_codec_driver adau1977_codec_driver = { - .probe = adau1977_codec_probe, - .set_bias_level = adau1977_set_bias_level, - .set_sysclk = adau1977_set_sysclk, - .idle_bias_off = true, - - .component_driver = { - .controls = adau1977_snd_controls, - .num_controls = ARRAY_SIZE(adau1977_snd_controls), - .dapm_widgets = adau1977_dapm_widgets, - .num_dapm_widgets = ARRAY_SIZE(adau1977_dapm_widgets), - .dapm_routes = adau1977_dapm_routes, - .num_dapm_routes = ARRAY_SIZE(adau1977_dapm_routes), - }, +static const struct snd_soc_component_driver adau1977_component_driver = { + .probe = adau1977_component_probe, + .set_bias_level = adau1977_set_bias_level, + .set_sysclk = adau1977_set_sysclk, + .controls = adau1977_snd_controls, + .num_controls = ARRAY_SIZE(adau1977_snd_controls), + .dapm_widgets = adau1977_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(adau1977_dapm_widgets), + .dapm_routes = adau1977_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(adau1977_dapm_routes), + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, }; static int adau1977_setup_micbias(struct adau1977 *adau1977) @@ -968,7 +967,7 @@ int adau1977_probe(struct device *dev, struct regmap *regmap, if (ret) return ret; - return snd_soc_register_codec(dev, &adau1977_codec_driver, + return devm_snd_soc_register_component(dev, &adau1977_component_driver, &adau1977_dai, 1); err_poweroff: |