[1/2] drm/imagination: avoid -Wmissing-prototype warnings

Message ID 20231129113825.2961913-1-arnd@kernel.org
State New
Headers
Series [1/2] drm/imagination: avoid -Wmissing-prototype warnings |

Commit Message

Arnd Bergmann Nov. 29, 2023, 11:33 a.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

This warning option is now enabled by default, causing a few build regressions
in combination with the newly added pvr driver:

drivers/gpu/drm/imagination/pvr_device.c:130:6: error: no previous prototype for 'pvr_device_process_active_queues' [-Werror=missing-prototypes]
  130 | void pvr_device_process_active_queues(struct pvr_device *pvr_dev)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/imagination/pvr_fw_meta.c:33:1: error: no previous prototype for 'pvr_meta_cr_read32' [-Werror=missing-prototypes]
   33 | pvr_meta_cr_read32(struct pvr_device *pvr_dev, u32 reg_addr, u32 *reg_value_out)
      | ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/imagination/pvr_vm.c:542:6: error: no previous prototype for 'pvr_gpuvm_free' [-Werror=missing-prototypes]
  542 | void pvr_gpuvm_free(struct drm_gpuvm *gpuvm)

Mark pvr_device_process_active_queues and pvr_gpuvm_free static as they are only used
in the file they are defined in, and include the correct header for the pvr_meta_cr_read32
declaration.

Fixes: eaf01ee5ba28 ("drm/imagination: Implement job submission and scheduling")
Fixes: cc1aeedb98ad ("drm/imagination: Implement firmware infrastructure and META FW support")
Fixes: ff5f643de0bf ("drm/imagination: Add GEM and VM related code")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/imagination/pvr_device.c  | 2 +-
 drivers/gpu/drm/imagination/pvr_fw_meta.c | 1 +
 drivers/gpu/drm/imagination/pvr_vm.c      | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
  

Comments

Donald Robson Nov. 29, 2023, 12:07 p.m. UTC | #1
Hello Arnd,

Thanks for this.  However, I fixed these in a patch a few minutes before you sent
yours.  I'm not sure what normally happens in these circumstances, but as my patch has
the kernel robot tags and a few additional fixes, I think we should probably use that
one.

Thanks,
Donald

