V4L/DVB (5320): Filled in limiting values in tda827x.c
[safe/jmp/linux-2.6] / drivers / acpi / system.c
index 8925a6c..83a8d30 100644 (file)
 
 #include <acpi/acpi_drivers.h>
 
-
 #define _COMPONENT             ACPI_SYSTEM_COMPONENT
-ACPI_MODULE_NAME               ("acpi_system")
+ACPI_MODULE_NAME("system");
+#ifdef MODULE_PARAM_PREFIX
+#undef MODULE_PARAM_PREFIX
+#endif
+#define MODULE_PARAM_PREFIX "acpi."
 
 #define ACPI_SYSTEM_CLASS              "system"
-#define ACPI_SYSTEM_DRIVER_NAME                "ACPI System Driver"
 #define ACPI_SYSTEM_DEVICE_NAME                "System"
 #define ACPI_SYSTEM_FILE_INFO          "info"
 #define ACPI_SYSTEM_FILE_EVENT         "event"
 #define ACPI_SYSTEM_FILE_DSDT          "dsdt"
 #define ACPI_SYSTEM_FILE_FADT          "fadt"
 
-extern FADT_DESCRIPTOR         acpi_fadt;
+/*
+ * Make ACPICA version work as module param
+ */
+static int param_get_acpica_version(char *buffer, struct kernel_param *kp) {
+       int result;
+
+       result = sprintf(buffer, "%x", ACPI_CA_VERSION);
+
+       return result;
+}
+
+module_param_call(acpica_version, NULL, param_get_acpica_version, NULL, 0444);
 
 /* --------------------------------------------------------------------------
                               FS Interface (/proc)
    -------------------------------------------------------------------------- */
+#ifdef CONFIG_ACPI_PROCFS
 
-static int
-acpi_system_read_info (struct seq_file *seq, void *offset)
+static int acpi_system_read_info(struct seq_file *seq, void *offset)
 {
-       ACPI_FUNCTION_TRACE("acpi_system_read_info");
 
        seq_printf(seq, "version:                 %x\n", ACPI_CA_VERSION);
-       return_VALUE(0);
+       return 0;
 }
 
 static int acpi_system_info_open_fs(struct inode *inode, struct file *file)
@@ -62,102 +74,93 @@ static int acpi_system_info_open_fs(struct inode *inode, struct file *file)
        return single_open(file, acpi_system_read_info, PDE(inode)->data);
 }
 
