On Mon, Aug 6, 2018 at 11:53 AM Biju Das <biju.das@xxxxxxxxxxxxxx> wrote: > Some platforms are not setting of_node in the driver. On these platforms > defining gpio-reserved-ranges on device tree leads to kernel crash. > > It is due to some parts of the gpio core relying on the driver to set up > of_node,while other parts do themselves.This inconsistent behaviour leads > to a crash. > > gpiochip_add_data_with_key() calls gpiochip_init_valid_mask() with of_node > as NULL. of_gpiochip_add() fills "of_node" and calls > of_gpiochip_init_valid_mask(). > > The fix is to move the assignment to chip->of_node from of_gpiochip_add() > to gpiochip_add_data_with_key(). > > Signed-off-by: Biju Das <biju.das@xxxxxxxxxxxxxx> After reading through context this seems like the right fix so patch applied! In the long run I want to get rid of this extra of_node in the chip, but it kind of requires every driver in the kernel to pass in a valid parent device representing the OF node. And there are so many hairy corner cases where they don't. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html