mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
pinctrl: intel: Always use gpp_num_padown_regs in the main driver
For the size-based communities, always use gpp_num_padown_regs, which is now provided explicitly via INTEL_COMMUNITY_SIZE() macro. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
df8467df2e
commit
cd025b1c31
|
|
@ -1451,14 +1451,7 @@ static int intel_pinctrl_add_padgroups_by_size(struct intel_pinctrl *pctrl,
|
|||
gpps[i].gpio_base = gpps[i].base;
|
||||
gpps[i].padown_num = padown_num;
|
||||
|
||||
/*
|
||||
* In older hardware the number of padown registers per
|
||||
* group is fixed regardless of the group size.
|
||||
*/
|
||||
if (community->gpp_num_padown_regs)
|
||||
padown_num += community->gpp_num_padown_regs;
|
||||
else
|
||||
padown_num += DIV_ROUND_UP(gpps[i].size * 4, 32);
|
||||
padown_num += community->gpp_num_padown_regs;
|
||||
}
|
||||
|
||||
community->ngpps = ngpps;
|
||||
|
|
|
|||
|
|
@ -96,8 +96,7 @@ enum {
|
|||
* @gpp_size: Maximum number of pads in each group, such as PADCFGLOCK,
|
||||
* HOSTSW_OWN, GPI_IS, GPI_IE. Used when @gpps is %NULL.
|
||||
* @gpp_num_padown_regs: Number of pad registers each pad group consumes at
|
||||
* minimum. Use %0 if the number of registers can be
|
||||
* determined by the size of the group.
|
||||
* minimum. Used when @gpps is %NULL.
|
||||
* @gpps: Pad groups if the controller has variable size pad groups
|
||||
* @ngpps: Number of pad groups in this community
|
||||
* @pad_map: Optional non-linear mapping of the pads
|
||||
|
|
@ -106,11 +105,13 @@ enum {
|
|||
* @regs: Community specific common registers (reserved for core driver)
|
||||
* @pad_regs: Community specific pad registers (reserved for core driver)
|
||||
*
|
||||
* In some of Intel GPIO host controllers this driver supports each pad group
|
||||
* In older Intel GPIO host controllers, this driver supports, each pad group
|
||||
* is of equal size (except the last one). In that case the driver can just
|
||||
* fill in @gpp_size field and let the core driver to handle the rest. If
|
||||
* the controller has pad groups of variable size the client driver can
|
||||
* pass custom @gpps and @ngpps instead.
|
||||
* fill in @gpp_size and @gpp_num_padown_regs fields and let the core driver
|
||||
* to handle the rest.
|
||||
*
|
||||
* In newer Intel GPIO host controllers each pad group is of variable size,
|
||||
* so the client driver can pass custom @gpps and @ngpps instead.
|
||||
*/
|
||||
struct intel_community {
|
||||
unsigned int barno;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user