Re: [PATCH v2] firmware: arm_scmi: Fix to replace of_match_device

2019-04-10 Thread Sudeep Holla
On Fri, Mar 22, 2019 at 04:55:03PM -0500, Aditya Pakki wrote:
> of_match_device can return NULL if no matching device is found.
> This patch replaces the function with of_device_get_match_data.
> and returns -EINVAL in such a scenario.
>
> Signed-off-by: Aditya Pakki 
>
> ---
> v1: Replace of_match_device with of_device_get_match_data
> ---
>  drivers/firmware/arm_scmi/driver.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/arm_scmi/driver.c 
> b/drivers/firmware/arm_scmi/driver.c
> index 8f952f2f1a29..a44852a1d5bc 100644
> --- a/drivers/firmware/arm_scmi/driver.c
> +++ b/drivers/firmware/arm_scmi/driver.c
> @@ -798,7 +798,9 @@ static int scmi_probe(struct platform_device *pdev)
>   return -EINVAL;
>   }
>
> - desc = of_match_device(scmi_of_match, dev)->data;

probe won't be called be there's no match. And we mandate data in the
driver, so this should never happen.

> + desc = of_device_get_match_data(dev);

Having said that, I am happy to use the above function.

> + if (!desc)
> + return -EINVAL;
>

NULL check seems totally unnecessary, but it's in probe so I am fine.
Applied with updates to subject and commit message.

--
Regards,
Sudeep


Re: [PATCH v2] firmware: arm_scmi: Fix to replace of_match_device

2019-03-25 Thread Steven Price
On 22/03/2019 21:55, Aditya Pakki wrote:
> of_match_device can return NULL if no matching device is found.
> This patch replaces the function with of_device_get_match_data.
> and returns -EINVAL in such a scenario.
> 
> Signed-off-by: Aditya Pakki 

Reviewed-by: Steven Price 

> 
> ---
> v1: Replace of_match_device with of_device_get_match_data
> ---
>  drivers/firmware/arm_scmi/driver.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/firmware/arm_scmi/driver.c 
> b/drivers/firmware/arm_scmi/driver.c
> index 8f952f2f1a29..a44852a1d5bc 100644
> --- a/drivers/firmware/arm_scmi/driver.c
> +++ b/drivers/firmware/arm_scmi/driver.c
> @@ -798,7 +798,9 @@ static int scmi_probe(struct platform_device *pdev)
>   return -EINVAL;
>   }
>  
> - desc = of_match_device(scmi_of_match, dev)->data;
> + desc = of_device_get_match_data(dev);
> + if (!desc)
> + return -EINVAL;
>  
>   info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
>   if (!info)
>