2024-03-05 09:10:17

by Thomas Zimmermann

[permalink] [raw]
Subject: [PATCH v2 3/3] arch/powerpc: Remove <linux/fb.h> from backlight code

Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to
resolves an unnecessary dependency. Remove pmac_backlight_curve_lookup()
and struct fb_info from source and header files. The function and the
framebuffer struct is unused. No functional changes.

Signed-off-by: Thomas Zimmermann <[email protected]>
---
arch/powerpc/include/asm/backlight.h | 5 ++--
arch/powerpc/platforms/powermac/backlight.c | 26 ---------------------
2 files changed, 2 insertions(+), 29 deletions(-)

diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h
index 1b5eab62ed047..061a910d74929 100644
--- a/arch/powerpc/include/asm/backlight.h
+++ b/arch/powerpc/include/asm/backlight.h
@@ -10,15 +10,14 @@
#define __ASM_POWERPC_BACKLIGHT_H
#ifdef __KERNEL__

-#include <linux/fb.h>
#include <linux/mutex.h>

+struct backlight_device;
+
/* For locking instructions, see the implementation file */
extern struct backlight_device *pmac_backlight;
extern struct mutex pmac_backlight_mutex;

-extern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
-
extern int pmac_has_backlight_type(const char *type);

extern void pmac_backlight_key(int direction);
diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/platforms/powermac/backlight.c
index aeb79a8b3e109..12bc01353bd3c 100644
--- a/arch/powerpc/platforms/powermac/backlight.c
+++ b/arch/powerpc/platforms/powermac/backlight.c
@@ -9,7 +9,6 @@
*/

#include <linux/kernel.h>
-#include <linux/fb.h>
#include <linux/backlight.h>
#include <linux/adb.h>
#include <linux/pmu.h>
@@ -72,31 +71,6 @@ int pmac_has_backlight_type(const char *type)
return 0;
}

