Skip to contentSkip to conversation

gpio: mmio: fix calculation of bgpio_bits

PATCH In review Asmaa Mnebhi 2 participants 4 messages Jul 10, 2023 – Jul 11, 2023 GPIO

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 gpio: mmio: fix calculation of bgpio_bits

If the "ngpios" property is specified, bgpio_bits is calculated as the round up value of ngpio. At the moment, the only requirement specified is that the round up value must be a multiple of 8 but it should also be a power of 2 because we provide accessors based on the bank size in bgpio_setup_accessors().

---
 drivers/gpio/gpio-mmio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpio/gpio-mmio.c +1 -1
index b52a3dd511ca..74fdf0d87b2c 100644
@@ -623,7 +623,7 @@ int bgpio_init(struct gpio_chip *gc, struct device *dev,
 	if (ret)
 		gc->ngpio = gc->bgpio_bits;
 	else
-		gc->bgpio_bits = round_up(gc->ngpio, 8);
+		gc->bgpio_bits = roundup_pow_of_two(round_up(gc->ngpio, 8));
 
 	ret = bgpio_setup_io(gc, dat, set, clr, flags);
 	if (ret)
Signature · 1 line
2.30.1
#1 lore raw
Quoted 6 lines · Asmaa Mnebhi

If the "ngpios" property is specified, bgpio_bits is calculated as the round up value of ngpio. At the moment, the only requirement specified is that the round up value must be a multiple of 8 but it should also be a power of 2 because we provide accessors based on the bank size in bgpio_setup_accessors().

Is this a fixup for the other patch? If so, then why did you split them again?

Signature · 2 lines
With Best Regards,
Andy Shevchenko
#2 lore raw
Quoted 8 lines
Quoted 5 lines

If the "ngpios" property is specified, bgpio_bits is calculated as the round up value of ngpio. At the moment, the only requirement specified is that the round up value must be a multiple of 8 but it should also be a power of 2 because we provide accessors based on the bank size in bgpio_setup_accessors().

Is this a fixup for the other patch? If so, then why did you split them again?

Apologies, I might have misunderstood your previous comment. I thought you asked me to split it again so that it is a rebased continuation of the approved old patches. To avoid any further misunderstandings on my part , could you please confirm the following:
1) I will create one patch combining both
2) The tag for this one patch will be "[PATCH v2] gpio: mmio: handle "ngpios" properly in bgpio_init()"
And Reviewed-By Andy and Linus.
3) I will add in the commit message , a changelog section as shown below:

---
V1->v2:
- rebase + combination of the 2 patches.

#3 lore raw
Quoted 10 lines · Asmaa Mnebhi
Quoted 9 lines
Quoted 6 lines

If the "ngpios" property is specified, bgpio_bits is calculated as the round up value of ngpio. At the moment, the only requirement specified is that the round up value must be a multiple of 8 but it should also be a power of 2 because we provide accessors based on the bank size in bgpio_setup_accessors().

Is this a fixup for the other patch? If so, then why did you split them again?

Apologies, I might have misunderstood your previous comment. I thought you asked me to split it again so that it is a rebased continuation of the approved old patches.

No, I asked to move the changelog section to be not a part of the commit message and asked what happened to the tags, because you dropped them.

Quoted 2 lines

To avoid any further misunderstandings on my part , could you please confirm the following:
1) I will create one patch combining both

_If_ I understood the patch flow correctly, and it means that one is the fix to the other one, then yes, otherwise no, keep them split with appropriate Fixes tag added.

Quoted 2 lines

2) The tag for this one patch will be "[PATCH v2] gpio: mmio: handle "ngpios" properly in bgpio_init()" And Reviewed-By Andy and Linus.

What do you mean by "tag" in this context? Do you mean "Subject" or title? Otherwise it's very confusing.
For the Rb tag by me, yes, please keep it. As for Linus' one I think you should drop it and add a changelog entry to explain why, because that tag is only for the "fix" part. Do not forget to Cc Linus.

Quoted 2 lines

3) I will add in the commit message , a changelog section as shown below:

It's mandatory according to the Submitting Patches documentation. Read it for clarification on how to use and when the tags.

Quoted 3 lines

---
V1->v2:
- rebase + combination of the 2 patches.

I believe this needs more entries. Since it's not part of the commit message, you may use free wording to explain what exactly had happened to the patches, with links, references, etc.

Signature · 2 lines
With Best Regards,
Andy Shevchenko