mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-10 19:20:28 -04:00
power: supply: add stubs for notifier registration helpers
power_supply_reg_notifier() and power_supply_unreg_notifier() are declared
unconditionally, with no fallback when CONFIG_POWER_SUPPLY is disabled.
Any driver that calls them unconditionally fails to link:
ERROR: modpost: "power_supply_unreg_notifier" [drivers/usb/dwc3/dwc3.ko]
undefined!
ERROR: modpost: "power_supply_reg_notifier" [drivers/usb/dwc3/dwc3.ko]
undefined!
Fix this by adding stub functions for these calls.
Fixes: 7c87ef27af ("usb: dwc3: avoid probe deferral when USB power supply is not available")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/all/a9dd53b3-0666-404a-99e0-76617ae3f944@infradead.org/
Signed-off-by: Elson Serrao <elson.serrao@oss.qualcomm.com>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://patch.msgid.link/20260805185401.3625514-1-elson.serrao@oss.qualcomm.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
committed by
Sebastian Reichel
parent
609af0ceea
commit
99b38cda3f
@@ -816,15 +816,18 @@ struct power_supply_battery_info {
|
||||
int bti_resistance_tolerance;
|
||||
};
|
||||
|
||||
#if IS_ENABLED(CONFIG_POWER_SUPPLY)
|
||||
extern int power_supply_reg_notifier(struct notifier_block *nb);
|
||||
extern void power_supply_unreg_notifier(struct notifier_block *nb);
|
||||
#if IS_ENABLED(CONFIG_POWER_SUPPLY)
|
||||
extern struct power_supply *power_supply_get_by_name(const char *name);
|
||||
extern int __must_check power_supply_get_system_batteries(struct device *dev,
|
||||
struct power_supply ***psys);
|
||||
extern void power_supply_put_system_batteries(struct power_supply **psys, int count);
|
||||
extern void power_supply_put(struct power_supply *psy);
|
||||
#else
|
||||
static inline int power_supply_reg_notifier(struct notifier_block *nb)
|
||||
{ return -EOPNOTSUPP; }
|
||||
static inline void power_supply_unreg_notifier(struct notifier_block *nb) {}
|
||||
static inline void power_supply_put(struct power_supply *psy) {}
|
||||
static inline struct power_supply *power_supply_get_by_name(const char *name)
|
||||
{ return NULL; }
|
||||
|
||||
Reference in New Issue
Block a user