Lines Matching refs:mbox

313 static struct mbox_chan *apple_mbox_of_xlate(struct mbox_controller *mbox,  in apple_mbox_of_xlate()  argument
319 return &mbox->chans[0]; in apple_mbox_of_xlate()
327 struct apple_mbox *mbox; in apple_mbox_probe() local
336 mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL); in apple_mbox_probe()
337 if (!mbox) in apple_mbox_probe()
339 platform_set_drvdata(pdev, mbox); in apple_mbox_probe()
341 mbox->dev = dev; in apple_mbox_probe()
342 mbox->regs = devm_platform_ioremap_resource(pdev, 0); in apple_mbox_probe()
343 if (IS_ERR(mbox->regs)) in apple_mbox_probe()
344 return PTR_ERR(mbox->regs); in apple_mbox_probe()
346 mbox->hw = match->data; in apple_mbox_probe()
347 mbox->irq_recv_not_empty = in apple_mbox_probe()
349 if (mbox->irq_recv_not_empty < 0) in apple_mbox_probe()
352 mbox->irq_send_empty = platform_get_irq_byname(pdev, "send-empty"); in apple_mbox_probe()
353 if (mbox->irq_send_empty < 0) in apple_mbox_probe()
356 mbox->controller.dev = mbox->dev; in apple_mbox_probe()
357 mbox->controller.num_chans = 1; in apple_mbox_probe()
358 mbox->controller.chans = &mbox->chan; in apple_mbox_probe()
359 mbox->controller.ops = &apple_mbox_ops; in apple_mbox_probe()
360 mbox->controller.txdone_irq = true; in apple_mbox_probe()
361 mbox->controller.of_xlate = apple_mbox_of_xlate; in apple_mbox_probe()
362 mbox->chan.con_priv = mbox; in apple_mbox_probe()
363 spin_lock_init(&mbox->rx_lock); in apple_mbox_probe()
369 ret = devm_request_threaded_irq(dev, mbox->irq_recv_not_empty, NULL, in apple_mbox_probe()
372 mbox); in apple_mbox_probe()
380 ret = devm_request_irq(dev, mbox->irq_send_empty, in apple_mbox_probe()
382 irqname, mbox); in apple_mbox_probe()
386 return devm_mbox_controller_register(dev, &mbox->controller); in apple_mbox_probe()