Re: [PATCH] gpiolib: of: don't mark hog nodes OF_POPULATED before a chip is found

Daniel Drake <[email protected]>
Newsgroups org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On 15/08/2026 21:44, Abdurrahman Hussain wrote:
> When a gpio-hog node is attached by a device-tree overlay before its
> parent GPIO chip has been registered, of_gpio_notify() sets
> OF_POPULATED on the node via of_node_test_and_set_flag() and only then
> discovers that there is no gpio_device for the parent, returning
> NOTIFY_DONE without clearing the flag.
> 
> Since gpiochip_hog_lines() skips any hog child whose of_node carries
> OF_POPULATED, the leaked flag makes the hog silently ignored when the
> chip is registered later. Applying an overlay containing both a GPIO
> controller node and its hog children - and populating devices only
> after the overlay apply completes - hits this on every boot; the hog
> is only applied if the chip driver is unbound (which clears the flag
> in the remove path) and rebound.
> 
> Look up the parent gpio_device before claiming the node so that a hog
> attached ahead of its chip stays unclaimed and is picked up normally
> by gpiochip_hog_lines() at registration time.
> 
> Signed-off-by: Abdurrahman Hussain <[email protected]>
> Fixes: a23226b7c1f6 ("gpiolib: handle gpio-hogs only once")
> Cc: [email protected]
Looks correct, and this is consistent with OF_POPULATED handling in 
of_i2c_notify() and of_spi_notify().

Reviewed-by: Daniel Drake <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.