On 19/09/2022 14:37, Niedermayr, BENEDIKT wrote: >> >> And how do you handle shared pin when the original owner unbinds? > So first of all this code only keeps track of the wait_pin allocation from within the gpmc. If any other driver/code > allocated this pin than the evaluation gpiochip_request_own_desc() would fail since the pin hasn't been requested by the gpmc itself. > The testbit() only checks if this pin has been allocated by the gpmc itself. If yes, then the waitpin can be treated as shared wait pin. If no, > then another driver allocated the pin before and we return an error. > > The gpmc must be able to release the wait_pin in the wait_pin_alloc_mask, that's true. The only section where the waitpin_desc is released > can be found further down in this function: > > err_cs: > gpiochip_free_own_desc(waitpin_desc); > > You're right. I must add the relase logic here as well. You wrote quite a lot but that was not explanation of how do you handle unbind... Last sentence was enough. Best regards, Krzysztof