Hi Jeroen, On 11 June 2014 15:37, Jeroen Hofstee <[email protected]> wrote: > Hello Simon, > > in commit 95a260a9 > > > dm: Enable gpio command to support driver model > > Now that named GPIO banks are supported, along with a way of obtaining > the status of a GPIO (input or output), we can provide an enhanced > GPIO command for driver model. Where the driver provides its own > operation for obtaining the GPIO state, this is used, otherwise a > generic version is sufficient. > > you made the following change: > > - int gpio; > + unsigned int gpio; > > This breaks the code after it though: > > /* turn the gpio name into a gpio number */ > gpio = name_to_gpio(str_gpio); > if (gpio < 0) > goto show_usage; > > And causes warnings with clang like: > > common/cmd_gpio.c:159:11: warning: comparison of unsigned expression < 0 > is always false [-Wtautological-compare] > if (gpio < 0) > ~~~~ ^ ~ > > Do you recall why it is made unsigned?
This is because gpio_lookup_name() needs an unsigned (-ve values have no meaning). I think that is what we want ultimately, but perhaps we need to go back to int in the meantime. The simplest fix would probably be to use a separate unsigned variable for the driver model code, and go back to an int for the current (old) code. The difference is that driver model returns a separate error code, whereas the old code combines the GPIO and error into a single value. Regards, Simon _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