-static struct file_operations acpi_system_info_ops = {
-       .open           = acpi_system_info_open_fs,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
+static const struct file_operations acpi_system_info_ops = {
+       .open = acpi_system_info_open_fs,
+       .read = seq_read,
+       .llseek = seq_lseek,
+       .release = single_release,
 };
+#endif
 
-static ssize_t acpi_system_read_dsdt (struct file*, char __user *, size_t, loff_t*);
+static ssize_t acpi_system_read_dsdt(struct file *, char __user *, size_t,
+                                    loff_t *);
 
-static struct file_operations acpi_system_dsdt_ops = {
-       .read =                 acpi_system_read_dsdt,
+static const struct file_operations acpi_system_dsdt_ops = {
+       .read = acpi_system_read_dsdt,
 };
 
 static ssize_t
-acpi_system_read_dsdt (
-       struct file             *file,
-       char                    __user *buffer,
-       size_t                  count,
-       loff_t                  *ppos)
+acpi_system_read_dsdt(struct file *file,
+                     char __user * buffer, size_t count, loff_t * ppos)
 {
-       acpi_status             status = AE_OK;
-       struct acpi_buffer      dsdt = {ACPI_ALLOCATE_BUFFER, NULL};
-       ssize_t                 res;
+       acpi_status status = AE_OK;
+       struct acpi_table_header *dsdt = NULL;
+       ssize_t res;
 
-       ACPI_FUNCTION_TRACE("acpi_system_read_dsdt");
 
-       status = acpi_get_table(ACPI_TABLE_DSDT, 1, &dsdt);
+       status = acpi_get_table(ACPI_SIG_DSDT, 1, &dsdt);
        if (ACPI_FAILURE(status))
-               return_VALUE(-ENODEV);
+               return -ENODEV;
 
        res = simple_read_from_buffer(buffer, count, ppos,
-                                     dsdt.pointer, dsdt.length);
-       acpi_os_free(dsdt.pointer);
+                                     dsdt, dsdt->length);
 
-       return_VALUE(res);
+       return res;
 }
 
+static ssize_t acpi_system_read_fadt(struct file *, char __user *, size_t,
+                                    loff_t *);
 
-static ssize_t acpi_system_read_fadt (struct file*, char __user *, size_t, loff_t*);
-
-static struct file_operations acpi_system_fadt_ops = {
-       .read =                 acpi_system_read_fadt,
+static const struct file_operations acpi_system_fadt_ops = {
+       .read = acpi_system_read_fadt,
 };
 
 static ssize_t
-acpi_system_read_fadt (
-       struct file             *file,
-       char                    __user *buffer,
-       size_t                  count,
-       loff_t                  *ppos)
+acpi_system_read_fadt(struct file *file,
+                     char __user * buffer, size_t count, loff_t * ppos)
 {
-       acpi_status             status = AE_OK;
-       struct acpi_buffer      fadt = {ACPI_ALLOCATE_BUFFER, NULL};
-       ssize_t                 res;
+       acpi_status status = AE_OK;
+       struct acpi_table_header *fadt = NULL;
+       ssize_t res;
 
-       ACPI_FUNCTION_TRACE("acpi_system_read_fadt");
 
-       status = acpi_get_table(ACPI_TABLE_FADT, 1, &fadt);
+       status = acpi_get_table(ACPI_SIG_FADT, 1, &fadt);
        if (ACPI_FAILURE(status))
-               return_VALUE(-ENODEV);
+               return -ENODEV;
 
        res = simple_read_from_buffer(buffer, count, ppos,
-                                     fadt.pointer, fadt.length);
-       acpi_os_free(fadt.pointer);
+                                     fadt, fadt->length);
 
-       return_VALUE(res);
+       return res;
 }
 
-
-static int __init acpi_system_init (void)
+static int __init acpi_system_init(void)
 {
-       struct proc_dir_entry   *entry;
+       struct proc_dir_entry *entry;
        int error = 0;
-       char * name;
+       char *name;
 
-       ACPI_FUNCTION_TRACE("acpi_system_init");
 
        if (acpi_disabled)
-               return_VALUE(0);
+               return 0;
 
+#ifdef CONFIG_ACPI_PROCFS
        /* 'info' [R] */
        name = ACPI_SYSTEM_FILE_INFO;
-       entry = create_proc_entry(name,
-               S_IRUGO, acpi_root_dir);
+       entry = create_proc_entry(name, S_IRUGO, acpi_root_dir);
        if (!entry)
                goto Error;
        else {
                entry->proc_fops = &acpi_system_info_ops;
        }
+#endif
 
        /* 'dsdt' [R] */
        name = ACPI_SYSTEM_FILE_DSDT;
        entry = create_proc_entry(name, S_IRUSR, acpi_root_dir);
        if (entry)
                entry->proc_fops = &acpi_system_dsdt_ops;
-       else 
+       else
                goto Error;
 
        /* 'fadt' [R] */
@@ -168,20 +171,18 @@ static int __init acpi_system_init (void)
        else
                goto Error;
 
- Done:
-       return_VALUE(error);
-
- Error:
-       ACPI_DEBUG_PRINT((ACPI_DB_ERROR, 
-                        "Unable to create '%s' proc fs entry\n", name));
+      Done:
+       return error;
 
+      Error:
        remove_proc_entry(ACPI_SYSTEM_FILE_FADT, acpi_root_dir);
        remove_proc_entry(ACPI_SYSTEM_FILE_DSDT, acpi_root_dir);
+#ifdef CONFIG_ACPI_PROCFS
        remove_proc_entry(ACPI_SYSTEM_FILE_INFO, acpi_root_dir);
+#endif
 
        error = -EFAULT;
        goto Done;
 }
 
-
 subsys_initcall(acpi_system_init);