Hi Dmitry,
Thank you for your feedback.
A patch got already pushed earlier this month:
https://lists.01.org/pipermail/linux-nfc/2014-November/003123.html
The i2c-core is already running the i2c_of_parse_and_map function when
registering the slave device when using dts. This step got removed for
this reason.
However, i will take into account your second point in order to report
devm_gpio_request_one instead of -ENODEV in a future patchset.
Best Regards
Christophe
On Fri, 14 Nov 2014 14:32:24 -0800
Dmitry Torokhov d...@chromium.org wrote:
Return value of irq_of_parse_and_map() is unsigned int, with 0
indicating failure, so testing for negative result never works.
Also report error returned by devm_gpio_request_one instead of
clobbering it with -ENODEV.
Signed-off-by: Dmitry Torokhov d...@chromium.org
---
drivers/nfc/st21nfca/i2c.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/nfc/st21nfca/i2c.c b/drivers/nfc/st21nfca/i2c.c
index 0ea756b..6d6d282 100644
--- a/drivers/nfc/st21nfca/i2c.c
+++ b/drivers/nfc/st21nfca/i2c.c
@@ -531,20 +531,19 @@ static int
st21nfca_hci_i2c_of_request_resources(struct i2c_client *client)
clf_enable); if (r) {
nfc_err(client-dev, Failed to request enable
pin\n);
- return -ENODEV;
+ return r;
}
phy-gpio_ena = gpio;
/* IRQ */
- r = irq_of_parse_and_map(pp, 0);
- if (r 0) {
- nfc_err(client-dev, Unable to get irq, error:
%d\n, r);
- return r;
+ client-irq = irq_of_parse_and_map(pp, 0);
+ if (!client-irq) {
+ nfc_err(client-dev, Unable to get irq\n);
+ return -EINVAL;
}
phy-irq_polarity = irq_get_trigger_type(r);
- client-irq = r;
return 0;
}
--
To unsubscribe from this list: send the line unsubscribe linux-wireless in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html