> > I think the fallback mechanism of the core should work without any > > module loading infrastructure. It should be there whenever possible. > > > > It's not really a fallback, is it? This is the path we'll always take > if the driver requests a reset control on a firmware node which has a > reset-gpios property. If the driver goes with the gpiod API, it will > get a regular descriptor. It's deterministic enough to not warrant the > term "fallback". I dunno for how many drivers this is really applicable, but I really liked the cleanup of the pca954x driver. Don't handle GPIOs internally, just get a reset, and it might be a GPIO. I think it is very useful and I would like to see it wherever possible. We could now make these drivers depend on RESET_GPIO. This would make sense in a way but is uncomfortable for the user who has not RESET_GPIO enabled before. The driver would just disappear because of unmet dependencies. Yes, this can happen all the time because we always find new dependencies and describe them. I just hoped it could be avoided in this case. > Then I believe the platform's config should make sure the driver is > built-in. I don't think it makes sense to just cram it into the kernel > image for the few users it currently has. For Morimoto-san, the PCA954x update resulted in a regression. It is worth thinking how to avoid that. The driver is so small, I wouldn't mind the extra space if it saves users from disappearing devices. But mileages vary...