Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753260AbdHWEwV (ORCPT ); Wed, 23 Aug 2017 00:52:21 -0400 Received: from mout02.posteo.de ([185.67.36.66]:54628 "EHLO mout02.posteo.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751220AbdHWEwU (ORCPT ); Wed, 23 Aug 2017 00:52:20 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 23 Aug 2017 06:52:17 +0200 From: Martin Kepplinger To: Harinath Nampally Cc: jic23@kernel.org, knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net, gregkh@linuxfoundation.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, amsfield22@gmail.com, linux-iio-owner@vger.kernel.org Subject: Re: [PATCH v4] iio: accel: mma8452: improvements to handle multiple events In-Reply-To: <99ef70c3-64f0-66eb-5c1a-45a034ead5d5@gmail.com> References: <1503245215-12150-1-git-send-email-harinath922@gmail.com> <99ef70c3-64f0-66eb-5c1a-45a034ead5d5@gmail.com> Message-ID: User-Agent: Posteo Webmail Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1792 Lines: 58 Am 23.08.2017 02:29 schrieb Harinath Nampally: >> >> If rising: use transient OR ff_mt device-dependent like before. But >> now save it in a simple flag, >> whether transient registers are available. > Ok, is it good idea to add the flag to struct mma_chip_info like below? > > * @mma_scales: scale factors for converting > register values > * to m/s^2; 3 modes: 2g, 4g, 8g; 2 > integers > * per mode: m/s^2 and micro m/s^2 > + * @transient_supported: flag indicating whether chip support > transient > + * event, as not all chips support > transient event > */ > struct mma_chip_info { > u8 chip_id; > const struct iio_chan_spec *channels; > int num_channels; > const int mma_scales[3][2]; > + bool transient_supported; > }; > I'd avoid boolean and use int and define EVENT_TYPE_TRANSIENT BIT(1) and EVENT_TYPE_FF_MT BIT(0) for example. So something like "supported_event_types" can have all types supported. But this has quite some implications on your implementation, so your complete solution would be more interesting to see. Keep it simple and focus on only this one issue of enabling freefall (FF_MT registers) for the devices that currently use transient registers. thanks >> >> If falling: switch to ff_mt in any case. (fixing freefall for the >> transient-devices) > ok sure. > > Thanks, > > Hari > > On 08/21/2017 04:47 AM, Martin Kepplinger wrote: >> >> If rising: use transient OR ff_mt device-dependent like before. But >> now save it in a simple flag, >> whether transient registers are available. >> >> If falling: switch to ff_mt in any case. (fixing freefall for the >> transient-devices)