Re: [PATCH v2] mailbox: zynqmp: Remove invalid __percpu annotation in zynqmp_ipi_probe()

From: Uros Bizjak
Date: Thu Jan 16 2025 - 03:52:33 EST


On Mon, Dec 16, 2024 at 6:47 PM Tanmay Shah <tanmay.shah@xxxxxxx> wrote:
>
> Reviewed-by: Tanmay Shah <tanmay.shah@xxxxxxx>

Is there anything else expected from me to move this patch forward?

Uros.

>
> On 12/16/24 1:16 AM, Michal Simek wrote:
> >
> >
> > On 12/14/24 10:12, Uros Bizjak wrote:
> >> struct zynqmp_ipi_pdata __percpu *pdata is not a per-cpu variable,
> >> so it should not be annotated with __percpu annotation.
> >>
> >> Remove invalid __percpu annotation to fix several
> >>
> >> zynqmp-ipi-mailbox.c:920:15: warning: incorrect type in assignment
> >> (different address spaces)
> >> zynqmp-ipi-mailbox.c:920:15: expected struct zynqmp_ipi_pdata
> >> [noderef] __percpu *pdata
> >> zynqmp-ipi-mailbox.c:920:15: got void *
> >> zynqmp-ipi-mailbox.c:927:56: warning: incorrect type in argument 3
> >> (different address spaces)
> >> zynqmp-ipi-mailbox.c:927:56: expected unsigned int [usertype]
> >> *out_value
> >> zynqmp-ipi-mailbox.c:927:56: got unsigned int [noderef] __percpu *
> >> ...
> >>
> >> and several
> >>
> >> drivers/mailbox/zynqmp-ipi-mailbox.c:924:9: warning: dereference of
> >> noderef expression
> >> ...
> >>
> >> sparse warnings.
> >>
> >> There were no changes in the resulting object file.
> >>
> >> Cc: stable@xxxxxxxxxxxxxxx
> >> Fixes: 6ffb1635341b ("mailbox: zynqmp: handle SGI for shared IPI")
> >> Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx>
> >> Cc: Jassi Brar <jassisinghbrar@xxxxxxxxx>
> >> Cc: Michal Simek <michal.simek@xxxxxxx>
> >> Cc: Tanmay Shah <tanmay.shah@xxxxxxx>
> >> ---
> >> v2: - Fix typo in commit message
> >> - Add Fixes and Cc: stable.
> >> ---
> >> drivers/mailbox/zynqmp-ipi-mailbox.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/mailbox/zynqmp-ipi-mailbox.c b/drivers/mailbox/
> >> zynqmp-ipi-mailbox.c
> >> index aa5249da59b2..0c143beaafda 100644
> >> --- a/drivers/mailbox/zynqmp-ipi-mailbox.c
> >> +++ b/drivers/mailbox/zynqmp-ipi-mailbox.c
> >> @@ -905,7 +905,7 @@ static int zynqmp_ipi_probe(struct platform_device
> >> *pdev)
> >> {
> >> struct device *dev = &pdev->dev;
> >> struct device_node *nc, *np = pdev->dev.of_node;
> >> - struct zynqmp_ipi_pdata __percpu *pdata;
> >> + struct zynqmp_ipi_pdata *pdata;
> >> struct of_phandle_args out_irq;
> >> struct zynqmp_ipi_mbox *mbox;
> >> int num_mboxes, ret = -EINVAL;
> >
> > Tanmay: Please take a look
> >
> > I think this patch is correct. Pdata structure is allocated only once
> > not for every CPU and marking here is not correct. Information from
> > zynqmp_ipi_pdata are likely fixed and the same for every CPU. Only IRQ
> > handling is done per cpu basis but that's it.
> >
> > Reviewed-by: Michal Simek <michal.simek@xxxxxxx>
> >
> > Thanks,
> > Michal
> >
>