On 25/06/2026 15:26, Sunyun Yang wrote: > Krzysztof Kozlowski <[email protected]> 于2026年6月25日周四 21:17写道: >> >> On 25/06/2026 15:14, Sunyun Yang wrote: >>> Krzysztof Kozlowski <[email protected]> 于2026年6月25日周四 20:54写道: >>>> >>>> On 08/05/2026 15:40, [email protected] wrote: >>>>> + >>>>> +static void lt9611c_reset(struct lt9611c *lt9611c) >>>>> +{ >>>>> + gpiod_set_value_cansleep(lt9611c->reset_gpio, 1); >>>>> + msleep(20); >>>>> + >>>>> + gpiod_set_value_cansleep(lt9611c->reset_gpio, 0); >>>>> + msleep(20); >>>>> + >>>>> + gpiod_set_value_cansleep(lt9611c->reset_gpio, 1); >>>> >>>> This is just plain wrong. Why do you assert, then de-assert and then >>>> finally assert AGAIN the reset leaving the device in powerdown stage? >>>> >>> I am using software to emulate the hardware RESET button on our EVB. >>> When the hardware RESET button is pressed while our chip is running, >>> the signal level changes from HIGH to LOW and then back to HIGH. >>> >>> Of course, we can also use the following: >>> static void lt9611c_reset(struct lt9611c *lt9611c) >>> { >>> gpiod_set_value_cansleep(lt9611c->reset_gpio, 0); >>> msleep(50); >>> gpiod_set_value_cansleep(lt9611c->reset_gpio, 1); >>> msleep(20); >>> } >> >> Makes no sense either and you just did not get the point and did not >> answer my question. I asked WHY you leave asserted. Answer "we emulate" >> is just plain wrong. >> >> So again please answer: >> >> Why do you leave device with reset asserted? >> > > devicetree: reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
That's irrelevant. I do not talk about DT. Review is happening in specific place - here I question driver code. If you do not have actual arguments why device is left in reset stage, then please fix it. Best regards, Krzysztof
