aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2011-03-23 02:35:02 -0400
committerLen Brown <len.brown@intel.com>2011-03-23 02:35:02 -0400
commit3d26678e8009b03f27674c2f9e5b236c2f627b14 (patch)
tree900109fa180619e440b44334f4bed5a1395aaba6 /drivers/acpi
parent02e2407858fd62053bf60349c0e72cd1c7a4a60e (diff)
parentc3146df2b735912eddd1d7c080c9377d5df0ae94 (diff)
Merge branch 'sysdev' into release
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/ec_sys.c4
-rw-r--r--drivers/acpi/internal.h3
-rw-r--r--drivers/acpi/pci_link.c30
3 files changed, 8 insertions, 29 deletions
diff --git a/drivers/acpi/ec_sys.c b/drivers/acpi/ec_sys.c
index 411620ef84c..05b44201a61 100644
--- a/drivers/acpi/ec_sys.c
+++ b/drivers/acpi/ec_sys.c
@@ -24,10 +24,6 @@ MODULE_PARM_DESC(write_support, "Dangerous, reboot and removal of battery may "
24 24
25#define EC_SPACE_SIZE 256 25#define EC_SPACE_SIZE 256
26 26
27struct sysdev_class acpi_ec_sysdev_class = {
28 .name = "ec",
29};
30
31static struct dentry *acpi_ec_debugfs_dir; 27static struct dentry *acpi_ec_debugfs_dir;
32 28
33static int acpi_ec_open_io(struct inode *i, struct file *f) 29static int acpi_ec_open_io(struct inode *i, struct file *f)
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index b1cc81a0431..4bfb759deb1 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -21,8 +21,6 @@
21#ifndef _ACPI_INTERNAL_H_ 21#ifndef _ACPI_INTERNAL_H_
22#define _ACPI_INTERNAL_H_ 22#define _ACPI_INTERNAL_H_
23 23
24#include <linux/sysdev.h>
25
26#define PREFIX "ACPI: " 24#define PREFIX "ACPI: "
27 25
28int init_acpi_device_notify(void); 26int init_acpi_device_notify(void);
@@ -64,7 +62,6 @@ struct acpi_ec {
64 struct list_head list; 62 struct list_head list;
65 struct transaction *curr; 63 struct transaction *curr;
66 spinlock_t curr_lock; 64 spinlock_t curr_lock;
67 struct sys_device sysdev;
68}; 65};
69 66
70extern struct acpi_ec *first_ec; 67extern struct acpi_ec *first_ec;
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 9ff80a7e9f6..4a29763b8eb 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -29,7 +29,7 @@
29 * for IRQ management (e.g. start()->_SRS). 29 * for IRQ management (e.g. start()->_SRS).
30 */ 30 */
31 31
32#include <linux/sysdev.h> 32#include <linux/syscore_ops.h>
33#include <linux/kernel.h> 33#include <linux/kernel.h>
34#include <linux/module.h> 34#include <linux/module.h>
35#include <linux/init.h> 35#include <linux/init.h>
@@ -757,14 +757,13 @@ static int acpi_pci_link_resume(struct acpi_pci_link *link)
757 return 0; 757 return 0;
758} 758}
759 759
760static int irqrouter_resume(struct sys_device *dev) 760static void irqrouter_resume(void)
761{ 761{
762 struct acpi_pci_link *link; 762 struct acpi_pci_link *link;
763 763
764 list_for_each_entry(link, &acpi_link_list, list) { 764 list_for_each_entry(link, &acpi_link_list, list) {
765 acpi_pci_link_resume(link); 765 acpi_pci_link_resume(link);
766 } 766 }
767 return 0;
768} 767}
769 768
770static int acpi_pci_link_remove(struct acpi_device *device, int type) 769static int acpi_pci_link_remove(struct acpi_device *device, int type)
@@ -871,32 +870,19 @@ static int __init acpi_irq_balance_set(char *str)
871 870
872__setup("acpi_irq_balance", acpi_irq_balance_set); 871__setup("acpi_irq_balance", acpi_irq_balance_set);
873 872
874/* FIXME: we will remove this interface after all drivers call pci_disable_device */ 873static struct syscore_ops irqrouter_syscore_ops = {
875static struct sysdev_class irqrouter_sysdev_class = {
876 .name = "irqrouter",
877 .resume = irqrouter_resume, 874 .resume = irqrouter_resume,
878}; 875};
879 876
880static struct sys_device device_irqrouter = { 877static int __init irqrouter_init_ops(void)
881 .id = 0,
882 .cls = &irqrouter_sysdev_class,
883};
884
885static int __init irqrouter_init_sysfs(void)
886{ 878{
887 int error; 879 if (!acpi_disabled && !acpi_noirq)
880 register_syscore_ops(&irqrouter_syscore_ops);
888 881
889 if (acpi_disabled || acpi_noirq) 882 return 0;
890 return 0;
891
892 error = sysdev_class_register(&irqrouter_sysdev_class);
893 if (!error)
894 error = sysdev_register(&device_irqrouter);
895
896 return error;
897} 883}
898 884
899device_initcall(irqrouter_init_sysfs); 885device_initcall(irqrouter_init_ops);
900 886
901static int __init acpi_pci_link_init(void) 887static int __init acpi_pci_link_init(void)
902{ 888{