Hi! > This patch implements the fix suggested by Mika in his statement above. > @@ -12,6 +12,7 @@ > #include > #include > #include > +#include > > #include "serial_mctrl_gpio.h" > > @@ -115,6 +116,19 @@ struct mctrl_gpios *mctrl_gpio_init_noauto(struct device *dev, unsigned int idx) > > for (i = 0; i < UART_GPIO_MAX; i++) { > enum gpiod_flags flags; > + char *gpio_str; > + bool present; > + > + /* Check if GPIO property exists and continue if not */ > + gpio_str = kasprintf(GFP_KERNEL, "%s-gpios", > + mctrl_gpios_desc[i].name); > + if (!gpio_str) > + continue; So if this fails, we'll let the system boot in different configuration than usual. I guess GFP_KERNEL allocation failures are really rare, but would it be worth a message? Or maybe buffer on the stack so we don't do allocations in a loop, and so that allocation can't fail? Thanks, Pavel > + present = device_property_present(dev, gpio_str); > + kfree(gpio_str); > + if (!present) > + continue; > > if (mctrl_gpios_desc[i].dir_out) > flags = GPIOD_OUT_LOW; -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany