예제 #1
0
static int ux500_msp_drv_remove(struct platform_device *pdev)
{
	struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev);

	ux500_pcm_unregister_platform(pdev);

	snd_soc_unregister_component(&pdev->dev);

	prcmu_qos_remove_requirement(PRCMU_QOS_APE_OPP, "ux500_msp_i2s");

	ux500_msp_i2s_cleanup_msp(pdev, drvdata->msp);

	return 0;
}
예제 #2
0
static int __devexit ux500_msp_drv_remove(struct platform_device *pdev)
{
    struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev);

    snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(ux500_msp_dai_drv));

    devm_regulator_put(drvdata->reg_vape);
    prcmu_qos_remove_requirement(PRCMU_QOS_APE_OPP, "ux500_msp_i2s");

    clk_put(drvdata->clk);

    ux500_msp_i2s_cleanup_msp(pdev, drvdata->msp);

    return 0;
}