diff options
Diffstat (limited to 'drivers/input/keyboard/tegra-kbc.c')
-rw-r--r-- | drivers/input/keyboard/tegra-kbc.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c index 58a28ac9b1f8..e560e428db98 100644 --- a/drivers/input/keyboard/tegra-kbc.c +++ b/drivers/input/keyboard/tegra-kbc.c @@ -454,11 +454,14 @@ static void tegra_kbc_config_pins(struct tegra_kbc *kbc) row_cfg &= ~r_mask; col_cfg &= ~c_mask; - if (pdata->pin_cfg[i].is_row) - row_cfg |= ((pdata->pin_cfg[i].num << 1) | 1) << r_shft; - else - col_cfg |= ((pdata->pin_cfg[i].num << 1) | 1) << c_shft; - + if (pdata->pin_cfg[i].en) { + if (pdata->pin_cfg[i].is_row) + row_cfg |= ((pdata->pin_cfg[i].num << 1) | 1) + << r_shft; + else + col_cfg |= ((pdata->pin_cfg[i].num << 1) | 1) + << c_shft; + } writel(row_cfg, kbc->mmio + r_offs); writel(col_cfg, kbc->mmio + c_offs); } |