Whether to use the LED as a disk activity is a user preference.
Some like this usage while others find the LED too bright. So it
might be a good idea to make this choice a runtime parameter rather
than compile-time config.

The default is set to disabled as OS X does not use the LED as a
disk activity indicator.

Signed-off-by: Hill Ma <maahiuz...@gmail.com>
---
 Documentation/admin-guide/kernel-parameters.txt |  6 ++++++
 drivers/macintosh/Kconfig                       | 10 ----------
 drivers/macintosh/via-pmu-led.c                 | 11 ++++++++---
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt 
b/Documentation/admin-guide/kernel-parameters.txt
index 43dc35fe5bc0..a656a51ba0a8 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -250,6 +250,12 @@
                        Use timer override. For some broken Nvidia NF5 boards
                        that require a timer override, but don't have HPET
 
+       adb_pmu_led_disk [PPC]
+                       Use front LED as disk LED by default. Only applies to
+                       PowerBook, iBook, PowerMac 7,2/7,3.
+                       Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
+                       Default: disabled
+
        add_efi_memmap  [EFI; X86] Include EFI memory map in
                        kernel's map of available physical RAM.
 
diff --git a/drivers/macintosh/Kconfig b/drivers/macintosh/Kconfig
index 5cdc361da37c..243215de563c 100644
--- a/drivers/macintosh/Kconfig
+++ b/drivers/macintosh/Kconfig
@@ -78,16 +78,6 @@ config ADB_PMU_LED
          behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this
          and the disk LED trigger and configure appropriately through sysfs.
 
-config ADB_PMU_LED_DISK
-       bool "Use front LED as DISK LED by default"
-       depends on ADB_PMU_LED
-       depends on LEDS_CLASS
-       select LEDS_TRIGGERS
-       select LEDS_TRIGGER_DISK
-       help
-         This option makes the front LED default to the disk trigger
-         so that it blinks on disk activity.
-
 config PMAC_SMU
        bool "Support for SMU  based PowerMacs"
        depends on PPC_PMAC64
diff --git a/drivers/macintosh/via-pmu-led.c b/drivers/macintosh/via-pmu-led.c
index ae067ab2373d..838dcf98f82e 100644
--- a/drivers/macintosh/via-pmu-led.c
+++ b/drivers/macintosh/via-pmu-led.c
@@ -25,6 +25,7 @@
 #include <linux/leds.h>
 #include <linux/adb.h>
 #include <linux/pmu.h>
+#include <linux/moduleparam.h>
 #include <asm/prom.h>
 
 static spinlock_t pmu_blink_lock;
@@ -71,11 +72,10 @@ static void pmu_led_set(struct led_classdev *led_cdev,
        spin_unlock_irqrestore(&pmu_blink_lock, flags);
 }
 
+int adb_pmu_led_disk;
+
 static struct led_classdev pmu_led = {
        .name = "pmu-led::front",
-#ifdef CONFIG_ADB_PMU_LED_DISK
-       .default_trigger = "disk-activity",
-#endif
        .brightness_set = pmu_led_set,
 };
 
@@ -106,6 +106,9 @@ static int __init via_pmu_led_init(void)
        }
        of_node_put(dt);
 
+       if (adb_pmu_led_disk)
+               pmu_led.default_trigger = "disk-activity";
+
        spin_lock_init(&pmu_blink_lock);
        /* no outstanding req */
        pmu_blink_req.complete = 1;
@@ -114,4 +117,6 @@ static int __init via_pmu_led_init(void)
        return led_classdev_register(NULL, &pmu_led);
 }
 
+core_param(adb_pmu_led_disk, adb_pmu_led_disk, bool, 0644);
+
 late_initcall(via_pmu_led_init);
-- 
2.33.1

Reply via email to