On Tue, Apr 19, 2016 at 2:18 PM, <[email protected]> wrote: > From: Patrice Chotard <[email protected]> > > Configures all GPIOs as output, in order to minimize power > consumption when GPIOs are unused. > > Signed-off-by: Amelie DELAUNAY <[email protected]> > Signed-off-by: Patrice Chotard <[email protected]>
Not only do you set them all to outout but also: > + /* To minimize power consumption, configure unused GPIOs as outputs */ > + for (i = 0; i < stmpe_gpio->chip.ngpio; i++) > + stmpe_gpio_direction_output(&stmpe_gpio->chip, i, 0); You are driving them all low. Now GPIO is general purpose: what if they are connected to a line with a pull-up resistor? That is not saving power, instead consuming more than if you were setting them all to 1. I am afraid this is wrong. What you need is to be able to define in the DT (or similar) a set of initial values for the GPIO lines, and set them to 0 for this design. Such bindings have been discussed but no conclusion or merged patch has emerged. Please help out in driving a standard for this! Yours, Linus Walleij

