summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2012-04-27 06:17:28 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-30 02:03:49 (GMT)
commitf4cce69611ee941bac0729c6069795f106905ef9 (patch)
tree4714e3c3862316bf22197240baa6f2dbc05b4115
parenta1d26ac0ddc4ea561e17a75dd3b5f9d3c1812f16 (diff)
downloadlinux-f4cce69611ee941bac0729c6069795f106905ef9.tar.xz
Extcon: Notify changed state for only one cable to notifee
This patch inform the state of only one cable instead of previous data including the state of 32 cables to notifee which use extcon_register_interest() function to monitor whether the specific cable is attachd or detached. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/extcon/extcon_class.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/extcon/extcon_class.c b/drivers/extcon/extcon_class.c
index 53c64a9..4657ad3 100644
--- a/drivers/extcon/extcon_class.c
+++ b/drivers/extcon/extcon_class.c
@@ -425,8 +425,15 @@ static int _call_per_cable(struct notifier_block *nb, unsigned long val,
if ((val & (1 << obj->cable_index)) !=
(edev->state & (1 << obj->cable_index))) {
+ bool cable_state = true;
+
obj->previous_value = val;
- return obj->user_nb->notifier_call(obj->user_nb, val, ptr);
+
+ if (val & (1 << obj->cable_index))
+ cable_state = false;
+
+ return obj->user_nb->notifier_call(obj->user_nb,
+ cable_state, ptr);
}
return NOTIFY_OK;