All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Lukasz Czerwinski <l.czerwinski@samsung.com>, jic23@cam.ac.uk
Cc: denis.ciocca@st.com, linux-iio@vger.kernel.org,
	lee.jones@linaro.org, devicetree@vger.kernel.org
Subject: Re: [RFC v2 PATCH 07/14] iio: st_accel: Add event subsystem to st_accel driver
Date: Tue, 01 Oct 2013 17:17:09 +0100	[thread overview]
Message-ID: <524AF585.1090801@kernel.org> (raw)
In-Reply-To: <1380299538-22047-8-git-send-email-l.czerwinski@samsung.com>

On 09/27/13 17:32, Lukasz Czerwinski wrote:
> This patch adds event support for iio st_accel driver.
> 
> Signed-off-by: Lukasz Czerwinski <l.czerwinski@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
One bug introduced...

There is no need to have a dataready interrupt to make use of triggers
(i.e. to have a buffer). It is obviously needed to provide a trigger, but
there are plenty of others available (sysfs, soon to be high resolution timer,
general interrupt - usually gpio, and lots of driver provided ones).

Here the buffer is created whatever, but it is only freed if there is a
dataready interrupt.  Clearly that doesn't make sense.

I'm guessing this might be a merge issue rather than being deliberate!
...
> @@ -511,10 +595,10 @@ void st_accel_common_remove(struct iio_dev *indio_dev)
>  	struct st_sensor_data *adata = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (adata->get_irq_data_ready(indio_dev) > 0)
> +	if (adata->get_irq_data_ready(indio_dev) > 0) {
>  		st_sensors_deallocate_trigger(indio_dev);
> -
> -	st_accel_deallocate_ring(indio_dev);
> +		st_accel_deallocate_ring(indio_dev);
deallocating the ring is not dependent on the data_ready irq.
> +	}
>  }
>  EXPORT_SYMBOL(st_accel_common_remove);
>  
> 

WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Lukasz Czerwinski
	<l.czerwinski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	jic23-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org
Cc: denis.ciocca-qxv4g6HH51o@public.gmane.org,
	linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC v2 PATCH 07/14] iio: st_accel: Add event subsystem to st_accel driver
Date: Tue, 01 Oct 2013 17:17:09 +0100	[thread overview]
Message-ID: <524AF585.1090801@kernel.org> (raw)
In-Reply-To: <1380299538-22047-8-git-send-email-l.czerwinski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

On 09/27/13 17:32, Lukasz Czerwinski wrote:
> This patch adds event support for iio st_accel driver.
> 
> Signed-off-by: Lukasz Czerwinski <l.czerwinski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> Signed-off-by: Kyungmin Park <kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
One bug introduced...

There is no need to have a dataready interrupt to make use of triggers
(i.e. to have a buffer). It is obviously needed to provide a trigger, but
there are plenty of others available (sysfs, soon to be high resolution timer,
general interrupt - usually gpio, and lots of driver provided ones).

Here the buffer is created whatever, but it is only freed if there is a
dataready interrupt.  Clearly that doesn't make sense.

I'm guessing this might be a merge issue rather than being deliberate!
...
> @@ -511,10 +595,10 @@ void st_accel_common_remove(struct iio_dev *indio_dev)
>  	struct st_sensor_data *adata = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (adata->get_irq_data_ready(indio_dev) > 0)
> +	if (adata->get_irq_data_ready(indio_dev) > 0) {
>  		st_sensors_deallocate_trigger(indio_dev);
> -
> -	st_accel_deallocate_ring(indio_dev);
> +		st_accel_deallocate_ring(indio_dev);
deallocating the ring is not dependent on the data_ready irq.
> +	}
>  }
>  EXPORT_SYMBOL(st_accel_common_remove);
>  
> 

  reply	other threads:[~2013-10-01 15:16 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-27 16:32 [RFC v2 PATCH 00/14] iio: STMicroelectronics DT and event support Lukasz Czerwinski
2013-09-27 16:32 ` Lukasz Czerwinski
2013-09-27 16:32 ` [RFC v2 PATCH 01/14] iio: st_common: New interrupt interface Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-01 15:34   ` Jonathan Cameron
2013-10-01 15:34     ` Jonathan Cameron
2013-10-01 16:22     ` Jonathan Cameron
2013-10-01 16:22       ` Jonathan Cameron
2013-10-21 11:59     ` Mark Rutland
2013-10-21 11:59       ` Mark Rutland
2013-10-21 11:48   ` Mark Rutland
2013-10-21 11:48     ` Mark Rutland
2013-09-27 16:32 ` [RFC v2 PATCH 02/14] iio: st_accel: Add dt bindings Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-01 15:40   ` Jonathan Cameron
2013-10-01 15:40     ` Jonathan Cameron
2013-10-21 11:37     ` Mark Rutland
2013-10-21 11:37       ` Mark Rutland
2013-09-27 16:32 ` [RFC v2 PATCH 03/14] iio: st_gyro: " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-09-27 16:32 ` [RFC v2 PATCH 04/14] iio: st_mang: " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-09-27 16:32 ` [RFC v2 PATCH 05/14] iio: st_pressure: " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-09-27 16:32 ` [RFC v2 PATCH 06/14] iio: st_common: Add threshold events support Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-01 16:09   ` Jonathan Cameron
2013-10-01 16:09     ` Jonathan Cameron
2013-09-27 16:32 ` [RFC v2 PATCH 07/14] iio: st_accel: Add event subsystem to st_accel driver Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-01 16:17   ` Jonathan Cameron [this message]
2013-10-01 16:17     ` Jonathan Cameron
2013-09-27 16:32 ` [RFC v2 PATCH 08/14] iio: iio_magn: Add event ops Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-01 16:21   ` Jonathan Cameron
2013-10-01 16:21     ` Jonathan Cameron
2013-09-27 16:32 ` [RFC v2 PATCH 09/14] iio: st_gyro: " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-09-27 16:32 ` [RFC v2 PATCH 10/14] iio: iio_press: " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-09-27 16:32 ` [RFC v2 PATCH 11/14] Documentation: Add st_magn binding documentation Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-01 16:29   ` Jonathan Cameron
2013-10-01 16:29     ` Jonathan Cameron
2013-10-01 15:49     ` Rob Herring
2013-10-01 15:49       ` Rob Herring
2013-10-22  6:55       ` Lee Jones
2013-10-22  6:55         ` Lee Jones
2013-10-21 11:16   ` Mark Rutland
2013-10-21 11:16     ` Mark Rutland
2013-09-27 16:32 ` [RFC v2 PATCH 12/14] Documentation: Add st_gyro " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-21 11:19   ` Mark Rutland
2013-10-21 11:19     ` Mark Rutland
2013-09-27 16:32 ` [RFC v2 PATCH 13/14] Documentation: Add st_pressure " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski
2013-10-21 11:23   ` Mark Rutland
2013-10-21 11:23     ` Mark Rutland
2013-09-27 16:32 ` [RFC v2 PATCH 14/14] Documentation: Add st_accel " Lukasz Czerwinski
2013-09-27 16:32   ` Lukasz Czerwinski

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=524AF585.1090801@kernel.org \
    --to=jic23@kernel.org \
    --cc=denis.ciocca@st.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@cam.ac.uk \
    --cc=l.czerwinski@samsung.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-iio@vger.kernel.org \
    /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.