From: Jonathan Cameron <jic23@kernel.org>
To: Peter Meerwald <pmeerw@pmeerw.net>
Cc: linux-iio@vger.kernel.org,
Oleksandr Kravchenko <o.v.kravchenko@globallogic.com>
Subject: Re: [PATCH v2 01/11] iio:bma180: Enable use of device without IRQ
Date: Sun, 14 Sep 2014 18:47:04 +0100 [thread overview]
Message-ID: <5415D498.90509@kernel.org> (raw)
In-Reply-To: <1408488206-2633-2-git-send-email-pmeerw@pmeerw.net>
On 19/08/14 23:43, Peter Meerwald wrote:
> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
> Cc: Oleksandr Kravchenko <o.v.kravchenko@globallogic.com>
Applied.
> ---
> drivers/iio/accel/bma180.c | 54 +++++++++++++++++++++++++---------------------
> 1 file changed, 29 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
> index a077cc8..f5e26fb 100644
> --- a/drivers/iio/accel/bma180.c
> +++ b/drivers/iio/accel/bma180.c
> @@ -529,7 +529,6 @@ static int bma180_probe(struct i2c_client *client,
> {
> struct bma180_data *data;
> struct iio_dev *indio_dev;
> - struct iio_trigger *trig;
> int ret;
>
> indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> @@ -553,29 +552,31 @@ static int bma180_probe(struct i2c_client *client,
> indio_dev->modes = INDIO_DIRECT_MODE;
> indio_dev->info = &bma180_info;
>
> - trig = iio_trigger_alloc("%s-dev%d", indio_dev->name, indio_dev->id);
> - if (!trig) {
> - ret = -ENOMEM;
> - goto err_chip_disable;
> - }
> + if (client->irq > 0) {
> + data->trig = iio_trigger_alloc("%s-dev%d", indio_dev->name,
> + indio_dev->id);
> + if (!data->trig) {
> + ret = -ENOMEM;
> + goto err_chip_disable;
> + }
>
> - ret = devm_request_irq(&client->dev, client->irq,
> - iio_trigger_generic_data_rdy_poll,
> - IRQF_TRIGGER_RISING, BMA180_IRQ_NAME, trig);
> - if (ret) {
> - dev_err(&client->dev, "unable to request IRQ\n");
> - goto err_trigger_free;
> - }
> + ret = devm_request_irq(&client->dev, client->irq,
> + iio_trigger_generic_data_rdy_poll, IRQF_TRIGGER_RISING,
> + BMA180_IRQ_NAME, data->trig);
> + if (ret) {
> + dev_err(&client->dev, "unable to request IRQ\n");
> + goto err_trigger_free;
> + }
>
> - trig->dev.parent = &client->dev;
> - trig->ops = &bma180_trigger_ops;
> - iio_trigger_set_drvdata(trig, indio_dev);
> - data->trig = trig;
> - indio_dev->trig = trig;
> + data->trig->dev.parent = &client->dev;
> + data->trig->ops = &bma180_trigger_ops;
> + iio_trigger_set_drvdata(data->trig, indio_dev);
> + indio_dev->trig = data->trig;
>
> - ret = iio_trigger_register(trig);
> - if (ret)
> - goto err_trigger_free;
> + ret = iio_trigger_register(data->trig);
> + if (ret)
> + goto err_trigger_free;
> + }
>
> ret = iio_triggered_buffer_setup(indio_dev, NULL,
> bma180_trigger_handler, NULL);
> @@ -595,9 +596,10 @@ static int bma180_probe(struct i2c_client *client,
> err_buffer_cleanup:
> iio_triggered_buffer_cleanup(indio_dev);
> err_trigger_unregister:
> - iio_trigger_unregister(trig);
> + if (data->trig)
> + iio_trigger_unregister(data->trig);
> err_trigger_free:
> - iio_trigger_free(trig);
> + iio_trigger_free(data->trig);
> err_chip_disable:
> bma180_chip_disable(data);
>
> @@ -611,8 +613,10 @@ static int bma180_remove(struct i2c_client *client)
>
> iio_device_unregister(indio_dev);
> iio_triggered_buffer_cleanup(indio_dev);
> - iio_trigger_unregister(data->trig);
> - iio_trigger_free(data->trig);
> + if (data->trig) {
> + iio_trigger_unregister(data->trig);
> + iio_trigger_free(data->trig);
> + }
>
> mutex_lock(&data->mutex);
> bma180_chip_disable(data);
>
next prev parent reply other threads:[~2014-09-14 17:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-19 22:43 [PATCH v2 00/11] iio:bma180: Add BMA250 support v2 Peter Meerwald
2014-08-19 22:43 ` [PATCH v2 01/11] iio:bma180: Enable use of device without IRQ Peter Meerwald
2014-09-14 17:47 ` Jonathan Cameron [this message]
2014-08-19 22:43 ` [PATCH v2 02/11] iio:bma180: Prefix remaining tables and functions with bma18_ Peter Meerwald
2014-09-14 17:47 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 03/11] iio:bma180: Rename BMA_180 to BMA180_ Peter Meerwald
2014-09-14 17:48 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 04/11] iio:bma180: Use bool instead of int for state Peter Meerwald
2014-09-14 17:48 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 05/11] iio:bma180: Expose temperature channel Peter Meerwald
2014-08-20 8:56 ` Daniel Baluta
2014-08-19 22:43 ` [PATCH v2 06/11] iio:bma180: Drop _update_scan_mode() Peter Meerwald
2014-09-14 19:20 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 07/11] iio:bma180: Introduce part_info to differentiate further chip variants Peter Meerwald
2014-09-14 19:20 ` Jonathan Cameron
2014-09-14 19:22 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 08/11] iio:bma180: Introduce part-specific _config() and disable() code Peter Meerwald
2014-09-14 19:20 ` Jonathan Cameron
2014-09-14 19:25 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 09/11] iio:bma180: Prepare for accelerometer channels with different resolutions Peter Meerwald
2014-09-14 19:26 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 10/11] iio:bma180: Implement _available sysfs attribute dynamically Peter Meerwald
2014-09-14 19:26 ` Jonathan Cameron
2014-08-19 22:43 ` [PATCH v2 11/11] iio:bma180: Add BMA250 chip support Peter Meerwald
2014-09-14 19:28 ` Jonathan Cameron
2014-09-14 20:00 ` Peter Meerwald
2014-09-14 20:41 ` Jonathan Cameron
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=5415D498.90509@kernel.org \
--to=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=o.v.kravchenko@globallogic.com \
--cc=pmeerw@pmeerw.net \
/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.