Re: [RESEND PATCH v3] charger: tps65090: Allow charger module to be used when no irq

From: Sebastian Reichel
Date: Thu Jul 17 2014 - 16:43:19 EST


Hi,

On Fri, Jun 20, 2014 at 02:42:03PM -0700, Doug Anderson wrote:
> On the ARM Chromebook tps65090 has two masters: the AP (the main
> processor running linux) and the EC (the embedded controller). The AP
> is allowed to mess with FETs but the EC is in charge of charge control.
>
> The tps65090 interupt line is routed to both the AP and the EC, which
> can cause quite a headache. Having two people adjusting masks and
> acking interrupts is a recipe for disaster.
>
> In the shipping kernel we had a hack to have the AP pay attention to
> the IRQ but not to ack it. It also wasn't supposed to configure the
> IRQ in any way. That hack allowed us to detect when the device was
> charging without messing with the EC's state.
>
> The current tps65090 infrastructure makes the above difficult, and it
> was a bit of a hack to begin with. Rather than uglify the driver to
> support it, just extend the driver's existing notion of "no irq" to
> the charger. This makes the charger code poll every 2 seconds for AC
> detect, which is sufficient.
>
> For proper functioning, requires (mfd: tps65090: Don't tell child
> devices we have an IRQ if we don't). If we don't have that patch
> we'll simply fail to probe on devices without an interrupt (just like
> we did before this patch).

Applied to the dev branch, which I use until I get access to the
official battery.git:

https://git.kernel.org/cgit/linux/kernel/git/sre/linux-power-supply.git/commit/?h=dev&id=5a3effdc8877132fd12f97fea0d4756614b911c7

-- Sebastian

Attachment: signature.asc
Description: Digital signature