From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Samuel Ortiz <sameo@linux.intel.com>,
linux-wireless@vger.kernel.org,
Christophe Ricard <christophe.ricard@gmail.com>
Subject: Re: [PATCH v1 1/2] NFC: st21nfca: Add GPIO ACPI mapping table
Date: Mon, 22 May 2017 21:33:35 +0300 [thread overview]
Message-ID: <1495478015.6967.65.camel@linux.intel.com> (raw)
In-Reply-To: <20170424184128.48061-1-andriy.shevchenko@linux.intel.com>
On Mon, 2017-04-24 at 21:41 +0300, Andy Shevchenko wrote:
> In order to make GPIO ACPI library stricter prepare users of
> gpiod_get_index() to correctly behave when there no mapping is
> provided by firmware.
>
> Here we add explicit mapping between _CRS GpioIo() resources and
> their names used in the driver.
>
Samuel, can you apply this if no objections?
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/nfc/st21nfca/i2c.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/nfc/st21nfca/i2c.c b/drivers/nfc/st21nfca/i2c.c
> index 02a920ca07c8..a04f24334b54 100644
> --- a/drivers/nfc/st21nfca/i2c.c
> +++ b/drivers/nfc/st21nfca/i2c.c
> @@ -501,14 +501,25 @@ static struct nfc_phy_ops i2c_phy_ops = {
> .disable = st21nfca_hci_i2c_disable,
> };
>
> +static const struct acpi_gpio_params enable_gpios = { 1, 0, false };
> +
> +static const struct acpi_gpio_mapping acpi_st21nfca_gpios[] = {
> + { "enable-gpios", &enable_gpios, 1 },
> + {},
> +};
> +
> static int st21nfca_hci_i2c_acpi_request_resources(struct i2c_client
> *client)
> {
> struct st21nfca_i2c_phy *phy = i2c_get_clientdata(client);
> struct device *dev = &client->dev;
> + int ret;
> +
> + ret = acpi_dev_add_driver_gpios(ACPI_COMPANION(dev),
> acpi_st21nfca_gpios);
> + if (ret)
> + return ret;
>
> /* Get EN GPIO from ACPI */
> - phy->gpiod_ena = devm_gpiod_get_index(dev,
> ST21NFCA_GPIO_NAME_EN, 1,
> - GPIOD_OUT_LOW);
> + phy->gpiod_ena = devm_gpiod_get(dev, ST21NFCA_GPIO_NAME_EN,
> GPIOD_OUT_LOW);
> if (IS_ERR(phy->gpiod_ena)) {
> nfc_err(dev, "Unable to get ENABLE GPIO\n");
> return PTR_ERR(phy->gpiod_ena);
> @@ -523,8 +534,7 @@ static int
> st21nfca_hci_i2c_of_request_resources(struct i2c_client *client)
> struct device *dev = &client->dev;
>
> /* Get GPIO from device tree */
> - phy->gpiod_ena = devm_gpiod_get_index(dev,
> ST21NFCA_GPIO_NAME_EN, 0,
> - GPIOD_OUT_HIGH);
> + phy->gpiod_ena = devm_gpiod_get(dev, ST21NFCA_GPIO_NAME_EN,
> GPIOD_OUT_HIGH);
> if (IS_ERR(phy->gpiod_ena)) {
> nfc_err(dev, "Failed to request enable pin\n");
> return PTR_ERR(phy->gpiod_ena);
> @@ -618,6 +628,7 @@ static int st21nfca_hci_i2c_remove(struct
> i2c_client *client)
> if (phy->powered)
> st21nfca_hci_i2c_disable(phy);
>
> + acpi_dev_remove_driver_gpios(ACPI_COMPANION(&client->dev));
> return 0;
> }
>
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
next prev parent reply other threads:[~2017-05-22 18:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-24 18:41 [PATCH v1 1/2] NFC: st21nfca: Add GPIO ACPI mapping table Andy Shevchenko
2017-04-24 18:41 ` [PATCH v1 2/2] NFC: st21nfca: Get rid of code duplication in ->probe() Andy Shevchenko
2017-05-22 18:33 ` Andy Shevchenko [this message]
2017-06-05 20:20 ` [PATCH v1 1/2] NFC: st21nfca: Add GPIO ACPI mapping table Andy Shevchenko
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=1495478015.6967.65.camel@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=christophe.ricard@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=sameo@linux.intel.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 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.