Messages in this thread | | | From | Andy Shevchenko <> | Date | Tue, 10 Apr 2018 21:06:41 +0300 | Subject | Re: [PATCH v3 2/4] gpio: pca953x: add register definitions for pcal6524 and fix address calculation |
| |
On Tue, Apr 10, 2018 at 7:07 PM, H. Nikolaus Schaller <hns@goldelico.com> wrote: > PCAL chips ("L" seems to stand for "latched") have additional > registers starting at address 0x40 to control the latches, > interrupt mask, pull-up and pull down etc. > > The constants are so far defined in a way that they fit for > the pcal9555a when shifted by the number of banks, i.e. multiplied > by 2. > > Now the pcal6524 has 3 banks which means the relative offset > must be multiplied by 4 which gives a wrong result if not done > carefully, since the base offset is already included in the offset. > > For the basic registers shared with all pca93xx/tca64xx chips > there is no such offset. > > Therefore, we add code to adjust the register number for exended > registers to the 24 bit accessor functions. > > And we add additional register offset constants (not yet used by > the driver code) which are specific to the pcal6524. >
First of all, as I said, please split this to two patches. Don't mix the things.
> + /* adjust register address for pcal6524 */ > + if (reg >= PCAL953X_OUT_STRENGTH) > + reg -= PCAL953X_OUT_STRENGTH >> 1; > +
Give me some days to think about it.
-- With Best Regards, Andy Shevchenko
| |