On Tue, Jun 6, 2017 at 3:18 PM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > The Intel GPIO hardware has a concept of pad groups, which means 1 to 32 > pads occupying their own GPI_IS, GPI_IE, PAD_OWN and so on registers. The > existing hardware has the same amount of pads in each pad group (except the > last one) so it is possible to use community->gpp_size to calculate start > offset of each register. > > With the next generation SoCs the pad group size is not always the same > anymore which means we cannot use community->gpp_size for register offset > calculations directly. > > To support variable size pad groups we introduce struct intel_padgroup that > can be filled in by the client drivers according the hardware pad group > layout. The core driver will always use these when it performs calculations > for pad register offsets. The core driver will automatically populate pad > groups based on community->gpp_size if the driver does not provide any. > This makes sure the existing drivers still work as expected. > > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > Signed-off-by: Chuah, Kim Tatt <kim.tatt.chuah@xxxxxxxxx> > Signed-off-by: Tan Jui Nee <jui.nee.tan@xxxxxxxxx> > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Patch applied! Yours, Linus Walleij -- 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