Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb25cb99 authored by Stephan Linz's avatar Stephan Linz Committed by Jacek Anaszewski
Browse files

leds: convert IDE trigger to common disk trigger

This patch converts the IDE specific LED trigger to a generic disk
activity LED trigger. The libata core is now a trigger source just
like before the IDE disk driver. It's merely a replacement of the
string ide by disk.

The patch is taken from http://dev.gentoo.org/~josejx/ata.patch

 and is
widely used by any ibook/powerbook owners with great satisfaction.
Likewise, it is very often used successfully on different ARM platforms.

Unlike the original patch, the existing 'ide-disk' trigger is still
available for backward compatibility. That reduce the amount of patches
in affected device trees out of the mainline kernel. For further
development, the new name 'disk-activity' should be used.

Cc: Joseph Jezak <josejx@gentoo.org>
Cc: Jörg Sommer <joerg@alea.gnuu.de>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: default avatarStephan Linz <linz@li-pro.net>
Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
parent fa4191a6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@
#include <asm/unaligned.h>
#include <linux/cdrom.h>
#include <linux/ratelimit.h>
#include <linux/leds.h>
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>

@@ -5072,6 +5073,9 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
{
	struct ata_port *ap = qc->ap;

	/* Trigger the LED (if available) */
	ledtrig_disk_activity();

	/* XXX: New EH and old EH use different mechanisms to
	 * synchronize EH with regular execution path.
	 *
+1 −1
Original line number Diff line number Diff line
@@ -186,7 +186,7 @@ static ide_startstop_t ide_do_rw_disk(ide_drive_t *drive, struct request *rq,
	BUG_ON(drive->dev_flags & IDE_DFLAG_BLOCKED);
	BUG_ON(rq->cmd_type != REQ_TYPE_FS);

	ledtrig_ide_activity();
	ledtrig_disk_activity();

	pr_debug("%s: %sing: block=%llu, sectors=%u\n",
		 drive->name, rq_data_dir(rq) == READ ? "read" : "writ",
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static struct led_classdev hp6xx_red_led = {

static struct led_classdev hp6xx_green_led = {
	.name			= "hp6xx:green",
	.default_trigger	= "ide-disk",
	.default_trigger	= "disk-activity",
	.brightness_set		= hp6xxled_green_set,
	.flags			= LED_CORE_SUSPENDRESUME,
};
+4 −4
Original line number Diff line number Diff line
@@ -33,12 +33,12 @@ config LEDS_TRIGGER_ONESHOT

	  If unsure, say Y.

config LEDS_TRIGGER_IDE_DISK
	bool "LED IDE Disk Trigger"
	depends on IDE_GD_ATA
config LEDS_TRIGGER_DISK
	bool "LED Disk Trigger"
	depends on IDE_GD_ATA || ATA
	depends on LEDS_TRIGGERS
	help
	  This allows LEDs to be controlled by IDE disk activity.
	  This allows LEDs to be controlled by disk activity.
	  If unsure, say Y.

config LEDS_TRIGGER_MTD
+1 −1
Original line number Diff line number Diff line
obj-$(CONFIG_LEDS_TRIGGER_TIMER)	+= ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_ONESHOT)	+= ledtrig-oneshot.o
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)	+= ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_DISK)		+= ledtrig-disk.o
obj-$(CONFIG_LEDS_TRIGGER_MTD)		+= ledtrig-mtd.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT)	+= ledtrig-backlight.o
Loading