Skip to contentSkip to conversation

fix ACPI multible power entries

PATCH New Anders Peter Fugmann 1 participant 1 message Nov 9, 2001 ACPI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix ACPI multible power entries

Hi.

In trying to get ACPI to work on my system, i was stumbled to see two button entries under /proc/acpi/button/.

Attached is a patch which corrects this behaviour. The patch applies to 2.4.14.

Regards
Anders Fugmann

drivers/acpi/ospm/button/bn_osl.c renamed from drivers/acpi/ospm/button/bn_osl.c.orig +12 -5
@@ -97,10 +97,13 @@
 			printk(KERN_WARNING "ACPI: Multiple power buttons detected, ignoring fixed-feature\n");
 		default:
 			printk(KERN_INFO "ACPI: Power Button (CM) found\n");
-			bn_power_button = BN_TYPE_GENERIC;
-			if (!proc_mkdir(BN_PROC_POWER_BUTTON, bn_proc_root)) {
-				status = AE_ERROR;
+			/* Only create proc entry, if it has not been created before */
+			if (!bn_power_button) {
+			      if (!proc_mkdir(BN_PROC_POWER_BUTTON, bn_proc_root)) {
+			            status = AE_ERROR;
+			      }
 			}
+			bn_power_button = BN_TYPE_GENERIC;
 			break;
 		}
 		break;
@@ -130,9 +133,13 @@
 		default:
 			bn_sleep_button = BN_TYPE_GENERIC;
 			printk(KERN_INFO "ACPI: Sleep Button (CM) found\n");
-			if (!proc_mkdir(BN_PROC_SLEEP_BUTTON, bn_proc_root)) {
-				status = AE_ERROR;
+			/* Only create proc entry, if it has not been created before */
+			if (!bn_sleep_button) {
+			      if (!proc_mkdir(BN_PROC_SLEEP_BUTTON, bn_proc_root)) {
+				    status = AE_ERROR;
+			      }
 			}
+			bn_sleep_button = BN_TYPE_GENERIC;
 			break;
 		}
 		break;