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