2019-04-12 12:55:37

by Fabien DESSENNE

[permalink] [raw]
Subject: [PATCH] HID: rmi: fix devm_add_action_or_reset() parameter

The second parameter of devm_add_action_or_reset() shall be a function,
not a function address.

Signed-off-by: Fabien Dessenne <[email protected]>
---
drivers/hid/hid-rmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
index 9e33165..8748d4d 100644
--- a/drivers/hid/hid-rmi.c
+++ b/drivers/hid/hid-rmi.c
@@ -623,7 +623,7 @@ static int rmi_setup_irq_domain(struct hid_device *hdev)
if (!hdata->domain)
return -ENOMEM;

- ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata);
+ ret = devm_add_action_or_reset(&hdev->dev, rmi_irq_teardown, hdata);
if (ret)
return ret;

--
2.7.4


2019-05-03 12:22:19

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH] HID: rmi: fix devm_add_action_or_reset() parameter

On Fri, 12 Apr 2019, Fabien Dessenne wrote:

> The second parameter of devm_add_action_or_reset() shall be a function,
> not a function address.
>
> Signed-off-by: Fabien Dessenne <[email protected]>
> ---
> drivers/hid/hid-rmi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
> index 9e33165..8748d4d 100644
> --- a/drivers/hid/hid-rmi.c
> +++ b/drivers/hid/hid-rmi.c
> @@ -623,7 +623,7 @@ static int rmi_setup_irq_domain(struct hid_device *hdev)
> if (!hdata->domain)
> return -ENOMEM;
>
> - ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata);
> + ret = devm_add_action_or_reset(&hdev->dev, rmi_irq_teardown, hdata);

Why do you think this is wrong C?

--
Jiri Kosina
SUSE Labs

2019-05-03 12:48:50

by Fabien DESSENNE

[permalink] [raw]
Subject: Re: [PATCH] HID: rmi: fix devm_add_action_or_reset() parameter


On 03/05/2019 2:19 PM, Jiri Kosina wrote:
> On Fri, 12 Apr 2019, Fabien Dessenne wrote:
>
>> The second parameter of devm_add_action_or_reset() shall be a function,
>> not a function address.
>>
>> Signed-off-by: Fabien Dessenne <[email protected]>
>> ---
>> drivers/hid/hid-rmi.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
>> index 9e33165..8748d4d 100644
>> --- a/drivers/hid/hid-rmi.c
>> +++ b/drivers/hid/hid-rmi.c
>> @@ -623,7 +623,7 @@ static int rmi_setup_irq_domain(struct hid_device *hdev)
>> if (!hdata->domain)
>> return -ENOMEM;
>>
>> - ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata);
>> + ret = devm_add_action_or_reset(&hdev->dev, rmi_irq_teardown, hdata);
> Why do you think this is wrong C?


Because I was not aware that both func and &func refer to the same
function pointer.

Now I know :)


>

2019-05-03 12:51:16

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH] HID: rmi: fix devm_add_action_or_reset() parameter

On Fri, 3 May 2019, Fabien DESSENNE wrote:

> >> - ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata);
> >> + ret = devm_add_action_or_reset(&hdev->dev, rmi_irq_teardown, hdata);
> > Why do you think this is wrong C?
>
> Because I was not aware that both func and &func refer to the same
> function pointer.
>
> Now I know :)

Yup, it's defined in 6.3.2.1.4 in C99.

--
Jiri Kosina
SUSE Labs