From mboxrd@z Thu Jan 1 00:00:00 1970 From: nm@ti.com (Nishanth Menon) Date: Fri, 9 May 2014 07:39:05 -0500 Subject: [PATCH] power: twl4030_charger: clear IRQs after handling them In-Reply-To: <20140509010312.GK2198@atomide.com> References: <1397661299-31342-1-git-send-email-balbi@ti.com> <20140416163526.GA3049@atomide.com> <535ACC62.102@ti.com> <20140425210036.GO29632@saruman.home> <20140507002421.GA19711@kahuna> <20140509010312.GK2198@atomide.com> Message-ID: <536CCC69.4000507@ti.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 05/08/2014 08:03 PM, Tony Lindgren wrote: > * Nishanth Menon [140506 17:25]: >> Subject: [PATCH] power: twl4030_charger: detect battery presence prior to >> enabling charger >> >> TWL4030's Battery Charger seems to be designed for non-hotpluggable >> batteries. >> >> If battery is not present in the system, BATSTS is always set with the >> expectation that software will take actions to move to a required safe >> state (could be power down or disable various charger paths). >> >> It does not seem possible even by manipulating the edge detection >> of the event (using BCIEDR2 register) to have a consistent hotplug >> handling. This seems to be the result of BATSTS interrupt generated >> when the thermistor of the battery pack is disconnected from the >> dedicated ADIN1 pin. Clearing the status just results in the status >> being regenerated by the monitoring ADC(MADC) and disabling the >> edges of event just makes hotplug no longer function. The only >> other option is to disable the detection of the MADC by disabling >> BCIMFEN4::BATSTSMCHGEN (battery presence detector) - but then, we can >> never again detect battery reconnection. >> >> So, detect battery presence based on precharge(which is hardware >> automatic state) or default main charger configuration at the time of >> probe and enable charger logic only if battery was present. >> >> Reported-by: Russell King >> Signed-off-by: Nishanth Menon > > Gets rid of the errors for me if CONFIG_CHARGER_TWL4030=y. > Looks like we don't have that enabled by default in > omap2plus_defconfig which explain why it's taken so long to > notice this one: > > Tested-by: Tony Lindgren > Thanks. I will post this out to the list as formal series. -- Regards, Nishanth Menon