Linux-GPIO Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 1/3] gpio: syscon: Add support for a custom get operation
@ 2019-09-10 15:28 Paul Kocialkowski
  2019-09-10 15:28 ` [PATCH 2/3] dt-bindings: gpio: Add binding document for xylon logicvc-gpio Paul Kocialkowski
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Paul Kocialkowski @ 2019-09-10 15:28 UTC (permalink / raw)
  To: linux-gpio, devicetree, linux-kernel
  Cc: Linus Walleij, Bartosz Golaszewski, Rob Herring, Mark Rutland,
	Thomas Petazzoni, Paul Kocialkowski

Some drivers might need a custom get operation to match custom
behavior implemented in the set operation.

Add plumbing for supporting that.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 drivers/gpio/gpio-syscon.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-syscon.c b/drivers/gpio/gpio-syscon.c
index 31f332074d7d..05c537ed73f1 100644
--- a/drivers/gpio/gpio-syscon.c
+++ b/drivers/gpio/gpio-syscon.c
@@ -43,8 +43,9 @@ struct syscon_gpio_data {
 	unsigned int	bit_count;
 	unsigned int	dat_bit_offset;
 	unsigned int	dir_bit_offset;
-	void		(*set)(struct gpio_chip *chip,
-			       unsigned offset, int value);
+	int		(*get)(struct gpio_chip *chip, unsigned offset);
+	void		(*set)(struct gpio_chip *chip, unsigned offset,
+			       int value);
 };
 
 struct syscon_gpio_priv {
@@ -252,7 +253,7 @@ static int syscon_gpio_probe(struct platform_device *pdev)
 	priv->chip.label = dev_name(dev);
 	priv->chip.base = -1;
 	priv->chip.ngpio = priv->data->bit_count;
-	priv->chip.get = syscon_gpio_get;
+	priv->chip.get = priv->data->get ? : syscon_gpio_get;
 	if (priv->data->flags & GPIO_SYSCON_FEAT_IN)
 		priv->chip.direction_input = syscon_gpio_dir_in;
 	if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) {
-- 
2.23.0


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

end of thread, back to index

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-10 15:28 [PATCH 1/3] gpio: syscon: Add support for a custom get operation Paul Kocialkowski
2019-09-10 15:28 ` [PATCH 2/3] dt-bindings: gpio: Add binding document for xylon logicvc-gpio Paul Kocialkowski
2019-09-12  9:19   ` Linus Walleij
2019-09-23 13:59     ` Paul Kocialkowski
2019-09-13 14:36   ` Rob Herring
2019-09-23 14:13     ` Paul Kocialkowski
2019-09-10 15:28 ` [PATCH 3/3] gpio: syscon: Add support for the Xylon LogiCVC GPIOs Paul Kocialkowski
2019-09-12  9:17   ` Linus Walleij
2019-09-23 13:33     ` Paul Kocialkowski
2019-10-04 21:24       ` Linus Walleij
2019-09-12  9:18 ` [PATCH 1/3] gpio: syscon: Add support for a custom get operation Linus Walleij
2019-09-23 13:34   ` Paul Kocialkowski

Linux-GPIO Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-gpio/0 linux-gpio/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-gpio linux-gpio/ https://lore.kernel.org/linux-gpio \
		linux-gpio@vger.kernel.org linux-gpio@archiver.kernel.org
	public-inbox-index linux-gpio

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-gpio


AGPL code for this site: git clone https://public-inbox.org/ public-inbox