linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Alexandre Belloni
	<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Subject: Re: [PATCH] spi: Force the registration of the spidev devices
Date: Thu, 1 May 2014 15:36:29 -0700	[thread overview]
Message-ID: <20140501223629.GJ3000@lukather> (raw)
In-Reply-To: <20140501011811.GF3245-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2402 bytes --]

On Wed, Apr 30, 2014 at 06:18:11PM -0700, Mark Brown wrote:
> On Wed, Apr 30, 2014 at 11:06:09AM -0700, Maxime Ripard wrote:
> > On Tue, Apr 29, 2014 at 11:37:58AM -0700, Mark Brown wrote:
> 
> > > Why can we not handle this by using sysfs to bind spidev to the
> > > device?
> 
> > I just tried it, and apparently, you can't really use this, since spi
> > devices are created from the device tree (or ACPI) whenever the master
> > registers.
> 
> Can you be more specific as to what the issue is here?  If we actually
> have a specific kernel driver for a device I would strongly expect that
> we would want to use it and not spidev, if we don't have one I don't see
> the issue.
>
> > It doesn't really work either for a device that would be bound to a
> > driver, that you unbind, and then try to bind to spidev instead. It
> > looks like the device is released whenever you unbind it, so you can't
> > really use it afterwards.
> 
> I guess this is the issue...  what exactly is the use case here?  I
> would only expect spidev to be used if there is no in kernel driver for
> a device.

The issue and use case is this: we don't have an upstreamable way to
use spidev.

You suggested a while back to add the compatibles of devices we would
want to drive with spidev in the spidev compatible list. It's fine for
devices where we should have a driver, but don't, or devices that will
never ever be handled by the kernel.

But it actually doesn't work in a case where you can't really predict
what is on the other side of the bus. Either because, on the board
you're using the pins are exposed and it's pretty much up to the user
to know what to put on it. That could be handled by DT overlays
though.

What never works is where the device on the other side is so generic
that you really can't tell what it does. Think of a microcontroller
that would behave as a SPI slave. It's behaviour and what it does is
pretty much dependant of what we flashed on it, and suddenly the
compatible string is not the proper reprensentation anymore.

i2c-dev works great in these cases, because you always have access to
all the bus, and all the devices, except if the device is already used
by someone. The patch I suggested is an attempt to mimic this.

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2014-05-01 22:36 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28 17:22 [PATCH] spi: Force the registration of the spidev devices Maxime Ripard
     [not found] ` <1398705774-12361-1-git-send-email-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-04-29 18:37   ` Mark Brown
     [not found]     ` <20140429183758.GH15125-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-04-29 21:31       ` Martin Sperl
     [not found]         ` <24BF05CB-35FF-42E8-BE5C-A5E4E3D0C52A-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org>
2014-04-30 18:14           ` Maxime Ripard
2014-04-30 20:00             ` Martin Sperl
     [not found]               ` <DA3907EB-0C1B-42FB-B288-9E33F6E24E3E-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org>
2014-04-30 22:19                 ` Maxime Ripard
2014-05-01  1:21                 ` Mark Brown
2014-04-30 18:06       ` Maxime Ripard
2014-05-01  1:18         ` Mark Brown
     [not found]           ` <20140501011811.GF3245-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-05-01 22:36             ` Maxime Ripard [this message]
2014-05-01 23:28               ` Geert Uytterhoeven
     [not found]                 ` <CAMuHMdUWa1_n94sDvv=L_goc+SOnD9CAKi5DzifrY7GWYRdQmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-02 16:55                   ` Mark Brown
2014-05-05  4:17                 ` Maxime Ripard
2014-05-05  7:10                   ` Geert Uytterhoeven
     [not found]                     ` <CAMuHMdWZ1rvC+tkT=CbfMwZtppyJ_KpzT7JrLd5k5P2oxzA+8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-05 13:57                       ` Alexandre Belloni
     [not found]                         ` <20140505135701.GA21940-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org>
2014-05-05 14:22                           ` Geert Uytterhoeven
2014-05-05 19:16                     ` Mark Brown
2014-05-02 17:40               ` Mark Brown
2014-05-05  4:21                 ` Maxime Ripard
2014-05-05 19:17                   ` Mark Brown
     [not found]                     ` <20140505191723.GK22111-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-05-08  2:22                       ` Maxime Ripard
  -- strict thread matches above, loose matches on Subject: below --
2015-05-12 20:33 Maxime Ripard
     [not found] ` <1431462804-30467-1-git-send-email-maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-05-13 11:26   ` Mark Brown
     [not found]     ` <20150513112604.GI3066-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 12:35       ` Michal Suchanek
2015-05-13 12:51       ` Maxime Ripard
2015-05-13 14:36         ` Mark Brown
     [not found]           ` <20150513143610.GT2761-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 15:31             ` Michal Suchanek
     [not found]               ` <CAOMqctTd7xG6mwX9AojTH4uaGDY06xOgDFUP437VDiE0rp0sXA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-13 17:43                 ` Mark Brown
2015-05-13 19:09           ` Maxime Ripard
2015-05-13 19:10         ` Geert Uytterhoeven
     [not found]           ` <CAMuHMdWJ730G_a6=vQgs4gV837am5KKd7zEhU2FaHw2cpv=aRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-13 19:41             ` Maxime Ripard
2015-05-13 15:37       ` Greg Kroah-Hartman
     [not found]         ` <20150513153740.GC11677-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-05-13 15:52           ` Michal Suchanek
2015-05-13 17:13           ` Mark Brown
     [not found]             ` <20150513171300.GD2761-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 17:20               ` Greg Kroah-Hartman
     [not found]                 ` <20150513172028.GA18303-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-05-13 17:39                   ` Mark Brown
     [not found]                     ` <20150513173922.GF2761-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 18:16                       ` Greg Kroah-Hartman
2015-05-13 18:32                         ` Mark Brown
     [not found]                           ` <20150513183211.GK2761-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 18:36                             ` Greg Kroah-Hartman
     [not found]                               ` <20150513183653.GA879-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-05-13 18:51                                 ` Mark Brown
     [not found]                                   ` <20150513185149.GL2761-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-13 19:17                                     ` Maxime Ripard
2015-05-13 17:50           ` Maxime Ripard
2015-05-13 18:12             ` Mark Brown
2015-05-13 18:17             ` Greg Kroah-Hartman
     [not found]               ` <20150513181736.GC16811-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-05-13 19:23                 ` Geert Uytterhoeven
2015-05-13 19:26                 ` Maxime Ripard
2015-05-13 22:33                   ` Greg Kroah-Hartman
     [not found]                     ` <20150513223331.GA26748-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-05-14 14:34                       ` Mark Brown
2015-07-15  6:27                       ` Lucas De Marchi
2015-05-15  8:09                     ` Maxime Ripard

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=20140501223629.GJ3000@lukather \
    --to=maxime.ripard-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
    --cc=alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@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 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).