diff options
-rw-r--r-- | drivers/gpio/gpio-tegra.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index 0ace5919becc..b75ce0295ef6 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c @@ -128,16 +128,28 @@ static void tegra_gpio_mask_write(u32 reg, int gpio, int value) void tegra_gpio_enable(int gpio) { + if (gpio >= TEGRA_NR_GPIOS) { + pr_warn("%s : Invalid gpio ID - %d\n", __func__, gpio); + return; + } tegra_gpio_mask_write(GPIO_MSK_CNF(gpio), gpio, 1); } void tegra_gpio_disable(int gpio) { + if (gpio >= TEGRA_NR_GPIOS) { + pr_warn("%s : Invalid gpio ID - %d\n", __func__, gpio); + return; + } tegra_gpio_mask_write(GPIO_MSK_CNF(gpio), gpio, 0); } void tegra_gpio_init_configure(unsigned gpio, bool is_input, int value) { + if (gpio >= TEGRA_NR_GPIOS) { + pr_warn("%s : Invalid gpio ID - %d\n", __func__, gpio); + return; + } if (is_input) { tegra_gpio_mask_write(GPIO_MSK_OE(gpio), gpio, 0); } else { |