diff mbox series

[v2] drm/panic: Add missing static inline to drm_panic_is_enabled()

Message ID 20240719122051.1507927-1-jfalempe@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v2] drm/panic: Add missing static inline to drm_panic_is_enabled() | expand

Commit Message

Jocelyn Falempe July 19, 2024, 12:20 p.m. UTC
This breaks build if DRM_PANIC is not enabled.
Also add the missing include drm_crtc_internal.h in drm_panic.c

Fixes: 9f774c42a908 ("drm/panic: Add drm_panic_is_enabled()")
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
---
 drivers/gpu/drm/drm_crtc_internal.h | 2 +-
 drivers/gpu/drm/drm_panic.c         | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Michal Wajdeczko July 19, 2024, 3:28 p.m. UTC | #1
On 19.07.2024 14:20, Jocelyn Falempe wrote:
> This breaks build if DRM_PANIC is not enabled.
> Also add the missing include drm_crtc_internal.h in drm_panic.c
> 
> Fixes: 9f774c42a908 ("drm/panic: Add drm_panic_is_enabled()")
> Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
> ---
>  drivers/gpu/drm/drm_crtc_internal.h | 2 +-
>  drivers/gpu/drm/drm_panic.c         | 2 ++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
> index c10de39cbe83..bbac5350774e 100644
> --- a/drivers/gpu/drm/drm_crtc_internal.h
> +++ b/drivers/gpu/drm/drm_crtc_internal.h
> @@ -321,7 +321,7 @@ drm_edid_load_firmware(struct drm_connector *connector)
>  #ifdef CONFIG_DRM_PANIC
>  bool drm_panic_is_enabled(struct drm_device *dev);
>  #else
> -bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
> +static inline bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
>  #endif

shouldn't this whole chunk be part of <drm/drm_panic.h> ?
other exported drm_panic functions have forward declarations there

>  
>  #endif /* __DRM_CRTC_INTERNAL_H__ */
> diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
> index 9f1a3568e62d..072752b658f0 100644
> --- a/drivers/gpu/drm/drm_panic.c
> +++ b/drivers/gpu/drm/drm_panic.c
> @@ -27,6 +27,8 @@
>  #include <drm/drm_plane.h>
>  #include <drm/drm_print.h>
>  
> +#include "drm_crtc_internal.h"

then you will not need this include here

> +
>  MODULE_AUTHOR("Jocelyn Falempe");
>  MODULE_DESCRIPTION("DRM panic handler");
>  MODULE_LICENSE("GPL");
Jocelyn Falempe July 19, 2024, 3:37 p.m. UTC | #2
On 19/07/2024 17:28, Michal Wajdeczko wrote:
> 
> 
> On 19.07.2024 14:20, Jocelyn Falempe wrote:
>> This breaks build if DRM_PANIC is not enabled.
>> Also add the missing include drm_crtc_internal.h in drm_panic.c
>>
>> Fixes: 9f774c42a908 ("drm/panic: Add drm_panic_is_enabled()")
>> Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
>> ---
>>   drivers/gpu/drm/drm_crtc_internal.h | 2 +-
>>   drivers/gpu/drm/drm_panic.c         | 2 ++
>>   2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
>> index c10de39cbe83..bbac5350774e 100644
>> --- a/drivers/gpu/drm/drm_crtc_internal.h
>> +++ b/drivers/gpu/drm/drm_crtc_internal.h
>> @@ -321,7 +321,7 @@ drm_edid_load_firmware(struct drm_connector *connector)
>>   #ifdef CONFIG_DRM_PANIC
>>   bool drm_panic_is_enabled(struct drm_device *dev);
>>   #else
>> -bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
>> +static inline bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
>>   #endif
> 
> shouldn't this whole chunk be part of <drm/drm_panic.h> ?
> other exported drm_panic functions have forward declarations there
> 
drm/drm_panic.h is for GPU drivers implementing drm_panic.
And they don't need this function.

