On 01/01/14 23:04, Hartmut Knaack wrote:
Move to devm_request_threaded_irq to make device-removal easier. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx>
Applied to the togreg branch of iio.git I took the short description above and used it as the patch title as it was more accurate after the patch split up.
--- diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c index 3deb390..bc886f6 100644 --- a/drivers/staging/iio/adc/ad799x_core.c +++ b/drivers/staging/iio/adc/ad799x_core.c @@ -573,25 +573,23 @@ static int ad799x_probe(struct i2c_client *client, goto error_disable_reg; if (client->irq > 0) { - ret = request_threaded_irq(client->irq, - NULL, - ad799x_event_handler, - IRQF_TRIGGER_FALLING | - IRQF_ONESHOT, - client->name, - indio_dev); + ret = devm_request_threaded_irq(&client->dev, + client->irq, + NULL, + ad799x_event_handler, + IRQF_TRIGGER_FALLING | + IRQF_ONESHOT, + client->name, + indio_dev); if (ret) goto error_cleanup_ring; } ret = iio_device_register(indio_dev); if (ret) - goto error_free_irq; + goto error_cleanup_ring; return 0; -error_free_irq: - if (client->irq > 0) - free_irq(client->irq, indio_dev); error_cleanup_ring: ad799x_ring_cleanup(indio_dev); error_disable_reg: @@ -607,8 +605,6 @@ static int ad799x_remove(struct i2c_client *client) struct ad799x_state *st = iio_priv(indio_dev); iio_device_unregister(indio_dev); - if (client->irq > 0) - free_irq(client->irq, indio_dev); ad799x_ring_cleanup(indio_dev); if (!IS_ERR(st->reg)) -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
-- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html