#include <linux/platform_data/video-pxafb.h>
 #include <linux/platform_data/mmc-pxamci.h>
 #include <linux/platform_data/usb-ohci-pxa27x.h>
+#include <linux/platform_data/asoc-pxa.h>
 #include "pxa320.h"
 
 #include "mxm8x10.h"
        pxa_set_ohci_info(&mxm_8x10_ohci_platform_data);
 }
 
-/* AC97 Sound Support */
-static struct platform_device mxm_8x10_ac97_device = {
-       .name = "pxa2xx-ac97"
-};
-
 void __init mxm_8x10_ac97_init(void)
 {
-       platform_device_register(&mxm_8x10_ac97_device);
+       pxa_set_ac97_info(NULL);
 }
 
 /* NAND flash Support */
 
 
 #include <sound/pxa2xx-lib.h>
 
-#include <mach/irqs.h>
 #include <mach/regs-ac97.h>
 #include <linux/platform_data/asoc-pxa.h>
 
 int pxa2xx_ac97_hw_probe(struct platform_device *dev)
 {
        int ret;
+       int irq;
        pxa2xx_audio_ops_t *pdata = dev->dev.platform_data;
 
        if (pdata) {
        if (ret)
                goto err_clk2;
 
-       ret = request_irq(IRQ_AC97, pxa2xx_ac97_irq, 0, "AC97", NULL);
+       irq = platform_get_irq(dev, 0);
+       if (!irq)
+               goto err_irq;
+
+       ret = request_irq(irq, pxa2xx_ac97_irq, 0, "AC97", NULL);
        if (ret < 0)
                goto err_irq;
 
        if (cpu_is_pxa27x())
                gpio_free(reset_gpio);
        GCR |= GCR_ACLINK_OFF;
-       free_irq(IRQ_AC97, NULL);
+       free_irq(platform_get_irq(dev, 0), NULL);
        if (ac97conf_clk) {
                clk_put(ac97conf_clk);
                ac97conf_clk = NULL;