void snd_card_disconnect(struct snd_card *card);
void snd_card_disconnect_sync(struct snd_card *card);
-int snd_card_free(struct snd_card *card);
+void snd_card_free(struct snd_card *card);
void snd_card_free_when_closed(struct snd_card *card);
int snd_card_free_on_error(struct device *dev, int ret);
void snd_card_set_id(struct snd_card *card, const char *id);
* Return: Zero. Frees all associated devices and frees the control
* interface associated to given soundcard.
*/
-int snd_card_free(struct snd_card *card)
+void snd_card_free(struct snd_card *card)
{
DECLARE_COMPLETION_ONSTACK(released);
* the check here at the beginning.
*/
if (card->releasing)
- return 0;
+ return;
card->release_completion = &released;
snd_card_free_when_closed(card);
/* wait, until all devices are ready for the free operation */
wait_for_completion(&released);
-
- return 0;
}
EXPORT_SYMBOL(snd_card_free);
static int hda_tegra_remove(struct platform_device *pdev)
{
- int ret;
-
- ret = snd_card_free(dev_get_drvdata(&pdev->dev));
+ snd_card_free(dev_get_drvdata(&pdev->dev));
pm_runtime_disable(&pdev->dev);
- return ret;
+ return 0;
}
static void hda_tegra_shutdown(struct platform_device *pdev)
* ctl and preallocate buffer will be freed in
* snd_card_free
*/
- ret = snd_card_free(the_card.card);
- if (ret)
- pr_info("%s: ctl freecard=%d\n", __func__, ret);
+ snd_card_free(the_card.card);
dma_free_coherent(&dev->core,
PAGE_SIZE,