Skip to content

Commit d25b7c1

Browse files
committed
ASoC: Remove special casing for registerless widgets
Since we recently explicitly set the register for registerless widgets to no register there is no longer any need to special case power updates for them, we can allow them to be handled with the register compression code as other widgets are. As this is the only remaining user of dapm_generic_apply_power() and dapm_update_bits() also remove those functions. Noticed-by: Lu Guanqun <guanqun.lu@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
1 parent 774fd7b commit d25b7c1

File tree

1 file changed

+0
-100
lines changed

1 file changed

+0
-100
lines changed

sound/soc/soc-dapm.c

Lines changed: 0 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -322,45 +322,6 @@ static int dapm_connect_mixer(struct snd_soc_dapm_context *dapm,
322322
return -ENODEV;
323323
}
324324

325-
/* update dapm codec register bits */
326-
static int dapm_update_bits(struct snd_soc_dapm_widget *widget)
327-
{
328-
int change, power;
329-
unsigned int old, new;
330-
struct snd_soc_codec *codec = widget->codec;
331-
struct snd_soc_dapm_context *dapm = widget->dapm;
332-
struct snd_soc_card *card = dapm->card;
333-
334-
/* check for valid widgets */
335-
if (widget->reg < 0 || widget->id == snd_soc_dapm_input ||
336-
widget->id == snd_soc_dapm_output ||
337-
widget->id == snd_soc_dapm_hp ||
338-
widget->id == snd_soc_dapm_mic ||
339-
widget->id == snd_soc_dapm_line ||
340-
widget->id == snd_soc_dapm_spk)
341-
return 0;
342-
343-
power = widget->power;
344-
if (widget->invert)
345-
power = (power ? 0:1);
346-
347-
old = snd_soc_read(codec, widget->reg);
348-
new = (old & ~(0x1 << widget->shift)) | (power << widget->shift);
349-
350-
change = old != new;
351-
if (change) {
352-
pop_dbg(dapm->dev, card->pop_time,
353-
"pop test %s : %s in %d ms\n",
354-
widget->name, widget->power ? "on" : "off",
355-
card->pop_time);
356-
pop_wait(card->pop_time);
357-
snd_soc_write(codec, widget->reg, new);
358-
}
359-
dev_dbg(dapm->dev, "reg %x old %x new %x change %d\n", widget->reg,
360-
old, new, change);
361-
return change;
362-
}
363-
364325
/* create new dapm mixer control */
365326
static int dapm_new_mixer(struct snd_soc_dapm_context *dapm,
366327
struct snd_soc_dapm_widget *w)
@@ -644,57 +605,6 @@ int dapm_reg_event(struct snd_soc_dapm_widget *w,
644605
}
645606
EXPORT_SYMBOL_GPL(dapm_reg_event);
646607

647-
/* Standard power change method, used to apply power changes to most
648-
* widgets.
649-
*/
650-
static int dapm_generic_apply_power(struct snd_soc_dapm_widget *w)
651-
{
652-
int ret;
653-
654-
/* call any power change event handlers */
655-
if (w->event)
656-
dev_dbg(w->dapm->dev, "power %s event for %s flags %x\n",
657-
w->power ? "on" : "off",
658-
w->name, w->event_flags);
659-
660-
/* power up pre event */
661-
if (w->power && w->event &&
662-
(w->event_flags & SND_SOC_DAPM_PRE_PMU)) {
663-
ret = w->event(w, NULL, SND_SOC_DAPM_PRE_PMU);
664-
if (ret < 0)
665-
return ret;
666-
}
667-
668-
/* power down pre event */
669-
if (!w->power && w->event &&
670-
(w->event_flags & SND_SOC_DAPM_PRE_PMD)) {
671-
ret = w->event(w, NULL, SND_SOC_DAPM_PRE_PMD);
672-
if (ret < 0)
673-
return ret;
674-
}
675-
676-
dapm_update_bits(w);
677-
678-
/* power up post event */
679-
if (w->power && w->event &&
680-
(w->event_flags & SND_SOC_DAPM_POST_PMU)) {
681-
ret = w->event(w,
682-
NULL, SND_SOC_DAPM_POST_PMU);
683-
if (ret < 0)
684-
return ret;
685-
}
686-
687-
/* power down post event */
688-
if (!w->power && w->event &&
689-
(w->event_flags & SND_SOC_DAPM_POST_PMD)) {
690-
ret = w->event(w, NULL, SND_SOC_DAPM_POST_PMD);
691-
if (ret < 0)
692-
return ret;
693-
}
694-
695-
return 0;
696-
}
697-
698608
/* Generic check to see if a widget should be powered.
699609
*/
700610
static int dapm_generic_check_power(struct snd_soc_dapm_widget *w)
@@ -981,16 +891,6 @@ static void dapm_seq_run(struct snd_soc_dapm_context *dapm,
981891
NULL, SND_SOC_DAPM_POST_PMD);
982892
break;
983893

984-
case snd_soc_dapm_input:
985-
case snd_soc_dapm_output:
986-
case snd_soc_dapm_hp:
987-
case snd_soc_dapm_mic:
988-
case snd_soc_dapm_line:
989-
case snd_soc_dapm_spk:
990-
/* No register support currently */
991-
ret = dapm_generic_apply_power(w);
992-
break;
993-
994894
default:
995895
/* Queue it up for application */
996896
cur_sort = sort[w->id];

0 commit comments

Comments
 (0)