diff options
author | Bartosz Golaszewski <brgl@bgdev.pl> | 2017-11-27 11:48:54 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-12-02 22:42:31 +0100 |
commit | cd9835f1c67712412be6781157a811b0f177d545 (patch) | |
tree | e1db257ddae3c56b0fa369088ba528a27839acbd /drivers/gpio/gpio-mockup.c | |
parent | gpio: mockup: rename gpio_mockup_params_nr to gpio_mockup_num_ranges (diff) | |
download | linux-cd9835f1c67712412be6781157a811b0f177d545.tar.xz linux-cd9835f1c67712412be6781157a811b0f177d545.zip |
gpio: mockup: add helpers for accessing the gpio ranges
In order to avoid repeating the calculations on every access - add
helpers for gpio base and ngpio components of the ranges array.
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-mockup.c')
-rw-r--r-- | drivers/gpio/gpio-mockup.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c index a6bfbe58bc63..ea8c730d8af1 100644 --- a/drivers/gpio/gpio-mockup.c +++ b/drivers/gpio/gpio-mockup.c @@ -81,6 +81,16 @@ module_param_named(gpio_mockup_named_lines, static struct dentry *gpio_mockup_dbg_dir; +static int gpio_mockup_range_base(unsigned int index) +{ + return gpio_mockup_ranges[index * 2]; +} + +static int gpio_mockup_range_ngpio(unsigned int index) +{ + return gpio_mockup_ranges[index * 2 + 1]; +} + static int gpio_mockup_get(struct gpio_chip *gc, unsigned int offset) { struct gpio_mockup_chip *chip = gpiochip_get_data(gc); @@ -351,7 +361,7 @@ static int __init gpio_mockup_init(void) * always be greater than 0. */ for (i = 0; i < num_chips; i++) { - if (gpio_mockup_ranges[i * 2 + 1] < 0) + if (gpio_mockup_range_ngpio(i) < 0) return -EINVAL; } @@ -367,10 +377,10 @@ static int __init gpio_mockup_init(void) for (i = 0; i < num_chips; i++) { pdata.index = index++; - pdata.base = gpio_mockup_ranges[i * 2]; + pdata.base = gpio_mockup_range_base(i); pdata.ngpio = pdata.base < 0 - ? gpio_mockup_ranges[i * 2 + 1] - : gpio_mockup_ranges[i * 2 + 1] - pdata.base; + ? gpio_mockup_range_ngpio(i) + : gpio_mockup_range_ngpio(i) - pdata.base; pdata.named_lines = gpio_mockup_named_lines; pdev = platform_device_register_resndata(NULL, |