Commit 182d4e86 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Samuel Ortiz

NFC: pn544: Convert to use devm_request_threaded_irq()

The error handling will be neat and short when using managed resources.

Convert the driver to use devm_request_threaded_irq().
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent e2c518c6
...@@ -962,9 +962,10 @@ static int pn544_hci_i2c_probe(struct i2c_client *client, ...@@ -962,9 +962,10 @@ static int pn544_hci_i2c_probe(struct i2c_client *client,
pn544_hci_i2c_platform_init(phy); pn544_hci_i2c_platform_init(phy);
r = request_threaded_irq(client->irq, NULL, pn544_hci_i2c_irq_thread_fn, r = devm_request_threaded_irq(&client->dev, client->irq, NULL,
IRQF_TRIGGER_RISING | IRQF_ONESHOT, pn544_hci_i2c_irq_thread_fn,
PN544_HCI_I2C_DRIVER_NAME, phy); IRQF_TRIGGER_RISING | IRQF_ONESHOT,
PN544_HCI_I2C_DRIVER_NAME, phy);
if (r < 0) { if (r < 0) {
nfc_err(&client->dev, "Unable to register IRQ handler\n"); nfc_err(&client->dev, "Unable to register IRQ handler\n");
return r; return r;
...@@ -975,14 +976,9 @@ static int pn544_hci_i2c_probe(struct i2c_client *client, ...@@ -975,14 +976,9 @@ static int pn544_hci_i2c_probe(struct i2c_client *client,
PN544_HCI_I2C_LLC_MAX_PAYLOAD, PN544_HCI_I2C_LLC_MAX_PAYLOAD,
pn544_hci_i2c_fw_download, &phy->hdev); pn544_hci_i2c_fw_download, &phy->hdev);
if (r < 0) if (r < 0)
goto err_hci; return r;
return 0; return 0;
err_hci:
free_irq(client->irq, phy);
return r;
} }
static int pn544_hci_i2c_remove(struct i2c_client *client) static int pn544_hci_i2c_remove(struct i2c_client *client)
...@@ -1000,8 +996,6 @@ static int pn544_hci_i2c_remove(struct i2c_client *client) ...@@ -1000,8 +996,6 @@ static int pn544_hci_i2c_remove(struct i2c_client *client)
if (phy->powered) if (phy->powered)
pn544_hci_i2c_disable(phy); pn544_hci_i2c_disable(phy);
free_irq(client->irq, phy);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment