gpio-mockup.c (2a9d742c2699f7d4a7c23f330520d75872810ade) gpio-mockup.c (c47bee95f62748baed83ca56c6f8c73c830f986e)
1/*
2 * GPIO Testing Device Driver
3 *
4 * Copyright (C) 2014 Kamlakant Patel <kamlakant.patel@broadcom.com>
5 * Copyright (C) 2015-2016 Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
6 * Copyright (C) 2017 Bartosz Golaszewski <brgl@bgdev.pl>
7 *
8 * This program is free software; you can redistribute it and/or modify it

--- 82 unchanged lines hidden (view full) ---

91static void gpio_mockup_set(struct gpio_chip *gc,
92 unsigned int offset, int value)
93{
94 struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
95
96 chip->lines[offset].value = !!value;
97}
98
1/*
2 * GPIO Testing Device Driver
3 *
4 * Copyright (C) 2014 Kamlakant Patel <kamlakant.patel@broadcom.com>
5 * Copyright (C) 2015-2016 Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
6 * Copyright (C) 2017 Bartosz Golaszewski <brgl@bgdev.pl>
7 *
8 * This program is free software; you can redistribute it and/or modify it

--- 82 unchanged lines hidden (view full) ---

91static void gpio_mockup_set(struct gpio_chip *gc,
92 unsigned int offset, int value)
93{
94 struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
95
96 chip->lines[offset].value = !!value;
97}
98
99static void gpio_mockup_set_multiple(struct gpio_chip *gc,
100 unsigned long *mask, unsigned long *bits)
101{
102 unsigned int bit;
103
104 for_each_set_bit(bit, mask, gc->ngpio)
105 gpio_mockup_set(gc, bit, test_bit(bit, bits));
106
107}
108
99static int gpio_mockup_dirout(struct gpio_chip *gc,
100 unsigned int offset, int value)
101{
102 struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
103
104 gpio_mockup_set(gc, offset, value);
105 chip->lines[offset].dir = GPIO_MOCKUP_DIR_OUT;
106

--- 157 unchanged lines hidden (view full) ---

264 gc = &chip->gc;
265 gc->base = base;
266 gc->ngpio = ngpio;
267 gc->label = name;
268 gc->owner = THIS_MODULE;
269 gc->parent = dev;
270 gc->get = gpio_mockup_get;
271 gc->set = gpio_mockup_set;
109static int gpio_mockup_dirout(struct gpio_chip *gc,
110 unsigned int offset, int value)
111{
112 struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
113
114 gpio_mockup_set(gc, offset, value);
115 chip->lines[offset].dir = GPIO_MOCKUP_DIR_OUT;
116

--- 157 unchanged lines hidden (view full) ---

274 gc = &chip->gc;
275 gc->base = base;
276 gc->ngpio = ngpio;
277 gc->label = name;
278 gc->owner = THIS_MODULE;
279 gc->parent = dev;
280 gc->get = gpio_mockup_get;
281 gc->set = gpio_mockup_set;
282 gc->set_multiple = gpio_mockup_set_multiple;
272 gc->direction_output = gpio_mockup_dirout;
273 gc->direction_input = gpio_mockup_dirin;
274 gc->get_direction = gpio_mockup_get_direction;
275 gc->to_irq = gpio_mockup_to_irq;
276
277 chip->lines = devm_kcalloc(dev, gc->ngpio,
278 sizeof(*chip->lines), GFP_KERNEL);
279 if (!chip->lines)

--- 117 unchanged lines hidden ---
283 gc->direction_output = gpio_mockup_dirout;
284 gc->direction_input = gpio_mockup_dirin;
285 gc->get_direction = gpio_mockup_get_direction;
286 gc->to_irq = gpio_mockup_to_irq;
287
288 chip->lines = devm_kcalloc(dev, gc->ngpio,
289 sizeof(*chip->lines), GFP_KERNEL);
290 if (!chip->lines)

--- 117 unchanged lines hidden ---