2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 21:54:06 +08:00

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>
This commit is contained in:
Bartosz Golaszewski 2017-11-27 11:48:54 +01:00 committed by Linus Walleij
parent e63a006f70
commit cd9835f1c6

View File

@ -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,