}
 
 #ifdef CONFIG_PM
-static int atmel_ssc_suspend(struct snd_soc_dai *cpu_dai)
+static int atmel_ssc_suspend(struct snd_soc_component *component)
 {
        struct atmel_ssc_info *ssc_p;
-       struct platform_device *pdev = to_platform_device(cpu_dai->dev);
+       struct platform_device *pdev = to_platform_device(component->dev);
 
-       if (!cpu_dai->active)
+       if (!component->active)
                return 0;
 
        ssc_p = &ssc_info[pdev->id];
        return 0;
 }
 
-
-
-static int atmel_ssc_resume(struct snd_soc_dai *cpu_dai)
+static int atmel_ssc_resume(struct snd_soc_component *component)
 {
        struct atmel_ssc_info *ssc_p;
-       struct platform_device *pdev = to_platform_device(cpu_dai->dev);
+       struct platform_device *pdev = to_platform_device(component->dev);
        u32 cr;
 
-       if (!cpu_dai->active)
+       if (!component->active)
                return 0;
 
        ssc_p = &ssc_info[pdev->id];
 };
 
 static struct snd_soc_dai_driver atmel_ssc_dai = {
-               .suspend = atmel_ssc_suspend,
-               .resume = atmel_ssc_resume,
                .playback = {
                        .channels_min = 1,
                        .channels_max = 2,
 
 static const struct snd_soc_component_driver atmel_ssc_component = {
        .name           = "atmel-ssc",
+       .suspend        = atmel_ssc_suspend,
+       .resume         = atmel_ssc_resume,
 };
 
 static int asoc_ssc_init(struct device *dev)