1
0
Fork 0
Commit Graph

61 Commits (redonkable)

Author SHA1 Message Date
Bartosz Golaszewski 62a7ca0735 gpio: mockup: use devm_irq_alloc_descs()
Use the resource managed variant of irq_alloc_descs(). This allows us
to remove gpio_mockup_remove().

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-15 11:16:32 +01:00
Dan Carpenter fa6256db03 gpio: mockup: return -EFAULT if copy_from_user() fails
copy_from_user() returns the number of bytes remaining to be copied but
we want to return negative error codes on failue.

Fixes: 9202ba2397 ("gpio: mockup: implement event injecting over debugfs")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-06 14:35:21 +01:00
Bartosz Golaszewski 9202ba2397 gpio: mockup: implement event injecting over debugfs
Create a debugfs directory for every mockup chip and a single file
for every line. Writing (0 or 1) to these files allows the user to
inject line events (falling or rising edge respectively).

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-02-13 08:36:47 +01:00
Bartosz Golaszewski e2ff740895 gpio: mockup: add a dummy irqchip
Setup a dummy irqchip that will allow us to inject line events for
testing purposes.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-02-13 08:35:33 +01:00
Bartosz Golaszewski 8a68ea00a6 gpio: mockup: implement naming the lines
In order to allow testing line lookup by name from user space, add
a new boolean parameter that indicates whether we want the lines to
be named. The name is created by concatenating the chip name and the
line offset value.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-02-06 14:22:11 +01:00
Bartosz Golaszewski e4ba07bf8d gpio: mockup: code shrink
Moving a couple of lines around allows us to shrink the code a bit
while keeping the same functionality.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-02-06 14:21:13 +01:00
Bartosz Golaszewski ca40916078 gpio: mockup: readability tweaks
The following patch tries to improve the readability of the mockup
driver.

The driver is called gpio-mockup, so add the same prefix to all
functions and structures.

Add some newlines and use a temporary pointer in gpio_mockup_add().

Drop the name of the direction enum and rename the enum values to
better reflect their purpose.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-02-06 14:20:12 +01:00
Bartosz Golaszewski 364ac45655 gpio: mockup: coding style fixes
Fix whitespace errors and arrange local variables for better
readability.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-12-28 14:13:38 +01:00
Bartosz Golaszewski ad6d8004fa gpio: mockup: dynamically allocate memory for chip name
Currently the chip name buffer is allocated on the stack and the
address of the buffer is passed to the gpio framework. It's invalid
after probe() returns, so the sysfs label attribute displays garbage.

Use devm_kasprintf() for each string instead.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-12-28 14:12:51 +01:00
Bartosz Golaszewski e53c60289d gpio: mockup: make pins_name_start static
This variable is not used outside this module. Make it static.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-12-28 14:11:57 +01:00
Bamvor Jian Zhang 0f98dd1b27 gpio/mockup: add virtual gpio device
This patch add basic structure of a virtual gpio device(gpio-mockup)
for testing gpio subsystem. The tester could manipulate such device
through userspace(sysfs or char device) and check the result from
debugfs.

Currently, it support one or more gpiochip(determined by module
parameters with base,ngpio pair). One could test the overlap of
different gpiochip and test the direction and/or output values of
these chips.

Signed-off-by: Kamlakant Patel <kamlakant.patel@broadcom.com>
Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-09-26 11:47:14 -07:00