Skip to content

Commit f107e6b

Browse files
rbmarlieresre
authored andcommitted
power: supply: move power_supply_attr_groups definition back to sysfs
As reported by the kernel test robot, 'power_supply_attr_group' is defined but not used when CONFIG_SYSFS is not set. Sebastian suggested that the correct fix implemented by this patch, instead of my attempt in commit ea4367c ("power: supply: core: move power_supply_attr_group into #ifdef block"), is to define power_supply_attr_groups in power_supply_sysfs.c and expose it in the power_supply.h header. For the case where CONFIG_SYSFS=n, define it as NULL. Suggested-by: Sebastian Reichel <[email protected]> Fixes: ea4367c ("power: supply: core: move power_supply_attr_group into #ifdef block") Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Ricardo B. Marliere <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Sebastian Reichel <[email protected]>
1 parent ea1ec76 commit f107e6b

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

drivers/power/supply/power_supply.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ struct power_supply;
1717

1818
extern void power_supply_init_attrs(void);
1919
extern int power_supply_uevent(const struct device *dev, struct kobj_uevent_env *env);
20-
extern const struct attribute_group power_supply_attr_group;
20+
extern const struct attribute_group *power_supply_attr_groups[];
2121

2222
#else
2323

2424
static inline void power_supply_init_attrs(void) {}
25-
static const struct attribute_group power_supply_attr_group;
25+
#define power_supply_attr_groups NULL
2626
#define power_supply_uevent NULL
2727

2828
#endif /* CONFIG_SYSFS */

drivers/power/supply/power_supply_core.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ static const struct class power_supply_class = {
3232

3333
static BLOCKING_NOTIFIER_HEAD(power_supply_notifier);
3434

35-
__ATTRIBUTE_GROUPS(power_supply_attr);
3635
static const struct device_type power_supply_dev_type = {
3736
.name = "power_supply",
3837
.groups = power_supply_attr_groups,

drivers/power/supply/power_supply_sysfs.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,11 +389,16 @@ static umode_t power_supply_attr_is_visible(struct kobject *kobj,
389389
return 0;
390390
}
391391

392-
const struct attribute_group power_supply_attr_group = {
392+
static const struct attribute_group power_supply_attr_group = {
393393
.attrs = __power_supply_attrs,
394394
.is_visible = power_supply_attr_is_visible,
395395
};
396396

397+
const struct attribute_group *power_supply_attr_groups[] = {
398+
&power_supply_attr_group,
399+
NULL
400+
};
401+
397402
void power_supply_init_attrs(void)
398403
{
399404
int i;

0 commit comments

Comments
 (0)