Skip to content

Commit 5a9fa4c

Browse files
raagjadavandy-shev
authored andcommitted
pinctrl: baytrail: reduce scope of spinlock in ->dbg_show() hook
Reduce scope of spinlock to IO operations in ->dbg_show() hook and save a few bytes. add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-12 (-12) Function old new delta byt_gpio_dbg_show 890 878 -12 Total: Before=17029, After=17017, chg -0.07% Signed-off-by: Raag Jadav <raag.jadav@intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Link: https://lore.kernel.org/r/20230616203356.27343-2-raag.jadav@intel.com Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
1 parent d1bfdf8 commit 5a9fa4c

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

drivers/pinctrl/intel/pinctrl-baytrail.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,30 +1241,30 @@ static void byt_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
12411241

12421242
for (i = 0; i < vg->soc->npins; i++) {
12431243
const struct intel_community *comm;
1244+
void __iomem *conf_reg, *val_reg;
12441245
const char *pull_str = NULL;
12451246
const char *pull = NULL;
1246-
void __iomem *reg;
12471247
unsigned long flags;
12481248
const char *label;
12491249
unsigned int pin;
12501250

1251-
raw_spin_lock_irqsave(&byt_lock, flags);
12521251
pin = vg->soc->pins[i].number;
1253-
reg = byt_gpio_reg(vg, pin, BYT_CONF0_REG);
1254-
if (!reg) {
1252+
1253+
conf_reg = byt_gpio_reg(vg, pin, BYT_CONF0_REG);
1254+
if (!conf_reg) {
12551255
seq_printf(s, "Pin %i: can't retrieve CONF0\n", pin);
1256-
raw_spin_unlock_irqrestore(&byt_lock, flags);
12571256
continue;
12581257
}
1259-
conf0 = readl(reg);
12601258

1261-
reg = byt_gpio_reg(vg, pin, BYT_VAL_REG);
1262-
if (!reg) {
1259+
val_reg = byt_gpio_reg(vg, pin, BYT_VAL_REG);
1260+
if (!val_reg) {
12631261
seq_printf(s, "Pin %i: can't retrieve VAL\n", pin);
1264-
raw_spin_unlock_irqrestore(&byt_lock, flags);
12651262
continue;
12661263
}
1267-
val = readl(reg);
1264+
1265+
raw_spin_lock_irqsave(&byt_lock, flags);
1266+
conf0 = readl(conf_reg);
1267+
val = readl(val_reg);
12681268
raw_spin_unlock_irqrestore(&byt_lock, flags);
12691269

12701270
comm = byt_get_community(vg, pin);

0 commit comments

Comments
 (0)