All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Wolfram Sang <wsa@the-dreams.de>, 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: Sat, 6 Apr 2013 11:30:17 -0700	[thread overview]
Message-ID: <20130406182957.GA11630@roeck-us.net> (raw)
In-Reply-To: <515F2E28.2090105@wwwdotorg.org>

On Fri, Apr 05, 2013 at 02:03:52PM -0600, Stephen Warren wrote:
> On 04/05/2013 01:37 PM, Simon Glass wrote:
> > HI Wolfram,
> > 
> > On Wed, Apr 3, 2013 at 12:19 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
> >> Doug,
> >>
> >>> Separately from a discussion of the technical merits, I'd say that
> >>> this patch is needed because the Embedded Controller (EC) on the ARM
> >>> Chromebook shipped expecting to communicate with this scheme.  While
> >>
> >> Uhrm, with all respect, "we already shipped it" is not a convincing
> >> argument regarding inclusion. Benefit for the kernel is.
> 
> I'm not quite sure why that isn't a convincing argument.
> 
> The hardware has shipped. I don't know whether the EC microcode can be
> updated in the field; it seems risky to do so even if it's possible. So,
> it either gets supported or not; the HW/ucode isn't going to change I
> suspect.
> 
> Hence, it seems that the decision would be:
> 
> a) Disallow the implementation of the arbitration scheme in the kernel,
> and hence don't support this board in the kernel. (or at least some very
> core features of this board)
> 
> b) Allow the implementation of the arbitration scheme in the kernel, and
> hence make possible support this board in the kernel.
> 
> From that perspective, the benefit for the kernel question comes down
> to: do we see a benefit for the kernel to support this board? I can't
> see why that wouldn't be a benefit.
> 
> The only disadvantage would be having to carrying code to support that
> board. That same argument can be made for any board, and I think
> typically doesn't cause any issue. The code for this I2C mux seems
> pretty self-contained, so even if it was absolutely terrible (which I
> don't think it is), it still wouldn't cause any wide-spread issues, I think.

Very interesting discussion, especially the argument that "we already shipped"
would not be a convincing argument.

I had senior kernel maintainers tell me and the company I work for that we should
submit _all_ our platform specific kernel code and drivers for inclusion into
the upstream kernel.

This exchange suggests that "it is a shipping product" does not count for such
submissions, and that "Benefit for the kernel" would be the deciding factor
instead. Which of course is a very vague statement - if code supporting
Chromebookis is of no benefit for the kernel, support for my company's products
for sure is much less so.

Which kind of leaves me in a bind. On one side I promote that we should submit
all our kernel code, on the other side there is a very compelling case to be
made that it won't be accepted anyway. That doesn't make my life easier -
essentially since it supports those who say that we should not submit anything
in the first place. And believe me, there are many of those. 

Just to give some examples:
- I2C multiplexers. We have a bunch of those. Looking at this exchange,
  it doesn't look good to get that code included.
- Custom multi-function FPGAs and CPLDs, amongst others implementing I2C
  controllers, I2C muxes, GPIO access, Flash access, and other functions. Same
  as above.
- Devicetree support for UIO devices (mostly forwarding ASICs), including gpio
  bindings, interrupt bindings, and clock bindings. Looking at older exchanges,
  that doesn't look good either. And please dont expect me to implement hacks
  around a clean solution because any devicetree binding for UIO drivers
  "does not describe hardware but its use".

Now, I can understand that there may be technical or architectural issues
preventing one driver or another from being accepted. For example, I can
understand if a driver for an USB-I2C adapder isn't accepted because the adapter
reports itself to the USB subsystem as serial driver. But "Benefit for the
kernel" is vague enough to reject anything for no real reason other than
someone not liking it (or the submitter, or the company the submitter
works for, or the hardware architecture).

It would be nice have to get some well defined guidelines for "acceptable"
contributions. "Benefit for the kernel" sure isn't one.

Guenter

  reply	other threads:[~2013-04-06 18:30 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 [this message]
2013-04-06 20:11                         ` Wolfram Sang
2013-04-07 18:10                           ` Guenter Roeck
2013-04-08  9:55                             ` Wolfram Sang
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=20130406182957.GA11630@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=djkurtz@chromium.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sjg@chromium.org \
    --cc=swarren@wwwdotorg.org \
    --cc=wsa@the-dreams.de \
    /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.