Skip to content

Commit

Permalink
powernv/elog: Convert elog to opal irq domain
Browse files Browse the repository at this point in the history
This patch converts the elog code to use the opal irq domain instead
of notifier events.

Signed-off-by: Alistair Popple <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
  • Loading branch information
apopple authored and mpe committed May 22, 2015
1 parent a295af2 commit 74159a7
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions arch/powerpc/platforms/powernv/opal-elog.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/slab.h>
#include <linux/sysfs.h>
Expand Down Expand Up @@ -276,24 +277,15 @@ static void elog_work_fn(struct work_struct *work)

static DECLARE_WORK(elog_work, elog_work_fn);

static int elog_event(struct notifier_block *nb,
unsigned long events, void *change)
static irqreturn_t elog_event(int irq, void *data)
{
/* check for error log event */
if (events & OPAL_EVENT_ERROR_LOG_AVAIL)
schedule_work(&elog_work);
return 0;
schedule_work(&elog_work);
return IRQ_HANDLED;
}

static struct notifier_block elog_nb = {
.notifier_call = elog_event,
.next = NULL,
.priority = 0
};

int __init opal_elog_init(void)
{
int rc = 0;
int rc = 0, irq;

/* ELOG not supported by firmware */
if (!opal_check_token(OPAL_ELOG_READ))
Expand All @@ -305,10 +297,18 @@ int __init opal_elog_init(void)
return -1;
}

rc = opal_notifier_register(&elog_nb);
irq = opal_event_request(ilog2(OPAL_EVENT_ERROR_LOG_AVAIL));
if (!irq) {
pr_err("%s: Can't register OPAL event irq (%d)\n",
__func__, irq);
return irq;
}

rc = request_irq(irq, elog_event,
IRQ_TYPE_LEVEL_HIGH, "opal-elog", NULL);
if (rc) {
pr_err("%s: Can't register OPAL event notifier (%d)\n",
__func__, rc);
pr_err("%s: Can't request OPAL event irq (%d)\n",
__func__, rc);
return rc;
}

Expand Down

0 comments on commit 74159a7

Please sign in to comment.