On Tue, May 09, 2017 at 11:17:39PM +0200, Geert Stappers wrote: > On Tue, May 09, 2017 at 09:32:06PM +0200, Jan Willeke wrote: > > cable_gpio: bugfix - gpio cabel fails for pin number 4 > > > > --- a/urjtag/src/tap/cable/gpio.c > > +++ b/urjtag/src/tap/cable/gpio.c > > @@ -216,10 +216,10 @@ gpio_connect (urj_cable_t *cable, const urj_param_t > > *params[]) > > return URJ_STATUS_FAIL; > > } > > > > - cable_params->jtag_gpios[GPIO_TDI] = GPIO_REQUIRED; > > - cable_params->jtag_gpios[GPIO_TDO] = GPIO_REQUIRED; > > - cable_params->jtag_gpios[GPIO_TMS] = GPIO_REQUIRED; > > - cable_params->jtag_gpios[GPIO_TCK] = GPIO_REQUIRED; > > + cable_params->jtag_gpios[GPIO_TDI] = GPIO_UNSET; > > + cable_params->jtag_gpios[GPIO_TDO] = GPIO_UNSET; > > + cable_params->jtag_gpios[GPIO_TMS] = GPIO_UNSET; > > + cable_params->jtag_gpios[GPIO_TCK] = GPIO_UNSET; > > if (params != NULL) > > /* parse arguments beyond the cable name */ > > for (i = 0; params[i] != NULL; i++) > > @@ -253,7 +253,7 @@ gpio_connect (urj_cable_t *cable, const urj_param_t > > *params[]) > > */ > > > > for (i = GPIO_TDI; i <= GPIO_TDO; i++) > > - if (cable_params->jtag_gpios[i] == GPIO_REQUIRED) > > + if (cable_params->jtag_gpios[i] == GPIO_UNSET) > > { > > urj_error_set (URJ_ERROR_SYNTAX, _("missing required gpios\n")); > > gpio_help (URJ_ERROR_SYNTAX, "gpio"); > > -- > > 2.1.4 > > > > I think that I understand what the change in the code does. > > It is the compaion text on the code change that makes > me hesiate to apply the patch. > > To be continued.
Rewrite proposal of companion text: enumerated GPIO_REQUIRED blocks using pin 4 GPIO_REQUIRED was used for two things: "last" and "unset" Last pin can be a valid pin. "unset" should be a separate value. sign of by Jan Willeke so he gets the credits > > @@ -42,7 +42,7 @@ > > #define GPIO_PATH "/sys/class/gpio/" > > #define GPIO_EXPORT_PATH GPIO_PATH "export" > > #define GPIO_UNEXPORT_PATH GPIO_PATH "unexport" > > - > > +#define GPIO_UNSET -1 > > /* pin mapping */ > > enum { > > GPIO_TDI = 0, @@ -45,6 +45,7 @@ /* pin mapping */ enum { + GPIO_UNSET = -1, GPIO_TDI = 0, GPIO_TCK, GPIO_TMS, Groeten Geert Stappers -- Leven en laten leven ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ UrJTAG-development mailing list UrJTAG-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/urjtag-development