2020-10-26 14:52:33

by Grzegorz Jaszczyk

[permalink] [raw]
Subject: [PATCH] soc: ti: pruss: Remove wrong check against *get_match_data return value

Since the of_device_get_match_data() doesn't return error code, remove
wrong IS_ERR test. Proper check against NULL pointer is already done
later before usage: if (data && data->...).

Additionally, proceeding with empty device data is valid (e.g. in case
of "ti,am3356-pruss").

Reported-by: Wei Yongjun <[email protected]>
Signed-off-by: Grzegorz Jaszczyk <[email protected]>
---
drivers/soc/ti/pruss.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/soc/ti/pruss.c b/drivers/soc/ti/pruss.c
index cc0b4ad7a3d3..5d6e7132a5c4 100644
--- a/drivers/soc/ti/pruss.c
+++ b/drivers/soc/ti/pruss.c
@@ -126,8 +126,6 @@ static int pruss_clk_init(struct pruss *pruss, struct device_node *cfg_node)
int ret = 0;

data = of_device_get_match_data(dev);
- if (IS_ERR(data))
- return -ENODEV;

clks_np = of_get_child_by_name(cfg_node, "clocks");
if (!clks_np) {
@@ -175,10 +173,6 @@ static int pruss_probe(struct platform_device *pdev)
const char *mem_names[PRUSS_MEM_MAX] = { "dram0", "dram1", "shrdram2" };

data = of_device_get_match_data(&pdev->dev);
- if (IS_ERR(data)) {
- dev_err(dev, "missing private data\n");
- return -ENODEV;
- }

ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
if (ret) {
--
2.29.0


2020-11-10 20:47:37

by Suman Anna

[permalink] [raw]
Subject: Re: [PATCH] soc: ti: pruss: Remove wrong check against *get_match_data return value

Hi Greg,

On 10/26/20 9:49 AM, Grzegorz Jaszczyk wrote:
> Since the of_device_get_match_data() doesn't return error code, remove
> wrong IS_ERR test. Proper check against NULL pointer is already done
> later before usage: if (data && data->...).
>
> Additionally, proceeding with empty device data is valid (e.g. in case
> of "ti,am3356-pruss").
>
> Reported-by: Wei Yongjun <[email protected]>

Please add the appropriate Fixes: tag.

And prefer %s/Remove/Fix/ in patch title.

With that,
Acked-by: Suman Anna <[email protected]>

regards
Suman

> Signed-off-by: Grzegorz Jaszczyk <[email protected]>
> ---
> drivers/soc/ti/pruss.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/soc/ti/pruss.c b/drivers/soc/ti/pruss.c
> index cc0b4ad7a3d3..5d6e7132a5c4 100644
> --- a/drivers/soc/ti/pruss.c
> +++ b/drivers/soc/ti/pruss.c
> @@ -126,8 +126,6 @@ static int pruss_clk_init(struct pruss *pruss, struct device_node *cfg_node)
> int ret = 0;
>
> data = of_device_get_match_data(dev);
> - if (IS_ERR(data))
> - return -ENODEV;
>
> clks_np = of_get_child_by_name(cfg_node, "clocks");
> if (!clks_np) {
> @@ -175,10 +173,6 @@ static int pruss_probe(struct platform_device *pdev)
> const char *mem_names[PRUSS_MEM_MAX] = { "dram0", "dram1", "shrdram2" };
>
> data = of_device_get_match_data(&pdev->dev);
> - if (IS_ERR(data)) {
> - dev_err(dev, "missing private data\n");
> - return -ENODEV;
> - }
>
> ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
> if (ret) {
>

2020-11-16 17:20:34

by Grzegorz Jaszczyk

[permalink] [raw]
Subject: Re: [PATCH] soc: ti: pruss: Remove wrong check against *get_match_data return value

Hi Suman,

On Tue, 10 Nov 2020 at 21:43, Suman Anna <[email protected]> wrote:
>
> Hi Greg,
>
> On 10/26/20 9:49 AM, Grzegorz Jaszczyk wrote:
> > Since the of_device_get_match_data() doesn't return error code, remove
> > wrong IS_ERR test. Proper check against NULL pointer is already done
> > later before usage: if (data && data->...).
> >
> > Additionally, proceeding with empty device data is valid (e.g. in case
> > of "ti,am3356-pruss").
> >
> > Reported-by: Wei Yongjun <[email protected]>
>
> Please add the appropriate Fixes: tag.
>
> And prefer %s/Remove/Fix/ in patch title.

Sure.

>
> With that,
> Acked-by: Suman Anna <[email protected]>

Thank you, I will post v2 with all improvements soon.
Best regards,
Grzegorz