[PATCH v10 07/24] mailbox: Add RISC-V SBI message proxy (MPXY) based mailbox driver
Paul Walmsley
pjw at kernel.org
Wed Sep 24 17:27:03 PDT 2025
On Mon, 18 Aug 2025, Anup Patel wrote:
> Add a mailbox controller driver for the new SBI message proxy extension
> which is part of the SBI v3.0 specification.
> ---
> drivers/mailbox/Kconfig | 11 +
> drivers/mailbox/Makefile | 2 +
> drivers/mailbox/riscv-sbi-mpxy-mbox.c | 994 ++++++++++++++++++++++++++
> 3 files changed, 1007 insertions(+)
> create mode 100644 drivers/mailbox/riscv-sbi-mpxy-mbox.c
>
> diff --git a/drivers/mailbox/riscv-sbi-mpxy-mbox.c b/drivers/mailbox/riscv-sbi-mpxy-mbox.c
> new file mode 100644
> index 000000000000..21404baa6df0
> --- /dev/null
> +++ b/drivers/mailbox/riscv-sbi-mpxy-mbox.c
[ ... ]
> +
> +static int mpxy_mbox_populate_channels(struct mpxy_mbox *mbox)
> +{
> + u32 i, *channel_ids __free(kfree) = NULL;
> + struct mpxy_mbox_channel *mchan;
> + int rc;
> +
> + /* Find-out of number of channels */
> + rc = mpxy_get_channel_count(&mbox->channel_count);
> + if (rc)
> + return dev_err_probe(mbox->dev, rc, "failed to get number of MPXY channels\n");
> + if (!mbox->channel_count)
> + return dev_err_probe(mbox->dev, -ENODEV, "no MPXY channels available\n");
> +
> + /* Allocate and fetch all channel IDs */
> + channel_ids = kcalloc(mbox->channel_count, sizeof(*channel_ids), GFP_KERNEL);
Should this be devm_kcalloc() ?
- Paul
More information about the linux-riscv
mailing list