On Mon, Sep 24, 2018 at 1:52 AM Janusz Krzysztofik <jmkrzyszt@xxxxxxxxx> wrote: > New code introduced by commit bf9346f5d47b ("gpiolib: Identify arrays > matching GPIO hardware") forcibly tries to find an array member which > has its array index number equal to its hardware pin number and set > up an array info for possible fast bitmap processing of all arrray > pins belonging to that chip which also satisfy that numbering rule. > > Depending on array content, it may happen that consecutive array > members which belong to the same chip but don't have array indexes > equal to their pin hardware numbers will be split into groups, some of > them processed together via the fast bitmap path, and rest of them > separetely. However, applications may expect all those pins being > processed together with a single call to .set_multiple() chip callback, > like that was done before the change. > > Limit applicability of fast bitmap processing path to cases where all > pins of consecutive array members starting from 0 which belong to the > same chip have their hardware numbers equal to their corresponding > array indexes. That should still speed up processing of applications > using whole GPIO banks as I/O ports, while not breaking simultaneous > manipulation of consecutive pins of the same chip which don't follow > the equal numbering rule. > > Cc: Jonathan Corbet <corbet@xxxxxxx> > Signed-off-by: Janusz Krzysztofik <jmkrzyszt@xxxxxxxxx> Patch applied! Yours, Linus Walleij