devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] gpio: mockup: Allow probing from device tree
@ 2020-10-27 13:53 Vincent Whitchurch
  2020-10-27 18:12 ` Bartosz Golaszewski
  2020-10-28 11:43 ` Andy Shevchenko
  0 siblings, 2 replies; 9+ messages in thread
From: Vincent Whitchurch @ 2020-10-27 13:53 UTC (permalink / raw)
  To: Bamvor Jian Zhang, Linus Walleij, Bartosz Golaszewski
  Cc: kernel, devicetree, Vincent Whitchurch, linux-gpio, linux-kernel

Allow the mockup driver to be probed via the device tree without any
module parameters, allowing it to be used to configure and test higher
level drivers like the leds-gpio driver and corresponding userspace
before actual hardware is available.

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
---
v2: Remove most of the added code, since the latest driver doesn't need it.
    Drop DT binding document, since Rob Herring was OK with not documenting
    this:
    https://lore.kernel.org/linux-devicetree/5baa1ae6.1c69fb81.847f2.3ab1@mx.google.com/

 drivers/gpio/gpio-mockup.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 67ed4f238d43..c93892a6936a 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -13,6 +13,7 @@
 #include <linux/gpio/driver.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
+#include <linux/of.h>
 #include <linux/irq_sim.h>
 #include <linux/irqdomain.h>
 #include <linux/module.h>
@@ -460,9 +461,18 @@ static int gpio_mockup_probe(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id gpio_mockup_of_match[] = {
+	{ .compatible = "gpio-mockup", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, gpio_mockup_of_match);
+#endif
+
 static struct platform_driver gpio_mockup_driver = {
 	.driver = {
 		.name = "gpio-mockup",
+		.of_match_table = of_match_ptr(gpio_mockup_of_match),
 	},
 	.probe = gpio_mockup_probe,
 };
@@ -556,8 +566,7 @@ static int __init gpio_mockup_init(void)
 {
 	int i, num_chips, err;
 
-	if ((gpio_mockup_num_ranges < 2) ||
-	    (gpio_mockup_num_ranges % 2) ||
+	if ((gpio_mockup_num_ranges % 2) ||
 	    (gpio_mockup_num_ranges > GPIO_MOCKUP_MAX_RANGES))
 		return -EINVAL;
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-10-29  9:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-27 13:53 [PATCH v2] gpio: mockup: Allow probing from device tree Vincent Whitchurch
2020-10-27 18:12 ` Bartosz Golaszewski
2020-10-28  8:57   ` Vincent Whitchurch
2020-10-28 20:25   ` Andy Shevchenko
2020-10-28 20:26     ` Andy Shevchenko
2020-10-29  7:54     ` Vincent Whitchurch
2020-10-29  9:30     ` Bartosz Golaszewski
2020-10-28 11:43 ` Andy Shevchenko
2020-10-28 11:52   ` Vincent Whitchurch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).