[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141222190233.GA1014@katana>
Date: Mon, 22 Dec 2014 20:02:33 +0100
From: Wolfram Sang <wsa@...-dreams.de>
To: Walter Lozano <walter@...guardiasur.com.ar>
Cc: mika.westerberg@...ux.intel.com, Romain.Baeriswyl@...lis.com,
atull@...nsource.altera.com, raymond.tan@...el.com,
carlpeng008@...il.com, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC] i2c: designware: Avoid initcall and initialize the driver
like a regular one
On Mon, Dec 22, 2014 at 03:15:49PM -0300, Walter Lozano wrote:
> Currently, the driver is relying on a subsys_initcall() to register
> the platform driver struct. This is typically done to allow early uses
> of the I2C bus (for instance, I2C regulators used from early machine code).
>
> While this might work on some cases, it breaks on others. For instance,
> I2C devices with GPIO-wired interrupts will fail to request the
> interrupt because of this initcall usage.
>
> This commits attempts to fix the above issue, by converting the I2C
> driver into a regular kernel platform driver. This guarantees it will
> probe after GPIOs drivers.
>
> Platforms based on devicetree won't be affected by this change.
Huh, why is that?
> Legacy platforms, relying on the I2C being available early, might need
> to implement proper defered mechanisms to overcome potential problems.
NAK. We can't say "Let's cause a regression to force people to fix
things that used to work" IMO. You exactly pointed out the problem that using
subsys_initcall() creates.
What about fixing the drivers you use to support deferred probing when
acquitin the irq?
Regards,
Wolfram
Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)
Powered by blists - more mailing lists