[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d4e9fd51-6d22-d304-3eb0-e76c15dcb1da@ideasonboard.com>
Date: Wed, 18 Jan 2023 17:33:15 +0530
From: Umang Jain <umang.jain@...asonboard.com>
To: Stefan Wahren <stefan.wahren@...e.com>,
Arnd Bergmann <arnd@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Florian Fainelli <f.fainelli@...il.com>,
Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Arnd Bergmann <arnd@...db.de>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@...adcom.com>,
Adrien Thierry <athierry@...hat.com>,
Nicolas Saenz Julienne <nsaenz@...nel.org>,
linux-staging@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: vchiq_arm: fix enum vchiq_status return types
Hi,
On 1/18/23 5:08 PM, Stefan Wahren wrote:
> Hi Arnd,
>
> Am 17.01.23 um 17:39 schrieb Arnd Bergmann:
>> From: Arnd Bergmann <arnd@...db.de>
>>
>> gcc-13 notices a type mismatch between function declaration
>> and definition for a few functions that have been converted
>> from returning vchiq specific status values to regular error
>> codes:
>>
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:662:5:
>> error: conflicting types for 'vchiq_initialise' due to enum/integer
>> mismatch; have 'int(struct vchiq_instance **)'
>> [-Werror=enum-int-mismatch]
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1411:1:
>> error: conflicting types for 'vchiq_use_internal' due to enum/integer
>> mismatch; have 'int(struct vchiq_state *, struct vchiq_service *,
>> enum USE_TYPE_E)' [-Werror=enum-int-mismatch]
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1468:1:
>> error: conflicting types for 'vchiq_release_internal' due to
>> enum/integer mismatch; have 'int(struct vchiq_state *, struct
>> vchiq_service *)' [-Werror=enum-int-mismatch]
>>
>> Change the declarations to match the actual function definition.
>>
>> Fixes: a9fbd828be7f ("staging: vchiq_arm: drop enum vchiq_status from
>> vchiq_*_internal")
>> Signed-off-by: Arnd Bergmann <arnd@...db.de>
>
> thanks for fixing this.
>
> Greg applied a series [1] from Umang which completely removes this
> enum completely. This series has been applied to today and will likely
> cause a conflict tomorrow in linux-next.
Yes, the series was applied today.
Has this patch (By Arnd) already applied to linux-next? I am not sure if
I understand where the conflict will get originated ..
>
> [1] -
> https://lore.kernel.org/linux-arm-kernel/ba52e6b4-33ec-622e-00b6-1b098f529a90@ideasonboard.com/T/
>
>> ---
>> .../staging/vc04_services/include/linux/raspberrypi/vchiq.h | 2 +-
>> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h | 4 ++--
>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git
>> a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
>> b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
>> index db1441c0cc66..690ab7165b2c 100644
>> --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
>> +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
>> @@ -86,7 +86,7 @@ struct vchiq_service_params_kernel {
>> struct vchiq_instance;
>> -extern enum vchiq_status vchiq_initialise(struct vchiq_instance
>> **pinstance);
>> +extern int vchiq_initialise(struct vchiq_instance **pinstance);
>> extern enum vchiq_status vchiq_shutdown(struct vchiq_instance
>> *instance);
>> extern enum vchiq_status vchiq_connect(struct vchiq_instance
>> *instance);
>> extern enum vchiq_status vchiq_open_service(struct vchiq_instance
>> *instance,
>> diff --git
>> a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
>> b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
>> index 2851ef6b9cd0..cd20eb18f275 100644
>> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
>> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
>> @@ -100,10 +100,10 @@ vchiq_dump_platform_use_state(struct
>> vchiq_state *state);
>> extern void
>> vchiq_dump_service_use_state(struct vchiq_state *state);
>> -extern enum vchiq_status
>> +extern int
>> vchiq_use_internal(struct vchiq_state *state, struct vchiq_service
>> *service,
>> enum USE_TYPE_E use_type);
>> -extern enum vchiq_status
>> +extern int
>> vchiq_release_internal(struct vchiq_state *state,
>> struct vchiq_service *service);
Powered by blists - more mailing lists