Hello, On Sun, Feb 12, 2017 at 05:15:01PM -0800, Dmitry Torokhov wrote: > On Sun, Feb 12, 2017 at 05:13:55PM -0800, Dmitry Torokhov wrote: > > Given the intent behind gpiod_get_optional() and friends it does not make > > sense to return -ENOSYS when GPIOLIB is disabled: the driver is expected to > > work just fine without gpio so let's behave as if gpio was not found. > > Otherwise we have to special-case -ENOSYS in drivers. > > > > Note that there was objection that someone might forget to enable GPIOLIB > > when dealing with a platform that has device that actually specifies > > optional gpio and we'll break it. I find this unconvincing as that would > > have to be the *only GPIO* in the system, which is extremely unlikely. > > > > Suggested-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> I don't like this patch and so I wonder what I wrote that could be interpreted as suggesting this patch. For now I'd say only Nacked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> is justified. My concern is still there. This might break some setups. IMHO it's not ok to request that a device in a certain configuration only works when the (optional) Kconfig option GPIOLIB is enabled and silently breaks if it's not. And you cannot rely on the person who configured the kernel. When accepting this you will burn debug time of others who see their device breaking with no or unrelated error messages. The only reliable way out here is to enable enough of GPIOLIB to only return NULL in ..._optional when there is no gpio required. You can have a suggested-by for that. The semantic of gpiod_get_optional is: if there is a gpio: give it to me else: give me a dummy If the kernel is configured to be unable to answer the question "is there a gpio?" that is worth a -ENOSYS. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- 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