diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch b/extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch new file mode 100644 index 00000000..c44371df --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0009-OMAP3-SR-make-notify-independent-of-class.patch @@ -0,0 +1,48 @@ +From a0f28097b944930e479998780863b9e5a39e30b3 Mon Sep 17 00:00:00 2001 +From: Nishanth Menon <nm@ti.com> +Date: Mon, 14 Feb 2011 12:16:36 +0530 +Subject: [PATCH 09/12] OMAP3+: SR: make notify independent of class + +Interrupt notification mechanism of SmartReflex can be used by the +choice of implementation of the class driver. For example, Class 2 and +Class 1.5 of SmartReflex can both use the interrupt notification to +identify the transition of voltage or other events. + +Hence, the actual class does not matter for notifier. Let the class +driver's handling decide how it should be used. SmartReflex driver +should provide just the primitives. + +Signed-off-by: Nishanth Menon <nm@ti.com> +Signed-off-by: Kevin Hilman <khilman@ti.com> +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + arch/arm/mach-omap2/smartreflex.c | 6 ++---- + 1 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c +index fb7dc52..3ee7261 100644 +--- a/arch/arm/mach-omap2/smartreflex.c ++++ b/arch/arm/mach-omap2/smartreflex.c +@@ -143,7 +143,7 @@ static irqreturn_t sr_interrupt(int irq, void *data) + sr_write_reg(sr_info, IRQSTATUS, status); + } + +- if (sr_class->class_type == SR_CLASS2 && sr_class->notify) ++ if (sr_class->notify) + sr_class->notify(sr_info->voltdm, status); + + return IRQ_HANDLED; +@@ -258,9 +258,7 @@ static int sr_late_init(struct omap_sr *sr_info) + struct resource *mem; + int ret = 0; + +- if (sr_class->class_type == SR_CLASS2 && +- sr_class->notify_flags && sr_info->irq) { +- ++ if (sr_class->notify && sr_class->notify_flags && sr_info->irq) { + name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name); + if (name == NULL) { + ret = -ENOMEM; +-- +1.6.6.1 + |