public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Jon Smirl <jonsmirl-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>,
	Linux I2C <i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org>
Subject: Re: [PATCH 0/4] i2c: Introduce i2c listeners
Date: Thu, 5 Jun 2008 19:00:34 +0200	[thread overview]
Message-ID: <20080605190034.16f06604@hyperion.delvare> (raw)
In-Reply-To: <9e4733910806050755n3835d20xfc4d018c2222d5d3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Thu, 5 Jun 2008 10:55:28 -0400, Jon Smirl wrote:
> I see now that the adapter class should be added to the driver name
> alias string. The we could load all modules of a given class.

Ah ah. Oh wait, you were serious? Come on, why would anyone on earth
want to load all modules of a given class?

> But I don't think we need to go searching for the right module to load
> since i2c is not generally a dynamic bus. If you install a video card
> with an i2c bus, the driver for the video card can just load_module
> the right i2c driver modules.

Sometimes yes, sometimes no. For most V4L/DVB, the main driver should
know which i2c chip drivers it needs, but unfortunately for old drivers
such as bttv this knowledge has never been recorded, so there is no
alternative to (at least partial) probing in practice. For video
adapters, they could load the eeprom driver as they all give access to
EDID EEPROMs, but if the card also has a hardware monitoring chip, we
simply don't know what it is. We just can't record in the kernel
drivers what hardware monitoring chip exists on thousands of cards out
there (same problem as for motherboards.)

> I do wonder if we could get hardware monitors to autoload.

Only if they don't do the device detection/identification themselves.
I've considered it for a moment but now I'm fairly certain that it
would be a dangerous and unmaintainable mess. Better let each driver
include its detection/identification routine, and delegate the
responsibility of loading the right driver to user-space (as is already
the case.)

> When the
> adapter driver for the motherboard loads, it could load module all
> drivers of class hardware_monitor.

No, really, forget about this, that's simply never going to happen.
That's way too costly and dangerous.

> Then each one could do its
> detection thing. Unload the ones that weren't found.

And do it all over again when the graphics adapter driver is loaded?
And when an parport-to-I2C or USB-to-I2C adapter is plugged?

> That would really
> help people who can figure out the right driver module to load.

If people can't run "sensors-detect" there's not much we can do for
them ;)

> You
> could even get fancy and generate a uevent after the right module was
> found. A script in the uevent could save the info so you don't have to
> repeat on each boot. Of course this assume that the hardware monitor
> modules can reliably autodetect.

You mean, instead of just using the sensors-detect script which we
already have and has worked fine for (almost) everyone for 8 years now?
And the few cases where sensors-detect didn't work are a very good
reason to _not_ attempt to do the same in the kernel. SMBus probing is
_very_ tricky and we really want to control everything that happens.

-- 
Jean Delvare

_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

  parent reply	other threads:[~2008-06-05 17:00 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-04 18:13 [PATCH 0/4] i2c: Introduce i2c listeners Jean Delvare
     [not found] ` <20080604201334.19636f30-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-04 18:18   ` [PATCH 1/4] " Jean Delvare
2008-06-04 18:31   ` [PATCH 2/4] i2c: Convert the lm90 driver to a new-style i2c driver Jean Delvare
2008-06-04 18:33   ` [PATCH 3/4] i2c: Use i2c_listener in driver f75375s Jean Delvare
     [not found]     ` <20080604203322.472f8653-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-05  8:33       ` Riku Voipio
     [not found]         ` <4847A4E2.9040406-WgUW+8SLYMv1KXRcyAk9cg@public.gmane.org>
2008-06-05  9:06           ` Jean Delvare
     [not found]             ` <20080605110659.3456fbe4-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-06 10:21               ` Riku Voipio
     [not found]                 ` <48490FA3.8020702-WgUW+8SLYMv1KXRcyAk9cg@public.gmane.org>
2008-06-06 11:38                   ` Jean Delvare
2008-06-04 18:35   ` [PATCH 4/4] i2c: Use i2c_listener in driver lm75 Jean Delvare
2008-06-04 18:55   ` [PATCH 0/4] i2c: Introduce i2c listeners Jon Smirl
     [not found]     ` <9e4733910806041155n7551ac74lf29c8a32163ec09a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-04 19:28       ` Jon Smirl
     [not found]         ` <9e4733910806041228i330e145q439d3ee43494f4c4-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-04 21:33           ` Jean Delvare
     [not found]             ` <20080604233335.13459512-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-04 23:11               ` Jon Smirl
     [not found]                 ` <9e4733910806041611l41832e07p4f55424be0ef5ea0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-05  0:10                   ` David Brownell
     [not found]                     ` <200806041710.59338.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-06-05  0:42                       ` Jon Smirl
     [not found]                         ` <9e4733910806041742va67401en608c8c4b8c4c11b9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-05  2:21                           ` David Brownell
     [not found]                             ` <200806041921.26293.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-06-05  4:04                               ` Jon Smirl
     [not found]                                 ` <9e4733910806042104l70cf8a30sc6329b1c3016c879-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-05  8:18                                   ` David Brownell
     [not found]                                     ` <200806050118.23706.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-06-05 14:55                                       ` Jon Smirl
     [not found]                                         ` <9e4733910806050755n3835d20xfc4d018c2222d5d3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-05 17:00                                           ` Jean Delvare [this message]
     [not found]                                             ` <20080605190034.16f06604-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-05 17:34                                               ` Jon Smirl
     [not found]                                                 ` <9e4733910806051034k2e40082focaaa03b124fcd4ad-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-05 18:29                                                   ` Jean Delvare
2008-06-05  8:49                                   ` Jean Delvare
     [not found]                                     ` <20080605104914.2dd622b2-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-05 14:30                                       ` Jon Smirl
2008-06-05  8:38                           ` Jean Delvare
2008-06-05  9:05                   ` Jean Delvare
     [not found]                     ` <20080605110502.76f0f606-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-05 14:59                       ` Jon Smirl
2008-06-05  0:03               ` Trent Piepho
     [not found]                 ` <Pine.LNX.4.58.0806041638080.10290-13q4cmjDBaTP3RPoUHIrnuTW4wlIGRCZ@public.gmane.org>
2008-06-05  0:27                   ` David Brownell
     [not found]                     ` <200806041727.51746.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-06-05  0:40                       ` Trent Piepho
     [not found]                         ` <Pine.LNX.4.58.0806041731250.10290-13q4cmjDBaTP3RPoUHIrnuTW4wlIGRCZ@public.gmane.org>
2008-06-05  2:14                           ` David Brownell
     [not found]                             ` <200806041914.27291.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-06-05  7:08                               ` Trent Piepho
     [not found]                                 ` <Pine.LNX.4.58.0806042349251.10290-13q4cmjDBaTP3RPoUHIrnuTW4wlIGRCZ@public.gmane.org>
2008-06-05  8:15                                   ` David Brownell
2008-06-05  8:16                           ` Jean Delvare
2008-06-05  0:45                       ` Jon Smirl
2008-06-04 21:12       ` Jean Delvare
2008-06-06  2:47   ` David Brownell

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=20080605190034.16f06604@hyperion.delvare \
    --to=khali-puyad+kwke1g9huczpvpmw@public.gmane.org \
    --cc=david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org \
    --cc=i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org \
    --cc=jonsmirl-Re5JQEeQqe8AvxtiuMwx3w@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