chip->ngpio = num_gpios;
        chip->label = adnp->client->name;
        chip->parent = &adnp->client->dev;
-       chip->of_node = chip->parent->of_node;
        chip->owner = THIS_MODULE;
 
        if (is_irq_controller) {
 
        pt_gpio->gc.request          = pt_gpio_request;
        pt_gpio->gc.free             = pt_gpio_free;
        pt_gpio->gc.ngpio            = (uintptr_t)device_get_match_data(dev);
-#if defined(CONFIG_OF_GPIO)
-       pt_gpio->gc.of_node          = dev->of_node;
-#endif
+
        ret = gpiochip_add_data(&pt_gpio->gc, pt_gpio);
        if (ret) {
                dev_err(dev, "Failed to register GPIO lib\n");
 
         * "gpio-reserved-ranges" and exclude them from control
         */
        bdgpio->gpio.ngpio = 4;
-       bdgpio->gpio.of_node = dev->parent->of_node;
        bdgpio->regmap = dev_get_regmap(dev->parent, NULL);
        if (!bdgpio->regmap)
                return -ENODEV;
 
                        goto fail;
                }
 
-               gc->of_node = np;
                gc->owner = THIS_MODULE;
                gc->label = devm_kasprintf(dev, GFP_KERNEL, "%pOF", dev->of_node);
                if (!gc->label) {
 
 #ifdef CONFIG_OF_GPIO
        chips->chip.of_gpio_n_cells = 2;
        chips->chip.parent = dev;
-       chips->chip.of_node = dev->of_node;
        chips->chip.request = gpiochip_generic_request;
        chips->chip.free = gpiochip_generic_free;
 #endif
 
        sprd_eic->chip.ngpio = pdata->num_eics;
        sprd_eic->chip.base = -1;
        sprd_eic->chip.parent = &pdev->dev;
-       sprd_eic->chip.of_node = pdev->dev.of_node;
        sprd_eic->chip.direction_input = sprd_eic_direction_input;
        switch (sprd_eic->type) {
        case SPRD_EIC_DEBOUNCE:
 
        }
 
        gpio_chip = &p->gpio_chip;
-       gpio_chip->of_node = dev->of_node;
        gpio_chip->direction_input = em_gio_direction_input;
        gpio_chip->get = em_gio_get;
        gpio_chip->direction_output = em_gio_direction_output;
 
        gc->base = -1;
        gc->ngpio = (u16)(uintptr_t)of_device_get_match_data(&pdev->dev);
        gc->of_gpio_n_cells = 2;
-       gc->of_node = pdev->dev.of_node;
 
        /* This function adds a memory mapped GPIO chip */
        ret = devm_gpiochip_add_data(&pdev->dev, gc, NULL);
 
        priv->imask = gc->read_reg(regs + GRGPIO_IMASK);
        priv->dev = &ofdev->dev;
 
-       gc->of_node = np;
        gc->owner = THIS_MODULE;
        gc->to_irq = grgpio_to_irq;
        gc->label = devm_kasprintf(&ofdev->dev, GFP_KERNEL, "%pOF", np);
 
        gw->chip.base = -1;
        gw->chip.can_sleep = true;
        gw->chip.parent = dev;
-       gw->chip.of_node = np;
        gw->chip.owner = THIS_MODULE;
        gw->chip.label = dev_name(dev);
        gw->chip.ngpio = 8;
 
        memset(rg, 0, sizeof(*rg));
 
        spin_lock_init(&rg->lock);
-       rg->chip.of_node = node;
        rg->bank = bank;
 
        dat = mtk->base + GPIO_REG_DATA + (rg->bank * GPIO_BANK_STRIDE);
 
        mvchip->chip.base = id * MVEBU_MAX_GPIO_PER_BANK;
        mvchip->chip.ngpio = ngpios;
        mvchip->chip.can_sleep = false;
-       mvchip->chip.of_node = np;
        mvchip->chip.dbg_show = mvebu_gpio_dbg_show;
 
        if (soc_variant == MVEBU_GPIO_SOC_VARIANT_A8K)
 
        bank->is_mpuio = pdata->is_mpuio;
        bank->non_wakeup_gpios = pdata->non_wakeup_gpios;
        bank->regs = pdata->regs;
-#ifdef CONFIG_OF_GPIO
-       bank->chip.of_node = of_node_get(node);
-#endif
 
        if (node) {
                if (!of_property_read_bool(node, "ti,gpio-always-on"))
 
        palmas_gpio->gpio_chip.set      = palmas_gpio_set;
        palmas_gpio->gpio_chip.get      = palmas_gpio_get;
        palmas_gpio->gpio_chip.parent = &pdev->dev;
-#ifdef CONFIG_OF_GPIO
-       palmas_gpio->gpio_chip.of_node = pdev->dev.of_node;
-#endif
+
        palmas_pdata = dev_get_platdata(palmas->dev);
        if (palmas_pdata && palmas_pdata->gpio_base)
                palmas_gpio->gpio_chip.base = palmas_pdata->gpio_base;
 
        pmic_eic->chip.ngpio = SPRD_PMIC_EIC_NR;
        pmic_eic->chip.base = -1;
        pmic_eic->chip.parent = &pdev->dev;
-       pmic_eic->chip.of_node = pdev->dev.of_node;
        pmic_eic->chip.direction_input = sprd_pmic_eic_direction_input;
        pmic_eic->chip.request = sprd_pmic_eic_request;
        pmic_eic->chip.free = sprd_pmic_eic_free;
 
        rpi_gpio->gc.parent = dev;
        rpi_gpio->gc.label = MODULE_NAME;
        rpi_gpio->gc.owner = THIS_MODULE;
-       rpi_gpio->gc.of_node = np;
        rpi_gpio->gc.base = -1;
        rpi_gpio->gc.ngpio = NUM_GPIO;
 
 
        rda_gpio->chip.label = dev_name(dev);
        rda_gpio->chip.ngpio = ngpios;
        rda_gpio->chip.base = -1;
-       rda_gpio->chip.parent = dev;
-       rda_gpio->chip.of_node = np;
 
        if (rda_gpio->irq >= 0) {
                rda_gpio->irq_chip.name = "rda-gpio",
 
        gc->ngpio = bank->nr_pins;
        gc->label = bank->name;
        gc->parent = bank->dev;
-#ifdef CONFIG_OF_GPIO
-       gc->of_node = of_node_get(bank->of_node);
-#endif
 
        ret = gpiochip_add_data(gc, bank);
        if (ret) {
 
        platform_set_drvdata(pdev, piobu);
        piobu->chip.label = pdev->name;
        piobu->chip.parent = &pdev->dev;
-       piobu->chip.of_node = pdev->dev.of_node;
        piobu->chip.owner = THIS_MODULE,
        piobu->chip.get_direction = sama5d2_piobu_get_direction,
        piobu->chip.direction_input = sama5d2_piobu_direction_input,
 
        sprd_gpio->chip.ngpio = SPRD_GPIO_NR;
        sprd_gpio->chip.base = -1;
        sprd_gpio->chip.parent = &pdev->dev;
-       sprd_gpio->chip.of_node = pdev->dev.of_node;
        sprd_gpio->chip.request = sprd_gpio_request;
        sprd_gpio->chip.free = sprd_gpio_free;
        sprd_gpio->chip.get = sprd_gpio_get;
 
        stmpe_gpio->chip = template_chip;
        stmpe_gpio->chip.ngpio = stmpe->num_gpios;
        stmpe_gpio->chip.parent = &pdev->dev;
-       stmpe_gpio->chip.of_node = np;
        stmpe_gpio->chip.base = -1;
 
        if (IS_ENABLED(CONFIG_DEBUG_FS))
 
        tc3589x_gpio->chip.ngpio = tc3589x->num_gpio;
        tc3589x_gpio->chip.parent = &pdev->dev;
        tc3589x_gpio->chip.base = -1;
-       tc3589x_gpio->chip.of_node = np;
 
        girq = &tc3589x_gpio->chip.irq;
        girq->chip = &tc3589x_gpio_irq_chip;
 
        gpio->gpio.names = (const char * const *)names;
 
 #if defined(CONFIG_OF_GPIO)
-       gpio->gpio.of_node = pdev->dev.of_node;
        gpio->gpio.of_gpio_n_cells = 2;
        gpio->gpio.of_xlate = tegra186_gpio_of_xlate;
 #endif /* CONFIG_OF_GPIO */
 
        tps65218_gpio->tps65218 = tps65218;
        tps65218_gpio->gpio_chip = template_chip;
        tps65218_gpio->gpio_chip.parent = &pdev->dev;
-#ifdef CONFIG_OF_GPIO
-       tps65218_gpio->gpio_chip.of_node = pdev->dev.of_node;
-#endif
 
        return devm_gpiochip_add_data(&pdev->dev, &tps65218_gpio->gpio_chip,
                                      tps65218_gpio);
 
        }
 
        gc = &port->gc;
-       gc->of_node = np;
        gc->parent = dev;
        gc->label = "vf610-gpio";
        gc->ngpio = VF610_GPIO_PER_PORT;