-int pmac_backlight_curve_lookup(struct fb_info *info, int value)
-{
- int level = (FB_BACKLIGHT_LEVELS - 1);
-
- if (info && info->bl_dev) {
- int i, max = 0;
-
- /* Look for biggest value */
- for (i = 0; i < FB_BACKLIGHT_LEVELS; i++)
- max = max((int)info->bl_curve[i], max);
-
- /* Look for nearest value */
- for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) {
- int diff = abs(info->bl_curve[i] - value);
- if (diff < max) {
- max = diff;
- level = i;
- }
- }
-
- }
-
- return level;
-}
-
static void pmac_backlight_key_worker(struct work_struct *work)
{
if (atomic_read(&kernel_backlight_disabled))
--
2.44.0



2024-03-05 09:16:46

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/powerpc: Remove <linux/fb.h> from backlight code

On Tue, 05 Mar 2024, Thomas Zimmermann <[email protected]> wrote:
> Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to
> resolves an unnecessary dependency. Remove pmac_backlight_curve_lookup()

*resolve

> and struct fb_info from source and header files. The function and the
> framebuffer struct is unused. No functional changes.

*are

Reviewed-by: Jani Nikula <[email protected]>

>
> Signed-off-by: Thomas Zimmermann <[email protected]>
> ---
> arch/powerpc/include/asm/backlight.h | 5 ++--
> arch/powerpc/platforms/powermac/backlight.c | 26 ---------------------
> 2 files changed, 2 insertions(+), 29 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h
> index 1b5eab62ed047..061a910d74929 100644
> --- a/arch/powerpc/include/asm/backlight.h
> +++ b/arch/powerpc/include/asm/backlight.h
> @@ -10,15 +10,14 @@
> #define __ASM_POWERPC_BACKLIGHT_H
> #ifdef __KERNEL__
>
> -#include <linux/fb.h>
> #include <linux/mutex.h>
>
> +struct backlight_device;
> +
> /* For locking instructions, see the implementation file */
> extern struct backlight_device *pmac_backlight;
> extern struct mutex pmac_backlight_mutex;
>
> -extern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
> -
> extern int pmac_has_backlight_type(const char *type);
>
> extern void pmac_backlight_key(int direction);
> diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/platforms/powermac/backlight.c
> index aeb79a8b3e109..12bc01353bd3c 100644
> --- a/arch/powerpc/platforms/powermac/backlight.c
> +++ b/arch/powerpc/platforms/powermac/backlight.c
> @@ -9,7 +9,6 @@
> */
>
> #include <linux/kernel.h>
> -#include <linux/fb.h>
> #include <linux/backlight.h>
> #include <linux/adb.h>
> #include <linux/pmu.h>
> @@ -72,31 +71,6 @@ int pmac_has_backlight_type(const char *type)
> return 0;
> }
>
> -int pmac_backlight_curve_lookup(struct fb_info *info, int value)
> -{
> - int level = (FB_BACKLIGHT_LEVELS - 1);
> -
> - if (info && info->bl_dev) {
> - int i, max = 0;
> -
> - /* Look for biggest value */
> - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++)
> - max = max((int)info->bl_curve[i], max);
> -
> - /* Look for nearest value */
> - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) {
> - int diff = abs(info->bl_curve[i] - value);
> - if (diff < max) {
> - max = diff;
> - level = i;
> - }
> - }
> -
> - }
> -
> - return level;
> -}
> -
> static void pmac_backlight_key_worker(struct work_struct *work)
> {
> if (atomic_read(&kernel_backlight_disabled))

--
Jani Nikula, Intel

2024-03-05 09:26:07

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/powerpc: Remove <linux/fb.h> from backlight code



Le 05/03/2024 à 10:01, Thomas Zimmermann a écrit :
> Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to
> resolves an unnecessary dependency. Remove pmac_backlight_curve_lookup()
> and struct fb_info from source and header files. The function and the
> framebuffer struct is unused. No functional changes.

When you remove pmac_backlight_curve_lookup() prototype you'll then get
a warning/error about missing prototype when building
arch/powerpc/platforms/powermac/backlight.c

The fonction is not used outside of that file so it should be static.
And then it is not used in that file either so it should be removed
completely. Indeed last use of that function was removed by commit
d565dd3b0824 ("[PATCH] powerpc: More via-pmu backlight fixes") so the
function can safely be removed.

Christophe

>
> Signed-off-by: Thomas Zimmermann <[email protected]>
> ---
> arch/powerpc/include/asm/backlight.h | 5 ++--
> arch/powerpc/platforms/powermac/backlight.c | 26 ---------------------
> 2 files changed, 2 insertions(+), 29 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h
> index 1b5eab62ed047..061a910d74929 100644
> --- a/arch/powerpc/include/asm/backlight.h
> +++ b/arch/powerpc/include/asm/backlight.h
> @@ -10,15 +10,14 @@
> #define __ASM_POWERPC_BACKLIGHT_H
> #ifdef __KERNEL__
>
> -#include <linux/fb.h>
> #include <linux/mutex.h>
>
> +struct backlight_device;
> +
> /* For locking instructions, see the implementation file */
> extern struct backlight_device *pmac_backlight;
> extern struct mutex pmac_backlight_mutex;
>
> -extern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
> -
> extern int pmac_has_backlight_type(const char *type);
>
> extern void pmac_backlight_key(int direction);
> diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/platforms/powermac/backlight.c
> index aeb79a8b3e109..12bc01353bd3c 100644
> --- a/arch/powerpc/platforms/powermac/backlight.c
> +++ b/arch/powerpc/platforms/powermac/backlight.c
> @@ -9,7 +9,6 @@
> */
>
> #include <linux/kernel.h>
> -#include <linux/fb.h>
> #include <linux/backlight.h>
> #include <linux/adb.h>
> #include <linux/pmu.h>
> @@ -72,31 +71,6 @@ int pmac_has_backlight_type(const char *type)
> return 0;
> }
>
> -int pmac_backlight_curve_lookup(struct fb_info *info, int value)
> -{
> - int level = (FB_BACKLIGHT_LEVELS - 1);
> -
> - if (info && info->bl_dev) {
> - int i, max = 0;
> -
> - /* Look for biggest value */
> - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++)
> - max = max((int)info->bl_curve[i], max);
> -
> - /* Look for nearest value */
> - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) {
> - int diff = abs(info->bl_curve[i] - value);
> - if (diff < max) {
> - max = diff;
> - level = i;
> - }
> - }
> -
> - }
> -
> - return level;
> -}
> -
> static void pmac_backlight_key_worker(struct work_struct *work)
> {
> if (atomic_read(&kernel_backlight_disabled))

2024-03-05 10:07:00

by Thomas Zimmermann

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/powerpc: Remove <linux/fb.h> from backlight code

Hi

Am 05.03.24 um 10:25 schrieb Christophe Leroy:
>
> Le 05/03/2024 à 10:01, Thomas Zimmermann a écrit :
>> Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to
>> resolves an unnecessary dependency. Remove pmac_backlight_curve_lookup()
>> and struct fb_info from source and header files. The function and the
>> framebuffer struct is unused. No functional changes.
> When you remove pmac_backlight_curve_lookup() prototype you'll then get
> a warning/error about missing prototype when building
> arch/powerpc/platforms/powermac/backlight.c
>
> The fonction is not used outside of that file so it should be static.
> And then it is not used in that file either so it should be removed
> completely. Indeed last use of that function was removed by commit
> d565dd3b0824 ("[PATCH] powerpc: More via-pmu backlight fixes") so the
> function can safely be removed.

Isn't that what my patch is doing? I have no callers of the function in
my tree (drm-tip), so I removed it entirely. Should I add a Fixes tag
against commit d565dd3b0824? Best regards Thomas
>
> Christophe
>
>> Signed-off-by: Thomas Zimmermann <[email protected]>
>> ---
>> arch/powerpc/include/asm/backlight.h | 5 ++--
>> arch/powerpc/platforms/powermac/backlight.c | 26 ---------------------
>> 2 files changed, 2 insertions(+), 29 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/asm/backlight.h
>> index 1b5eab62ed047..061a910d74929 100644
>> --- a/arch/powerpc/include/asm/backlight.h
>> +++ b/arch/powerpc/include/asm/backlight.h
>> @@ -10,15 +10,14 @@
>> #define __ASM_POWERPC_BACKLIGHT_H
>> #ifdef __KERNEL__
>>
>> -#include <linux/fb.h>
>> #include <linux/mutex.h>
>>
>> +struct backlight_device;
>> +
>> /* For locking instructions, see the implementation file */
>> extern struct backlight_device *pmac_backlight;
>> extern struct mutex pmac_backlight_mutex;
>>
>> -extern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
>> -
>> extern int pmac_has_backlight_type(const char *type);
>>
>> extern void pmac_backlight_key(int direction);
>> diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/platforms/powermac/backlight.c
>> index aeb79a8b3e109..12bc01353bd3c 100644
>> --- a/arch/powerpc/platforms/powermac/backlight.c
>> +++ b/arch/powerpc/platforms/powermac/backlight.c
>> @@ -9,7 +9,6 @@
>> */
>>
>> #include <linux/kernel.h>
>> -#include <linux/fb.h>
>> #include <linux/backlight.h>
>> #include <linux/adb.h>
>> #include <linux/pmu.h>
>> @@ -72,31 +71,6 @@ int pmac_has_backlight_type(const char *type)
>> return 0;
>> }
>>
>> -int pmac_backlight_curve_lookup(struct fb_info *info, int value)
>> -{
>> - int level = (FB_BACKLIGHT_LEVELS - 1);
>> -
>> - if (info && info->bl_dev) {
>> - int i, max = 0;
>> -
>> - /* Look for biggest value */
>> - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++)
>> - max = max((int)info->bl_curve[i], max);
>> -
>> - /* Look for nearest value */
>> - for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) {
>> - int diff = abs(info->bl_curve[i] - value);
>> - if (diff < max) {
>> - max = diff;
>> - level = i;
>> - }
>> - }
>> -
>> - }
>> -
>> - return level;
>> -}
>> -
>> static void pmac_backlight_key_worker(struct work_struct *work)
>> {
>> if (atomic_read(&kernel_backlight_disabled))

--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


2024-03-05 10:07:10

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] arch/powerpc: Remove <linux/fb.h> from backlight code



