p_adap->timeout = 5 * HZ;
        p_adap->retries = 3;
 
-       rc = peripheral_request_list((unsigned short *)pdev->dev.platform_data,
-                                       "i2c-bfin-twi");
+       rc = peripheral_request_list(
+                       (unsigned short *)dev_get_platdata(&pdev->dev),
+                       "i2c-bfin-twi");
        if (rc) {
                dev_err(&pdev->dev, "Can't setup pin mux!\n");
                goto out_error_pin_mux;
        free_irq(iface->irq, iface);
 out_error_req_irq:
 out_error_no_irq:
-       peripheral_free_list((unsigned short *)pdev->dev.platform_data);
+       peripheral_free_list((unsigned short *)dev_get_platdata(&pdev->dev));
 out_error_pin_mux:
        iounmap(iface->regs_base);
 out_error_ioremap:
 
        i2c_del_adapter(&(iface->adap));
        free_irq(iface->irq, iface);
-       peripheral_free_list((unsigned short *)pdev->dev.platform_data);
+       peripheral_free_list((unsigned short *)dev_get_platdata(&pdev->dev));
        iounmap(iface->regs_base);
        kfree(iface);
 
 
                chost->clk_gpio = of_get_gpio(dnode, 0);
                chost->dat_gpio = of_get_gpio(dnode, 1);
                chost->sel_gpio = of_get_gpio(dnode, 2);
-       } else if (pdev->dev.platform_data) {
-               struct i2c_cbus_platform_data *pdata = pdev->dev.platform_data;
+       } else if (dev_get_platdata(&pdev->dev)) {
+               struct i2c_cbus_platform_data *pdata =
+                       dev_get_platdata(&pdev->dev);
                chost->clk_gpio = pdata->clk_gpio;
                chost->dat_gpio = pdata->dat_gpio;
                chost->sel_gpio = pdata->sel_gpio;
 
 #endif
        dev->dev = &pdev->dev;
        dev->irq = irq->start;
-       dev->pdata = dev->dev->platform_data;
+       dev->pdata = dev_get_platdata(&dev->dev);
        platform_set_drvdata(pdev, dev);
 
        if (!dev->pdata && pdev->dev.of_node) {
 
                if (ret)
                        return ret;
        } else {
-               if (!pdev->dev.platform_data)
+               if (!dev_get_platdata(&pdev->dev))
                        return -ENXIO;
-               pdata = pdev->dev.platform_data;
+               pdata = dev_get_platdata(&pdev->dev);
                sda_pin = pdata->sda_pin;
                scl_pin = pdata->scl_pin;
        }
                pdata->scl_pin = scl_pin;
                of_i2c_gpio_get_props(pdev->dev.of_node, pdata);
        } else {
-               memcpy(pdata, pdev->dev.platform_data, sizeof(*pdata));
+               memcpy(pdata, dev_get_platdata(&pdev->dev), sizeof(*pdata));
        }
 
        if (pdata->sda_is_open_drain) {
 
                                                           &pdev->dev);
        struct imx_i2c_struct *i2c_imx;
        struct resource *res;
