linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Lawnick <ml.lawnick-Mmb7MZpHnFY@public.gmane.org>
To: Jon Smirl <jonsmirl-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Wolfgang Grandegger <wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "Delvare,
	Jean" <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
Subject: Re: [Patch] MPC Adapter: read class attribute from device tree
Date: Mon, 27 Apr 2009 07:54:37 +0200	[thread overview]
Message-ID: <49F5489D.8070902@gmx.de> (raw)
In-Reply-To: <9e4733910904240838k5f425d7m849cd6b7fad19f27-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Jon Smirl said the following:
> On Fri, Apr 24, 2009 at 6:53 AM, Michael Lawnick <ml.lawnick-Mmb7MZpHnFY@public.gmane.org> wrote:
>> Wolfram Sang said the following:
>> ...
>>>> Allowing only clients that are mentioned in DTS?
>>>
>>> For now, yes. This is still the common case (=avoid probing). Until a
>>> mainline solution comes up (which is needed, I agree on that), not so
>>> common cases could simply patch the driver to add a .class field.
>>>
>> Especially it is ugly that devices which are mentioned in DTS but are
>> not present (because the component isn't plugged in or powered) get an
>> directory entry in /sys/bus/i2c/devices with bind, unbind, ...
>> This is my 'problem': I search for a clean way to instantiate on demand
>> with no zombies in case of missing H/W. I know there are problems in
>> identification of devices, but to remove all possibilities to try it
>> seems not a good way for me.
> 
> You might want to ask about this on the linux-ppc mailing list.

I can't see how they should be able to help me more than this list.
> 
> You're stuck because i2c hardware does not support hotplug. Since the
> hardware doesn't support hotplug there's no software support for it in
> the kernel. So you want to fall back to polled probing.

That's what I do. But being able to detect a new device via /dev/i2c is
only halve of the job. The device needs to be identified and a client
instantiated. Doing this job in the user space polling program would
double the code, as detection is already done in the drivers.
> 
> But probing is bad because it isn't standardized and coordinated, one
> device's probe can cause another device to destroy things (like set a
> voltage too high on a motherboard). Because of this probing can't be
> turned on in general.

That's not the problem. The problem is, that in current code state it is
not possible at all to do proper probing on MPC85xx architecture, even
if the possible I2C devices / bus layout would allow it. You must force
instantiation, so if the driver detects an error on .probe and stops,
you have dead entries in sysFs. This would not be the case if there
would be a way to go via .detect
> 
> It's possible to get to the i2c bus from user space. You could write a
> user space app that polls in your controlled environment.

As said above, this is already done in this way.

> When you
> detect the new devices you can load the appropriate modules. Now you
> need to instantiate these new devices.

The modules are already loaded, there is missing a proper way to start
instantiation of *new* clients.
> 
> Jean, is it still possible to instantiate i2c devices from the module
> command line?

This question is missing the point. The module is already up and
running. The situation to handle is that there is powered-on a device
after module load. Now a client for this device needs instantiation. As
code for detection of client-type should IMHO not be part of user space
(as it *is* already part of drivers) I am currently fighting for a way
to trigger a driver's detect function.

--
Kind regards,
Michael

  parent reply	other threads:[~2009-04-27  5:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-21  6:42 [Patch] MPC Adapter: read class attribute from device tree Michael Lawnick
     [not found] ` <49ED6AD3.2060808-Mmb7MZpHnFY@public.gmane.org>
2009-04-21  7:00   ` Wolfgang Grandegger
     [not found]     ` <49ED6F03.5050107-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2009-04-21  9:26       ` Michael Lawnick
     [not found]         ` <49ED9132.9050806-Mmb7MZpHnFY@public.gmane.org>
2009-04-21  9:51           ` Wolfram Sang
     [not found]             ` <20090421095112.GB3100-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-04-21 13:05               ` Michael Lawnick
     [not found]                 ` <49EDC487.8010201-Mmb7MZpHnFY@public.gmane.org>
2009-04-21 13:37                   ` Wolfgang Grandegger
     [not found]                     ` <49EDCC31.2030506-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2009-04-21 14:22                       ` Michael Lawnick
     [not found]                         ` <49EDD69D.1020104-Mmb7MZpHnFY@public.gmane.org>
2009-04-22  7:38                           ` Wolfgang Grandegger
2009-04-24  8:52                   ` Wolfram Sang
     [not found]                     ` <20090424085256.GA26169-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-04-24  9:35                       ` Jean Delvare
     [not found]                         ` <20090424113527.4fb94f38-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-04-24 10:49                           ` Michael Lawnick
2009-04-24 10:53                       ` Michael Lawnick
     [not found]                         ` <49F19A11.3090700-Mmb7MZpHnFY@public.gmane.org>
2009-04-24 15:38                           ` Jon Smirl
     [not found]                             ` <9e4733910904240838k5f425d7m849cd6b7fad19f27-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-27  5:54                               ` Michael Lawnick [this message]
2009-04-27  9:07                               ` Wolfgang Grandegger
     [not found]                                 ` <49F575E2.1070005-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2009-05-03 22:13                                   ` Ben Dooks
2009-04-27 10:17                               ` Jean Delvare
     [not found]                                 ` <20090427121758.7965c48a-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-05-20  6:28                                   ` Jean Delvare
2009-04-21  9:59           ` Jean Delvare
     [not found]             ` <20090421115936.28656d09-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-04-21 14:11               ` Michael Lawnick
     [not found]                 ` <49EDD423.3050302-Mmb7MZpHnFY@public.gmane.org>
2009-04-21 16:00                   ` Jon Smirl
     [not found]                     ` <9e4733910904210900r4c5d1a8en178ad106134b7e6d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-21 16:33                       ` Jean Delvare
     [not found]                         ` <20090421183310.50ff7e0c-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-04-21 19:18                           ` Jon Smirl
     [not found]                             ` <9e4733910904211218l8428128k1f8dd021c50c7846-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-22  5:37                               ` Michael Lawnick
2009-04-24  9:09                               ` Wolfram Sang
2009-04-22  7:40                   ` Jean Delvare
2009-04-21 10:35           ` Wolfgang Grandegger
     [not found]             ` <49EDA185.7040206-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2009-04-21 11:01               ` Jean Delvare
     [not found]                 ` <20090421130134.1e82a078-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-04-21 11:26                   ` Wolfgang Grandegger
2009-04-21  8:37   ` Wolfram Sang
2009-04-21  8:39   ` Jean Delvare

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=49F5489D.8070902@gmx.de \
    --to=ml.lawnick-mmb7mzphnfy@public.gmane.org \
    --cc=jonsmirl-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=wg-5Yr1BZd7O62+XT7JhA+gdA@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).