From: Sandor Yu <sandor.yu@xxxxxxx> On the imx7d-sdb board, there is one output pin of the 74x164 that controls all peripherals power supply (PERI_3V). This pin should be at high voltage level when the 74x164 is probed, otherwise the modules dependent on PERI_3V3 will not be powered. Add a new optional property called 'registers-default' that allows describing the default output value for each shift register. Signed-off-by: Fabio Estevam <festevam@xxxxxxxxx> --- Changes since v1: - Use the more generic device_property_read_u8_array(), which also works in ACPI. drivers/gpio/gpio-74x164.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 05637d585152..a11637518774 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -141,6 +141,9 @@ static int gen_74x164_probe(struct spi_device *spi) chip->registers = nregs; chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers; + device_property_read_u8_array(&spi->dev, "registers-default", + chip->buffer, chip->registers); + chip->gpio_chip.can_sleep = true; chip->gpio_chip.parent = &spi->dev; chip->gpio_chip.owner = THIS_MODULE; -- 2.17.1