Le 05/03/2024 à 11:04, Thomas Zimmermann a écrit :
> Hi
>
> Am 05.03.24 um 10:25 schrieb Christophe Leroy:
>>
>> Le 05/03/2024 à 10:01, Thomas Zimmermann a écrit :
>>> Replace <linux/fb.h> with a forward declaration in <asm/backlight.h> to
>>> resolves an unnecessary dependency. Remove pmac_backlight_curve_lookup()
>>> and struct fb_info from source and header files. The function and the
>>> framebuffer struct is unused. No functional changes.
>> When you remove pmac_backlight_curve_lookup() prototype you'll then get
>> a warning/error about missing prototype when building
>> arch/powerpc/platforms/powermac/backlight.c
>>
>> The fonction is not used outside of that file so it should be static.
>> And then it is not used in that file either so it should be removed
>> completely. Indeed last use of that function was removed by commit
>> d565dd3b0824 ("[PATCH] powerpc: More via-pmu backlight fixes") so the
>> function can safely be removed.
>
> Isn't that what my patch is doing? I have no callers of the function in
> my tree (drm-tip), so I removed it entirely. Should I add a Fixes tag
> against commit d565dd3b0824? Best regards Thomas

Sorry I overlooked your patch and focussed on the removal of the
prototype and missed the removal of the function.

