mailbox: allow subnode for mbox regs

The following patch allows the mailbox node in DT to host subnodes with
mailbox definitions. If the client phandle to the mailbox is not the
mailbox driver node, just checks parents as well.

Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
Ibai Erkiaga 2019-09-27 11:36:55 +01:00 committed by Michal Simek
parent 22673b4d53
commit 05f683a3e2

View File

@ -49,7 +49,16 @@ int mbox_get_by_index(struct udevice *dev, int index, struct mbox_chan *chan)
if (ret) {
debug("%s: uclass_get_device_by_of_offset failed: %d\n",
__func__, ret);
return ret;
/* Test with parent node */
ret = uclass_get_device_by_ofnode(UCLASS_MAILBOX,
ofnode_get_parent(args.node),
&dev_mbox);
if (ret) {
debug("%s: mbox node from parent failed: %d\n",
__func__, ret);
return ret;
};
}
ops = mbox_dev_ops(dev_mbox);