diff options
Diffstat (limited to 'sound/soc/sh/hac.c')
| -rw-r--r-- | sound/soc/sh/hac.c | 38 | 
1 files changed, 18 insertions, 20 deletions
diff --git a/sound/soc/sh/hac.c b/sound/soc/sh/hac.c index c87e3ff28a0..0af2e4dfd13 100644 --- a/sound/soc/sh/hac.c +++ b/sound/soc/sh/hac.c @@ -227,13 +227,12 @@ static void hac_ac97_coldrst(struct snd_ac97 *ac97)  	hac_ac97_warmrst(ac97);  } -struct snd_ac97_bus_ops soc_ac97_ops = { +static struct snd_ac97_bus_ops hac_ac97_ops = {  	.read	= hac_ac97_read,  	.write	= hac_ac97_write,  	.reset	= hac_ac97_coldrst,  	.warm_reset = hac_ac97_warmrst,  }; -EXPORT_SYMBOL_GPL(soc_ac97_ops);  static int hac_hw_params(struct snd_pcm_substream *substream,  			 struct snd_pcm_hw_params *params, @@ -266,7 +265,7 @@ static int hac_hw_params(struct snd_pcm_substream *substream,  #define AC97_FMTS	\  	SNDRV_PCM_FMTBIT_S16_LE -static struct snd_soc_dai_ops hac_dai_ops = { +static const struct snd_soc_dai_ops hac_dai_ops = {  	.hw_params	= hac_hw_params,  }; @@ -310,15 +309,24 @@ static struct snd_soc_dai_driver sh4_hac_dai[] = {  #endif  }; -static int __devinit hac_soc_platform_probe(struct platform_device *pdev) +static const struct snd_soc_component_driver sh4_hac_component = { +	.name		= "sh4-hac", +}; + +static int hac_soc_platform_probe(struct platform_device *pdev)  { -	return snd_soc_register_dais(&pdev->dev, sh4_hac_dai, -			ARRAY_SIZE(sh4_hac_dai)); +	ret = snd_soc_set_ac97_ops(&hac_ac97_ops); +	if (ret != 0) +		return ret; + +	return snd_soc_register_component(&pdev->dev, &sh4_hac_component, +					  sh4_hac_dai, ARRAY_SIZE(sh4_hac_dai));  } -static int __devexit hac_soc_platform_remove(struct platform_device *pdev) +static int hac_soc_platform_remove(struct platform_device *pdev)  { -	snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_hac_dai)); +	snd_soc_unregister_component(&pdev->dev); +	snd_soc_set_ac97_ops(NULL);  	return 0;  } @@ -329,20 +337,10 @@ static struct platform_driver hac_pcm_driver = {  	},  	.probe = hac_soc_platform_probe, -	.remove = __devexit_p(hac_soc_platform_remove), +	.remove = hac_soc_platform_remove,  }; -static int __init sh4_hac_pcm_init(void) -{ -	return platform_driver_register(&hac_pcm_driver); -} -module_init(sh4_hac_pcm_init); - -static void __exit sh4_hac_pcm_exit(void) -{ -	platform_driver_unregister(&hac_pcm_driver); -} -module_exit(sh4_hac_pcm_exit); +module_platform_driver(hac_pcm_driver);  MODULE_LICENSE("GPL");  MODULE_DESCRIPTION("SuperH onchip HAC (AC97) audio driver");  | 
