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

From: Stanislaw Gruszka
Date: Mon Feb 13 2023 - 02:12:48 EST


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 <trix@xxxxxxxxxx>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@xxxxxxxxxxxxxxx>

> ---
> 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
>