-       struct imxi2c_platform_data *pdata = pdev->dev.platform_data;
+       struct imxi2c_platform_data *pdata = dev_get_platdata(&pdev->dev);
        void __iomem *base;
        int irq, ret;
        u32 bitrate;
 
 mv64xxx_i2c_probe(struct platform_device *pd)
 {
        struct mv64xxx_i2c_data         *drv_data;
-       struct mv64xxx_i2c_pdata        *pdata = pd->dev.platform_data;
+       struct mv64xxx_i2c_pdata        *pdata = dev_get_platdata(&pd->dev);
        struct resource *r;
        int     rc;
 
 
 static int nmk_i2c_probe(struct amba_device *adev, const struct amba_id *id)
 {
        int ret = 0;
-       struct nmk_i2c_controller *pdata = adev->dev.platform_data;
+       struct nmk_i2c_controller *pdata = dev_get_platdata(&adev->dev);
        struct device_node *np = adev->dev.of_node;
        struct nmk_i2c_dev      *dev;
        struct i2c_adapter *adap;
 
        struct resource *res;
        int ret;
 
-       pdata = pdev->dev.platform_data;
+       pdata = dev_get_platdata(&pdev->dev);
        if (!pdata) {
                dev_err(&pdev->dev, "no platform data\n");
                return -EINVAL;
 
        if (IS_ERR(i2c->base))
                return PTR_ERR(i2c->base);
 
-       pdata = pdev->dev.platform_data;
+       pdata = dev_get_platdata(&pdev->dev);
        if (pdata) {
                i2c->reg_shift = pdata->reg_shift;
                i2c->reg_io_width = pdata->reg_io_width;
 
        struct i2c_adapter      *adap;
        struct resource         *mem;
        const struct omap_i2c_bus_platform_data *pdata =
-               pdev->dev.platform_data;
+               dev_get_platdata(&pdev->dev);
        struct device_node      *node = pdev->dev.of_node;
        const struct of_device_id *match;
        int irq;
 
        struct i2c_pca_pf_data *i2c;
        struct resource *res;
        struct i2c_pca9564_pf_platform_data *platform_data =
-                               pdev->dev.platform_data;
+                               dev_get_platdata(&pdev->dev);
        int ret = 0;
        int irq;
 
 
 
 static int i2c_powermac_probe(struct platform_device *dev)
 {
-       struct pmac_i2c_bus *bus = dev->dev.platform_data;
+       struct pmac_i2c_bus *bus = dev_get_platdata(&dev->dev);
        struct device_node *parent = NULL;
        struct i2c_adapter *adapter;
        const char *basename;
 
                               struct pxa_i2c *i2c,
                               enum pxa_i2c_types *i2c_types)
 {
-       struct i2c_pxa_platform_data *plat = pdev->dev.platform_data;
+       struct i2c_pxa_platform_data *plat = dev_get_platdata(&pdev->dev);
        const struct platform_device_id *id = platform_get_device_id(pdev);
 
        *i2c_types = id->driver_data;
 
 static int i2c_pxa_probe(struct platform_device *dev)
 {
-       struct i2c_pxa_platform_data *plat = dev->dev.platform_data;
+       struct i2c_pxa_platform_data *plat = dev_get_platdata(&dev->dev);
        enum pxa_i2c_types i2c_type;
        struct pxa_i2c *i2c;
        struct resource *res = NULL;
 
 
 static int rcar_i2c_probe(struct platform_device *pdev)
 {
-       struct i2c_rcar_platform_data *pdata = pdev->dev.platform_data;
+       struct i2c_rcar_platform_data *pdata = dev_get_platdata(&pdev->dev);
        struct rcar_i2c_priv *priv;
        struct i2c_adapter *adap;
        struct resource *res;
 
        int ret;
 
        if (!pdev->dev.of_node) {
-               pdata = pdev->dev.platform_data;
+               pdata = dev_get_platdata(&pdev->dev);
                if (!pdata) {
                        dev_err(&pdev->dev, "no platform data\n");
                        return -EINVAL;
 
 
        clock = 0;
        bus_num = -1;
-       if (dev->dev.platform_data) {
-               struct s6_i2c_platform_data *pdata = dev->dev.platform_data;
+       if (dev_get_platdata(&dev->dev)) {
+               struct s6_i2c_platform_data *pdata =
+                       dev_get_platdata(&dev->dev);
                bus_num = pdata->bus_num;
                clock = pdata->clock;
        }
 
        struct cami2c *id;
        int ret;
 
-       pd = pdev->dev.platform_data;
+       pd = dev_get_platdata(&pdev->dev);
        if (!pd) {
                dev_err(&pdev->dev, "no platform_data!\n");
                ret = -ENODEV;
 
 
 static int sh_mobile_i2c_probe(struct platform_device *dev)
 {
-       struct i2c_sh_mobile_platform_data *pdata = dev->dev.platform_data;
+       struct i2c_sh_mobile_platform_data *pdata = dev_get_platdata(&dev->dev);
        struct sh_mobile_i2c_data *pd;
        struct i2c_adapter *adap;
        struct resource *res;
 
        if (irq < 0)
                goto resource_missing;
 
-       pdata = (struct xiic_i2c_platform_data *) pdev->dev.platform_data;
+       pdata = (struct xiic_i2c_platform_data *)dev_get_platdata(&pdev->dev);
 
        i2c = kzalloc(sizeof(*i2c), GFP_KERNEL);
        if (!i2c)
 
 static int smbalert_probe(struct i2c_client *ara,
                          const struct i2c_device_id *id)
 {
-       struct i2c_smbus_alert_setup *setup = ara->dev.platform_data;
+       struct i2c_smbus_alert_setup *setup = dev_get_platdata(&ara->dev);
        struct i2c_smbus_alert *alert;
        struct i2c_adapter *adapter = ara->adapter;
        int res;
 
                dev_err(dev, "Cannot find device tree node\n");
                return -ENODEV;
        }
-       if (dev->platform_data) {
+       if (dev_get_platdata(dev)) {
                dev_err(dev, "Platform data is not supported\n");
                return -EINVAL;
        }
 
 
        platform_set_drvdata(pdev, mux);
 
-       if (!pdev->dev.platform_data) {
+       if (!dev_get_platdata(&pdev->dev)) {
                ret = i2c_mux_gpio_probe_dt(mux, pdev);
                if (ret < 0)
                        return ret;
-       } else
-               memcpy(&mux->data, pdev->dev.platform_data, sizeof(mux->data));
+       } else {
+               memcpy(&mux->data, dev_get_platdata(&pdev->dev),
+                       sizeof(mux->data));
+       }
 
        /*
         * If a GPIO chip name is provided, the GPIO pin numbers provided are
 
                         const struct i2c_device_id *id)
 {
        struct i2c_adapter *adap = client->adapter;
-       struct pca954x_platform_data *pdata = client->dev.platform_data;
+       struct pca954x_platform_data *pdata = dev_get_platdata(&client->dev);
        struct pca9541 *data;
        int force;
        int ret = -ENODEV;
 
                         const struct i2c_device_id *id)
 {
        struct i2c_adapter *adap = to_i2c_adapter(client->dev.parent);
-       struct pca954x_platform_data *pdata = client->dev.platform_data;
+       struct pca954x_platform_data *pdata = dev_get_platdata(&client->dev);
        int num, force, class;
        struct pca954x *data;
        int ret = -ENODEV;
 
 
        mux->dev = &pdev->dev;
 
-       mux->pdata = pdev->dev.platform_data;
+       mux->pdata = dev_get_platdata(&pdev->dev);
        if (!mux->pdata) {
                ret = i2c_mux_pinctrl_parse_dt(mux, pdev);
                if (ret < 0)