Re: [PATCH 1/4] mfd: max14577: Add max14577 MFD driver core

From: Mark Brown
Date: Thu Nov 14 2013 - 05:25:13 EST


On Thu, Nov 14, 2013 at 10:33:22AM +0900, Kyungmin Park wrote:
> On Wed, Nov 13, 2013 at 10:13 PM, Mark Brown <broonie@xxxxxxxxxx> wrote:

> > Are you *positive* this is a falling triggered IRQ? All the code to do
> > with spinning reading the GPIO state during handling makes it look like
> > this is in fact an active low interrupt and a lot of the code in here is
> > working around trying to handle that as the wrong kind of IRQ.

> It's not work with level triggering. as wm8994, it requires edge
> triggering. previous time I send RFC patch to handle edge triggering
> at regmap.

No, wm8994 is level triggered only - the edge triggering stuff there is
to work around some SoCs that could only support edge triggering and not
level triggering. Is this a similar issue or is there something else
going on, what's the differeence with a level triggered scheme?

> >> +static int __init max14577_i2c_init(void)
> >> +{
> >> + return i2c_add_driver(&max14577_i2c_driver);
> >> +}
> >> +subsys_initcall(max14577_i2c_init);

> > Why not module_i2c_driver?

> there's ordering issue, it should provide regulator which is used
> others before USB probe. if not, it failed to use USB.
> Other PMICs use also subsys_initcall for this reason.

Modern systems should be able to use deferred probing to resolve these
dependencies, subsys_initcall() is mostly there for legacy reasons and
new systems ought to be able to move away from it.

Attachment: signature.asc
Description: Digital signature