提交 7a89afa8 编写于 作者: N Nishanth Menon 提交者: Kevin Hilman

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: NNishanth Menon <nm@ti.com>
Signed-off-by: NKevin Hilman <khilman@ti.com>
上级 b8ce9fb8
...@@ -143,7 +143,7 @@ static irqreturn_t sr_interrupt(int irq, void *data) ...@@ -143,7 +143,7 @@ static irqreturn_t sr_interrupt(int irq, void *data)
sr_write_reg(sr_info, IRQSTATUS, status); 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); sr_class->notify(sr_info->voltdm, status);
return IRQ_HANDLED; return IRQ_HANDLED;
...@@ -258,9 +258,7 @@ static int sr_late_init(struct omap_sr *sr_info) ...@@ -258,9 +258,7 @@ static int sr_late_init(struct omap_sr *sr_info)
struct resource *mem; struct resource *mem;
int ret = 0; int ret = 0;
if (sr_class->class_type == SR_CLASS2 && if (sr_class->notify && sr_class->notify_flags && sr_info->irq) {
sr_class->notify_flags && sr_info->irq) {
name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name); name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name);
if (name == NULL) { if (name == NULL) {
ret = -ENOMEM; ret = -ENOMEM;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册