On 2/13/24 17:42, David Mosberger-Tang wrote: > On Tue, 2024-02-13 at 16:22 +0100, Alexis Lothoré wrote: >> When using a wilc1000 chip over a spi bus, users can optionally define a >> reset gpio and a chip enable gpio. The reset line of wilc1000 is active >> low, so to hold the chip in reset, a low (physical) value must be applied. >> >> The corresponding device tree binding documentation was introduced by >> commit f31ee3c0a555 ("wilc1000: Document enable-gpios and reset-gpios >> properties") and correctly indicates that the reset line is an active-low >> signal. However, the corresponding driver part, brought by commit >> ec031ac4792c ("wilc1000: Add reset/enable GPIO support to SPI driver"), is >> misusing the gpiod APIs and apply an inverted logic when powering up/down >> the chip (for example, setting the reset line to a logic "1" during power >> up, which in fact asserts the reset line when device tree describes the >> reset line as GPIO_ACTIVE_LOW). > > Note that commit ec031ac4792c is doing the right thing in regards to an > ACTIVE_LOW RESET pin and the binding documentation is consistent with that code. > > It was later on that commit fcf690b0 flipped the RESET line polarity to treat it > as GPIO_ACTIVE_HIGH. I never understood why that was done and, as you noted, it > introduced in inconsistency with the binding documentation. Ah, you are right, and I was wrong citing your GPIOs patch as faulty (git-blaming too fast !), thanks for the clarification. I missed this patch from Ajay (fcf690b0) flipping the reset logic. Maybe he had issues while missing proper device tree configuration and then submitted this flip ? > On our platform, we never merged commit fcf690b0 and hence our DTS already > defines the RESET pin as GPIO_ACTIVE_LOW. So, I don't have any issues at all > with your patch! :-) So in the end, the patch should be about a mere revert. I will update accordingly when relevant, but before that I'll wait for some feedback about the potential issue of this patch (forcing users to udpate faulty devicetree) Thanks, Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com