#include <linux/pci.h>
 #include <linux/gpio.h>
 #include <linux/mfd/rdc321x.h>
+#include <linux/mfd/core.h>
 #include <linux/slab.h>
 
 struct rdc321x_gpio {
        struct rdc321x_gpio *rdc321x_gpio_dev;
        struct rdc321x_gpio_pdata *pdata;
 
-       pdata = platform_get_drvdata(pdev);
+       pdata = mfd_get_data(pdev);
        if (!pdata) {
                dev_err(&pdev->dev, "no platform data supplied\n");
                return -ENODEV;
 
                .name           = "rdc321x-wdt",
                .resources      = rdc321x_wdt_resource,
                .num_resources  = ARRAY_SIZE(rdc321x_wdt_resource),
-               .driver_data    = &rdc321x_wdt_pdata,
+               .mfd_data       = &rdc321x_wdt_pdata,
        }, {
                .name           = "rdc321x-gpio",
                .resources      = rdc321x_gpio_resources,
                .num_resources  = ARRAY_SIZE(rdc321x_gpio_resources),
-               .driver_data    = &rdc321x_gpio_pdata,
+               .mfd_data       = &rdc321x_gpio_pdata,
        },
 };
 
 
 #include <linux/io.h>
 #include <linux/uaccess.h>
 #include <linux/mfd/rdc321x.h>
+#include <linux/mfd/core.h>
 
 #define RDC_WDT_MASK   0x80000000 /* Mask */
 #define RDC_WDT_EN     0x00800000 /* Enable bit */
        struct resource *r;
        struct rdc321x_wdt_pdata *pdata;
 
-       pdata = platform_get_drvdata(pdev);
+       pdata = mfd_get_data(pdev);
        if (!pdata) {
                dev_err(&pdev->dev, "no platform data supplied\n");
                return -ENODEV;