Exemplo n.º 1
0
static int a716_ssp_remove(struct platform_device *pdev)
{
	del_timer_sync(&timer_pen);

	free_irq(IRQ_GPIO(GPIO_NR_A716_STYLUS_IRQ_N), NULL);

	ssp_exit(&a716_ssp_dev);

	input_unregister_device(idev);
	input_free_device(idev);

	return 0;
}
Exemplo n.º 2
0
static int ad_remove(struct platform_device *pdev)
{
	struct ad7877_platform_data *pdata = pdev->dev.platform_data;
	struct ad7877 *ad = platform_get_drvdata(pdev);
	int i;

	for (i = 0; i < ARRAY_SIZE(acdevs); i++)
		adc_classdev_unregister(&acdevs[i]);
	free_irq(pdata->dav_irq, ad);
	downChip(ad);
	ssp_exit(&ad->ssp);
	kfree(ad);

	return 0;
}
Exemplo n.º 3
0
static void pxa3xx_ssp_shutdown(struct snd_pcm_substream *substream,
	struct snd_soc_dai *dai)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
	struct ssp_device *ssp = cpu_dai->private_data;
	u32 sscr0;

	if (!cpu_dai->active) {
		sscr0 = __raw_readl(ssp->mmio_base + SSCR0);
		sscr0 &= ~SSCR0_SSE;
		__raw_writel(sscr0, ssp->mmio_base + SSCR0);

		ssp_exit(ssp_dev+cpu_dai->id);
	}
}