
GPIO hog (CONFIG_GPIO_HOG)
--------

All the GPIO hog are initialized using DM_FLAG_PROBE_AFTER_BIND DM flag
after bind().

Example, for the device tree:

        tca6416@20 {
                compatible = "ti,tca6416";
                reg = <0x20>;
                #gpio-cells = <2>;
                gpio-controller;

                env_reset {
                        gpio-hog;
                        input;
                        gpios = <6 GPIO_ACTIVE_LOW>;
                };
                boot_rescue {
                        gpio-hog;
                        input;
                        line-name = "foo-bar-gpio";
                        gpios = <7 GPIO_ACTIVE_LOW>;
                };
        };

You can than access the gpio in your board code with:

	struct gpio_desc *desc;
	int ret;

	ret = gpio_hog_lookup_name("boot_rescue", &desc);
	if (ret)
		return;
	if (dm_gpio_get_value(desc) == 1)
		printf("\nBooting into Rescue System\n");
	else if (dm_gpio_get_value(desc) == 0)
		printf("\nBoot normal\n");
