2023-02-08 15:56:58

by Tom Rix

[permalink] [raw]
Subject: [PATCH] habanalabs: change unused extern decl of hdev to forward decl of hl_device

Building with clang W=2 has several similar warnings
drivers/accel/habanalabs/common/decoder.c:46:51: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
static void dec_error_intr_work(struct hl_device *hdev, u32 base_addr, u32 core_id)
^
drivers/accel/habanalabs/common/security.h:13:26: note: previous declaration is here
extern struct hl_device *hdev;
^

There is no global definition of hdev, so the extern is not needed.
Searched with
grep -r '^struct' . | grep hl_dev

Change to an forward decl to resolve these issues
drivers/accel/habanalabs/common/mmu/../security.h:133:40: error: ‘struct hl_device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
133 | bool (*skip_block_hook)(struct hl_device *hdev,
| ^~~~~~~~~

Signed-off-by: Tom Rix <[email protected]>
---
drivers/accel/habanalabs/common/security.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/accel/habanalabs/common/security.h b/drivers/accel/habanalabs/common/security.h
index 234b4a6ed8bc..d7a3b3e82ea4 100644
--- a/drivers/accel/habanalabs/common/security.h
+++ b/drivers/accel/habanalabs/common/security.h
@@ -10,7 +10,7 @@

#include <linux/io-64-nonatomic-lo-hi.h>

-extern struct hl_device *hdev;
+struct hl_device;

/* special blocks */
#define HL_MAX_NUM_OF_GLBL_ERR_CAUSE 10
--
2.26.3



2023-02-13 07:12:48

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH] habanalabs: change unused extern decl of hdev to forward decl of hl_device

On Wed, Feb 08, 2023 at 07:54:50AM -0800, Tom Rix wrote:
> Building with clang W=2 has several similar warnings
> drivers/accel/habanalabs/common/decoder.c:46:51: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
> static void dec_error_intr_work(struct hl_device *hdev, u32 base_addr, u32 core_id)
> ^
> drivers/accel/habanalabs/common/security.h:13:26: note: previous declaration is here
> extern struct hl_device *hdev;
> ^
>
> There is no global definition of hdev, so the extern is not needed.
> Searched with
> grep -r '^struct' . | grep hl_dev
>
> Change to an forward decl to resolve these issues
> drivers/accel/habanalabs/common/mmu/../security.h:133:40: error: ‘struct hl_device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> 133 | bool (*skip_block_hook)(struct hl_device *hdev,
> | ^~~~~~~~~
>
> Signed-off-by: Tom Rix <[email protected]>
Reviewed-by: Stanislaw Gruszka <[email protected]>

> ---
> drivers/accel/habanalabs/common/security.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/accel/habanalabs/common/security.h b/drivers/accel/habanalabs/common/security.h
> index 234b4a6ed8bc..d7a3b3e82ea4 100644
> --- a/drivers/accel/habanalabs/common/security.h
> +++ b/drivers/accel/habanalabs/common/security.h
> @@ -10,7 +10,7 @@
>
> #include <linux/io-64-nonatomic-lo-hi.h>
>
> -extern struct hl_device *hdev;
> +struct hl_device;
>
> /* special blocks */
> #define HL_MAX_NUM_OF_GLBL_ERR_CAUSE 10
> --
> 2.26.3
>

2023-02-16 14:41:17

by Oded Gabbay

[permalink] [raw]
Subject: Re: [PATCH] habanalabs: change unused extern decl of hdev to forward decl of hl_device

On Mon, Feb 13, 2023 at 9:12 AM Stanislaw Gruszka
<[email protected]> wrote:
>
> On Wed, Feb 08, 2023 at 07:54:50AM -0800, Tom Rix wrote:
> > Building with clang W=2 has several similar warnings
> > drivers/accel/habanalabs/common/decoder.c:46:51: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
> > static void dec_error_intr_work(struct hl_device *hdev, u32 base_addr, u32 core_id)
> > ^
> > drivers/accel/habanalabs/common/security.h:13:26: note: previous declaration is here
> > extern struct hl_device *hdev;
> > ^
> >
> > There is no global definition of hdev, so the extern is not needed.
> > Searched with
> > grep -r '^struct' . | grep hl_dev
> >
> > Change to an forward decl to resolve these issues
> > drivers/accel/habanalabs/common/mmu/../security.h:133:40: error: ‘struct hl_device’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> > 133 | bool (*skip_block_hook)(struct hl_device *hdev,
> > | ^~~~~~~~~
> >
> > Signed-off-by: Tom Rix <[email protected]>
> Reviewed-by: Stanislaw Gruszka <[email protected]>
>
> > ---
> > drivers/accel/habanalabs/common/security.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/accel/habanalabs/common/security.h b/drivers/accel/habanalabs/common/security.h
> > index 234b4a6ed8bc..d7a3b3e82ea4 100644
> > --- a/drivers/accel/habanalabs/common/security.h
> > +++ b/drivers/accel/habanalabs/common/security.h
> > @@ -10,7 +10,7 @@
> >
> > #include <linux/io-64-nonatomic-lo-hi.h>
> >
> > -extern struct hl_device *hdev;
> > +struct hl_device;
> >
> > /* special blocks */
> > #define HL_MAX_NUM_OF_GLBL_ERR_CAUSE 10
> > --
> > 2.26.3
> >
Reviewed-by: Oded Gabbay <[email protected]>
Thanks, applied to -next.
Oded