Loading include/sound/soc.h +1 −3 Original line number Diff line number Diff line Loading @@ -863,12 +863,10 @@ struct snd_soc_component { struct list_head card_aux_list; /* for auxiliary bound components */ struct list_head card_list; struct snd_soc_dai_driver *dai_drv; int num_dai; const struct snd_soc_component_driver *driver; struct list_head dai_list; int num_dai; int (*read)(struct snd_soc_component *, unsigned int, unsigned int *); int (*write)(struct snd_soc_component *, unsigned int, unsigned int); Loading sound/soc/codecs/cs47l24.c +3 −9 Original line number Diff line number Diff line Loading @@ -1120,9 +1120,11 @@ static int cs47l24_codec_probe(struct snd_soc_codec *codec) struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); struct snd_soc_component *component = snd_soc_dapm_to_component(dapm); struct cs47l24_priv *priv = snd_soc_codec_get_drvdata(codec); struct arizona *arizona = priv->core.arizona; int ret; priv->core.arizona->dapm = dapm; arizona->dapm = dapm; snd_soc_codec_init_regmap(codec, arizona->regmap); ret = arizona_init_spk(codec); if (ret < 0) Loading Loading @@ -1175,17 +1177,9 @@ static unsigned int cs47l24_digital_vu[] = { ARIZONA_DAC_DIGITAL_VOLUME_4L, }; static struct regmap *cs47l24_get_regmap(struct device *dev) { struct cs47l24_priv *priv = dev_get_drvdata(dev); return priv->core.arizona->regmap; } static const struct snd_soc_codec_driver soc_codec_dev_cs47l24 = { .probe = cs47l24_codec_probe, .remove = cs47l24_codec_remove, .get_regmap = cs47l24_get_regmap, .idle_bias_off = true, Loading sound/soc/codecs/cx20442.c +19 −27 Original line number Diff line number Diff line Loading @@ -26,8 +26,9 @@ struct cx20442_priv { void *control_data; struct tty_struct *tty; struct regulator *por; u8 reg_cache; }; #define CX20442_PM 0x0 Loading Loading @@ -91,12 +92,12 @@ static const struct snd_soc_dapm_route cx20442_audio_map[] = { static unsigned int cx20442_read_reg_cache(struct snd_soc_codec *codec, unsigned int reg) { u8 *reg_cache = codec->reg_cache; struct cx20442_priv *cx20442 = snd_soc_codec_get_drvdata(codec); if (reg >= codec->driver->reg_cache_size) if (reg >= 1) return -EINVAL; return reg_cache[reg]; return cx20442->reg_cache; } enum v253_vls { Loading Loading @@ -156,20 +157,19 @@ static int cx20442_write(struct snd_soc_codec *codec, unsigned int reg, unsigned int value) { struct cx20442_priv *cx20442 = snd_soc_codec_get_drvdata(codec); u8 *reg_cache = codec->reg_cache; int vls, vsp, old, len; char buf[18]; if (reg >= codec->driver->reg_cache_size) if (reg >= 1) return -EINVAL; /* hw_write and control_data pointers required for talking to the modem /* tty and write pointers required for talking to the modem * are expected to be set by the line discipline initialization code */ if (!codec->hw_write || !cx20442->control_data) if (!cx20442->tty || !cx20442->tty->ops->write) return -EIO; old = reg_cache[reg]; reg_cache[reg] = value; old = cx20442->reg_cache; cx20442->reg_cache = value; vls = cx20442_pm_to_v253_vls(value); if (vls < 0) Loading @@ -194,13 +194,12 @@ static int cx20442_write(struct snd_soc_codec *codec, unsigned int reg, return -ENOMEM; dev_dbg(codec->dev, "%s: %s\n", __func__, buf); if (codec->hw_write(cx20442->control_data, buf, len) != len) if (cx20442->tty->ops->write(cx20442->tty, buf, len) != len) return -EIO; return 0; } /* * Line discpline related code * Loading Loading @@ -252,8 +251,7 @@ static void v253_close(struct tty_struct *tty) cx20442 = snd_soc_codec_get_drvdata(codec); /* Prevent the codec driver from further accessing the modem */ codec->hw_write = NULL; cx20442->control_data = NULL; cx20442->tty = NULL; codec->component.card->pop_time = 0; } Loading @@ -276,12 +274,11 @@ static void v253_receive(struct tty_struct *tty, cx20442 = snd_soc_codec_get_drvdata(codec); if (!cx20442->control_data) { if (!cx20442->tty) { /* First modem response, complete setup procedure */ /* Set up codec driver access to modem controls */ cx20442->control_data = tty; codec->hw_write = (hw_write_t)tty->ops->write; cx20442->tty = tty; codec->component.card->pop_time = 1; } } Loading Loading @@ -367,10 +364,9 @@ static int cx20442_codec_probe(struct snd_soc_codec *codec) cx20442->por = regulator_get(codec->dev, "POR"); if (IS_ERR(cx20442->por)) dev_warn(codec->dev, "failed to get the regulator"); cx20442->control_data = NULL; cx20442->tty = NULL; snd_soc_codec_set_drvdata(codec, cx20442); codec->hw_write = NULL; codec->component.card->pop_time = 0; return 0; Loading @@ -381,8 +377,8 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec) { struct cx20442_priv *cx20442 = snd_soc_codec_get_drvdata(codec); if (cx20442->control_data) { struct tty_struct *tty = cx20442->control_data; if (cx20442->tty) { struct tty_struct *tty = cx20442->tty; tty_hangup(tty); } Loading @@ -396,17 +392,13 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec) return 0; } static const u8 cx20442_reg; static const struct snd_soc_codec_driver cx20442_codec_dev = { .probe = cx20442_codec_probe, .remove = cx20442_codec_remove, .set_bias_level = cx20442_set_bias_level, .reg_cache_default = &cx20442_reg, .reg_cache_size = 1, .reg_word_size = sizeof(u8), .read = cx20442_read_reg_cache, .write = cx20442_write, .component_driver = { .dapm_widgets = cx20442_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(cx20442_dapm_widgets), Loading sound/soc/codecs/da7213.c +2 −5 Original line number Diff line number Diff line Loading @@ -1654,10 +1654,8 @@ static struct da7213_platform_data u32 fw_val32; pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) { dev_warn(codec->dev, "Failed to allocate memory for pdata\n"); if (!pdata) return NULL; } if (device_property_read_u32(dev, "dlg,micbias1-lvl", &fw_val32) >= 0) pdata->micbias1_lvl = da7213_of_micbias_lvl(codec, fw_val32); Loading Loading @@ -1855,8 +1853,7 @@ static int da7213_i2c_probe(struct i2c_client *i2c, struct da7213_priv *da7213; int ret; da7213 = devm_kzalloc(&i2c->dev, sizeof(struct da7213_priv), GFP_KERNEL); da7213 = devm_kzalloc(&i2c->dev, sizeof(*da7213), GFP_KERNEL); if (!da7213) return -ENOMEM; Loading sound/soc/codecs/da7218.c +2 −7 Original line number Diff line number Diff line Loading @@ -2455,10 +2455,8 @@ static struct da7218_pdata *da7218_of_to_pdata(struct snd_soc_codec *codec) u32 of_val32; pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) { dev_warn(codec->dev, "Failed to allocate memory for pdata\n"); if (!pdata) return NULL; } if (of_property_read_u32(np, "dlg,micbias1-lvl-millivolt", &of_val32) >= 0) pdata->micbias1_lvl = da7218_of_micbias_lvl(codec, of_val32); Loading Loading @@ -2527,8 +2525,6 @@ static struct da7218_pdata *da7218_of_to_pdata(struct snd_soc_codec *codec) hpldet_pdata = devm_kzalloc(codec->dev, sizeof(*hpldet_pdata), GFP_KERNEL); if (!hpldet_pdata) { dev_warn(codec->dev, "Failed to allocate memory for hpldet pdata\n"); of_node_put(hpldet_np); return pdata; } Loading Loading @@ -3273,8 +3269,7 @@ static int da7218_i2c_probe(struct i2c_client *i2c, struct da7218_priv *da7218; int ret; da7218 = devm_kzalloc(&i2c->dev, sizeof(struct da7218_priv), GFP_KERNEL); da7218 = devm_kzalloc(&i2c->dev, sizeof(*da7218), GFP_KERNEL); if (!da7218) return -ENOMEM; Loading Loading
include/sound/soc.h +1 −3 Original line number Diff line number Diff line Loading @@ -863,12 +863,10 @@ struct snd_soc_component { struct list_head card_aux_list; /* for auxiliary bound components */ struct list_head card_list; struct snd_soc_dai_driver *dai_drv; int num_dai; const struct snd_soc_component_driver *driver; struct list_head dai_list; int num_dai; int (*read)(struct snd_soc_component *, unsigned int, unsigned int *); int (*write)(struct snd_soc_component *, unsigned int, unsigned int); Loading
sound/soc/codecs/cs47l24.c +3 −9 Original line number Diff line number Diff line Loading @@ -1120,9 +1120,11 @@ static int cs47l24_codec_probe(struct snd_soc_codec *codec) struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec); struct snd_soc_component *component = snd_soc_dapm_to_component(dapm); struct cs47l24_priv *priv = snd_soc_codec_get_drvdata(codec); struct arizona *arizona = priv->core.arizona; int ret; priv->core.arizona->dapm = dapm; arizona->dapm = dapm; snd_soc_codec_init_regmap(codec, arizona->regmap); ret = arizona_init_spk(codec); if (ret < 0) Loading Loading @@ -1175,17 +1177,9 @@ static unsigned int cs47l24_digital_vu[] = { ARIZONA_DAC_DIGITAL_VOLUME_4L, }; static struct regmap *cs47l24_get_regmap(struct device *dev) { struct cs47l24_priv *priv = dev_get_drvdata(dev); return priv->core.arizona->regmap; } static const struct snd_soc_codec_driver soc_codec_dev_cs47l24 = { .probe = cs47l24_codec_probe, .remove = cs47l24_codec_remove, .get_regmap = cs47l24_get_regmap, .idle_bias_off = true, Loading
sound/soc/codecs/cx20442.c +19 −27 Original line number Diff line number Diff line Loading @@ -26,8 +26,9 @@ struct cx20442_priv { void *control_data; struct tty_struct *tty; struct regulator *por; u8 reg_cache; }; #define CX20442_PM 0x0 Loading Loading @@ -91,12 +92,12 @@ static const struct snd_soc_dapm_route cx20442_audio_map[] = { static unsigned int cx20442_read_reg_cache(struct snd_soc_codec *codec, unsigned int reg) { u8 *reg_cache = codec->reg_cache; struct cx20442_priv *cx20442 = snd_soc_codec_get_drvdata(codec); if (reg >= codec->driver->reg_cache_size) if (reg >= 1) return -EINVAL; return reg_cache[reg]; return cx20442->reg_cache; } enum v253_vls { Loading Loading @@ -156,20 +157,19 @@ static int cx20442_write(struct snd_soc_codec *codec, unsigned int reg, unsigned int value) { struct cx20442_priv *cx20442 = snd_soc_codec_get_drvdata(codec); u8 *reg_cache = codec->reg_cache; int vls, vsp, old, len; char buf[18]; if (reg >= codec->driver->reg_cache_size) if (reg >= 1) return -EINVAL; /* hw_write and control_data pointers required for talking to the modem /* tty and write pointers required for talking to the modem * are expected to be set by the line discipline initialization code */ if (!codec->hw_write || !cx20442->control_data) if (!cx20442->tty || !cx20442->tty->ops->write) return -EIO; old = reg_cache[reg]; reg_cache[reg] = value; old = cx20442->reg_cache; cx20442->reg_cache = value; vls = cx20442_pm_to_v253_vls(value); if (vls < 0) Loading @@ -194,13 +194,12 @@ static int cx20442_write(struct snd_soc_codec *codec, unsigned int reg, return -ENOMEM; dev_dbg(codec->dev, "%s: %s\n", __func__, buf); if (codec->hw_write(cx20442->control_data, buf, len) != len) if (cx20442->tty->ops->write(cx20442->tty, buf, len) != len) return -EIO; return 0; } /* * Line discpline related code * Loading Loading @@ -252,8 +251,7 @@ static void v253_close(struct tty_struct *tty) cx20442 = snd_soc_codec_get_drvdata(codec); /* Prevent the codec driver from further accessing the modem */ codec->hw_write = NULL; cx20442->control_data = NULL; cx20442->tty = NULL; codec->component.card->pop_time = 0; } Loading @@ -276,12 +274,11 @@ static void v253_receive(struct tty_struct *tty, cx20442 = snd_soc_codec_get_drvdata(codec); if (!cx20442->control_data) { if (!cx20442->tty) { /* First modem response, complete setup procedure */ /* Set up codec driver access to modem controls */ cx20442->control_data = tty; codec->hw_write = (hw_write_t)tty->ops->write; cx20442->tty = tty; codec->component.card->pop_time = 1; } } Loading Loading @@ -367,10 +364,9 @@ static int cx20442_codec_probe(struct snd_soc_codec *codec) cx20442->por = regulator_get(codec->dev, "POR"); if (IS_ERR(cx20442->por)) dev_warn(codec->dev, "failed to get the regulator"); cx20442->control_data = NULL; cx20442->tty = NULL; snd_soc_codec_set_drvdata(codec, cx20442); codec->hw_write = NULL; codec->component.card->pop_time = 0; return 0; Loading @@ -381,8 +377,8 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec) { struct cx20442_priv *cx20442 = snd_soc_codec_get_drvdata(codec); if (cx20442->control_data) { struct tty_struct *tty = cx20442->control_data; if (cx20442->tty) { struct tty_struct *tty = cx20442->tty; tty_hangup(tty); } Loading @@ -396,17 +392,13 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec) return 0; } static const u8 cx20442_reg; static const struct snd_soc_codec_driver cx20442_codec_dev = { .probe = cx20442_codec_probe, .remove = cx20442_codec_remove, .set_bias_level = cx20442_set_bias_level, .reg_cache_default = &cx20442_reg, .reg_cache_size = 1, .reg_word_size = sizeof(u8), .read = cx20442_read_reg_cache, .write = cx20442_write, .component_driver = { .dapm_widgets = cx20442_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(cx20442_dapm_widgets), Loading
sound/soc/codecs/da7213.c +2 −5 Original line number Diff line number Diff line Loading @@ -1654,10 +1654,8 @@ static struct da7213_platform_data u32 fw_val32; pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) { dev_warn(codec->dev, "Failed to allocate memory for pdata\n"); if (!pdata) return NULL; } if (device_property_read_u32(dev, "dlg,micbias1-lvl", &fw_val32) >= 0) pdata->micbias1_lvl = da7213_of_micbias_lvl(codec, fw_val32); Loading Loading @@ -1855,8 +1853,7 @@ static int da7213_i2c_probe(struct i2c_client *i2c, struct da7213_priv *da7213; int ret; da7213 = devm_kzalloc(&i2c->dev, sizeof(struct da7213_priv), GFP_KERNEL); da7213 = devm_kzalloc(&i2c->dev, sizeof(*da7213), GFP_KERNEL); if (!da7213) return -ENOMEM; Loading
sound/soc/codecs/da7218.c +2 −7 Original line number Diff line number Diff line Loading @@ -2455,10 +2455,8 @@ static struct da7218_pdata *da7218_of_to_pdata(struct snd_soc_codec *codec) u32 of_val32; pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) { dev_warn(codec->dev, "Failed to allocate memory for pdata\n"); if (!pdata) return NULL; } if (of_property_read_u32(np, "dlg,micbias1-lvl-millivolt", &of_val32) >= 0) pdata->micbias1_lvl = da7218_of_micbias_lvl(codec, of_val32); Loading Loading @@ -2527,8 +2525,6 @@ static struct da7218_pdata *da7218_of_to_pdata(struct snd_soc_codec *codec) hpldet_pdata = devm_kzalloc(codec->dev, sizeof(*hpldet_pdata), GFP_KERNEL); if (!hpldet_pdata) { dev_warn(codec->dev, "Failed to allocate memory for hpldet pdata\n"); of_node_put(hpldet_np); return pdata; } Loading Loading @@ -3273,8 +3269,7 @@ static int da7218_i2c_probe(struct i2c_client *i2c, struct da7218_priv *da7218; int ret; da7218 = devm_kzalloc(&i2c->dev, sizeof(struct da7218_priv), GFP_KERNEL); da7218 = devm_kzalloc(&i2c->dev, sizeof(*da7218), GFP_KERNEL); if (!da7218) return -ENOMEM; Loading