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; }
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; }