> +     /* 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to