]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/acpi/battery.c
ide-floppy: add ide_floppy_format_ioctl() helper
[linux-2.6-omap-h63xx.git] / drivers / acpi / battery.c
index f6215e8098086887f11b414e180923479949c467..b1c723f9f58d1fce3861730870b58550fe13f6a2 100644 (file)
@@ -293,13 +293,12 @@ static int extract_package(struct acpi_battery *battery,
                                strncpy(ptr, (u8 *)&element->integer.value,
                                        sizeof(acpi_integer));
                                ptr[sizeof(acpi_integer)] = 0;
-                       } else return -EFAULT;
+                       } else
+                               *ptr = 0; /* don't have value */
                } else {
-                       if (element->type == ACPI_TYPE_INTEGER) {
-                               int *x = (int *)((u8 *)battery +
-                                               offsets[i].offset);
-                               *x = element->integer.value;
-                       } else return -EFAULT;
+                       int *x = (int *)((u8 *)battery + offsets[i].offset);
+                       *x = (element->type == ACPI_TYPE_INTEGER) ?
+                               element->integer.value : -1;
                }
        }
        return 0;
@@ -742,15 +741,13 @@ static int acpi_battery_add_fs(struct acpi_device *device)
        }
 
        for (i = 0; i < ACPI_BATTERY_NUMFILES; ++i) {
-               entry = create_proc_entry(acpi_battery_file[i].name,
-                                 acpi_battery_file[i].mode, acpi_device_dir(device));
+               entry = proc_create_data(acpi_battery_file[i].name,
+                                        acpi_battery_file[i].mode,
+                                        acpi_device_dir(device),
+                                        &acpi_battery_file[i].ops,
+                                        acpi_driver_data(device));
                if (!entry)
                        return -ENODEV;
-               else {
-                       entry->proc_fops = &acpi_battery_file[i].ops;
-                       entry->data = acpi_driver_data(device);
-                       entry->owner = THIS_MODULE;
-               }
        }
        return 0;
 }