Re: [PATCH v2 1/3] power_supply: Add power_supply notifier

From: Anton Vorontsov
Date: Sun Dec 01 2013 - 17:28:43 EST


On Tue, Nov 19, 2013 at 11:18:03AM +0100, Pali RohÃr wrote:
> This patch adds a notifier chain to the power_supply.
> This notifier helps drivers in other subsystem to listen to
> changes in power supply subsystem. This would help to take some
> actions in those drivers on changing the power supply properties.
> One such scenario is to increase/decrease system performance based
> on the battery capacity/voltage. Another scenario is to adjust the
> h/w peak current detection voltage/current thresholds based on battery
> voltage/capacity. The notifier helps drivers to listen to changes
> in power_suppy susbystem without polling the power_supply properties
>
> Signed-off-by: Jenny TC <jenny.tc@xxxxxxxxx>
> Signed-off-by: Pali RohÃr <pali.rohar@xxxxxxxxx>
...
> +enum power_supply_notifier_events {
> + PSY_EVENT_NONE,

This one is not needed.

> + PSY_EVENT_PROP_CHANGED,
> + PSY_EVENT_BATTERY,
> + PSY_EVENT_CABLE,
> +};

The only event that is currently used in your patch series is
EVENT_PROP_CHANGED... So, I applied the patch with the following changes:

diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index c6f52c0..0c2a260 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -15,6 +15,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/device.h>
+#include <linux/notifier.h>
#include <linux/err.h>
#include <linux/power_supply.h>
#include <linux/thermal.h>
@@ -159,10 +159,7 @@ enum power_supply_type {
};

enum power_supply_notifier_events {
- PSY_EVENT_NONE,
PSY_EVENT_PROP_CHANGED,
- PSY_EVENT_BATTERY,
- PSY_EVENT_CABLE,
};

union power_supply_propval {
@@ -242,7 +239,7 @@ struct power_supply_info {
int use_for_apm;
};

-extern struct atomic_notifier_head power_supply_notifier;
+extern struct atomic_notifier_head power_supply_notifier;
extern int power_supply_reg_notifier(struct notifier_block *nb);
extern void power_supply_unreg_notifier(struct notifier_block *nb);
extern struct power_supply *power_supply_get_by_name(const char *name);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/