Commit 4be44fcd authored by Len Brown's avatar Len Brown

[ACPI] Lindent all ACPI files

Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent c65ade4d
This diff is collapsed.
...@@ -8,44 +8,44 @@ ...@@ -8,44 +8,44 @@
#include <asm/pci-direct.h> #include <asm/pci-direct.h>
#include <asm/acpi.h> #include <asm/acpi.h>
static int __init check_bridge(int vendor, int device) static int __init check_bridge(int vendor, int device)
{ {
/* According to Nvidia all timer overrides are bogus. Just ignore /* According to Nvidia all timer overrides are bogus. Just ignore
them all. */ them all. */
if (vendor == PCI_VENDOR_ID_NVIDIA) { if (vendor == PCI_VENDOR_ID_NVIDIA) {
acpi_skip_timer_override = 1; acpi_skip_timer_override = 1;
} }
return 0; return 0;
} }
void __init check_acpi_pci(void) void __init check_acpi_pci(void)
{ {
int num,slot,func; int num, slot, func;
/* Assume the machine supports type 1. If not it will /* Assume the machine supports type 1. If not it will
always read ffffffff and should not have any side effect. */ always read ffffffff and should not have any side effect. */
/* Poor man's PCI discovery */ /* Poor man's PCI discovery */
for (num = 0; num < 32; num++) { for (num = 0; num < 32; num++) {
for (slot = 0; slot < 32; slot++) { for (slot = 0; slot < 32; slot++) {
for (func = 0; func < 8; func++) { for (func = 0; func < 8; func++) {
u32 class; u32 class;
u32 vendor; u32 vendor;
class = read_pci_config(num,slot,func, class = read_pci_config(num, slot, func,
PCI_CLASS_REVISION); PCI_CLASS_REVISION);
if (class == 0xffffffff) if (class == 0xffffffff)
break; break;
if ((class >> 16) != PCI_CLASS_BRIDGE_PCI) if ((class >> 16) != PCI_CLASS_BRIDGE_PCI)
continue; continue;
vendor = read_pci_config(num, slot, func, vendor = read_pci_config(num, slot, func,
PCI_VENDOR_ID); PCI_VENDOR_ID);
if (check_bridge(vendor&0xffff, vendor >> 16)) if (check_bridge(vendor & 0xffff, vendor >> 16))
return; return;
} }
} }
} }
} }
...@@ -20,12 +20,13 @@ extern void zap_low_mappings(void); ...@@ -20,12 +20,13 @@ extern void zap_low_mappings(void);
extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long)); extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long));
static void init_low_mapping(pgd_t *pgd, int pgd_limit) static void init_low_mapping(pgd_t * pgd, int pgd_limit)
{ {
int pgd_ofs = 0; int pgd_ofs = 0;
while ((pgd_ofs < pgd_limit) && (pgd_ofs + USER_PTRS_PER_PGD < PTRS_PER_PGD)) { while ((pgd_ofs < pgd_limit)
set_pgd(pgd, *(pgd+USER_PTRS_PER_PGD)); && (pgd_ofs + USER_PTRS_PER_PGD < PTRS_PER_PGD)) {
set_pgd(pgd, *(pgd + USER_PTRS_PER_PGD));
pgd_ofs++, pgd++; pgd_ofs++, pgd++;
} }
flush_tlb_all(); flush_tlb_all();
...@@ -37,12 +38,13 @@ static void init_low_mapping(pgd_t *pgd, int pgd_limit) ...@@ -37,12 +38,13 @@ static void init_low_mapping(pgd_t *pgd, int pgd_limit)
* Create an identity mapped page table and copy the wakeup routine to * Create an identity mapped page table and copy the wakeup routine to
* low memory. * low memory.
*/ */
int acpi_save_state_mem (void) int acpi_save_state_mem(void)
{ {
if (!acpi_wakeup_address) if (!acpi_wakeup_address)
return 1; return 1;
init_low_mapping(swapper_pg_dir, USER_PTRS_PER_PGD); init_low_mapping(swapper_pg_dir, USER_PTRS_PER_PGD);
memcpy((void *) acpi_wakeup_address, &wakeup_start, &wakeup_end - &wakeup_start); memcpy((void *)acpi_wakeup_address, &wakeup_start,
&wakeup_end - &wakeup_start);
acpi_copy_wakeup_routine(acpi_wakeup_address); acpi_copy_wakeup_routine(acpi_wakeup_address);
return 0; return 0;
...@@ -51,7 +53,7 @@ int acpi_save_state_mem (void) ...@@ -51,7 +53,7 @@ int acpi_save_state_mem (void)
/* /*
* acpi_restore_state - undo effects of acpi_save_state_mem * acpi_restore_state - undo effects of acpi_save_state_mem
*/ */
void acpi_restore_state_mem (void) void acpi_restore_state_mem(void)
{ {
zap_low_mappings(); zap_low_mappings();
} }
...@@ -67,7 +69,8 @@ void acpi_restore_state_mem (void) ...@@ -67,7 +69,8 @@ void acpi_restore_state_mem (void)
void __init acpi_reserve_bootmem(void) void __init acpi_reserve_bootmem(void)
{ {
if ((&wakeup_end - &wakeup_start) > PAGE_SIZE) { if ((&wakeup_end - &wakeup_start) > PAGE_SIZE) {
printk(KERN_ERR "ACPI: Wakeup code way too big, S3 disabled.\n"); printk(KERN_ERR
"ACPI: Wakeup code way too big, S3 disabled.\n");
return; return;
} }
...@@ -90,10 +93,8 @@ static int __init acpi_sleep_setup(char *str) ...@@ -90,10 +93,8 @@ static int __init acpi_sleep_setup(char *str)
return 1; return 1;
} }
__setup("acpi_sleep=", acpi_sleep_setup); __setup("acpi_sleep=", acpi_sleep_setup);
static __init int reset_videomode_after_s3(struct dmi_system_id *d) static __init int reset_videomode_after_s3(struct dmi_system_id *d)
{ {
acpi_video_flags |= 2; acpi_video_flags |= 2;
...@@ -101,14 +102,14 @@ static __init int reset_videomode_after_s3(struct dmi_system_id *d) ...@@ -101,14 +102,14 @@ static __init int reset_videomode_after_s3(struct dmi_system_id *d)
} }
static __initdata struct dmi_system_id acpisleep_dmi_table[] = { static __initdata struct dmi_system_id acpisleep_dmi_table[] = {
{ /* Reset video mode after returning from ACPI S3 sleep */ { /* Reset video mode after returning from ACPI S3 sleep */
.callback = reset_videomode_after_s3, .callback = reset_videomode_after_s3,
.ident = "Toshiba Satellite 4030cdt", .ident = "Toshiba Satellite 4030cdt",
.matches = { .matches = {
DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"), DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),
}, },
}, },
{ } {}
}; };
static int __init acpisleep_dmi_init(void) static int __init acpisleep_dmi_init(void)
......
...@@ -17,20 +17,20 @@ ...@@ -17,20 +17,20 @@
#include <asm/acpi-ext.h> #include <asm/acpi-ext.h>
struct acpi_vendor_descriptor { struct acpi_vendor_descriptor {
u8 guid_id; u8 guid_id;
efi_guid_t guid; efi_guid_t guid;
}; };
struct acpi_vendor_info { struct acpi_vendor_info {
struct acpi_vendor_descriptor *descriptor; struct acpi_vendor_descriptor *descriptor;
u8 *data; u8 *data;
u32 length; u32 length;
}; };
acpi_status acpi_status
acpi_vendor_resource_match(struct acpi_resource *resource, void *context) acpi_vendor_resource_match(struct acpi_resource *resource, void *context)
{ {
struct acpi_vendor_info *info = (struct acpi_vendor_info *) context; struct acpi_vendor_info *info = (struct acpi_vendor_info *)context;
struct acpi_resource_vendor *vendor; struct acpi_resource_vendor *vendor;
struct acpi_vendor_descriptor *descriptor; struct acpi_vendor_descriptor *descriptor;
u32 length; u32 length;
...@@ -38,8 +38,8 @@ acpi_vendor_resource_match(struct acpi_resource *resource, void *context) ...@@ -38,8 +38,8 @@ acpi_vendor_resource_match(struct acpi_resource *resource, void *context)
if (resource->id != ACPI_RSTYPE_VENDOR) if (resource->id != ACPI_RSTYPE_VENDOR)
return AE_OK; return AE_OK;
vendor = (struct acpi_resource_vendor *) &resource->data; vendor = (struct acpi_resource_vendor *)&resource->data;
descriptor = (struct acpi_vendor_descriptor *) vendor->reserved; descriptor = (struct acpi_vendor_descriptor *)vendor->reserved;
if (vendor->length <= sizeof(*info->descriptor) || if (vendor->length <= sizeof(*info->descriptor) ||
descriptor->guid_id != info->descriptor->guid_id || descriptor->guid_id != info->descriptor->guid_id ||
efi_guidcmp(descriptor->guid, info->descriptor->guid)) efi_guidcmp(descriptor->guid, info->descriptor->guid))
...@@ -50,21 +50,24 @@ acpi_vendor_resource_match(struct acpi_resource *resource, void *context) ...@@ -50,21 +50,24 @@ acpi_vendor_resource_match(struct acpi_resource *resource, void *context)
if (!info->data) if (!info->data)
return AE_NO_MEMORY; return AE_NO_MEMORY;
memcpy(info->data, vendor->reserved + sizeof(struct acpi_vendor_descriptor), length); memcpy(info->data,
vendor->reserved + sizeof(struct acpi_vendor_descriptor),
length);
info->length = length; info->length = length;
return AE_CTRL_TERMINATE; return AE_CTRL_TERMINATE;
} }
acpi_status acpi_status
acpi_find_vendor_resource(acpi_handle obj, struct acpi_vendor_descriptor *id, acpi_find_vendor_resource(acpi_handle obj, struct acpi_vendor_descriptor * id,
u8 **data, u32 *length) u8 ** data, u32 * length)
{ {
struct acpi_vendor_info info; struct acpi_vendor_info info;
info.descriptor = id; info.descriptor = id;
info.data = NULL; info.data = NULL;
acpi_walk_resources(obj, METHOD_NAME__CRS, acpi_vendor_resource_match, &info); acpi_walk_resources(obj, METHOD_NAME__CRS, acpi_vendor_resource_match,
&info);
if (!info.data) if (!info.data)
return AE_NOT_FOUND; return AE_NOT_FOUND;
...@@ -75,17 +78,19 @@ acpi_find_vendor_resource(acpi_handle obj, struct acpi_vendor_descriptor *id, ...@@ -75,17 +78,19 @@ acpi_find_vendor_resource(acpi_handle obj, struct acpi_vendor_descriptor *id,
struct acpi_vendor_descriptor hp_ccsr_descriptor = { struct acpi_vendor_descriptor hp_ccsr_descriptor = {
.guid_id = 2, .guid_id = 2,
.guid = EFI_GUID(0x69e9adf9, 0x924f, 0xab5f, 0xf6, 0x4a, 0x24, 0xd2, 0x01, 0x37, 0x0e, 0xad) .guid =
EFI_GUID(0x69e9adf9, 0x924f, 0xab5f, 0xf6, 0x4a, 0x24, 0xd2, 0x01,
0x37, 0x0e, 0xad)
}; };
acpi_status acpi_status hp_acpi_csr_space(acpi_handle obj, u64 * csr_base, u64 * csr_length)
hp_acpi_csr_space(acpi_handle obj, u64 *csr_base, u64 *csr_length)
{ {
acpi_status status; acpi_status status;
u8 *data; u8 *data;
u32 length; u32 length;
status = acpi_find_vendor_resource(obj, &hp_ccsr_descriptor, &data, &length); status =
acpi_find_vendor_resource(obj, &hp_ccsr_descriptor, &data, &length);
if (ACPI_FAILURE(status) || length != 16) if (ACPI_FAILURE(status) || length != 16)
return AE_NOT_FOUND; return AE_NOT_FOUND;
......
This diff is collapsed.
...@@ -47,7 +47,6 @@ ...@@ -47,7 +47,6 @@
#include <asm/proto.h> #include <asm/proto.h>
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
Low-Level Sleep Support Low-Level Sleep Support
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
...@@ -77,11 +76,12 @@ static void init_low_mapping(void) ...@@ -77,11 +76,12 @@ static void init_low_mapping(void)
* Create an identity mapped page table and copy the wakeup routine to * Create an identity mapped page table and copy the wakeup routine to
* low memory. * low memory.
*/ */
int acpi_save_state_mem (void) int acpi_save_state_mem(void)
{ {
init_low_mapping(); init_low_mapping();
memcpy((void *) acpi_wakeup_address, &wakeup_start, &wakeup_end - &wakeup_start); memcpy((void *)acpi_wakeup_address, &wakeup_start,
&wakeup_end - &wakeup_start);
acpi_copy_wakeup_routine(acpi_wakeup_address); acpi_copy_wakeup_routine(acpi_wakeup_address);
return 0; return 0;
...@@ -90,7 +90,7 @@ int acpi_save_state_mem (void) ...@@ -90,7 +90,7 @@ int acpi_save_state_mem (void)
/* /*
* acpi_restore_state * acpi_restore_state
*/ */
void acpi_restore_state_mem (void) void acpi_restore_state_mem(void)
{ {
set_pgd(pgd_offset(current->mm, 0UL), low_ptr); set_pgd(pgd_offset(current->mm, 0UL), low_ptr);
flush_tlb_all(); flush_tlb_all();
...@@ -108,7 +108,8 @@ void __init acpi_reserve_bootmem(void) ...@@ -108,7 +108,8 @@ void __init acpi_reserve_bootmem(void)
{ {
acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE); acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE);
if ((&wakeup_end - &wakeup_start) > PAGE_SIZE) if ((&wakeup_end - &wakeup_start) > PAGE_SIZE)
printk(KERN_CRIT "ACPI: Wakeup code way too big, will crash on attempt to suspend\n"); printk(KERN_CRIT
"ACPI: Wakeup code way too big, will crash on attempt to suspend\n");
} }
static int __init acpi_sleep_setup(char *str) static int __init acpi_sleep_setup(char *str)
...@@ -127,6 +128,8 @@ static int __init acpi_sleep_setup(char *str) ...@@ -127,6 +128,8 @@ static int __init acpi_sleep_setup(char *str)
__setup("acpi_sleep=", acpi_sleep_setup); __setup("acpi_sleep=", acpi_sleep_setup);
#endif /*CONFIG_ACPI_SLEEP*/ #endif /*CONFIG_ACPI_SLEEP */
void acpi_pci_link_exit(void) {} void acpi_pci_link_exit(void)
{
}
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#include <acpi/acpi_bus.h> #include <acpi/acpi_bus.h>
#include <acpi/acpi_drivers.h> #include <acpi/acpi_drivers.h>
#define ACPI_AC_COMPONENT 0x00020000 #define ACPI_AC_COMPONENT 0x00020000
#define ACPI_AC_CLASS "ac_adapter" #define ACPI_AC_CLASS "ac_adapter"
#define ACPI_AC_HID "ACPI0003" #define ACPI_AC_HID "ACPI0003"
...@@ -45,47 +44,45 @@ ...@@ -45,47 +44,45 @@
#define ACPI_AC_STATUS_UNKNOWN 0xFF #define ACPI_AC_STATUS_UNKNOWN 0xFF
#define _COMPONENT ACPI_AC_COMPONENT #define _COMPONENT ACPI_AC_COMPONENT
ACPI_MODULE_NAME ("acpi_ac") ACPI_MODULE_NAME("acpi_ac")
MODULE_AUTHOR("Paul Diefenbaugh"); MODULE_AUTHOR("Paul Diefenbaugh");
MODULE_DESCRIPTION(ACPI_AC_DRIVER_NAME); MODULE_DESCRIPTION(ACPI_AC_DRIVER_NAME);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
static int acpi_ac_add (struct acpi_device *device); static int acpi_ac_add(struct acpi_device *device);
static int acpi_ac_remove (struct acpi_device *device, int type); static int acpi_ac_remove(struct acpi_device *device, int type);
static int acpi_ac_open_fs(struct inode *inode, struct file *file); static int acpi_ac_open_fs(struct inode *inode, struct file *file);
static struct acpi_driver acpi_ac_driver = { static struct acpi_driver acpi_ac_driver = {
.name = ACPI_AC_DRIVER_NAME, .name = ACPI_AC_DRIVER_NAME,
.class = ACPI_AC_CLASS, .class = ACPI_AC_CLASS,
.ids = ACPI_AC_HID, .ids = ACPI_AC_HID,
.ops = { .ops = {
.add = acpi_ac_add, .add = acpi_ac_add,
.remove = acpi_ac_remove, .remove = acpi_ac_remove,
}, },
}; };
struct acpi_ac { struct acpi_ac {
acpi_handle handle; acpi_handle handle;
unsigned long state; unsigned long state;
}; };
static struct file_operations acpi_ac_fops = { static struct file_operations acpi_ac_fops = {
.open = acpi_ac_open_fs, .open = acpi_ac_open_fs,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
.release = single_release, .release = single_release,
}; };
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
AC Adapter Management AC Adapter Management
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
static int static int acpi_ac_get_state(struct acpi_ac *ac)
acpi_ac_get_state (
struct acpi_ac *ac)
{ {
acpi_status status = AE_OK; acpi_status status = AE_OK;
ACPI_FUNCTION_TRACE("acpi_ac_get_state"); ACPI_FUNCTION_TRACE("acpi_ac_get_state");
...@@ -95,24 +92,23 @@ acpi_ac_get_state ( ...@@ -95,24 +92,23 @@ acpi_ac_get_state (
status = acpi_evaluate_integer(ac->handle, "_PSR", NULL, &ac->state); status = acpi_evaluate_integer(ac->handle, "_PSR", NULL, &ac->state);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
"Error reading AC Adapter state\n")); "Error reading AC Adapter state\n"));
ac->state = ACPI_AC_STATUS_UNKNOWN; ac->state = ACPI_AC_STATUS_UNKNOWN;
return_VALUE(-ENODEV); return_VALUE(-ENODEV);
} }
return_VALUE(0); return_VALUE(0);
} }
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
FS Interface (/proc) FS Interface (/proc)
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
static struct proc_dir_entry *acpi_ac_dir; static struct proc_dir_entry *acpi_ac_dir;
static int acpi_ac_seq_show(struct seq_file *seq, void *offset) static int acpi_ac_seq_show(struct seq_file *seq, void *offset)
{ {
struct acpi_ac *ac = (struct acpi_ac *) seq->private; struct acpi_ac *ac = (struct acpi_ac *)seq->private;
ACPI_FUNCTION_TRACE("acpi_ac_seq_show"); ACPI_FUNCTION_TRACE("acpi_ac_seq_show");
...@@ -139,23 +135,21 @@ static int acpi_ac_seq_show(struct seq_file *seq, void *offset) ...@@ -139,23 +135,21 @@ static int acpi_ac_seq_show(struct seq_file *seq, void *offset)
return_VALUE(0); return_VALUE(0);
} }
static int acpi_ac_open_fs(struct inode *inode, struct file *file) static int acpi_ac_open_fs(struct inode *inode, struct file *file)
{ {
return single_open(file, acpi_ac_seq_show, PDE(inode)->data); return single_open(file, acpi_ac_seq_show, PDE(inode)->data);
} }
static int static int acpi_ac_add_fs(struct acpi_device *device)
acpi_ac_add_fs (
struct acpi_device *device)
{ {
struct proc_dir_entry *entry = NULL; struct proc_dir_entry *entry = NULL;
ACPI_FUNCTION_TRACE("acpi_ac_add_fs"); ACPI_FUNCTION_TRACE("acpi_ac_add_fs");
if (!acpi_device_dir(device)) { if (!acpi_device_dir(device)) {
acpi_device_dir(device) = proc_mkdir(acpi_device_bid(device), acpi_device_dir(device) = proc_mkdir(acpi_device_bid(device),
acpi_ac_dir); acpi_ac_dir);
if (!acpi_device_dir(device)) if (!acpi_device_dir(device))
return_VALUE(-ENODEV); return_VALUE(-ENODEV);
acpi_device_dir(device)->owner = THIS_MODULE; acpi_device_dir(device)->owner = THIS_MODULE;
...@@ -163,11 +157,11 @@ acpi_ac_add_fs ( ...@@ -163,11 +157,11 @@ acpi_ac_add_fs (
/* 'state' [R] */ /* 'state' [R] */
entry = create_proc_entry(ACPI_AC_FILE_STATE, entry = create_proc_entry(ACPI_AC_FILE_STATE,
S_IRUGO, acpi_device_dir(device)); S_IRUGO, acpi_device_dir(device));
if (!entry) if (!entry)
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
"Unable to create '%s' fs entry\n", "Unable to create '%s' fs entry\n",
ACPI_AC_FILE_STATE)); ACPI_AC_FILE_STATE));
else { else {
entry->proc_fops = &acpi_ac_fops; entry->proc_fops = &acpi_ac_fops;
entry->data = acpi_driver_data(device); entry->data = acpi_driver_data(device);
...@@ -177,16 +171,12 @@ acpi_ac_add_fs ( ...@@ -177,16 +171,12 @@ acpi_ac_add_fs (
return_VALUE(0); return_VALUE(0);
} }
static int acpi_ac_remove_fs(struct acpi_device *device)
static int
acpi_ac_remove_fs (
struct acpi_device *device)
{ {
ACPI_FUNCTION_TRACE("acpi_ac_remove_fs"); ACPI_FUNCTION_TRACE("acpi_ac_remove_fs");
if (acpi_device_dir(device)) { if (acpi_device_dir(device)) {
remove_proc_entry(ACPI_AC_FILE_STATE, remove_proc_entry(ACPI_AC_FILE_STATE, acpi_device_dir(device));
acpi_device_dir(device));
remove_proc_entry(acpi_device_bid(device), acpi_ac_dir); remove_proc_entry(acpi_device_bid(device), acpi_ac_dir);
acpi_device_dir(device) = NULL; acpi_device_dir(device) = NULL;
...@@ -195,19 +185,14 @@ acpi_ac_remove_fs ( ...@@ -195,19 +185,14 @@ acpi_ac_remove_fs (
return_VALUE(0); return_VALUE(0);
} }
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
Driver Model Driver Model
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
static void static void acpi_ac_notify(acpi_handle handle, u32 event, void *data)
acpi_ac_notify (
acpi_handle handle,
u32 event,
void *data)
{ {
struct acpi_ac *ac = (struct acpi_ac *) data; struct acpi_ac *ac = (struct acpi_ac *)data;
struct acpi_device *device = NULL; struct acpi_device *device = NULL;
ACPI_FUNCTION_TRACE("acpi_ac_notify"); ACPI_FUNCTION_TRACE("acpi_ac_notify");
...@@ -224,21 +209,18 @@ acpi_ac_notify ( ...@@ -224,21 +209,18 @@ acpi_ac_notify (
break; break;
default: default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO, ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Unsupported event [0x%x]\n", event)); "Unsupported event [0x%x]\n", event));
break; break;
} }
return_VOID; return_VOID;
} }
static int acpi_ac_add(struct acpi_device *device)
static int
acpi_ac_add (
struct acpi_device *device)
{ {
int result = 0; int result = 0;
acpi_status status = AE_OK; acpi_status status = AE_OK;
struct acpi_ac *ac = NULL; struct acpi_ac *ac = NULL;
ACPI_FUNCTION_TRACE("acpi_ac_add"); ACPI_FUNCTION_TRACE("acpi_ac_add");
...@@ -264,19 +246,20 @@ acpi_ac_add ( ...@@ -264,19 +246,20 @@ acpi_ac_add (
goto end; goto end;
status = acpi_install_notify_handler(ac->handle, status = acpi_install_notify_handler(ac->handle,
ACPI_DEVICE_NOTIFY, acpi_ac_notify, ac); ACPI_DEVICE_NOTIFY, acpi_ac_notify,
ac);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
"Error installing notify handler\n")); "Error installing notify handler\n"));
result = -ENODEV; result = -ENODEV;
goto end; goto end;
} }
printk(KERN_INFO PREFIX "%s [%s] (%s)\n", printk(KERN_INFO PREFIX "%s [%s] (%s)\n",
acpi_device_name(device), acpi_device_bid(device), acpi_device_name(device), acpi_device_bid(device),
ac->state?"on-line":"off-line"); ac->state ? "on-line" : "off-line");
end: end:
if (result) { if (result) {
acpi_ac_remove_fs(device); acpi_ac_remove_fs(device);
kfree(ac); kfree(ac);
...@@ -285,27 +268,23 @@ acpi_ac_add ( ...@@ -285,27 +268,23 @@ acpi_ac_add (
return_VALUE(result); return_VALUE(result);
} }
static int acpi_ac_remove(struct acpi_device *device, int type)
static int
acpi_ac_remove (
struct acpi_device *device,
int type)
{ {
acpi_status status = AE_OK; acpi_status status = AE_OK;
struct acpi_ac *ac = NULL; struct acpi_ac *ac = NULL;
ACPI_FUNCTION_TRACE("acpi_ac_remove"); ACPI_FUNCTION_TRACE("acpi_ac_remove");
if (!device || !acpi_driver_data(device)) if (!device || !acpi_driver_data(device))
return_VALUE(-EINVAL); return_VALUE(-EINVAL);
ac = (struct acpi_ac *) acpi_driver_data(device); ac = (struct acpi_ac *)acpi_driver_data(device);
status = acpi_remove_notify_handler(ac->handle, status = acpi_remove_notify_handler(ac->handle,
ACPI_DEVICE_NOTIFY, acpi_ac_notify); ACPI_DEVICE_NOTIFY, acpi_ac_notify);
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
"Error removing notify handler\n")); "Error removing notify handler\n"));
acpi_ac_remove_fs(device); acpi_ac_remove_fs(device);
...@@ -314,11 +293,9 @@ acpi_ac_remove ( ...@@ -314,11 +293,9 @@ acpi_ac_remove (
return_VALUE(0); return_VALUE(0);
} }
static int __init acpi_ac_init(void)
static int __init
acpi_ac_init (void)
{ {
int result = 0; int result = 0;
ACPI_FUNCTION_TRACE("acpi_ac_init"); ACPI_FUNCTION_TRACE("acpi_ac_init");
...@@ -336,9 +313,7 @@ acpi_ac_init (void) ...@@ -336,9 +313,7 @@ acpi_ac_init (void)
return_VALUE(0); return_VALUE(0);
} }
static void __exit acpi_ac_exit(void)
static void __exit
acpi_ac_exit (void)
{ {
ACPI_FUNCTION_TRACE("acpi_ac_exit"); ACPI_FUNCTION_TRACE("acpi_ac_exit");
...@@ -349,6 +324,5 @@ acpi_ac_exit (void) ...@@ -349,6 +324,5 @@ acpi_ac_exit (void)
return_VOID; return_VOID;
} }
module_init(acpi_ac_init); module_init(acpi_ac_init);
module_exit(acpi_ac_exit); module_exit(acpi_ac_exit);
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
...@@ -34,49 +33,49 @@ ...@@ -34,49 +33,49 @@
#include <acpi/acpi_bus.h> #include <acpi/acpi_bus.h>
#include <linux/dmi.h> #include <linux/dmi.h>
enum acpi_blacklist_predicates enum acpi_blacklist_predicates {
{ all_versions,
all_versions, less_than_or_equal,
less_than_or_equal, equal,
equal, greater_than_or_equal,
greater_than_or_equal,
}; };
struct acpi_blacklist_item struct acpi_blacklist_item {
{ char oem_id[7];
char oem_id[7]; char oem_table_id[9];
char oem_table_id[9]; u32 oem_revision;
u32 oem_revision; acpi_table_type table;
acpi_table_type table; enum acpi_blacklist_predicates oem_revision_predicate;
enum acpi_blacklist_predicates oem_revision_predicate; char *reason;
char *reason; u32 is_critical_error;
u32 is_critical_error;
}; };
/* /*
* POLICY: If *anything* doesn't work, put it on the blacklist. * POLICY: If *anything* doesn't work, put it on the blacklist.
* If they are critical errors, mark it critical, and abort driver load. * If they are critical errors, mark it critical, and abort driver load.
*/ */
static struct acpi_blacklist_item acpi_blacklist[] __initdata = static struct acpi_blacklist_item acpi_blacklist[] __initdata = {
{
/* Compaq Presario 1700 */ /* Compaq Presario 1700 */
{"PTLTD ", " DSDT ", 0x06040000, ACPI_DSDT, less_than_or_equal, "Multiple problems", 1}, {"PTLTD ", " DSDT ", 0x06040000, ACPI_DSDT, less_than_or_equal,
"Multiple problems", 1},
/* Sony FX120, FX140, FX150? */ /* Sony FX120, FX140, FX150? */
{"SONY ", "U0 ", 0x20010313, ACPI_DSDT, less_than_or_equal, "ACPI driver problem", 1}, {"SONY ", "U0 ", 0x20010313, ACPI_DSDT, less_than_or_equal,
"ACPI driver problem", 1},
/* Compaq Presario 800, Insyde BIOS */ /* Compaq Presario 800, Insyde BIOS */
{"INT440", "SYSFexxx", 0x00001001, ACPI_DSDT, less_than_or_equal, "Does not use _REG to protect EC OpRegions", 1}, {"INT440", "SYSFexxx", 0x00001001, ACPI_DSDT, less_than_or_equal,
"Does not use _REG to protect EC OpRegions", 1},
/* IBM 600E - _ADR should return 7, but it returns 1 */ /* IBM 600E - _ADR should return 7, but it returns 1 */
{"IBM ", "TP600E ", 0x00000105, ACPI_DSDT, less_than_or_equal, "Incorrect _ADR", 1}, {"IBM ", "TP600E ", 0x00000105, ACPI_DSDT, less_than_or_equal,
{"ASUS\0\0", "P2B-S ", 0, ACPI_DSDT, all_versions, "Bogus PCI routing", 1}, "Incorrect _ADR", 1},
{"ASUS\0\0", "P2B-S ", 0, ACPI_DSDT, all_versions,
"Bogus PCI routing", 1},
{""} {""}
}; };
#if CONFIG_ACPI_BLACKLIST_YEAR #if CONFIG_ACPI_BLACKLIST_YEAR
static int __init static int __init blacklist_by_year(void)
blacklist_by_year(void)
{ {
int year; int year;
char *s = dmi_get_system_info(DMI_BIOS_DATE); char *s = dmi_get_system_info(DMI_BIOS_DATE);
...@@ -92,36 +91,38 @@ blacklist_by_year(void) ...@@ -92,36 +91,38 @@ blacklist_by_year(void)
s += 1; s += 1;
year = simple_strtoul(s,NULL,0); year = simple_strtoul(s, NULL, 0);
if (year < 100) { /* 2-digit year */ if (year < 100) { /* 2-digit year */
year += 1900; year += 1900;
if (year < 1996) /* no dates < spec 1.0 */ if (year < 1996) /* no dates < spec 1.0 */
year += 100; year += 100;
} }
if (year < CONFIG_ACPI_BLACKLIST_YEAR) { if (year < CONFIG_ACPI_BLACKLIST_YEAR) {
printk(KERN_ERR PREFIX "BIOS age (%d) fails cutoff (%d), " printk(KERN_ERR PREFIX "BIOS age (%d) fails cutoff (%d), "
"acpi=force is required to enable ACPI\n", "acpi=force is required to enable ACPI\n",
year, CONFIG_ACPI_BLACKLIST_YEAR); year, CONFIG_ACPI_BLACKLIST_YEAR);
return 1; return 1;
} }
return 0; return 0;
} }
#else #else
static inline int blacklist_by_year(void) { return 0; } static inline int blacklist_by_year(void)
{
return 0;
}
#endif #endif
int __init int __init acpi_blacklisted(void)
acpi_blacklisted(void)
{ {
int i = 0; int i = 0;
int blacklisted = 0; int blacklisted = 0;
struct acpi_table_header *table_header; struct acpi_table_header *table_header;
while (acpi_blacklist[i].oem_id[0] != '\0') while (acpi_blacklist[i].oem_id[0] != '\0') {
{ if (acpi_get_table_header_early
if (acpi_get_table_header_early(acpi_blacklist[i].table, &table_header)) { (acpi_blacklist[i].table, &table_header)) {
i++; i++;
continue; continue;
} }
...@@ -131,33 +132,43 @@ acpi_blacklisted(void) ...@@ -131,33 +132,43 @@ acpi_blacklisted(void)
continue; continue;
} }
if (strncmp(acpi_blacklist[i].oem_table_id, table_header->oem_table_id, 8)) { if (strncmp
(acpi_blacklist[i].oem_table_id, table_header->oem_table_id,
8)) {
i++; i++;
continue; continue;
} }
if ((acpi_blacklist[i].oem_revision_predicate == all_versions) if ((acpi_blacklist[i].oem_revision_predicate == all_versions)
|| (acpi_blacklist[i].oem_revision_predicate == less_than_or_equal || (acpi_blacklist[i].oem_revision_predicate ==
&& table_header->oem_revision <= acpi_blacklist[i].oem_revision) less_than_or_equal
|| (acpi_blacklist[i].oem_revision_predicate == greater_than_or_equal && table_header->oem_revision <=
&& table_header->oem_revision >= acpi_blacklist[i].oem_revision) acpi_blacklist[i].oem_revision)
|| (acpi_blacklist[i].oem_revision_predicate ==
greater_than_or_equal
&& table_header->oem_revision >=
acpi_blacklist[i].oem_revision)
|| (acpi_blacklist[i].oem_revision_predicate == equal || (acpi_blacklist[i].oem_revision_predicate == equal
&& table_header->oem_revision == acpi_blacklist[i].oem_revision)) { && table_header->oem_revision ==
acpi_blacklist[i].oem_revision)) {
printk(KERN_ERR PREFIX "Vendor \"%6.6s\" System \"%8.8s\" "
"Revision 0x%x has a known ACPI BIOS problem.\n", printk(KERN_ERR PREFIX
acpi_blacklist[i].oem_id, "Vendor \"%6.6s\" System \"%8.8s\" "
acpi_blacklist[i].oem_table_id, "Revision 0x%x has a known ACPI BIOS problem.\n",
acpi_blacklist[i].oem_revision); acpi_blacklist[i].oem_id,
acpi_blacklist[i].oem_table_id,
printk(KERN_ERR PREFIX "Reason: %s. This is a %s error\n", acpi_blacklist[i].oem_revision);
acpi_blacklist[i].reason,
(acpi_blacklist[i].is_critical_error ? "non-recoverable" : "recoverable")); printk(KERN_ERR PREFIX
"Reason: %s. This is a %s error\n",
acpi_blacklist[i].reason,
(acpi_blacklist[i].
is_critical_error ? "non-recoverable" :
"recoverable"));
blacklisted = acpi_blacklist[i].is_critical_error; blacklisted = acpi_blacklist[i].is_critical_error;
break; break;
} } else {
else {
i++; i++;
} }
} }
...@@ -166,4 +177,3 @@ acpi_blacklisted(void) ...@@ -166,4 +177,3 @@ acpi_blacklisted(void)
return blacklisted; return blacklisted;
} }
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -13,16 +13,15 @@ ...@@ -13,16 +13,15 @@
#include <acpi/acpi_drivers.h> #include <acpi/acpi_drivers.h>
#define _COMPONENT ACPI_SYSTEM_COMPONENT #define _COMPONENT ACPI_SYSTEM_COMPONENT
ACPI_MODULE_NAME ("event") ACPI_MODULE_NAME("event")
/* Global vars for handling event proc entry */ /* Global vars for handling event proc entry */
static DEFINE_SPINLOCK(acpi_system_event_lock); static DEFINE_SPINLOCK(acpi_system_event_lock);
int event_is_open = 0; int event_is_open = 0;
extern struct list_head acpi_bus_event_list; extern struct list_head acpi_bus_event_list;
extern wait_queue_head_t acpi_bus_event_queue; extern wait_queue_head_t acpi_bus_event_queue;
static int static int acpi_system_open_event(struct inode *inode, struct file *file)
acpi_system_open_event(struct inode *inode, struct file *file)
{ {
spin_lock_irq(&acpi_system_event_lock); spin_lock_irq(&acpi_system_event_lock);
...@@ -34,20 +33,20 @@ acpi_system_open_event(struct inode *inode, struct file *file) ...@@ -34,20 +33,20 @@ acpi_system_open_event(struct inode *inode, struct file *file)
spin_unlock_irq(&acpi_system_event_lock); spin_unlock_irq(&acpi_system_event_lock);
return 0; return 0;
out_busy: out_busy:
spin_unlock_irq(&acpi_system_event_lock); spin_unlock_irq(&acpi_system_event_lock);
return -EBUSY; return -EBUSY;
} }
static ssize_t static ssize_t
acpi_system_read_event(struct file *file, char __user *buffer, size_t count, loff_t *ppos) acpi_system_read_event(struct file *file, char __user * buffer, size_t count,
loff_t * ppos)
{ {
int result = 0; int result = 0;
struct acpi_bus_event event; struct acpi_bus_event event;
static char str[ACPI_MAX_STRING]; static char str[ACPI_MAX_STRING];
static int chars_remaining = 0; static int chars_remaining = 0;
static char *ptr; static char *ptr;
ACPI_FUNCTION_TRACE("acpi_system_read_event"); ACPI_FUNCTION_TRACE("acpi_system_read_event");
...@@ -63,10 +62,12 @@ acpi_system_read_event(struct file *file, char __user *buffer, size_t count, lof ...@@ -63,10 +62,12 @@ acpi_system_read_event(struct file *file, char __user *buffer, size_t count, lof
return_VALUE(-EIO); return_VALUE(-EIO);
} }
chars_remaining = sprintf(str, "%s %s %08x %08x\n", chars_remaining = sprintf(str, "%s %s %08x %08x\n",
event.device_class?event.device_class:"<unknown>", event.device_class ? event.
event.bus_id?event.bus_id:"<unknown>", device_class : "<unknown>",
event.type, event.data); event.bus_id ? event.
bus_id : "<unknown>", event.type,
event.data);
ptr = str; ptr = str;
} }
...@@ -84,17 +85,15 @@ acpi_system_read_event(struct file *file, char __user *buffer, size_t count, lof ...@@ -84,17 +85,15 @@ acpi_system_read_event(struct file *file, char __user *buffer, size_t count, lof
return_VALUE(count); return_VALUE(count);
} }
static int static int acpi_system_close_event(struct inode *inode, struct file *file)
acpi_system_close_event(struct inode *inode, struct file *file)
{ {
spin_lock_irq (&acpi_system_event_lock); spin_lock_irq(&acpi_system_event_lock);
event_is_open = 0; event_is_open = 0;
spin_unlock_irq (&acpi_system_event_lock); spin_unlock_irq(&acpi_system_event_lock);
return 0; return 0;
} }
static unsigned int static unsigned int acpi_system_poll_event(struct file *file, poll_table * wait)
acpi_system_poll_event(struct file *file, poll_table *wait)
{ {
poll_wait(file, &acpi_bus_event_queue, wait); poll_wait(file, &acpi_bus_event_queue, wait);
if (!list_empty(&acpi_bus_event_list)) if (!list_empty(&acpi_bus_event_list))
...@@ -103,15 +102,15 @@ acpi_system_poll_event(struct file *file, poll_table *wait) ...@@ -103,15 +102,15 @@ acpi_system_poll_event(struct file *file, poll_table *wait)
} }
static struct file_operations acpi_system_event_ops = { static struct file_operations acpi_system_event_ops = {
.open = acpi_system_open_event, .open = acpi_system_open_event,
.read = acpi_system_read_event, .read = acpi_system_read_event,
.release = acpi_system_close_event, .release = acpi_system_close_event,
.poll = acpi_system_poll_event, .poll = acpi_system_poll_event,
}; };
static int __init acpi_event_init(void) static int __init acpi_event_init(void)
{ {
struct proc_dir_entry *entry; struct proc_dir_entry *entry;
int error = 0; int error = 0;
ACPI_FUNCTION_TRACE("acpi_event_init"); ACPI_FUNCTION_TRACE("acpi_event_init");
...@@ -124,8 +123,9 @@ static int __init acpi_event_init(void) ...@@ -124,8 +123,9 @@ static int __init acpi_event_init(void)
if (entry) if (entry)
entry->proc_fops = &acpi_system_event_ops; entry->proc_fops = &acpi_system_event_ops;
else { else {
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
"Unable to create '%s' proc fs entry\n","event" )); "Unable to create '%s' proc fs entry\n",
"event"));
error = -EFAULT; error = -EFAULT;
} }
return_VALUE(error); return_VALUE(error);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -29,7 +29,8 @@ int register_acpi_bus_type(struct acpi_bus_type *type) ...@@ -29,7 +29,8 @@ int register_acpi_bus_type(struct acpi_bus_type *type)
down_write(&bus_type_sem); down_write(&bus_type_sem);
list_add_tail(&type->list, &bus_type_list); list_add_tail(&type->list, &bus_type_list);
up_write(&bus_type_sem); up_write(&bus_type_sem);
printk(KERN_INFO PREFIX "bus type %s registered\n", type->bus->name); printk(KERN_INFO PREFIX "bus type %s registered\n",
type->bus->name);
return 0; return 0;
} }
return -ENODEV; return -ENODEV;
...@@ -45,7 +46,8 @@ int unregister_acpi_bus_type(struct acpi_bus_type *type) ...@@ -45,7 +46,8 @@ int unregister_acpi_bus_type(struct acpi_bus_type *type)
down_write(&bus_type_sem); down_write(&bus_type_sem);
list_del_init(&type->list); list_del_init(&type->list);
up_write(&bus_type_sem); up_write(&bus_type_sem);
printk(KERN_INFO PREFIX "ACPI bus type %s unregistered\n", type->bus->name); printk(KERN_INFO PREFIX "ACPI bus type %s unregistered\n",
type->bus->name);
return 0; return 0;
} }
return -ENODEV; return -ENODEV;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment