aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/sbs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/sbs.c')
-rw-r--r--drivers/acpi/sbs.c27
1 files changed, 2 insertions, 25 deletions
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c
index 4ff76e8174eb..51ae3794ec7f 100644
--- a/drivers/acpi/sbs.c
+++ b/drivers/acpi/sbs.c
@@ -40,10 +40,7 @@
40#include <linux/timer.h> 40#include <linux/timer.h>
41#include <linux/jiffies.h> 41#include <linux/jiffies.h>
42#include <linux/delay.h> 42#include <linux/delay.h>
43
44#ifdef CONFIG_ACPI_SYSFS_POWER
45#include <linux/power_supply.h> 43#include <linux/power_supply.h>
46#endif
47 44
48#include "sbshc.h" 45#include "sbshc.h"
49 46
@@ -85,9 +82,7 @@ static const struct acpi_device_id sbs_device_ids[] = {
85MODULE_DEVICE_TABLE(acpi, sbs_device_ids); 82MODULE_DEVICE_TABLE(acpi, sbs_device_ids);
86 83
87struct acpi_battery { 84struct acpi_battery {
88#ifdef CONFIG_ACPI_SYSFS_POWER
89 struct power_supply bat; 85 struct power_supply bat;
90#endif
91 struct acpi_sbs *sbs; 86 struct acpi_sbs *sbs;
92#ifdef CONFIG_ACPI_PROCFS_POWER 87#ifdef CONFIG_ACPI_PROCFS_POWER
93 struct proc_dir_entry *proc_entry; 88 struct proc_dir_entry *proc_entry;
@@ -120,9 +115,7 @@ struct acpi_battery {
120#define to_acpi_battery(x) container_of(x, struct acpi_battery, bat); 115#define to_acpi_battery(x) container_of(x, struct acpi_battery, bat);
121 116
122struct acpi_sbs { 117struct acpi_sbs {
123#ifdef CONFIG_ACPI_SYSFS_POWER
124 struct power_supply charger; 118 struct power_supply charger;
125#endif
126 struct acpi_device *device; 119 struct acpi_device *device;
127 struct acpi_smb_hc *hc; 120 struct acpi_smb_hc *hc;
128 struct mutex lock; 121 struct mutex lock;
@@ -166,7 +159,6 @@ static inline int acpi_battery_scale(struct acpi_battery *battery)
166 acpi_battery_ipscale(battery); 159 acpi_battery_ipscale(battery);
167} 160}
168 161
169#ifdef CONFIG_ACPI_SYSFS_POWER
170static int sbs_get_ac_property(struct power_supply *psy, 162static int sbs_get_ac_property(struct power_supply *psy,
171 enum power_supply_property psp, 163 enum power_supply_property psp,
172 union power_supply_propval *val) 164 union power_supply_propval *val)
@@ -313,7 +305,6 @@ static enum power_supply_property sbs_energy_battery_props[] = {
313 POWER_SUPPLY_PROP_MANUFACTURER, 305 POWER_SUPPLY_PROP_MANUFACTURER,
314}; 306};
315 307
316#endif
317 308
318/* -------------------------------------------------------------------------- 309/* --------------------------------------------------------------------------
319 Smart Battery System Management 310 Smart Battery System Management
@@ -449,7 +440,6 @@ static int acpi_ac_get_present(struct acpi_sbs *sbs)
449 return result; 440 return result;
450} 441}
451 442
452#ifdef CONFIG_ACPI_SYSFS_POWER
453static ssize_t acpi_battery_alarm_show(struct device *dev, 443static ssize_t acpi_battery_alarm_show(struct device *dev,
454 struct device_attribute *attr, 444 struct device_attribute *attr,
455 char *buf) 445 char *buf)
@@ -479,7 +469,6 @@ static struct device_attribute alarm_attr = {
479 .show = acpi_battery_alarm_show, 469 .show = acpi_battery_alarm_show,
480 .store = acpi_battery_alarm_store, 470 .store = acpi_battery_alarm_store,
481}; 471};
482#endif
483 472
484/* -------------------------------------------------------------------------- 473/* --------------------------------------------------------------------------
485 FS Interface (/proc/acpi) 474 FS Interface (/proc/acpi)
@@ -495,6 +484,8 @@ acpi_sbs_add_fs(struct proc_dir_entry **dir,
495 const struct file_operations *state_fops, 484 const struct file_operations *state_fops,
496 const struct file_operations *alarm_fops, void *data) 485 const struct file_operations *alarm_fops, void *data)
497{ 486{
487 printk(KERN_WARNING PREFIX "Deprecated procfs I/F for SBS is loaded,"
488 " please retry with CONFIG_ACPI_PROCFS_POWER cleared\n");
498 if (!*dir) { 489 if (!*dir) {
499 *dir = proc_mkdir(dir_name, parent_dir); 490 *dir = proc_mkdir(dir_name, parent_dir);
500 if (!*dir) { 491 if (!*dir) {
@@ -798,7 +789,6 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
798 &acpi_battery_state_fops, &acpi_battery_alarm_fops, 789 &acpi_battery_state_fops, &acpi_battery_alarm_fops,
799 battery); 790 battery);
800#endif 791#endif
801#ifdef CONFIG_ACPI_SYSFS_POWER
802 battery->bat.name = battery->name; 792 battery->bat.name = battery->name;
803 battery->bat.type = POWER_SUPPLY_TYPE_BATTERY; 793 battery->bat.type = POWER_SUPPLY_TYPE_BATTERY;
804 if (!acpi_battery_mode(battery)) { 794 if (!acpi_battery_mode(battery)) {
@@ -819,7 +809,6 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
819 goto end; 809 goto end;
820 battery->have_sysfs_alarm = 1; 810 battery->have_sysfs_alarm = 1;
821 end: 811 end:
822#endif
823 printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n", 812 printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n",
824 ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device), 813 ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
825 battery->name, battery->present ? "present" : "absent"); 814 battery->name, battery->present ? "present" : "absent");
@@ -828,17 +817,13 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
828 817
829static void acpi_battery_remove(struct acpi_sbs *sbs, int id) 818static void acpi_battery_remove(struct acpi_sbs *sbs, int id)
830{ 819{
831#if defined(CONFIG_ACPI_SYSFS_POWER) || defined(CONFIG_ACPI_PROCFS_POWER)
832 struct acpi_battery *battery = &sbs->battery[id]; 820 struct acpi_battery *battery = &sbs->battery[id];
833#endif
834 821
835#ifdef CONFIG_ACPI_SYSFS_POWER
836 if (battery->bat.dev) { 822 if (battery->bat.dev) {
837 if (battery->have_sysfs_alarm) 823 if (battery->have_sysfs_alarm)
838 device_remove_file(battery->bat.dev, &alarm_attr); 824 device_remove_file(battery->bat.dev, &alarm_attr);
839 power_supply_unregister(&battery->bat); 825 power_supply_unregister(&battery->bat);
840 } 826 }
841#endif
842#ifdef CONFIG_ACPI_PROCFS_POWER 827#ifdef CONFIG_ACPI_PROCFS_POWER
843 if (battery->proc_entry) 828 if (battery->proc_entry)
844 acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir); 829 acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir);
@@ -859,14 +844,12 @@ static int acpi_charger_add(struct acpi_sbs *sbs)
859 if (result) 844 if (result)
860 goto end; 845 goto end;
861#endif 846#endif
862#ifdef CONFIG_ACPI_SYSFS_POWER
863 sbs->charger.name = "sbs-charger"; 847 sbs->charger.name = "sbs-charger";
864 sbs->charger.type = POWER_SUPPLY_TYPE_MAINS; 848 sbs->charger.type = POWER_SUPPLY_TYPE_MAINS;
865 sbs->charger.properties = sbs_ac_props; 849 sbs->charger.properties = sbs_ac_props;
866 sbs->charger.num_properties = ARRAY_SIZE(sbs_ac_props); 850 sbs->charger.num_properties = ARRAY_SIZE(sbs_ac_props);
867 sbs->charger.get_property = sbs_get_ac_property; 851 sbs->charger.get_property = sbs_get_ac_property;
868 power_supply_register(&sbs->device->dev, &sbs->charger); 852 power_supply_register(&sbs->device->dev, &sbs->charger);
869#endif
870 printk(KERN_INFO PREFIX "%s [%s]: AC Adapter [%s] (%s)\n", 853 printk(KERN_INFO PREFIX "%s [%s]: AC Adapter [%s] (%s)\n",
871 ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device), 854 ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
872 ACPI_AC_DIR_NAME, sbs->charger_present ? "on-line" : "off-line"); 855 ACPI_AC_DIR_NAME, sbs->charger_present ? "on-line" : "off-line");
@@ -876,10 +859,8 @@ static int acpi_charger_add(struct acpi_sbs *sbs)
876 859
877static void acpi_charger_remove(struct acpi_sbs *sbs) 860static void acpi_charger_remove(struct acpi_sbs *sbs)
878{ 861{
879#ifdef CONFIG_ACPI_SYSFS_POWER
880 if (sbs->charger.dev) 862 if (sbs->charger.dev)
881 power_supply_unregister(&sbs->charger); 863 power_supply_unregister(&sbs->charger);
882#endif
883#ifdef CONFIG_ACPI_PROCFS_POWER 864#ifdef CONFIG_ACPI_PROCFS_POWER
884 if (sbs->charger_entry) 865 if (sbs->charger_entry)
885 acpi_sbs_remove_fs(&sbs->charger_entry, acpi_ac_dir); 866 acpi_sbs_remove_fs(&sbs->charger_entry, acpi_ac_dir);
@@ -900,9 +881,7 @@ static void acpi_sbs_callback(void *context)
900 ACPI_SBS_NOTIFY_STATUS, 881 ACPI_SBS_NOTIFY_STATUS,
901 sbs->charger_present); 882 sbs->charger_present);
902#endif 883#endif
903#ifdef CONFIG_ACPI_SYSFS_POWER
904 kobject_uevent(&sbs->charger.dev->kobj, KOBJ_CHANGE); 884 kobject_uevent(&sbs->charger.dev->kobj, KOBJ_CHANGE);
905#endif
906 } 885 }
907 if (sbs->manager_present) { 886 if (sbs->manager_present) {
908 for (id = 0; id < MAX_SBS_BAT; ++id) { 887 for (id = 0; id < MAX_SBS_BAT; ++id) {
@@ -919,9 +898,7 @@ static void acpi_sbs_callback(void *context)
919 ACPI_SBS_NOTIFY_STATUS, 898 ACPI_SBS_NOTIFY_STATUS,
920 bat->present); 899 bat->present);
921#endif 900#endif
922#ifdef CONFIG_ACPI_SYSFS_POWER
923 kobject_uevent(&bat->bat.dev->kobj, KOBJ_CHANGE); 901 kobject_uevent(&bat->bat.dev->kobj, KOBJ_CHANGE);
924#endif
925 } 902 }
926 } 903 }
927} 904}