power: supply: axp288_charger: Use one notifier_block per extcon cable
authorHans de Goede <hdegoede@redhat.com>
Wed, 21 Dec 2016 17:28:23 +0000 (18:28 +0100)
committerSebastian Reichel <sre@kernel.org>
Wed, 4 Jan 2017 21:03:20 +0000 (22:03 +0100)
commit577b1f06e22057e9cdc14b1ee5bd25435c71ff0f
tree1a4468f61990f33433b0b4edb2e88b2f86945b31
parent7def63ca9cb2ba89a80669dd0bef0e8edfae25d4
power: supply: axp288_charger: Use one notifier_block per extcon cable

Prior to this commit the code was using 1 notifier_block for all
types of charger cable, this is incorrect as the notifier_block
becomes part of a linked-list and now the same notifier_block
is part of 3 linked lists.

This commit fixes this by using a separate nb per extcon cable.

Note this happened to work fine sofar because axp288_charger was the only
listener, so when added to each of the 3 notifier chains, the next pointer
in the nb would be set to 0, so we've 3 heads pointing to the same nb,
with its next pointing to NULL. But as soon as we mix in a second extcon
consumer things will go boom.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/supply/axp288_charger.c