extcon: Add new extcon_register_notifier_all() to monitor all external connectors
authorChanwoo Choi <cw00.choi@samsung.com>
Wed, 29 Mar 2017 10:30:17 +0000 (19:30 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Tue, 4 Apr 2017 02:22:42 +0000 (11:22 +0900)
commit815429b39d94c64f6d05eed9e7c1a9bdfdd5bd70
treefdafc76bc625a33c66497c19010d152960a368d0
parentc02ed2e75ef4c74e41e421acb4ef1494671585e8
extcon: Add new extcon_register_notifier_all() to monitor all external connectors

The extcon core already provides the extcon_register_notifier() function
in order to register the notifier block which is used to monitor
the state change for the specific external connector such as EXTCON_USB,
EXTCON_USB_HOST and so on. The extcon consumer uses the this function.

The extcon consumer might need to monitor the all supported external
connectors from the extcon device. In this case, The extcon consumer
should have each notifier_block structure for each external connector.

This patch adds the new extcon_register_notifier_all() function
that extcon consumer is able to monitor the state change of all
supported external connectors by using only one notifier_block structure.

- List of new added functions:
int extcon_register_notifier_all(struct extcon_dev *edev,
struct notifier_block *nb);
int extcon_unregister_notifier_all(struct extcon_dev *edev,
struct notifier_block *nb);
int devm_extcon_register_notifier_all(struct device *dev,
struct extcon_dev *edev, struct notifier_block *nb);
void devm_extcon_unregister_notifier_all(struct device *dev,
struct extcon_dev *edev, struct notifier_block *nb);

Suggested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
drivers/extcon/devres.c
drivers/extcon/extcon.c
drivers/extcon/extcon.h
include/linux/extcon.h