On 03/10/2016 05:15 PM, mrpace2@xxxxxxxxx wrote:
The NBANK macro can be extended in order to avoid the underflow: #define NBANK(chip) (chip->gpio_chip.ngpio == 0 ? 0 : \ ((chip->gpio_chip.ngpio + (BANK_SZ - 1)) / BANK_SZ)) Resending a modified patch. Signed-off-by: Frank Edelhaeuser <mrpace2 <at> gmail.com> --- diff -Nur a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c --- a/drivers/gpio/gpio-pca953x.c 2016-03-10 02:34:56.012345678 +0000 +++ b/drivers/gpio/gpio-pca953x.c 2016-03-10 02:34:56.012345678 +0000 @@ -86,7 +86,8 @@ #define MAX_BANK 5 #define BANK_SZ 8 -#define NBANK(chip) (chip->gpio_chip.ngpio / BANK_SZ) +#define NBANK(chip) (chip->gpio_chip.ngpio == 0 ? 0 : \ + ((chip->gpio_chip.ngpio + (BANK_SZ - 1)) / BANK_SZ))
And finally this DIV_ROUND_UP:) Right? -- regards, -grygorii -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html