From: Lars-Peter Clausen <lars@metafoo.de>
To: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Cc: linux-iio@vger.kernel.org, jic23@cam.ac.uk,
Thorsten Nowak <thorsten.nowak@iis.fraunhofer.de>
Subject: Re: [PATCH] iio: gyro: Add itg3200
Date: Thu, 31 Jan 2013 13:12:22 +0100 [thread overview]
Message-ID: <510A5FA6.7010309@metafoo.de> (raw)
In-Reply-To: <201301311254.49626.manuel.stahl@iis.fraunhofer.de>
On 01/31/2013 12:54 PM, Manuel Stahl wrote:
> Am Mittwoch, 30. Januar 2013, 16:22:32 schrieb Lars-Peter Clausen:
>> On 01/29/2013 03:59 PM, Manuel Stahl wrote:
>>> Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
>>
>> Hi,
>>
>> Looks mostly good. One usage of outdated API and otherwise mostly just minor
>> style issues.
>
> Ah sorry, I used 3.7 as reference.
>
> [...]
>
>>> +static irqreturn_t itg3200_trigger_handler(int irq, void *p)
>>> +{
>>> + struct iio_poll_func *pf = p;
>>> + struct iio_dev *indio_dev = pf->indio_dev;
>>> + struct itg3200 *st = iio_priv(indio_dev);
>>> + struct iio_buffer *buffer = indio_dev->buffer;
>>> + __be16 buf[ITG3200_SCAN_ELEMENTS + sizeof(s64)/sizeof(u16)];
>>> +
>>> + /* Clear IRQ */
>>> + itg3200_read_irq_status(indio_dev);
>>> +
>>> + if (!bitmap_empty(indio_dev->active_scan_mask, indio_dev->masklength)) {
>>> + int ret;
>>> + unsigned i, j = 0;
>>> +
>>> + ret = itg3200_read_all_channels(st->i2c, buf);
>>> + if (ret < 0)
>>> + goto error_ret;
>>> +
>>> + /* Select only active scan elements */
>>> + for (i = 0; i < ITG3200_SCAN_ELEMENTS; i++)
>>> + if (iio_scan_mask_query(indio_dev, buffer, i))
>>> + buf[j++] = buf[i];
>>
>> The IIO core can take care of this kind of demuxing for you. If you set
>> available_scan_masks to { 0xffff..., 0x0 } it will know that the device will
>> only be able to sample all channels at once. A user will still be able to
>> select a subset of channels and the IIO core will take care of picking the
>> right samples.
>
> Where do I set the available_scan_masks?
Assign it to indio_dev->available_scan_masks in your probe function.
>
>>
>>> + }
>>> +
>>> + if (indio_dev->scan_timestamp)
>>> + memcpy(buf + indio_dev->scan_bytes - sizeof(s64),
>>> + &pf->timestamp, sizeof(pf->timestamp));
>>> +
>>> + iio_push_to_buffer(buffer, (u8 *)buf, pf->timestamp);
>>
>> This won't work in the latest version of IIO, use
>>
>> iio_push_to_buffers(indio_dev, (u8 *)buf); instead
>
> [...]
>
>> Do we really need this wrapper? I think it might be better to move
>> itg3200_set_irq_data_rdy here, especially considering that it is unused in
>> case buffer support is not enabled.
>>
>> Similar I think it makes sense to move itg3200_read_all_channels and
>> itg3200_read_irq_status to tg3200_buffer.c
>
> That's OK, I just need to put the register definitions into the header file.
> Actually itg3200_read_irq_status is not needed anyway since we use a
> non latched IRQ line.
>
> I would also combine itg3200_buffer.c and itg3200_trigger.c into a single file.
> Any suggestions for the name?
Usually it's just called ..._buffer even though it has the code for both the
trigger and the buffer.
next prev parent reply other threads:[~2013-01-31 12:11 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-17 8:27 [PATCH 1/1] staging: iio: Integration gyroscope itg3200 Thorsten Nowak
2012-08-17 10:40 ` Dan Carpenter
2012-08-17 10:41 ` Jonathan Cameron
2012-08-17 12:07 ` Peter Meerwald
2013-01-29 14:59 ` [PATCH] iio: gyro: Add itg3200 Manuel Stahl
2013-01-30 15:22 ` Lars-Peter Clausen
2013-01-31 11:54 ` Manuel Stahl
2013-01-31 12:12 ` Lars-Peter Clausen [this message]
2013-01-31 12:17 ` [PATCH V3] " Manuel Stahl
2013-01-31 15:21 ` Lars-Peter Clausen
2013-01-31 18:37 ` Manuel Stahl
2013-01-31 19:14 ` Lars-Peter Clausen
2013-02-01 8:51 ` [PATCH V4] " Manuel Stahl
2013-02-01 10:07 ` Lars-Peter Clausen
2013-02-02 9:34 ` Jonathan Cameron
2013-01-31 9:36 ` [PATCH] " Lars-Peter Clausen
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=510A5FA6.7010309@metafoo.de \
--to=lars@metafoo.de \
--cc=jic23@cam.ac.uk \
--cc=linux-iio@vger.kernel.org \
--cc=manuel.stahl@iis.fraunhofer.de \
--cc=thorsten.nowak@iis.fraunhofer.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).