示例#1
0
static int mxs_saif_remove(struct platform_device *pdev)
{
	mxs_pcm_platform_unregister(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	return 0;
}
示例#2
0
static int pxa2xx_ac97_dev_remove(struct platform_device *pdev)
{
	snd_soc_unregister_component(&pdev->dev);
	snd_soc_set_ac97_ops(NULL);
	pxa2xx_ac97_hw_remove(pdev);
	return 0;
}
示例#3
0
static int asoc_ssc_init(struct device *dev)
{
	struct platform_device *pdev = to_platform_device(dev);
	struct ssc_device *ssc = platform_get_drvdata(pdev);
	int ret;

	ret = snd_soc_register_component(dev, &atmel_ssc_component,
					 &atmel_ssc_dai, 1);
	if (ret) {
		dev_err(dev, "Could not register DAI: %d\n", ret);
		goto err;
	}

	if (ssc->pdata->use_dma)
		ret = atmel_pcm_dma_platform_register(dev);
	else
		ret = atmel_pcm_pdc_platform_register(dev);

	if (ret) {
		dev_err(dev, "Could not register PCM: %d\n", ret);
		goto err_unregister_dai;
	}

	return 0;

err_unregister_dai:
	snd_soc_unregister_component(dev);
err:
	return ret;
}
示例#4
0
static int rockchip_i2s_remove(struct platform_device *pdev)
{
	rockchip_pcm_platform_unregister(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	return 0;
}
static int aml_dai_spdif_remove(struct platform_device *pdev)
{
	struct aml_spdif *spdif_priv = dev_get_drvdata(&pdev->dev);

	snd_soc_unregister_component(&pdev->dev);
	clk_disable_unprepare(spdif_priv->clk_spdif);
	return 0;
}
static int sst_platform_remove(struct platform_device *pdev)
{

	snd_soc_unregister_component(&pdev->dev);
	snd_soc_unregister_platform(&pdev->dev);
	pr_debug("sst_platform_remove success\n");
	return 0;
}
示例#7
0
static int omap_hdmi_audio_remove(struct platform_device *pdev)
{
	struct hdmi_audio_data *ad = platform_get_drvdata(pdev);

	snd_soc_unregister_card(ad->card);
	snd_soc_unregister_component(ad->dssdev);
	return 0;
}
static int mtk_routing_dev_remove(struct platform_device *pdev)
{
	pr_debug("%s:\n", __func__);

	snd_soc_unregister_component(&pdev->dev);

	return 0;
}
示例#9
0
static int mtk_dai_stub_dev_remove(struct platform_device *pdev)
{
    printk("%s:\n", __func__);

    snd_soc_unregister_component(&pdev->dev);

    return 0;
}
示例#10
0
static int jz_dmic_platfom_remove(struct platform_device *pdev)
{
	int i;
	for (i = 0; i < ARRAY_SIZE(jz_dmic_sysfs_attrs); i++)
		device_remove_file(&pdev->dev, &jz_dmic_sysfs_attrs[i]);
	snd_soc_unregister_component(&pdev->dev);
	platform_set_drvdata(pdev, NULL);
	return 0;
}
static int asoc_dmic_remove(struct platform_device *pdev)
{
	struct omap_dmic *dmic = platform_get_drvdata(pdev);

	snd_soc_unregister_component(&pdev->dev);
	clk_put(dmic->fclk);

	return 0;
}
static int bfin_i2s_remove(struct platform_device *pdev)
{
	struct sport_device *sport = platform_get_drvdata(pdev);

	snd_soc_unregister_component(&pdev->dev);
	sport_delete(sport);

	return 0;
}
static int spdif_remove(struct platform_device *pdev)
{
	RK_SPDIF_DBG("Entered %s\n", __func__);

	rockchip_pcm_platform_unregister(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	return 0;
}
示例#14
0
static int dw_i2s_remove(struct platform_device *pdev)
{
	struct dw_i2s_dev *dev = dev_get_drvdata(&pdev->dev);

	snd_soc_unregister_component(&pdev->dev);

	clk_put(dev->clk);

	return 0;
}
示例#15
0
		audio_set_i2s_clk(AUDIO_CLK_FREQ_48, AUDIO_CLK_256FS,
				  i2s->mpll);
	}
	aml_i2s_play();
	return snd_soc_register_component(&pdev->dev, &aml_component,
					  aml_i2s_dai, ARRAY_SIZE(aml_i2s_dai));

 exit:
	return ret;
}
示例#16
0
文件: i2sc.c 项目: 020gzh/linux
static int au1xi2s_drvremove(struct platform_device *pdev)
{
	struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev);

	snd_soc_unregister_component(&pdev->dev);

	WR(ctx, I2S_ENABLE, EN_D);	/* clock off, disable */

	return 0;
}
示例#17
0
static int sst_byt_pcm_dev_remove(struct platform_device *pdev)
{
    struct sst_pdata *sst_pdata = dev_get_platdata(&pdev->dev);

    snd_soc_unregister_platform(&pdev->dev);
    snd_soc_unregister_component(&pdev->dev);
    sst_byt_dsp_free(&pdev->dev, sst_pdata);

    return 0;
}
static int spdif_out_remove(struct platform_device *pdev)
{
	struct spdif_out_dev *host = dev_get_drvdata(&pdev->dev);

	snd_soc_unregister_component(&pdev->dev);
	dev_set_drvdata(&pdev->dev, NULL);

	clk_put(host->clk);

	return 0;
}
static int bf5xx_i2s_remove(struct platform_device *pdev)
{
	struct sport_device *sport_handle = platform_get_drvdata(pdev);

	pr_debug("%s enter\n", __func__);

	snd_soc_unregister_component(&pdev->dev);
	sport_done(sport_handle);

	return 0;
}
示例#20
0
static int tegra20_spdif_platform_remove(struct platform_device *pdev)
{
	pm_runtime_disable(&pdev->dev);
	if (!pm_runtime_status_suspended(&pdev->dev))
		tegra20_spdif_runtime_suspend(&pdev->dev);

	tegra_pcm_platform_unregister(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	return 0;
}
示例#21
0
static int davinci_i2s_remove(struct platform_device *pdev)
{
	struct davinci_mcbsp_dev *dev = dev_get_drvdata(&pdev->dev);

	snd_soc_unregister_component(&pdev->dev);

	clk_disable(dev->clk);
	clk_put(dev->clk);
	dev->clk = NULL;

	return 0;
}
示例#22
0
文件: ac97c.c 项目: 020gzh/linux
static int au1xac97c_drvremove(struct platform_device *pdev)
{
	struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev);

	snd_soc_unregister_component(&pdev->dev);

	WR(ctx, AC97_ENABLE, EN_D);	/* clock off, disable */

	ac97c_workdata = NULL;	/* MDEV */

	return 0;
}
示例#23
0
static void asoc_ssc_exit(struct device *dev)
{
	struct platform_device *pdev = to_platform_device(dev);
	struct ssc_device *ssc = platform_get_drvdata(pdev);

	if (ssc->pdata->use_dma)
		atmel_pcm_dma_platform_unregister(dev);
	else
		atmel_pcm_pdc_platform_unregister(dev);

	snd_soc_unregister_component(dev);
}
示例#24
0
static int kirkwood_i2s_dev_remove(struct platform_device *pdev)
{
	struct kirkwood_dma_data *priv = dev_get_drvdata(&pdev->dev);

	snd_soc_unregister_platform(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	if (!IS_ERR(priv->extclk))
		clk_disable_unprepare(priv->extclk);
	clk_disable_unprepare(priv->clk);

	return 0;
}
示例#25
0
文件: psc-i2s.c 项目: 020gzh/linux
static int au1xpsc_i2s_drvremove(struct platform_device *pdev)
{
	struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);

	snd_soc_unregister_component(&pdev->dev);

	__raw_writel(0, I2S_CFG(wd));
	wmb(); /* drain writebuffer */
	__raw_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
	wmb(); /* drain writebuffer */

	return 0;
}
示例#26
0
static int jz_pcm_platfom_remove(struct platform_device *pdev)
{
	struct jz_pcm *jz_pcm = platform_get_drvdata(pdev);
	int i;
	for (i = 0; i < ARRAY_SIZE(jz_pcm_sysfs_attrs); i++)
		device_remove_file(&pdev->dev, &jz_pcm_sysfs_attrs[i]);
	snd_soc_unregister_component(&pdev->dev);
	clk_disable(jz_pcm->clk_gate);
	clk_disable(jz_pcm->clk);
	clk_put(jz_pcm->clk_gate);
	clk_put(jz_pcm->clk);
	platform_set_drvdata(pdev, NULL);
	return 0;
}
示例#27
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;
}
示例#28
0
static int tegra20_i2s_platform_remove(struct platform_device *pdev)
{
	struct tegra20_i2s *i2s = dev_get_drvdata(&pdev->dev);

	pm_runtime_disable(&pdev->dev);
	if (!pm_runtime_status_suspended(&pdev->dev))
		tegra20_i2s_runtime_suspend(&pdev->dev);

	tegra_pcm_platform_unregister(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	clk_put(i2s->clk_i2s);

	return 0;
}
示例#29
0
static int rt5350_pcm_dev_remove(struct platform_device *pdev)
{
	struct rt5350_pcm *pcm = platform_get_drvdata(pdev);

	snd_soc_unregister_component(&pdev->dev);

	iounmap(pcm->base);
	release_mem_region(pcm->mem->start, resource_size(pcm->mem));

	kfree(pcm);

	snd_dmaengine_pcm_unregister(&pdev->dev);

	return 0;
}
示例#30
0
static int rockchip_i2s_remove(struct platform_device *pdev)
{
	struct rk_i2s_dev *i2s = dev_get_drvdata(&pdev->dev);

	pm_runtime_disable(&pdev->dev);
	if (!pm_runtime_status_suspended(&pdev->dev))
		i2s_runtime_suspend(&pdev->dev);

	clk_disable_unprepare(i2s->mclk);
	clk_disable_unprepare(i2s->hclk);
	snd_dmaengine_pcm_unregister(&pdev->dev);
	snd_soc_unregister_component(&pdev->dev);

	return 0;
}