On Wed, 11 Oct 2023 at 17:23, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Wed, Oct 11, 2023 at 4:02 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > > > Accessing struct gpio_chip backing a GPIO device is only allowed for the > > actual providers of that chip. > > > > Similarly to how we introduced gpio_device_find() in order to replace > > the abused gpiochip_find(), let's introduce a counterpart to > > gpiod_to_chip() that returns a reference to the GPIO device owning the > > descriptor. This is done in order to later remove gpiod_to_chip() > > entirely. > > My concern with this API is the following scenario: > 1. One driver requests the GPIO descriptor. > 2. Another driver does take an arbitrary number, converts to a > descriptor and calls for this API. > > Is there any (potential) problem? YES! And I have it already on my TODO list! But it's great to know I'm not the only one seeing it. Basically we need to The end-goal should be to make gpio_to_desc() an internal GPIOLIB symbol. There are still around 10 users outside drivers/gpio/ that will need to be addressed in one way or another. Preferably by being converted to using descriptors. Bart > > -- > With Best Regards, > Andy Shevchenko