public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Michael Buesch <mb@bu3sch.de>,
	sfr@canb.auug.org.au, linux-kernel@vger.kernel.org,
	Greg KH <greg@kroah.com>
Subject: Re: [PATCH] gpiolib: Allow user-selection
Date: Wed, 2 Jul 2008 22:41:27 -0700	[thread overview]
Message-ID: <200807022241.28046.david-b@pacbell.net> (raw)
In-Reply-To: <20080702220842.44364045.akpm@linux-foundation.org>

On Wednesday 02 July 2008, Andrew Morton wrote:
> 
> > I'm thinking some driver model changes broke the gpio sysfs
> > interface code, and this happens to show up right now because
> > that code wasn't previously getting built.
> > 
> > Grumph.  I can easily switch the device_create() over to
> > use device_create_drvdata() -- didn't I already send in
> > a patch like that? -- but the other stuff is completely
> > backwards-incompatible.
> > 
> 
> beats me ididntdoitnobodysawmedoit.

I hope you got the T-shirt while you weren't doing all that!  :)


> But what I am repeatedly seeing is people cheerfully raising 2.6.27
> patches against the 2.6.26 tree when we have a nice 2.6.27 tree for
> developing against.  Those days are over, guys.
 
In this case, the contract seems to have changed.  Previously,
it was that folk doing the API changes would change everyone
using the APIs ... in this case, that's not happened.  (And I
can sort of understand why.  No matter how it's done, someone
is going to get extra work because of those changes.)
 
 
> I'm also seeing obvious signs that developers aren't _testing_ their
> new code within the context of the 2.6.27 tree.  They're obviously
> testing their stuff against 2.6.26

As they most certainly should.  That's already a lot of
variables in the test process, and anyone wanting to
actually *USE* that code right now will probably not want
all the added turnover and variables of the -next tree.


> and then hoping and praying, only it 
> doesn't always work out for them.

The new "-next" process is still working out.  Backwards-incompatible
changes will *always* make problems.  In this case there seem to
have been three such changes:

	- device_create() vanishing, even for users which did the
	  locking correctly ... this was at least something of a
	  graceful migration, although it would have been better
	  if it were deprecated first.  Change can work against
	  the current (2.6.26) code base.

	- class.devices vanishing ... what I really needed was
	  more of a "is this class initialized yet" call, so
	  testing for class->devices.next non-null can be replaced
	  by a test for class->p non-null.  (Or maybe this should
	  be viewed as needing a "real" driver model call, so that
	  code which must run before driver model init can more
	  easily cooperate with driver model stuff that has to
	  run much later, after the guts are initialized.)

	- Extra parameter to class_find_device().  This could
	  have been done in a backwards-compatible manner, like
	  device_create() was, but ... it wasn't.

When I finish pulling linux-next, I'll make an updated patch.
And probably send in an updated version of Michaels patch;
though I imagine the update will be no more than a s-o-b.

- dave

  reply	other threads:[~2008-07-03  7:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-02 21:46 [PATCH] gpiolib: Allow user-selection Michael Buesch
2008-07-03  0:04 ` Andrew Morton
2008-07-03  0:26   ` Michael Buesch
2008-07-03  5:00   ` David Brownell
2008-07-03  5:08     ` Andrew Morton
2008-07-03  5:41       ` David Brownell [this message]
2008-07-03 19:37         ` Greg KH
2008-07-03 21:28           ` David Brownell
2008-07-03 23:08             ` Greg KH
2008-07-12  5:32               ` David Brownell
2008-07-03  8:36       ` Rene Herman
2008-07-03  9:01         ` Andrew Morton
2008-07-03 10:19           ` Rene Herman
2008-07-03  8:25   ` David Brownell
2008-07-03  8:42     ` Michael Buesch

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=200807022241.28046.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=akpm@linux-foundation.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mb@bu3sch.de \
    --cc=sfr@canb.auug.org.au \
    /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