Skip to content

Commit

Permalink
powernv/opal: Convert opal message events to opal irq domain
Browse files Browse the repository at this point in the history
This patch converts the opal message event to use the new opal irq
domain.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
  • Loading branch information
Alistair Popple authored and Michael Ellerman committed May 22, 2015
1 parent 7923144 commit a295af2
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions arch/powerpc/platforms/powernv/opal.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,33 +362,34 @@ static void opal_handle_message(void)
opal_message_do_notify(type, (void *)&msg);
}

static int opal_message_notify(struct notifier_block *nb,
unsigned long events, void *change)
static irqreturn_t opal_message_notify(int irq, void *data)
{
if (events & OPAL_EVENT_MSG_PENDING)
opal_handle_message();
return 0;
opal_handle_message();
return IRQ_HANDLED;
}

static struct notifier_block opal_message_nb = {
.notifier_call = opal_message_notify,
.next = NULL,
.priority = 0,
};

static int __init opal_message_init(void)
{
int ret, i;
int ret, i, irq;

for (i = 0; i < OPAL_MSG_TYPE_MAX; i++)
ATOMIC_INIT_NOTIFIER_HEAD(&opal_msg_notifier_head[i]);

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

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

return 0;
}

Expand Down

0 comments on commit a295af2

Please sign in to comment.