2020-11-30 12:57:49

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] media: rockchip: rkisp1: remove some dead code

The debugfs_create_dir() function never returns NULLs. It's not supposed
to checked for errors in the normal case and there is no need to check
in this function so let's just delete this dead code.

Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
index 9af137e4967f..68da1eed753d 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
@@ -430,10 +430,6 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
struct rkisp1_debug *debug = &rkisp1->debug;

debug->debugfs_dir = debugfs_create_dir(RKISP1_DRIVER_NAME, NULL);
- if (!debug->debugfs_dir) {
- dev_dbg(rkisp1->dev, "failed to create debugfs directory\n");
- return;
- }
debugfs_create_ulong("data_loss", 0444, debug->debugfs_dir,
&debug->data_loss);
debugfs_create_ulong("outform_size_err", 0444, debug->debugfs_dir,
--
2.29.2


2020-11-30 14:22:50

by Helen Koike

[permalink] [raw]
Subject: Re: [PATCH] media: rockchip: rkisp1: remove some dead code

Hi Dan,

Thank you for your patch.

On 11/30/20 9:53 AM, Dan Carpenter wrote:
> The debugfs_create_dir() function never returns NULLs. It's not supposed
> to checked for errors in the normal case and there is no need to check
> in this function so let's just delete this dead code.
>
> Signed-off-by: Dan Carpenter <[email protected]>
> ---
> drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> index 9af137e4967f..68da1eed753d 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> @@ -430,10 +430,6 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> struct rkisp1_debug *debug = &rkisp1->debug;
>
> debug->debugfs_dir = debugfs_create_dir(RKISP1_DRIVER_NAME, NULL);
> - if (!debug->debugfs_dir) {
> - dev_dbg(rkisp1->dev, "failed to create debugfs directory\n");
> - return;
> - }

I was taking a look at the debugfs_create_dir() code, and I saw it can
return ERR_PTR(), so ideally we should check for errors with IS_ERR() / PTR_ERR().

Also from the docs:

* <snip> If an error occurs, ERR_PTR(-ERROR) will be
* returned.
*
* If debugfs is not enabled in the kernel, the value -%ENODEV will be
* returned.



> debugfs_create_ulong("data_loss", 0444, debug->debugfs_dir,
> &debug->data_loss);
> debugfs_create_ulong("outform_size_err", 0444, debug->debugfs_dir,
>


nit: I would change the name of the commit just to make it clear what it
does.
Example: Remove useless error check from debugfs_create_dir()

Thanks,
Helen

2020-12-01 14:32:26

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] media: rockchip: rkisp1: remove some dead code

On Mon, Nov 30, 2020 at 11:20:05AM -0300, Helen Koike wrote:
> Hi Dan,
>
> Thank you for your patch.
>
> On 11/30/20 9:53 AM, Dan Carpenter wrote:
> > The debugfs_create_dir() function never returns NULLs. It's not supposed
> > to checked for errors in the normal case and there is no need to check
> > in this function so let's just delete this dead code.
> >
> > Signed-off-by: Dan Carpenter <[email protected]>
> > ---
> > drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 4 ----
> > 1 file changed, 4 deletions(-)
> >
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> > index 9af137e4967f..68da1eed753d 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> > @@ -430,10 +430,6 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> > struct rkisp1_debug *debug = &rkisp1->debug;
> >
> > debug->debugfs_dir = debugfs_create_dir(RKISP1_DRIVER_NAME, NULL);
> > - if (!debug->debugfs_dir) {
> > - dev_dbg(rkisp1->dev, "failed to create debugfs directory\n");
> > - return;
> > - }
>
> I was taking a look at the debugfs_create_dir() code, and I saw it can
> return ERR_PTR(), so ideally we should check for errors with IS_ERR() / PTR_ERR().

Debugfs functions aren't meant to be error checked in the normal case.
There are some drivers which dereference the dentry pointer so those
need to check it but that's not very common and isn't the case here.

I'm really sure this must be documented somewhere but I can't find it
at all. :P But look at commit 057e212eae72 ("media: usb: uvc: no need
to check return value of debugfs_create functions") for example.

regards,
dan carpenter

2020-12-01 14:35:44

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH v2] media: rockchip: rkisp1: remove useless debugfs checks

The debugfs_create_dir() function never returns NULLs so this code will
never be executed. It's not intended that callers will check for
debugfs errors in the normal case and it's not necessary in this driver,
so we can just delete this code.

Signed-off-by: Dan Carpenter <[email protected]>
---
v2: Fix subject

drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
index 9af137e4967f..68da1eed753d 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
@@ -430,10 +430,6 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
struct rkisp1_debug *debug = &rkisp1->debug;

debug->debugfs_dir = debugfs_create_dir(RKISP1_DRIVER_NAME, NULL);
- if (!debug->debugfs_dir) {
- dev_dbg(rkisp1->dev, "failed to create debugfs directory\n");
- return;
- }
debugfs_create_ulong("data_loss", 0444, debug->debugfs_dir,
&debug->data_loss);
debugfs_create_ulong("outform_size_err", 0444, debug->debugfs_dir,
--
2.29.2

2020-12-01 14:44:17

by Helen Koike

[permalink] [raw]
Subject: Re: [PATCH v2] media: rockchip: rkisp1: remove useless debugfs checks



On 12/1/20 11:30 AM, Dan Carpenter wrote:
> The debugfs_create_dir() function never returns NULLs so this code will
> never be executed. It's not intended that callers will check for
> debugfs errors in the normal case and it's not necessary in this driver,
> so we can just delete this code.
>
> Signed-off-by: Dan Carpenter <[email protected]>

Since the debugfs_create_*() functions already check the parent
with IS_ERR(), this looks good to me.

Acked-by: Helen Koike <[email protected]>

Thanks
Helen

> ---
> v2: Fix subject
>
> drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> index 9af137e4967f..68da1eed753d 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
> @@ -430,10 +430,6 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
> struct rkisp1_debug *debug = &rkisp1->debug;
>
> debug->debugfs_dir = debugfs_create_dir(RKISP1_DRIVER_NAME, NULL);
> - if (!debug->debugfs_dir) {
> - dev_dbg(rkisp1->dev, "failed to create debugfs directory\n");
> - return;
> - }
> debugfs_create_ulong("data_loss", 0444, debug->debugfs_dir,
> &debug->data_loss);
> debugfs_create_ulong("outform_size_err", 0444, debug->debugfs_dir,
>

2020-12-01 14:44:59

by Helen Koike

[permalink] [raw]
Subject: Re: [PATCH] media: rockchip: rkisp1: remove some dead code

Hi Dan,

On 12/1/20 11:27 AM, Dan Carpenter wrote:
> On Mon, Nov 30, 2020 at 11:20:05AM -0300, Helen Koike wrote:
>> Hi Dan,
>>
>> Thank you for your patch.
>>
>> On 11/30/20 9:53 AM, Dan Carpenter wrote:
>>> The debugfs_create_dir() function never returns NULLs. It's not supposed
>>> to checked for errors in the normal case and there is no need to check
>>> in this function so let's just delete this dead code.
>>>
>>> Signed-off-by: Dan Carpenter <[email protected]>
>>> ---
>>> drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 4 ----
>>> 1 file changed, 4 deletions(-)
>>>
>>> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
>>> index 9af137e4967f..68da1eed753d 100644
>>> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
>>> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
>>> @@ -430,10 +430,6 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
>>> struct rkisp1_debug *debug = &rkisp1->debug;
>>>
>>> debug->debugfs_dir = debugfs_create_dir(RKISP1_DRIVER_NAME, NULL);
>>> - if (!debug->debugfs_dir) {
>>> - dev_dbg(rkisp1->dev, "failed to create debugfs directory\n");
>>> - return;
>>> - }
>>
>> I was taking a look at the debugfs_create_dir() code, and I saw it can
>> return ERR_PTR(), so ideally we should check for errors with IS_ERR() / PTR_ERR().
>
> Debugfs functions aren't meant to be error checked in the normal case.
> There are some drivers which dereference the dentry pointer so those
> need to check it but that's not very common and isn't the case here.

right, I just saw the functions in inode.c already checks the parent with
IS_ERR(). the debugfs_create_*() function calls start_creating() which
already checks the parent.

ok, fair enough, I'll ack v2.

Regards,
Helen

>
> I'm really sure this must be documented somewhere but I can't find it
> at all. :P But look at commit 057e212eae72 ("media: usb: uvc: no need
> to check return value of debugfs_create functions") for example.
>
> regards,
> dan carpenter
>