On Wed, 2023-11-29 at 12:33 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> This warning option is now enabled by default, causing a few build regressions
> in combination with the newly added pvr driver:
> 
> drivers/gpu/drm/imagination/pvr_device.c:130:6: error: no previous prototype for 'pvr_device_process_active_queues' [-Werror=missing-prototypes]
>   130 | void pvr_device_process_active_queues(struct pvr_device *pvr_dev)
>       |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/imagination/pvr_fw_meta.c:33:1: error: no previous prototype for 'pvr_meta_cr_read32' [-Werror=missing-prototypes]
>    33 | pvr_meta_cr_read32(struct pvr_device *pvr_dev, u32 reg_addr, u32 *reg_value_out)
>       | ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/imagination/pvr_vm.c:542:6: error: no previous prototype for 'pvr_gpuvm_free' [-Werror=missing-prototypes]
>   542 | void pvr_gpuvm_free(struct drm_gpuvm *gpuvm)
> 
> Mark pvr_device_process_active_queues and pvr_gpuvm_free static as they are only used
> in the file they are defined in, and include the correct header for the pvr_meta_cr_read32
> declaration.
> 
> Fixes: eaf01ee5ba28 ("drm/imagination: Implement job submission and scheduling")
> Fixes: cc1aeedb98ad ("drm/imagination: Implement firmware infrastructure and META FW support")
> Fixes: ff5f643de0bf ("drm/imagination: Add GEM and VM related code")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/gpu/drm/imagination/pvr_device.c  | 2 +-
>  drivers/gpu/drm/imagination/pvr_fw_meta.c | 1 +
>  drivers/gpu/drm/imagination/pvr_vm.c      | 2 +-
>  3 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imagination/pvr_device.c b/drivers/gpu/drm/imagination/pvr_device.c
> index 8499becf4fbb..048eba776cf2 100644
> --- a/drivers/gpu/drm/imagination/pvr_device.c
> +++ b/drivers/gpu/drm/imagination/pvr_device.c
> @@ -127,7 +127,7 @@ static int pvr_device_clk_init(struct pvr_device *pvr_dev)
>   * This is called any time we receive a FW event. It iterates over all
>   * active queues and calls pvr_queue_process() on them.
>   */
> -void pvr_device_process_active_queues(struct pvr_device *pvr_dev)
> +static void pvr_device_process_active_queues(struct pvr_device *pvr_dev)
>  {
>  	struct pvr_queue *queue, *tmp_queue;
>  	LIST_HEAD(active_queues);
> diff --git a/drivers/gpu/drm/imagination/pvr_fw_meta.c b/drivers/gpu/drm/imagination/pvr_fw_meta.c
> index 119934c36184..c39beb70c317 100644
> --- a/drivers/gpu/drm/imagination/pvr_fw_meta.c
> +++ b/drivers/gpu/drm/imagination/pvr_fw_meta.c
> @@ -4,6 +4,7 @@
>  #include "pvr_device.h"
>  #include "pvr_fw.h"
>  #include "pvr_fw_info.h"
> +#include "pvr_fw_meta.h"
>  #include "pvr_gem.h"
>  #include "pvr_rogue_cr_defs.h"
>  #include "pvr_rogue_meta.h"
> diff --git a/drivers/gpu/drm/imagination/pvr_vm.c b/drivers/gpu/drm/imagination/pvr_vm.c
> index 2aab53594a77..30ecd7d7052e 100644
> --- a/drivers/gpu/drm/imagination/pvr_vm.c
> +++ b/drivers/gpu/drm/imagination/pvr_vm.c
> @@ -539,7 +539,7 @@ pvr_device_addr_and_size_are_valid(struct pvr_vm_context *vm_ctx,
>  	       (device_addr + size <= PVR_PAGE_TABLE_ADDR_SPACE_SIZE);
>  }
>  
> -void pvr_gpuvm_free(struct drm_gpuvm *gpuvm)
> +static void pvr_gpuvm_free(struct drm_gpuvm *gpuvm)
>  {
>  	kfree(to_pvr_vm_context(gpuvm));
>  }
  
Arnd Bergmann Nov. 29, 2023, 12:16 p.m. UTC | #2
On Wed, Nov 29, 2023, at 13:07, Donald Robson wrote:
> Hello Arnd,
>
> Thanks for this.  However, I fixed these in a patch a few minutes 
> before you sent
> yours.  I'm not sure what normally happens in these circumstances, but 
> as my patch has
> the kernel robot tags and a few additional fixes, I think we should 
> probably use that
> one.

Sure, that's fine. If you don't mind rebasing, just add a
"Reported-by: Arnd Bergmann <arnd@arndb.de>" line as well.

I tend to create a bug fix for any build regressions I see as
part of building randconfig kernels, but it's normal that the
mainainers have already fixed the same bug before I send my
patch, or that there is a better solution than what I come up
with.

     Arnd
  
Donald Robson Nov. 29, 2023, 12:21 p.m. UTC | #3
On Wed, 2023-11-29 at 13:16 +0100, Arnd Bergmann wrote:
> *** CAUTION: This email originates from a source not known to Imagination Technologies. Think before you click a link or open an attachment ***
> 
> On Wed, Nov 29, 2023, at 13:07, Donald Robson wrote:
> > Hello Arnd,
> > 
> > Thanks for this.  However, I fixed these in a patch a few minutes 
> > before you sent
> > yours.  I'm not sure what normally happens in these circumstances, but 
> > as my patch has
> > the kernel robot tags and a few additional fixes, I think we should 
> > probably use that
> > one.
> 
> Sure, that's fine. If you don't mind rebasing, just add a
> "Reported-by: Arnd Bergmann <arnd@arndb.de>" line as well.
> 
> I tend to create a bug fix for any build regressions I see as
> part of building randconfig kernels, but it's normal that the
> mainainers have already fixed the same bug before I send my
> patch, or that there is a better solution than what I come up
> with.
> 
>      Arnd

Will do! In fact Maxime just told me to resubmit as a series anyway.

Donald
  

Patch

diff --git a/drivers/gpu/drm/imagination/pvr_device.c b/drivers/gpu/drm/imagination/pvr_device.c
index 8499becf4fbb..048eba776cf2 100644
--- a/drivers/gpu/drm/imagination/pvr_device.c
+++ b/drivers/gpu/drm/imagination/pvr_device.c
@@ -127,7 +127,7 @@  static int pvr_device_clk_init(struct pvr_device *pvr_dev)
  * This is called any time we receive a FW event. It iterates over all
  * active queues and calls pvr_queue_process() on them.
  */
-void pvr_device_process_active_queues(struct pvr_device *pvr_dev)
+static void pvr_device_process_active_queues(struct pvr_device *pvr_dev)
 {
 	struct pvr_queue *queue, *tmp_queue;
 	LIST_HEAD(active_queues);
diff --git a/drivers/gpu/drm/imagination/pvr_fw_meta.c b/drivers/gpu/drm/imagination/pvr_fw_meta.c
index 119934c36184..c39beb70c317 100644
--- a/drivers/gpu/drm/imagination/pvr_fw_meta.c
+++ b/drivers/gpu/drm/imagination/pvr_fw_meta.c
@@ -4,6 +4,7 @@ 
 #include "pvr_device.h"
 #include "pvr_fw.h"
 #include "pvr_fw_info.h"
+#include "pvr_fw_meta.h"
 #include "pvr_gem.h"
 #include "pvr_rogue_cr_defs.h"
 #include "pvr_rogue_meta.h"
diff --git a/drivers/gpu/drm/imagination/pvr_vm.c b/drivers/gpu/drm/imagination/pvr_vm.c
index 2aab53594a77..30ecd7d7052e 100644
--- a/drivers/gpu/drm/imagination/pvr_vm.c
+++ b/drivers/gpu/drm/imagination/pvr_vm.c
@@ -539,7 +539,7 @@  pvr_device_addr_and_size_are_valid(struct pvr_vm_context *vm_ctx,
 	       (device_addr + size <= PVR_PAGE_TABLE_ADDR_SPACE_SIZE);
 }
 
-void pvr_gpuvm_free(struct drm_gpuvm *gpuvm)
+static void pvr_gpuvm_free(struct drm_gpuvm *gpuvm)
 {
 	kfree(to_pvr_vm_context(gpuvm));
 }