[alsa-devel] [PATCH] ASoC: rt5645: Power up the RC clock to make sure the speaker volume adjust properly

Mark Brown broonie at kernel.org
Thu Nov 5 13:12:30 CET 2015


On Thu, Nov 05, 2015 at 07:55:51PM +0800, Oder Chiou wrote:

> +static int rt5645_spk_put_volsw(struct snd_kcontrol *kcontrol,
> +		struct snd_ctl_elem_value *ucontrol)
> +{
> +	struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
> +	struct rt5645_priv *rt5645 = snd_soc_component_get_drvdata(component);
> +	int ret;
> +
> +	cancel_delayed_work_sync(&rt5645->rcclock_work);
> +
> +	regmap_update_bits(rt5645->regmap, RT5645_MICBIAS,
> +		RT5645_PWR_CLK25M_MASK, RT5645_PWR_CLK25M_PU);
> +
> +	ret = snd_soc_put_volsw(kcontrol, ucontrol);
> +
> +	queue_delayed_work(system_power_efficient_wq, &rt5645->rcclock_work,
> +		msecs_to_jiffies(200));

A more idiomatic way of doing this is to just have the
queue_delayed_work() - there's no need to cancel a work item before
requeuing it, the workqueue code will do the right thing.  Can you
please submit a followup patch cleaning that up?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20151105/0ed79221/attachment.sig>


More information about the Alsa-devel mailing list