[PATCH] mailbox: zynq: Switch to flexible array to simplify code

From: Christophe JAILLET
Date: Sun Nov 20 2022 - 03:25:54 EST


>Using flexible array is more straight forward. It
> - saves 1 pointer in the 'zynqmp_ipi_pdata' structure
> - saves an indirection when using this array
> - saves some LoC and avoids some always spurious pointer arithmetic
>
>Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
>---
> drivers/mailbox/zynqmp-ipi-mailbox.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/mailbox/zynqmp-ipi-mailbox.c b/drivers/mailbox/zynqmp-ipi-mailbox.c
>index 12e004ff1a14..a4c8d23c76e2 100644
>--- a/drivers/mailbox/zynqmp-ipi-mailbox.c
>+++ b/drivers/mailbox/zynqmp-ipi-mailbox.c
>@@ -110,7 +110,7 @@ struct zynqmp_ipi_pdata {
> unsigned int method;
> u32 local_id;
> int num_mboxes;
>- struct zynqmp_ipi_mbox *ipi_mboxes;
>+ struct zynqmp_ipi_mbox ipi_mboxes[];
> };
>
> static struct device_driver zynqmp_ipi_mbox_driver = {
>@@ -635,7 +635,7 @@ static int zynqmp_ipi_probe(struct platform_device *pdev)
> int num_mboxes, ret = -EINVAL;
>
> num_mboxes = of_get_child_count(np);
>- pdata = devm_kzalloc(dev, sizeof(*pdata) + (num_mboxes * sizeof(*mbox)),
>+ pdata = devm_kzalloc(dev, struct_size(pdata, ipi_mboxes, num_mboxes),
> GFP_KERNEL);
> if (!pdata)
> return -ENOMEM;
>@@ -649,8 +649,6 @@ static int zynqmp_ipi_probe(struct platform_device *pdev)
> }
>
> pdata->num_mboxes = num_mboxes;
>- pdata->ipi_mboxes = (struct zynqmp_ipi_mbox *)
>- ((char *)pdata + sizeof(*pdata));
>
> mbox = pdata->ipi_mboxes;
> for_each_available_child_of_node(np, nc) {
>
>--
>2.25.1