]> git.baikalelectronics.ru Git - kernel.git/commit
platform/x86: intel_crystal_cove_charger: Fix IRQ masking / unmasking
authorHans de Goede <hdegoede@redhat.com>
Tue, 11 Jan 2022 23:23:09 +0000 (00:23 +0100)
committerHans de Goede <hdegoede@redhat.com>
Mon, 24 Jan 2022 09:41:46 +0000 (10:41 +0100)
commit84d382c04e1a0fe190c5f6ef4ed32d92e9bbb887
tree415ab246e560ad03316ddcb230c7102fc5daba4b
parent875147fccc9559a54225d6890122955809d4d8c7
platform/x86: intel_crystal_cove_charger: Fix IRQ masking / unmasking

The driver as originally submitted accidentally relied on Android having
run before and Android having unmasked the 2nd level IRQ-mask for the
charger IRQ. This worked since these are PMIC registers which are only
reset when the battery is fully drained or disconnected.

Fix the charger IRQ no longer working after loss of battery power by
properly setting the 2nd level IRQ-mask for the charger IRQ.

Note this removes the need to enable/disable our parent IRQ which just
sets the mask bit in the 1st level IRQ-mask register, setting one of
the 2 level masks is enough to stop the IRQ from getting reported.

Fixes: 63a2bf412756 ("platform/x86: Add intel_crystal_cove_charger driver")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220111232309.377642-1-hdegoede@redhat.com
drivers/platform/x86/intel/crystal_cove_charger.c