pinctrl: Propagate firmware node from a parent device
[linux-2.6-microblaze.git] / drivers / pinctrl / pinctrl-rk805.c
index c6f4229..7c1f740 100644 (file)
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/mfd/rk808.h>
-#include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/platform_device.h>
+#include <linux/pm.h>
+#include <linux/property.h>
+#include <linux/slab.h>
+
 #include <linux/pinctrl/consumer.h>
 #include <linux/pinctrl/machine.h>
 #include <linux/pinctrl/pinctrl.h>
 #include <linux/pinctrl/pinconf-generic.h>
 #include <linux/pinctrl/pinconf.h>
 #include <linux/pinctrl/pinmux.h>
-#include <linux/pm.h>
-#include <linux/slab.h>
 
 #include "core.h"
 #include "pinconf.h"
@@ -420,18 +420,18 @@ static int rk805_pinctrl_probe(struct platform_device *pdev)
        struct rk805_pctrl_info *pci;
        int ret;
 
+       device_set_node(&pdev->dev, dev_fwnode(pdev->dev.parent));
+
        pci = devm_kzalloc(&pdev->dev, sizeof(*pci), GFP_KERNEL);
        if (!pci)
                return -ENOMEM;
 
        pci->dev = &pdev->dev;
-       pci->dev->of_node = pdev->dev.parent->of_node;
        pci->rk808 = dev_get_drvdata(pdev->dev.parent);
 
        pci->pinctrl_desc = rk805_pinctrl_desc;
        pci->gpio_chip = rk805_gpio_chip;
        pci->gpio_chip.parent = &pdev->dev;
-       pci->gpio_chip.of_node = pdev->dev.parent->of_node;
 
        platform_set_drvdata(pdev, pci);