Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc7c0f7e authored by Hartmut Knaack's avatar Hartmut Knaack Committed by Jonathan Cameron
Browse files

staging:iio:ad799x Move to devm_request_threaded_irq to make device-removal simpler.

parent a37d70eb
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -577,7 +577,8 @@ static int ad799x_probe(struct i2c_client *client,
		goto error_disable_reg;

	if (client->irq > 0) {
		ret = request_threaded_irq(client->irq,
		ret = devm_request_threaded_irq(&client->dev,
						client->irq,
						NULL,
						ad799x_event_handler,
						IRQF_TRIGGER_FALLING |
@@ -589,13 +590,10 @@ static int ad799x_probe(struct i2c_client *client,
	}
	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:
@@ -611,8 +609,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))