Skip to contentSkip to conversation

A slightly smarter dmi_scan.c ?

PATCH In review Alvin of Diaspar 2 participants 2 messages Dec 31, 2001

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 A slightly smarter dmi_scan.c ?

Greetings everyone,

OK. This is the last thing of this nature I'm going to submit... After
all, I started this. No need to take this above informal spring cleaning...
James, Alan is right. No need for #ifdef's *when* (and only when)
there's a better way to do it. Thanks.

This is against 2.4.17.

arch/i386/kernel/dmi_scan.c.mod renamed from arch/i386/kernel/dmi_scan.c +7 -5
@@ -256,7 +256,7 @@ static __init int set_smp_bios_reboot(st
 
 static __init int set_realmode_power_off(struct dmi_blacklist *d)
 {
-       if (apm_info.realmode_power_off == 0)
+       if (apm_info.bios.version && (apm_info.realmode_power_off == 0))
        {
                apm_info.realmode_power_off = 1;
                printk(KERN_INFO "%s bios detected. Using realmode poweroff only.\n", d->ident);
@@ -271,7 +271,7 @@ static __init int set_realmode_power_off
 
 static __init int set_apm_ints(struct dmi_blacklist *d)
 {
-	if (apm_info.allow_ints == 0)
+	if (apm_info.bios.version && (apm_info.allow_ints == 0))
 	{
 		apm_info.allow_ints = 1;
 		printk(KERN_INFO "%s machine detected. Enabling interrupts during APM calls.\n", d->ident);
@@ -285,7 +285,7 @@ static __init int set_apm_ints(struct dm
 
 static __init int apm_is_horked(struct dmi_blacklist *d)
 {
-	if (apm_info.disabled == 0)
+	if (apm_info.bios.version && (apm_info.disabled == 0))
 	{
 		apm_info.disabled = 1;
 		printk(KERN_INFO "%s machine detected. Disabling APM.\n", d->ident);
@@ -342,8 +342,10 @@ static __init int sony_vaio_laptop(struc
  
 static __init int swab_apm_power_in_minutes(struct dmi_blacklist *d)
 {
-	apm_info.get_power_status_swabinminutes = 1;
-	printk(KERN_WARNING "BIOS strings suggest APM reports battery life in minutes and wrong byte order.\n");
+	if (apm_info.bios.version) {
+		apm_info.get_power_status_swabinminutes = 1;
+		printk(KERN_WARNING "BIOS strings suggest APM reports battery life in minutes and wrong byte order.\n");
+	}
 	return 0;
 }
 
#1 lore raw
Quoted 2 lines

James, Alan is right. No need for #ifdef's *when* (and only when)
there's a better way to do it. Thanks.

Looks ok to me