This function is only for drm internal (it's called from drm_fb_helper.c).

Sima suggested this change in my previous series:
https://lists.freedesktop.org/archives/dri-devel/2024-July/462375.html

I will move drm_panic_[un]register() prototypes there for the same 
reason in follow-up patch.
Michal Wajdeczko July 19, 2024, 6:26 p.m. UTC | #3
On 19.07.2024 17:37, Jocelyn Falempe wrote:
> 
> 
> On 19/07/2024 17:28, Michal Wajdeczko wrote:
>>
>>
>> On 19.07.2024 14:20, Jocelyn Falempe wrote:
>>> This breaks build if DRM_PANIC is not enabled.
>>> Also add the missing include drm_crtc_internal.h in drm_panic.c
>>>
>>> Fixes: 9f774c42a908 ("drm/panic: Add drm_panic_is_enabled()")
>>> Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
>>> ---
>>>   drivers/gpu/drm/drm_crtc_internal.h | 2 +-
>>>   drivers/gpu/drm/drm_panic.c         | 2 ++
>>>   2 files changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_crtc_internal.h
>>> b/drivers/gpu/drm/drm_crtc_internal.h
>>> index c10de39cbe83..bbac5350774e 100644
>>> --- a/drivers/gpu/drm/drm_crtc_internal.h
>>> +++ b/drivers/gpu/drm/drm_crtc_internal.h
>>> @@ -321,7 +321,7 @@ drm_edid_load_firmware(struct drm_connector
>>> *connector)
>>>   #ifdef CONFIG_DRM_PANIC
>>>   bool drm_panic_is_enabled(struct drm_device *dev);
>>>   #else
>>> -bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
>>> +static inline bool drm_panic_is_enabled(struct drm_device *dev)
>>> {return false; }

btw, missing space after opening {

did you run checkpatch.pl ?

>>>   #endif
>>
>> shouldn't this whole chunk be part of <drm/drm_panic.h> ?
>> other exported drm_panic functions have forward declarations there
>>
> drm/drm_panic.h is for GPU drivers implementing drm_panic.
> And they don't need this function.
> 
> This function is only for drm internal (it's called from drm_fb_helper.c).
> 
> Sima suggested this change in my previous series:
> https://lists.freedesktop.org/archives/dri-devel/2024-July/462375.html
> 
> I will move drm_panic_[un]register() prototypes there for the same
> reason in follow-up patch.
> 

hmm, but then IMO there is a little (?) problem with the layering, as
drm_panic.h no longer matches drm_panic.c and forward decls for
functions from drm_panic.c are in some random internal header

but that's probably topic for another discussion, and now we need to fix
the drm-tip ASAP, so with above nit fixed:

Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Jocelyn Falempe July 19, 2024, 10:49 p.m. UTC | #4
On 19/07/2024 20:26, Michal Wajdeczko wrote:
> 
> 
> On 19.07.2024 17:37, Jocelyn Falempe wrote:
>>
>>
>> On 19/07/2024 17:28, Michal Wajdeczko wrote:
>>>
>>>
>>> On 19.07.2024 14:20, Jocelyn Falempe wrote:
>>>> This breaks build if DRM_PANIC is not enabled.
>>>> Also add the missing include drm_crtc_internal.h in drm_panic.c
>>>>
>>>> Fixes: 9f774c42a908 ("drm/panic: Add drm_panic_is_enabled()")
>>>> Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
>>>> ---
>>>>    drivers/gpu/drm/drm_crtc_internal.h | 2 +-
>>>>    drivers/gpu/drm/drm_panic.c         | 2 ++
>>>>    2 files changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_crtc_internal.h
>>>> b/drivers/gpu/drm/drm_crtc_internal.h
>>>> index c10de39cbe83..bbac5350774e 100644
>>>> --- a/drivers/gpu/drm/drm_crtc_internal.h
>>>> +++ b/drivers/gpu/drm/drm_crtc_internal.h
>>>> @@ -321,7 +321,7 @@ drm_edid_load_firmware(struct drm_connector
>>>> *connector)
>>>>    #ifdef CONFIG_DRM_PANIC
>>>>    bool drm_panic_is_enabled(struct drm_device *dev);
>>>>    #else
>>>> -bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
>>>> +static inline bool drm_panic_is_enabled(struct drm_device *dev)
>>>> {return false; }
> 
> btw, missing space after opening {
> 
> did you run checkpatch.pl ?

Yes, but it looks like he doesn't check this case.
I got the same:
./scripts/checkpatch.pl -g HEAD
total: 0 errors, 0 warnings, 16 lines checked

with or without space here.
> 
>>>>    #endif
>>>
>>> shouldn't this whole chunk be part of <drm/drm_panic.h> ?
>>> other exported drm_panic functions have forward declarations there
>>>
>> drm/drm_panic.h is for GPU drivers implementing drm_panic.
>> And they don't need this function.
>>
>> This function is only for drm internal (it's called from drm_fb_helper.c).
>>
>> Sima suggested this change in my previous series:
>> https://lists.freedesktop.org/archives/dri-devel/2024-July/462375.html
>>
>> I will move drm_panic_[un]register() prototypes there for the same
>> reason in follow-up patch.
>>
> 
> hmm, but then IMO there is a little (?) problem with the layering, as
> drm_panic.h no longer matches drm_panic.c and forward decls for
> functions from drm_panic.c are in some random internal header
> 

The problem it want to solve is to avoid external kernel modules to rely 
on internal functions.
Maybe for something cleaner, I could create a drm_panic_internal.h, but 
I find it a bit too much.

I will submit the patch to move drm_panic_[un]register() next week, and 
we will discuss that here.

> but that's probably topic for another discussion, and now we need to fix
> the drm-tip ASAP, so with above nit fixed:
> 
> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> 

Thanks a lot, I will push it asap to unblock the build.

Best regards,
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
index c10de39cbe83..bbac5350774e 100644
--- a/drivers/gpu/drm/drm_crtc_internal.h
+++ b/drivers/gpu/drm/drm_crtc_internal.h
@@ -321,7 +321,7 @@  drm_edid_load_firmware(struct drm_connector *connector)
 #ifdef CONFIG_DRM_PANIC
 bool drm_panic_is_enabled(struct drm_device *dev);
 #else
-bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
+static inline bool drm_panic_is_enabled(struct drm_device *dev) {return false; }
 #endif
 
 #endif /* __DRM_CRTC_INTERNAL_H__ */
diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
index 9f1a3568e62d..072752b658f0 100644
--- a/drivers/gpu/drm/drm_panic.c
+++ b/drivers/gpu/drm/drm_panic.c
@@ -27,6 +27,8 @@ 
 #include <drm/drm_plane.h>
 #include <drm/drm_print.h>
 
+#include "drm_crtc_internal.h"
+
 MODULE_AUTHOR("Jocelyn Falempe");
 MODULE_DESCRIPTION("DRM panic handler");
 MODULE_LICENSE("GPL");