All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfram Sang <wsa@the-dreams.de>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Stephen Warren <swarren@wwwdotorg.org>,
	Simon Glass <sjg@chromium.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	Daniel Kurtz <djkurtz@chromium.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>
Subject: Re: [PATCH v4 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver
Date: Mon, 8 Apr 2013 11:55:25 +0200	[thread overview]
Message-ID: <20130408095525.GB3496@the-dreams.de> (raw)
In-Reply-To: <20130407181028.GA28029@roeck-us.net>

Guenter,

> I think there is a difference between a bad driver or underlying hardware. To
> me, "shipped" applies to hardware or firmware which can not be upgraded, not to
> the software running on it.

OK. Valuable distinction.

> "board support hosted in the I2C directory". But that is exactly what I am
> talking about, isn't it ? I have board specific multiplexers and a board
> specific I2C controller, and that is just talking about the I2C code.

Yes and no. I think I can accept that some hardware has GPIOs wired to
handle I2C arbitration. I still have problems in having arbitrator
drivers per board, each one with various ideas how to do it. That would
be a maintenance horror and has nothing to do with I2C, strictly
speaking. What I would love to see is a few generic arbitrator drivers,
e.g. utilizing a timeout-based scheme (as proposed here). Or like the
old SCSI method putting IDs on the wire and the lowest wins. Stuff like
that.

> A better example might be Kontron board support. They implement gpio, I2C mux,
> and a watchdog in a PLD. They too have an access arbitration scheme where
> one has to acquire a hardware mutex before accessing the pld, if I understand
> correctly because some microcontroller might need to access it as well.
> Leaving the actual code aside, would you reject that too if you don't like
> the arbitration scheme, or because you don't want to have board support
> in the i2c directory ?

If I understood correctly, getting the mutex would be done in some
platform code and the I2C driver will simply call the necessary function
to obtain and release the mutex. Or maybe the MFD layer can help, dunno.
Both are fine with me and I don't care about the actual PLD arbitration.

Thanks,

   Wolfram

WARNING: multiple messages have this Message-ID (diff)
From: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
To: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
Cc: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	"linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v4 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver
Date: Mon, 8 Apr 2013 11:55:25 +0200	[thread overview]
Message-ID: <20130408095525.GB3496@the-dreams.de> (raw)
In-Reply-To: <20130407181028.GA28029-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>

Guenter,

> I think there is a difference between a bad driver or underlying hardware. To
> me, "shipped" applies to hardware or firmware which can not be upgraded, not to
> the software running on it.

OK. Valuable distinction.

> "board support hosted in the I2C directory". But that is exactly what I am
> talking about, isn't it ? I have board specific multiplexers and a board
> specific I2C controller, and that is just talking about the I2C code.

Yes and no. I think I can accept that some hardware has GPIOs wired to
handle I2C arbitration. I still have problems in having arbitrator
drivers per board, each one with various ideas how to do it. That would
be a maintenance horror and has nothing to do with I2C, strictly
speaking. What I would love to see is a few generic arbitrator drivers,
e.g. utilizing a timeout-based scheme (as proposed here). Or like the
old SCSI method putting IDs on the wire and the lowest wins. Stuff like
that.

> A better example might be Kontron board support. They implement gpio, I2C mux,
> and a watchdog in a PLD. They too have an access arbitration scheme where
> one has to acquire a hardware mutex before accessing the pld, if I understand
> correctly because some microcontroller might need to access it as well.
> Leaving the actual code aside, would you reject that too if you don't like
> the arbitration scheme, or because you don't want to have board support
> in the i2c directory ?

If I understood correctly, getting the mutex would be done in some
platform code and the I2C driver will simply call the necessary function
to obtain and release the mutex. Or maybe the MFD layer can help, dunno.
Both are fine with me and I don't care about the actual PLD arbitration.

Thanks,

   Wolfram

  reply	other threads:[~2013-04-08  9:55 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-15  0:21 [PATCH v2 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver Doug Anderson
2013-02-15  0:21 ` [PATCH v2 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-02-15  0:21   ` Doug Anderson
2013-02-15  0:21 ` [PATCH v2 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-02-15  0:21   ` Doug Anderson
2013-02-15 16:39 ` [PATCH v2 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver Stephen Warren
2013-02-15 16:39   ` Stephen Warren
     [not found]   ` <511E64C0.9090500-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-15 17:25     ` Doug Anderson
     [not found]       ` <CAD=FV=W9WwSsid_KqtDRmAkFXnneRXu5zcakDB3t4hLhOpuCtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-15 17:38         ` Stephen Warren
2013-02-15 17:44           ` Mark Brown
2013-02-15 17:44             ` Mark Brown
     [not found]             ` <20130215174425.GF22283-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2013-02-15 18:57               ` Doug Anderson
2013-02-15 19:46 ` [PATCH v3 " Doug Anderson
2013-02-15 19:46   ` Doug Anderson
2013-02-15 19:46   ` [PATCH v3 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-02-15 19:46     ` Doug Anderson
2013-03-05 23:48     ` Naveen Krishna Ch
2013-03-05 23:48       ` Naveen Krishna Ch
2013-03-13  7:30       ` Kukjin Kim
2013-03-13  7:30         ` Kukjin Kim
2013-03-13 15:14         ` Doug Anderson
2013-03-13 15:14           ` Doug Anderson
2013-02-15 19:46   ` [PATCH v3 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-02-15 19:46     ` Doug Anderson
2013-03-05 23:49     ` Naveen Krishna Ch
2013-03-05 23:49       ` Naveen Krishna Ch
2013-02-15 21:31   ` [PATCH v3 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver Stephen Warren
2013-03-11 16:05   ` Doug Anderson
2013-03-11 16:05     ` Doug Anderson
2013-03-13 16:36   ` [PATCH v4 " Doug Anderson
2013-03-13 16:36     ` Doug Anderson
2013-03-13 16:36     ` [PATCH v4 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-03-13 16:36       ` Doug Anderson
2013-03-13 16:36     ` [PATCH v4 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-03-13 16:36       ` Doug Anderson
2013-03-13 16:53     ` [PATCH v4 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver Stephen Warren
2013-03-13 16:53       ` Stephen Warren
2013-03-13 16:59       ` Doug Anderson
2013-03-13 16:59         ` Doug Anderson
2013-03-13 17:29         ` Stephen Warren
2013-03-13 17:29           ` Stephen Warren
2013-04-08 10:26     ` Wolfram Sang
2013-04-08 10:26       ` Wolfram Sang
     [not found]       ` <20130408102617.GC3496-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2013-04-09 20:26         ` Doug Anderson
     [not found]     ` <1363192583-26363-1-git-send-email-dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2013-03-26 20:23       ` Doug Anderson
     [not found]         ` <20130329115821.GC6359@the-dreams.de>
     [not found]           ` <20130329115821.GC6359-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2013-03-29 18:28             ` Doug Anderson
     [not found]               ` <20130403191938.GA7875@the-dreams.de>
     [not found]                 ` <20130403191938.GA7875-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2013-04-05 19:37                   ` Simon Glass
2013-04-05 20:03                     ` Stephen Warren
2013-04-05 20:03                       ` Stephen Warren
2013-04-06 18:30                       ` Guenter Roeck
2013-04-06 20:11                         ` Wolfram Sang
2013-04-07 18:10                           ` Guenter Roeck
2013-04-08  9:55                             ` Wolfram Sang [this message]
2013-04-08  9:55                               ` Wolfram Sang
2013-04-09 20:12       ` [PATCH v5 1/3] i2c: mux: Add i2c-arb-gpio-challenge " Doug Anderson
2013-04-09 20:12         ` [PATCH v5 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-04-09 20:12           ` Doug Anderson
2013-04-09 20:12         ` [PATCH v5 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-04-09 20:12           ` Doug Anderson
2013-04-09 21:34     ` [PATCH v5 1/3] i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver Doug Anderson
2013-04-09 21:34       ` Doug Anderson
2013-04-09 21:34       ` [PATCH v5 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-04-09 21:34         ` Doug Anderson
2013-04-10 10:59         ` Kukjin Kim
2013-04-10 10:59           ` Kukjin Kim
2013-04-10 11:02           ` Wolfram Sang
2013-04-10 11:02             ` Wolfram Sang
2013-04-10 14:12             ` Kukjin Kim
2013-04-10 14:12               ` Kukjin Kim
2013-04-09 21:34       ` [PATCH v5 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-04-09 21:34         ` Doug Anderson
2013-04-16  9:36       ` [PATCH v5 1/3] i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver Wolfram Sang
2013-04-16  9:36         ` Wolfram Sang
2013-04-16  9:44         ` Peter Korsgaard
2013-04-16  9:44           ` Peter Korsgaard
2013-04-16 13:38         ` Guenter Roeck
2013-04-16 15:42         ` Stephen Warren
2013-04-16 15:42           ` Stephen Warren
     [not found]         ` <20130416093633.GC16978-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2013-04-16 16:25           ` Doug Anderson
2013-04-16 16:29       ` [PATCH v6 " Doug Anderson
2013-04-16 16:29         ` [PATCH v6 2/3] ARM: dts: Add i2c-arbitrator bus for exynos5250-snow Doug Anderson
2013-04-16 16:29           ` Doug Anderson
2013-04-16 16:35           ` Olof Johansson
2013-04-16 16:35             ` Olof Johansson
2013-04-16 16:29         ` [PATCH v6 3/3] ARM: dts: Add sbs-battery " Doug Anderson
2013-04-16 16:29           ` Doug Anderson
2013-04-16 16:36           ` Olof Johansson
2013-04-16 16:36             ` Olof Johansson
2013-04-16 16:34         ` [PATCH v6 1/3] i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver Olof Johansson
2013-04-17  9:34           ` Wolfram Sang
     [not found]             ` <20130417093424.GC4508-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2013-04-17 13:57               ` Olof Johansson
2013-04-17 16:35               ` Olof Johansson
2013-04-16 16:45         ` Guenter Roeck
2013-04-16 16:45           ` Guenter Roeck
     [not found]           ` <20130416164512.GB27488-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-04-16 16:51             ` Doug Anderson
2013-04-17  9:32         ` Wolfram Sang

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=20130408095525.GB3496@the-dreams.de \
    --to=wsa@the-dreams.de \
    --cc=djkurtz@chromium.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=sjg@chromium.org \
    --cc=swarren@wwwdotorg.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.