Christophe

>>
>> Christophe
>>
>>> Signed-off-by: Thomas Zimmermann <[email protected]>
>>> ---
>>>    arch/powerpc/include/asm/backlight.h        |  5 ++--
>>>    arch/powerpc/platforms/powermac/backlight.c | 26
>>> ---------------------
>>>    2 files changed, 2 insertions(+), 29 deletions(-)
>>>
>>> diff --git a/arch/powerpc/include/asm/backlight.h
>>> b/arch/powerpc/include/asm/backlight.h
>>> index 1b5eab62ed047..061a910d74929 100644
>>> --- a/arch/powerpc/include/asm/backlight.h
>>> +++ b/arch/powerpc/include/asm/backlight.h
>>> @@ -10,15 +10,14 @@
>>>    #define __ASM_POWERPC_BACKLIGHT_H
>>>    #ifdef __KERNEL__
>>> -#include <linux/fb.h>
>>>    #include <linux/mutex.h>
>>> +struct backlight_device;
>>> +
>>>    /* For locking instructions, see the implementation file */
>>>    extern struct backlight_device *pmac_backlight;
>>>    extern struct mutex pmac_backlight_mutex;
>>> -extern int pmac_backlight_curve_lookup(struct fb_info *info, int
>>> value);
>>> -
>>>    extern int pmac_has_backlight_type(const char *type);
>>>    extern void pmac_backlight_key(int direction);
>>> diff --git a/arch/powerpc/platforms/powermac/backlight.c
>>> b/arch/powerpc/platforms/powermac/backlight.c
>>> index aeb79a8b3e109..12bc01353bd3c 100644
>>> --- a/arch/powerpc/platforms/powermac/backlight.c
>>> +++ b/arch/powerpc/platforms/powermac/backlight.c
>>> @@ -9,7 +9,6 @@
>>>     */
>>>    #include <linux/kernel.h>
>>> -#include <linux/fb.h>
>>>    #include <linux/backlight.h>
>>>    #include <linux/adb.h>
>>>    #include <linux/pmu.h>
>>> @@ -72,31 +71,6 @@ int pmac_has_backlight_type(const char *type)
>>>        return 0;
>>>    }
>>> -int pmac_backlight_curve_lookup(struct fb_info *info, int value)
>>> -{
>>> -    int level = (FB_BACKLIGHT_LEVELS - 1);
>>> -
>>> -    if (info && info->bl_dev) {
>>> -        int i, max = 0;
>>> -
>>> -        /* Look for biggest value */
>>> -        for (i = 0; i < FB_BACKLIGHT_LEVELS; i++)
>>> -            max = max((int)info->bl_curve[i], max);
>>> -
>>> -        /* Look for nearest value */
>>> -        for (i = 0; i < FB_BACKLIGHT_LEVELS; i++) {
>>> -            int diff = abs(info->bl_curve[i] - value);
>>> -            if (diff < max) {
>>> -                max = diff;
>>> -                level = i;
>>> -            }
>>> -        }
>>> -
>>> -    }
>>> -
>>> -    return level;
>>> -}
>>> -
>>>    static void pmac_backlight_key_worker(struct work_struct *work)
>>>    {
>>>        if (atomic_read(&kernel_backlight_disabled))
>