All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@bootlin.com>
To: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>,
	Brian Norris <computersforpeace@gmail.com>,
	Marek Vasut <marek.vasut@gmail.com>,
	Richard Weinberger <richard@nod.at>,
	Zhouyang Jia <jiazhouyang09@gmail.com>,
	linux-mtd@lists.infradead.org,
	linux-kernel@vger.kernel.org (open list)
Subject: Re: [PATCH v2 7/8] mtd: maps: gpio-addr-flash: Add support for device-tree devices
Date: Thu, 27 Sep 2018 13:39:03 +0200	[thread overview]
Message-ID: <20180927133903.43195296@bbrezillon> (raw)
In-Reply-To: <20180905143643.9871-8-ricardo.ribalda@gmail.com>

On Wed,  5 Sep 2018 16:36:42 +0200
Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> wrote:

> +static int gpio_flash_probe_gpios(struct platform_device *pdev,
> +				  struct async_state *state)
> +{
> +	struct physmap_flash_data *pdata;
> +	struct device_node *dn;
> +	struct resource *gpios = NULL;
> +	int i;
> +
> +	dn = pdev->dev.of_node;
> +	if (dn) {
> +		state->gpio_count = of_gpio_count(dn);
> +	} else {
> +		pdata = dev_get_platdata(&pdev->dev);
> +		if (!pdata)
> +			return -EINVAL;
> +		gpios = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> +		if (IS_ERR(gpios) || !gpios->end)
> +			return -EINVAL;
> +		state->gpio_count = gpios->end;
> +	}
> +
> +	state->gpio_addrs = devm_kzalloc(&pdev->dev,
> +					 sizeof(state->gpio_addrs[0])
> +						* state->gpio_count,
> +					 GFP_KERNEL);
> +	if (!state->gpio_addrs)
> +		return -ENOMEM;
> +
> +	for (i = 0; i < state->gpio_count; i++) {
> +		long gpio;
> +		int ret;
> +
> +		if (dn)
> +			gpio = of_get_gpio(dn, i);
> +		else
> +			gpio = ((unsigned long *)gpios->start)[i];
> +

Hm, we should probably switch to GPIO descs (instead of GPIO numbers)
before adding DT support. This should make the code much more simpler
and remove one more user of the old/deprecated GPIO API.

> +		if (gpio < 0)
> +			return gpio;
> +
> +		ret =  devm_gpio_request(&pdev->dev, gpio, DRIVER_NAME);
> +		if (ret < 0) {
> +			dev_err(&pdev->dev, "failed to request gpio %ld\n",
> +				gpio);
> +			return ret;
> +		}
> +		state->gpio_addrs[i] = gpio;
> +		gpio_direction_output(state->gpio_addrs[i], 0);
> +	}
> +
> +	return 0;
> +}

  reply	other threads:[~2018-09-27 11:39 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-05 14:36 [PATCH v2 0/8] gpio-addr-flash: Support for device-tree and cleanup Ricardo Ribalda Delgado
2018-09-05 14:36 ` Ricardo Ribalda Delgado
2018-09-05 14:36 ` [PATCH v2 1/8] mtd: maps: gpio-addr-flash: Replace custom printk Ricardo Ribalda Delgado
2018-09-05 14:36 ` [PATCH v2 2/8] mtd: maps: gpio-addr-flash: Fix ioremapped size Ricardo Ribalda Delgado
2018-09-05 14:36   ` Ricardo Ribalda Delgado
2018-09-05 14:36 ` [PATCH v2 3/8] mtd: maps: gpio-addr-flash: Use devm_* functions Ricardo Ribalda Delgado
2018-09-27 11:35   ` Boris Brezillon
2018-09-29  6:24     ` Ricardo Ribalda Delgado
2018-09-05 14:36 ` [PATCH v2 4/8] mtd: maps: gpio-addr-flash: Use order insted of size Ricardo Ribalda Delgado
2018-09-05 14:36 ` [PATCH v2 5/8] mtd: maps: gpio-addr-flash: Replace array with an integer Ricardo Ribalda Delgado
2018-09-27 11:42   ` Boris Brezillon
2018-10-01 12:10     ` Ricardo Ribalda Delgado
2018-10-01 12:32       ` Boris Brezillon
2018-09-05 14:36 ` [PATCH v2 6/8] mtd: maps: gpio-addr-flash: Split allocation in two Ricardo Ribalda Delgado
2018-10-01  9:58   ` Ricardo Ribalda Delgado
2018-10-01 11:38     ` Boris Brezillon
2018-10-01 11:40       ` Ricardo Ribalda Delgado
2018-09-05 14:36 ` [PATCH v2 7/8] mtd: maps: gpio-addr-flash: Add support for device-tree devices Ricardo Ribalda Delgado
2018-09-05 14:36   ` Ricardo Ribalda Delgado
2018-09-27 11:39   ` Boris Brezillon [this message]
2018-09-05 14:36 ` [PATCH v2 8/8] dt-binding: mtd: Document gpio-addr-flash Ricardo Ribalda Delgado
2018-09-05 14:36   ` Ricardo Ribalda Delgado
2018-09-25 20:48   ` Rob Herring
2018-09-26  6:33     ` Ricardo Ribalda Delgado
2018-09-26  6:39     ` [PATCH v3 " Ricardo Ribalda Delgado
2018-09-27 20:03       ` Rob Herring
2018-09-27 20:03         ` Rob Herring
2018-09-20 19:46 ` [PATCH v2 0/8] gpio-addr-flash: Support for device-tree and cleanup Ricardo Ribalda Delgado
2018-09-27 11:47 ` Boris Brezillon

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=20180927133903.43195296@bbrezillon \
    --to=boris.brezillon@bootlin.com \
    --cc=computersforpeace@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=jiazhouyang09@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marek.vasut@gmail.com \
    --cc=ricardo.ribalda@gmail.com \
    --cc=richard@nod.at \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.