|
@@ -403,7 +403,7 @@ static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
|
|
|
static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
|
|
|
static struct apm_user *user_list;
|
|
|
static DEFINE_SPINLOCK(user_list_lock);
|
|
|
-static const struct desc_struct bad_bios_desc = { { { 0, 0x00409200 } } };
|
|
|
+static struct desc_struct bad_bios_desc = { { { 0, 0x00409200 } } };
|
|
|
|
|
|
static const char driver_version[] = "1.16ac"; /* no spaces */
|
|
|
|
|
@@ -2337,8 +2337,8 @@ static int __init apm_init(void)
|
|
|
* This is for buggy BIOS's that refer to (real mode) segment 0x40
|
|
|
* even though they are called in protected mode.
|
|
|
*/
|
|
|
- set_base(bad_bios_desc, __va((unsigned long)0x40 << 4));
|
|
|
- _set_limit((char *)&bad_bios_desc, 4095 - (0x40 << 4));
|
|
|
+ set_desc_base(&bad_bios_desc, (unsigned long)__va(0x40UL << 4));
|
|
|
+ set_desc_limit(&bad_bios_desc, 4095 - (0x40 << 4));
|
|
|
|
|
|
/*
|
|
|
* Set up the long jump entry point to the APM BIOS, which is called
|
|
@@ -2358,12 +2358,12 @@ static int __init apm_init(void)
|
|
|
* code to that CPU.
|
|
|
*/
|
|
|
gdt = get_cpu_gdt_table(0);
|
|
|
- set_base(gdt[APM_CS >> 3],
|
|
|
- __va((unsigned long)apm_info.bios.cseg << 4));
|
|
|
- set_base(gdt[APM_CS_16 >> 3],
|
|
|
- __va((unsigned long)apm_info.bios.cseg_16 << 4));
|
|
|
- set_base(gdt[APM_DS >> 3],
|
|
|
- __va((unsigned long)apm_info.bios.dseg << 4));
|
|
|
+ set_desc_base(&gdt[APM_CS >> 3],
|
|
|
+ (unsigned long)__va((unsigned long)apm_info.bios.cseg << 4));
|
|
|
+ set_desc_base(&gdt[APM_CS_16 >> 3],
|
|
|
+ (unsigned long)__va((unsigned long)apm_info.bios.cseg_16 << 4));
|
|
|
+ set_desc_base(&gdt[APM_DS >> 3],
|
|
|
+ (unsigned long)__va((unsigned long)apm_info.bios.dseg << 4));
|
|
|
|
|
|
proc_create("apm", 0, NULL, &apm_file_ops);
|
|
|
|