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

Tanmay Shah tanmay.shah at amd.com
Thu Jan 16 08:07:35 PST 2025



On 1/16/25 2:52 AM, Uros Bizjak wrote:
> On Mon, Dec 16, 2024 at 6:47 PM Tanmay Shah <tanmay.shah at amd.com> wrote:
>>
>> Reviewed-by: Tanmay Shah <tanmay.shah at amd.com>
> 
> Is there anything else expected from me to move this patch forward?
> 
> Uros.
> 

Not from my side. I am not sure workflow for this subsystem but, I 
believe this needs RB from Jassi. (subsystem maintainer).

>>
>> 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 at vger.kernel.org
>>>> Fixes: 6ffb1635341b ("mailbox: zynqmp: handle SGI for shared IPI")
>>>> Signed-off-by: Uros Bizjak <ubizjak at gmail.com>
>>>> Cc: Jassi Brar <jassisinghbrar at gmail.com>
>>>> Cc: Michal Simek <michal.simek at amd.com>
>>>> Cc: Tanmay Shah <tanmay.shah at amd.com>
>>>> ---
>>>> 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 at amd.com>
>>>
>>> Thanks,
>>> Michal
>>>
>>




More information about the linux-arm-kernel mailing list