Ejemplo n.º 1
0
static int snd_stm_conv_dac_mem_remove(struct platform_device *pdev)
{
	struct snd_stm_conv_dac_mem *conv_dac_mem = platform_get_drvdata(pdev);

	BUG_ON(!conv_dac_mem);
	BUG_ON(!snd_stm_magic_valid(conv_dac_mem));

	snd_stm_conv_unregister_converter(conv_dac_mem->converter);
	snd_stm_memory_release(conv_dac_mem->mem_region,
			conv_dac_mem->base);

	snd_stm_magic_clear(conv_dac_mem);
	kfree(conv_dac_mem);

	return 0;
}
Ejemplo n.º 2
0
static int snd_stm_conv_dac_sc_remove(struct platform_device *pdev)
{
	struct snd_stm_conv_dac_sc *conv_dac_sc = platform_get_drvdata(pdev);

	BUG_ON(!conv_dac_sc);
	BUG_ON(!snd_stm_magic_valid(conv_dac_sc));

	snd_stm_conv_unregister_converter(conv_dac_sc->converter);

	sysconf_release(conv_dac_sc->nrst);
	sysconf_release(conv_dac_sc->mode);
	sysconf_release(conv_dac_sc->nsb);
	sysconf_release(conv_dac_sc->softmute);
	sysconf_release(conv_dac_sc->pdana);
	sysconf_release(conv_dac_sc->pndbg);

	snd_stm_magic_clear(conv_dac_sc);
	kfree(conv_dac_sc);

	return 0;
}