From: Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Johan Hovold <johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Octavian Purdila
<octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Linus Walleij
<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Alexandre Courbot
<gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org,
Samuel Ortiz <sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
lkml <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Daniel Baluta
<daniel.baluta-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Laurentiu Palcu
<laurentiu.palcu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v2 1/3] mfd: add support for Diolan DLN-2 devices
Date: Tue, 2 Sep 2014 17:07:33 +0200 [thread overview]
Message-ID: <20140902150733.GX4894@localhost> (raw)
In-Reply-To: <20140902080010.GD17117@lee--X1>
On Tue, Sep 02, 2014 at 09:00:10AM +0100, Lee Jones wrote:
> On Mon, 01 Sep 2014, Johan Hovold wrote:
> > No, no. USB is not a function of the MFD device, it's the transport.
> > Thus there should be no USB MFD-cell. No subdriver can work without it.
> >
> > And the USB id belongs in the MFD-driver in the same way that an
> > i2c id (address) does.
> >
> > Just like an MFD device with i2c as a transport, this driver would
> > function as an arbiter to a shared resource (i.e. the register space).
> > The reason it seems much more USB-centric than an i2c-mfd driver is that
> > that transport API is simpler and some code have also already been
> > generalised (e.g. regmap), whereas we appear to have only two USB
> > mfd-drivers thus far.
> >
> > The viperboard is perhaps a bad example in so far that it has pushed the
> > transport details down into the subdrivers (and thus into gpio, i2c and
> > iio subsystems) instead of handling it one place.
>
> Thanks for your explanation. I take your point about the USB ID and I
> did say I was guessing that the USB part should exist as a child
> device.
>
> So after your comments I decided to do a little investigation. It
> appears that this MFD driver is _just_ using the common API which all
> other devices utilising USB comms are forced to use. Is that correct?
Yes, it's using the low-level USB API, but there's a lot of higher-level
interfaces in place for (fairly) standard things such as the USB class
drivers or the USB serial subsystem.
> If so, I have a question. Is there no way to hide more of the USB
> specifics inside a better, simpler API? It looks like the drivers
> which use USB are subjected to a lot (too much) of what might be
> considered internals. Or is it just that the client has to tinker
> with too many dials to get anything sensible out? *shudders*
Unfortunately, anything that does not already have a driver is likely to
use some vendor-specific protocol and therefore must use the low-level
API.
> > I haven't looked at the details of the protocol for the device in
> > question, but it might even be possible to use regmap here (as I
> > mentioned in my comments on v1).
>
> Obviously that would be preferred.
Simple register-based USB MFD devices (e.g. only using control
transfers) are conceivable though, and if we start seeing a lot of those
(which I doubt) perhaps that part could be refactored as a regmap bus.
Johan
WARNING: multiple messages have this Message-ID (diff)
From: Johan Hovold <johan@kernel.org>
To: Lee Jones <lee.jones@linaro.org>
Cc: Johan Hovold <johan@kernel.org>,
Octavian Purdila <octavian.purdila@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Linus Walleij <linus.walleij@linaro.org>,
Alexandre Courbot <gnurou@gmail.com>,
wsa@the-dreams.de, Samuel Ortiz <sameo@linux.intel.com>,
Arnd Bergmann <arnd@arndb.de>,
linux-usb@vger.kernel.org, lkml <linux-kernel@vger.kernel.org>,
linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org,
Daniel Baluta <daniel.baluta@intel.com>,
Laurentiu Palcu <laurentiu.palcu@intel.com>
Subject: Re: [PATCH v2 1/3] mfd: add support for Diolan DLN-2 devices
Date: Tue, 2 Sep 2014 17:07:33 +0200 [thread overview]
Message-ID: <20140902150733.GX4894@localhost> (raw)
In-Reply-To: <20140902080010.GD17117@lee--X1>
On Tue, Sep 02, 2014 at 09:00:10AM +0100, Lee Jones wrote:
> On Mon, 01 Sep 2014, Johan Hovold wrote:
> > No, no. USB is not a function of the MFD device, it's the transport.
> > Thus there should be no USB MFD-cell. No subdriver can work without it.
> >
> > And the USB id belongs in the MFD-driver in the same way that an
> > i2c id (address) does.
> >
> > Just like an MFD device with i2c as a transport, this driver would
> > function as an arbiter to a shared resource (i.e. the register space).
> > The reason it seems much more USB-centric than an i2c-mfd driver is that
> > that transport API is simpler and some code have also already been
> > generalised (e.g. regmap), whereas we appear to have only two USB
> > mfd-drivers thus far.
> >
> > The viperboard is perhaps a bad example in so far that it has pushed the
> > transport details down into the subdrivers (and thus into gpio, i2c and
> > iio subsystems) instead of handling it one place.
>
> Thanks for your explanation. I take your point about the USB ID and I
> did say I was guessing that the USB part should exist as a child
> device.
>
> So after your comments I decided to do a little investigation. It
> appears that this MFD driver is _just_ using the common API which all
> other devices utilising USB comms are forced to use. Is that correct?
Yes, it's using the low-level USB API, but there's a lot of higher-level
interfaces in place for (fairly) standard things such as the USB class
drivers or the USB serial subsystem.
> If so, I have a question. Is there no way to hide more of the USB
> specifics inside a better, simpler API? It looks like the drivers
> which use USB are subjected to a lot (too much) of what might be
> considered internals. Or is it just that the client has to tinker
> with too many dials to get anything sensible out? *shudders*
Unfortunately, anything that does not already have a driver is likely to
use some vendor-specific protocol and therefore must use the low-level
API.
> > I haven't looked at the details of the protocol for the device in
> > question, but it might even be possible to use regmap here (as I
> > mentioned in my comments on v1).
>
> Obviously that would be preferred.
Simple register-based USB MFD devices (e.g. only using control
transfers) are conceivable though, and if we start seeing a lot of those
(which I doubt) perhaps that part could be refactored as a regmap bus.
Johan
next prev parent reply other threads:[~2014-09-02 15:07 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 22:00 [PATCH v2 0/3] mfd: add support for Diolan DLN-2 Octavian Purdila
[not found] ` <1409349654-24841-1-git-send-email-octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-08-29 22:00 ` [PATCH v2 1/3] mfd: add support for Diolan DLN-2 devices Octavian Purdila
2014-08-29 22:00 ` Octavian Purdila
2014-09-01 8:37 ` Lee Jones
2014-09-01 8:37 ` Lee Jones
2014-09-01 9:05 ` Octavian Purdila
[not found] ` <CAE1zotK0cddns4f4ay-GJie8O2pjb72+-yYndZvW0hbF0D83HA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-01 9:51 ` Lee Jones
2014-09-01 9:51 ` Lee Jones
2014-09-01 10:22 ` Octavian Purdila
[not found] ` <CAE1zot+T6eq0jrL6_Qh=5nihNOgGEaWe5RCDk7_1XS8ZWaWKqA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-01 11:39 ` Lee Jones
2014-09-01 11:39 ` Lee Jones
2014-09-01 14:55 ` Octavian Purdila
[not found] ` <CAE1zotKNBTEMX8DDYwdwOcq0qZgqxZWazE60TUQeiOmD0a4xbA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-01 15:46 ` Lee Jones
2014-09-01 15:46 ` Lee Jones
2014-09-01 16:22 ` Octavian Purdila
[not found] ` <CAE1zotL-cjHqrdymzYhZq24zx+0qGY8-4JnrVZf-TGXDf5Sm3w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-01 17:54 ` Johan Hovold
2014-09-01 17:54 ` Johan Hovold
2014-09-02 8:00 ` Lee Jones
2014-09-02 8:00 ` Lee Jones
2014-09-02 8:45 ` Octavian Purdila
2014-09-02 8:45 ` Octavian Purdila
[not found] ` <CAE1zotJzFL0bZvNo4mHK3+EhURarhTPDE5n+SdNzof8Nc-CFew-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-02 15:23 ` Johan Hovold
2014-09-02 15:23 ` Johan Hovold
2014-09-03 13:39 ` Octavian Purdila
2014-09-03 13:39 ` Octavian Purdila
[not found] ` <CAE1zotLnBZ83O23kaDz_xVhhSpPW6YyOQmkaTfZaicmf6MfOdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-03 15:37 ` Johan Hovold
2014-09-03 15:37 ` Johan Hovold
2014-09-02 15:07 ` Johan Hovold [this message]
2014-09-02 15:07 ` Johan Hovold
2014-08-29 22:00 ` [PATCH v2 2/3] i2c: add support for Diolan DLN-2 USB-I2C adapter Octavian Purdila
2014-08-29 22:00 ` [PATCH v2 3/3] gpio: add support for the Diolan DLN-2 USB GPIO driver Octavian Purdila
[not found] ` <1409349654-24841-4-git-send-email-octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-09-04 16:32 ` Linus Walleij
2014-09-04 16:32 ` Linus Walleij
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=20140902150733.GX4894@localhost \
--to=johan-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=daniel.baluta-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=laurentiu.palcu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.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.