Messages in this thread |  | | | Date | Sat, 15 Dec 2007 15:40:24 -0800 | | From | David Brownell <> | | Subject | Re: [PATCH 2.6.24-rc5-mm 1/3] gpiolib: basic support for 16-bit PCA9539 GPIO expander |
| |
> + /* initialize cached registers from their original values */ > + pca9539_read_reg(chip, PCA9539_OUTPUT, &chip->reg_output); > + pca9539_read_reg(chip, PCA9539_DIRECTION, &chip->reg_direction); > + > + /* set platform specific polarity inversion */ > + pca9539_write_reg(chip, PCA9539_INVERT, pdata->invert); > + > + ret = pca9539_init_gpio(chip); > + if (ret) > + goto out_failed;
I'm glad to see this patch no longer trashes previous chip state, but there's still an issue in that area. Surely the code should
ret = pca9539_read_reg(...) if (ret) goto out_failed; and likewise for the write? If the chip isn't present (and thus an I/O error is reported), its probe() should fail.
- Dave
|  |