hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/drivers/power/supply/pcf50633-charger.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /* NXP PCF50633 Main Battery Charger Driver
23 *
34 * (C) 2006-2008 by Openmoko, Inc.
....@@ -6,12 +7,6 @@
67 *
78 * Broken down from monstrous PCF50633 driver mainly by
89 * Harald Welte, Andy Green and Werner Almesberger
9
- *
10
- * This program is free software; you can redistribute it and/or modify it
11
- * under the terms of the GNU General Public License as published by the
12
- * Free Software Foundation; either version 2 of the License, or (at your
13
- * option) any later version.
14
- *
1510 */
1611
1712 #include <linux/kernel.h>
....@@ -245,17 +240,14 @@
245240 */
246241 static DEVICE_ATTR(chg_curlim, S_IRUGO | S_IWUSR, show_chglim, set_chglim);
247242
248
-static struct attribute *pcf50633_mbc_sysfs_entries[] = {
243
+static struct attribute *pcf50633_mbc_sysfs_attrs[] = {
249244 &dev_attr_chgmode.attr,
250245 &dev_attr_usb_curlim.attr,
251246 &dev_attr_chg_curlim.attr,
252247 NULL,
253248 };
254249
255
-static const struct attribute_group mbc_attr_group = {
256
- .name = NULL, /* put in device directory */
257
- .attrs = pcf50633_mbc_sysfs_entries,
258
-};
250
+ATTRIBUTE_GROUPS(pcf50633_mbc_sysfs);
259251
260252 static void
261253 pcf50633_mbc_irq_handler(int irq, void *data)
....@@ -390,6 +382,7 @@
390382 static int pcf50633_mbc_probe(struct platform_device *pdev)
391383 {
392384 struct power_supply_config psy_cfg = {};
385
+ struct power_supply_config usb_psy_cfg;
393386 struct pcf50633_mbc *mbc;
394387 int i;
395388 u8 mbcs1;
....@@ -419,8 +412,11 @@
419412 return PTR_ERR(mbc->adapter);
420413 }
421414
415
+ usb_psy_cfg = psy_cfg;
416
+ usb_psy_cfg.attr_grp = pcf50633_mbc_sysfs_groups;
417
+
422418 mbc->usb = power_supply_register(&pdev->dev, &pcf50633_mbc_usb_desc,
423
- &psy_cfg);
419
+ &usb_psy_cfg);
424420 if (IS_ERR(mbc->usb)) {
425421 dev_err(mbc->pcf->dev, "failed to register usb\n");
426422 power_supply_unregister(mbc->adapter);
....@@ -435,9 +431,6 @@
435431 power_supply_unregister(mbc->usb);
436432 return PTR_ERR(mbc->ac);
437433 }
438
-
439
- if (sysfs_create_group(&pdev->dev.kobj, &mbc_attr_group))
440
- dev_err(mbc->pcf->dev, "failed to create sysfs entries\n");
441434
442435 mbcs1 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS1);
443436 if (mbcs1 & PCF50633_MBCS1_USBPRES)
....@@ -457,7 +450,6 @@
457450 for (i = 0; i < ARRAY_SIZE(mbc_irq_handlers); i++)
458451 pcf50633_free_irq(mbc->pcf, mbc_irq_handlers[i]);
459452
460
- sysfs_remove_group(&pdev->dev.kobj, &mbc_attr_group);
461453 power_supply_unregister(mbc->usb);
462454 power_supply_unregister(mbc->adapter);
463455 power_supply_unregister(mbc->ac);