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
next prev parent 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: linkBe 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.