All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: "Palande, Ameya" <ameya.palande@ti.com>
Cc: linux-iio@vger.kernel.org
Subject: Re: drv2665 driver placement query
Date: Thu, 12 Jan 2012 23:33:40 +0100	[thread overview]
Message-ID: <4F0F5FC4.3080008@metafoo.de> (raw)
In-Reply-To: <CAHFNHeW79qOv8=VudvRZsbR3C4DcMhWA-bqhC1k+R7dj5XNYqw@mail.gmail.com>

On 01/12/2012 11:05 PM, Palande, Ameya wrote:
> Hi Lars,
> 
> On Thu, Jan 12, 2012 at 12:09 PM, Lars-Peter Clausen <lars@metafoo.de> wrote:
>> Hi,
>>
>> On 01/12/2012 08:39 PM, Palande, Ameya wrote:
>>> Hi,
>>>
>>> I submitted a driver for Texas Instruments DRV2665 chip for placing it
>>> under "drivers/misc".
>>> But I guess it is more appropriate to put it under "drivers/staging/iio"
>>> Reference: https://lkml.org/lkml/2012/1/10/31
>>
>>>
>>> Here is the description of the chip:
>>>
>>> DRV2665 IC drives piezo actuator which enables a wide variety of
>>> high-resolution haptic effects, including feedback localized to
>>> specific areas of the device, as well as vibrations and pulses that
>>> change in frequency based on how the user is interacting with the
>>> device.
>>>
>>> Can you tell me where should I put it under "staging/iio" ?
>>>
>>
>>
>> I had a short look at your driver and it looks to me as if all it does is
>> expose the raw registers as sysfs attributes. So I think one thing you first
>> have to do is to figure out a generic interface for the device class. How does
>> a application usually use these kinds of devices, how can the interface be
>> abstracted, so it applies to a wider range of devices of this class and not
>> only to this one specific device.
> 
> Workflow for using DRV2665 is:
> 1. Set the desired configuration
> 2. Send waveform data to data register

Well that's basically the work-flow for every driver ;) Setup config, write data.

But the data and config also have a meaning. So what is the high-level task a
software want to perform when setting certain up a configuration?

A good start would probably to break the config register down into it's
different elements and don't expose the raw register anymore.

> 
> I am not sure what kind of generic abstraction I can get out of this chip :(
> 
> The advantages that I feel for writing this driver are:
> 1. DRV2665 probing on i2c bus
> 2. Simple and easy to use interface for user space app through sysfs
> 3. Runtime Power management
> 
> I am not aware of similar devices with which I can compare this chip
> and extract generic interface.
> 
> Cheers,
> Ameya.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2012-01-12 22:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-12 19:39 drv2665 driver placement query Palande, Ameya
2012-01-12 20:09 ` Lars-Peter Clausen
2012-01-12 22:05   ` Palande, Ameya
2012-01-12 22:33     ` Lars-Peter Clausen [this message]
2012-01-12 22:51       ` Palande, Ameya
2012-01-13 12:27         ` J.I. Cameron
2012-01-13 19:06           ` Palande, Ameya

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=4F0F5FC4.3080008@metafoo.de \
    --to=lars@metafoo.de \
    --cc=ameya.palande@ti.com \
    --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.