RE: [PATCH v4] pinctrl: intel: refine ->irq_set_type() hook

From: Jadav, Raag
Date: Thu Jun 15 2023 - 09:37:19 EST


> On Thu, Jun 15, 2023 at 06:20:22PM +0530, Raag Jadav wrote:
> > Refine ->irq_set_type() hook and improve its readability by:
> >
> > - Reducing scope of spinlock by moving unneeded operations out of it.
> > - Dropping redundant PADCFG0_RXEVCFG_SHIFT and including it directly
> > into PADCFG0_RXEVCFG_* definitions.
> > - Utilizing temporary variables for common operations.
> > - Simplifying if-else-if chain.
>
> Two questions out of curiosity.
> Do we gain or lose bytes with this?

add/remove: 0/0 grow/shrink: 1/0 up/down: 33/0 (33)
Function old new delta
intel_gpio_irq_type 317 350 +33
Total: Before=10469, After=10502, chg +0.32%

> > + value = readl(reg);
>
> > + value = (value & ~PADCFG0_RXINV) | rxinv;
> > + value = (value & ~PADCFG0_RXEVCFG_MASK) | rxevcfg;
>
> Same question if we change this to be similar to the current code, i.e.
>
> value = readl(reg);
>
> value &= ~(PADCFG0_RXEVCFG_MASK | PADCFG0_RXINV);
> value |= rxevcfg;
> value |= rxinv;
>
> And I would keep blank lines after readl() and before writel() since we have
> more than a single line in between.

add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-9 (-9)
Function old new delta
intel_gpio_irq_type 317 308 -9
Total: Before=10469, After=10460, chg -0.09%