linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Sekhar Nori <nsekhar@ti.com>, Kevin Hilman <khilman@kernel.org>,
	Lee Jones <lee.jones@linaro.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Jingoo Han <jingoohan1@gmail.com>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Lechner <david@lechnology.com>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-fbdev@vger.kernel.org
Subject: [PATCH 01/12] backlight: gpio: allow to probe non-pdata devices from board files
Date: Tue, 25 Jun 2019 18:34:23 +0200	[thread overview]
Message-ID: <20190625163434.13620-2-brgl@bgdev.pl> (raw)
In-Reply-To: <20190625163434.13620-1-brgl@bgdev.pl>

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Currently we can only probe devices that either use device tree or pass
platform data to probe(). Rename gpio_backlight_probe_dt() to
gpio_backlight_probe_prop() and use generic device properties instead
of OF specific helpers. Reverse the logic checking the presence of
platform data in probe(). This way we can probe devices() registered
from machine code that neither have a DT node nor use platform data.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 drivers/video/backlight/gpio_backlight.c | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/drivers/video/backlight/gpio_backlight.c b/drivers/video/backlight/gpio_backlight.c
index b9300f3e1ee6..654c19d3a81d 100644
--- a/drivers/video/backlight/gpio_backlight.c
+++ b/drivers/video/backlight/gpio_backlight.c
@@ -54,15 +54,14 @@ static const struct backlight_ops gpio_backlight_ops = {
 	.check_fb	= gpio_backlight_check_fb,
 };
 
-static int gpio_backlight_probe_dt(struct platform_device *pdev,
-				   struct gpio_backlight *gbl)
+static int gpio_backlight_probe_prop(struct platform_device *pdev,
+				     struct gpio_backlight *gbl)
 {
 	struct device *dev = &pdev->dev;
-	struct device_node *np = dev->of_node;
 	enum gpiod_flags flags;
 	int ret;
 
-	gbl->def_value = of_property_read_bool(np, "default-on");
+	gbl->def_value = device_property_read_bool(dev, "default-on");
 	flags = gbl->def_value ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW;
 
 	gbl->gpiod = devm_gpiod_get(dev, NULL, flags);
@@ -86,26 +85,15 @@ static int gpio_backlight_probe(struct platform_device *pdev)
 	struct backlight_properties props;
 	struct backlight_device *bl;
 	struct gpio_backlight *gbl;
-	struct device_node *np = pdev->dev.of_node;
 	int ret;
 
-	if (!pdata && !np) {
-		dev_err(&pdev->dev,
-			"failed to find platform data or device tree node.\n");
-		return -ENODEV;
-	}
-
 	gbl = devm_kzalloc(&pdev->dev, sizeof(*gbl), GFP_KERNEL);
 	if (gbl == NULL)
 		return -ENOMEM;
 
 	gbl->dev = &pdev->dev;
 
-	if (np) {
-		ret = gpio_backlight_probe_dt(pdev, gbl);
-		if (ret)
-			return ret;
-	} else {
+	if (pdata) {
 		/*
 		 * Legacy platform data GPIO retrieveal. Do not expand
 		 * the use of this code path, currently only used by one
@@ -126,6 +114,10 @@ static int gpio_backlight_probe(struct platform_device *pdev)
 		gbl->gpiod = gpio_to_desc(pdata->gpio);
 		if (!gbl->gpiod)
 			return -EINVAL;
+	} else {
+		ret = gpio_backlight_probe_prop(pdev, gbl);
+		if (ret)
+			return ret;
 	}
 
 	memset(&props, 0, sizeof(props));
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-06-25 16:36 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-25 16:34 [PATCH 00/12] ARM: davinci: da850-evm: remove more legacy GPIO calls Bartosz Golaszewski
2019-06-25 16:34 ` Bartosz Golaszewski [this message]
2019-06-28 12:58   ` [PATCH 01/12] backlight: gpio: allow to probe non-pdata devices from board files Bartlomiej Zolnierkiewicz
2019-07-02  9:02   ` Daniel Thompson
2019-06-25 16:34 ` [PATCH 02/12] backlight: gpio: use a helper variable for &pdev->dev Bartosz Golaszewski
2019-06-28 12:59   ` Bartlomiej Zolnierkiewicz
2019-07-02  9:05   ` Daniel Thompson
2019-06-25 16:34 ` [PATCH 03/12] backlight: gpio: pull the non-pdata device probing code into probe() Bartosz Golaszewski
2019-06-27 11:14   ` Linus Walleij
2019-06-28 12:59   ` Bartlomiej Zolnierkiewicz
2019-07-02  9:11   ` Daniel Thompson
2019-06-25 16:34 ` [PATCH 04/12] ARM: davinci: refresh davinci_all_defconfig Bartosz Golaszewski
2019-06-25 16:34 ` [PATCH 05/12] ARM: davinci_all_defconfig: enable GPIO backlight Bartosz Golaszewski
2019-06-25 16:34 ` [PATCH 06/12] ARM: davinci: da850-evm: model the backlight GPIO as an actual device Bartosz Golaszewski
2019-06-27 11:16   ` Linus Walleij
2019-06-25 16:34 ` [PATCH 07/12] fbdev: da8xx: add support for a regulator Bartosz Golaszewski
2019-06-28 13:03   ` Bartlomiej Zolnierkiewicz
2019-06-25 16:34 ` [PATCH 08/12] ARM: davinci: da850-evm: switch to using a fixed regulator for lcdc Bartosz Golaszewski
2019-06-27 11:18   ` Linus Walleij
2019-06-25 16:34 ` [PATCH 09/12] fbdev: da8xx: remove panel_power_ctrl() callback from platform data Bartosz Golaszewski
2019-06-28 13:04   ` Bartlomiej Zolnierkiewicz
2019-06-25 16:34 ` [PATCH 10/12] fbdev: da8xx-fb: use devm_platform_ioremap_resource() Bartosz Golaszewski
2019-06-28 13:04   ` Bartlomiej Zolnierkiewicz
2019-06-25 16:34 ` [PATCH 11/12] fbdev: da8xx-fb: drop a redundant if Bartosz Golaszewski
2019-06-28 13:05   ` Bartlomiej Zolnierkiewicz
2019-06-25 16:34 ` [PATCH 12/12] fbdev: da8xx: use resource management for dma Bartosz Golaszewski
2019-06-28 13:06   ` Bartlomiej Zolnierkiewicz
2019-07-01 14:40 ` [PATCH 00/12] ARM: davinci: da850-evm: remove more legacy GPIO calls Sekhar Nori
2019-07-02  6:36   ` Lee Jones
2019-07-02 10:06     ` Daniel Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190625163434.13620-2-brgl@bgdev.pl \
    --to=brgl@bgdev.pl \
    --cc=b.zolnierkie@samsung.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=daniel.thompson@linaro.org \
    --cc=david@lechnology.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jingoohan1@gmail.com \
    --cc=khilman@kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nsekhar@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).