Skip to content

Commit

Permalink
macintosh/via-pmu-led: make disk activity usage a parameter.
Browse files Browse the repository at this point in the history
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 <maahiuzeon@gmail.com>
  • Loading branch information
mahiuchun authored and intel-lab-lkp committed Oct 25, 2021
1 parent 87066fd commit 9f9763c
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
6 changes: 6 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
10 changes: 0 additions & 10 deletions drivers/macintosh/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 8 additions & 3 deletions drivers/macintosh/via-pmu-led.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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,
};

Expand Down Expand Up @@ -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;
Expand All @@ -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);

0 comments on commit 9f9763c

Please sign in to comment.