All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: daniel@ffwll.ch, javierm@redhat.com, deller@gmx.de,
	geert+renesas@glider.be, lee@kernel.org,
	daniel.thompson@linaro.org, jingoohan1@gmail.com,
	linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-sh@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-staging@lists.linux.dev
Subject: Re: [PATCH 25/30] fbdev/core: Move framebuffer and backlight helpers into separate files
Date: Wed, 7 Jun 2023 21:38:22 +0200	[thread overview]
Message-ID: <20230607193822.GB670717@ravnborg.org> (raw)
In-Reply-To: <20230605144812.15241-26-tzimmermann@suse.de>

Hi Thomas,

On Mon, Jun 05, 2023 at 04:48:07PM +0200, Thomas Zimmermann wrote:
> Move framebuffer and backlight helpers into separate files. Leave
> fbsysfs.c to sysfs-related code. No functional changes.
> 
> The framebuffer helpers are not in fbmem.c because they are under
> GPL-2.0-or-later copyright, while fbmem.c is GPL-2.0.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Some nits that you decide what to do with.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>

I do not get why they are moved out in separate files.
I guess the picture will materialize later.

	Sam

> ---
>  drivers/video/fbdev/core/Makefile       |   4 +-
>  drivers/video/fbdev/core/fb_backlight.c |  32 +++++++
>  drivers/video/fbdev/core/fb_info.c      |  76 ++++++++++++++++
>  drivers/video/fbdev/core/fbsysfs.c      | 110 +-----------------------
>  4 files changed, 112 insertions(+), 110 deletions(-)
>  create mode 100644 drivers/video/fbdev/core/fb_backlight.c
>  create mode 100644 drivers/video/fbdev/core/fb_info.c
> 
> diff --git a/drivers/video/fbdev/core/Makefile b/drivers/video/fbdev/core/Makefile
> index 8f0060160ffb..eee3295bc225 100644
> --- a/drivers/video/fbdev/core/Makefile
> +++ b/drivers/video/fbdev/core/Makefile
> @@ -1,7 +1,9 @@
>  # SPDX-License-Identifier: GPL-2.0
>  obj-$(CONFIG_FB_NOTIFY)           += fb_notify.o
>  obj-$(CONFIG_FB)                  += fb.o
> -fb-y                              := fbmem.o fbmon.o fbcmap.o fbsysfs.o \
> +fb-y                              := fb_backlight.o \
> +                                     fb_info.o \
> +                                     fbmem.o fbmon.o fbcmap.o fbsysfs.o \
>                                       modedb.o fbcvt.o fb_cmdline.o fb_io_fops.o
There is "+=" that can be used in Makefile, but people prefer '\' -
sigh!

>  fb-$(CONFIG_FB_DEFERRED_IO)       += fb_defio.o
>  
> diff --git a/drivers/video/fbdev/core/fb_backlight.c b/drivers/video/fbdev/core/fb_backlight.c
> new file mode 100644
> index 000000000000..feffe6c68039
> --- /dev/null
> +++ b/drivers/video/fbdev/core/fb_backlight.c
> @@ -0,0 +1,32 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
Hmm, can we change the license from 2.0 to 2.0-or-later without any
concern? I hope so.

> +
> +#include <linux/export.h>
> +#include <linux/fb.h>
#include <linux/mutex.h> - to avoid relying on indirect includes?


> +
> +#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> +/*
> + * This function generates a linear backlight curve
> + *
> + *     0: off
> + *   1-7: min
> + * 8-127: linear from min to max
> + */
> +void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max)
> +{
> +	unsigned int i, flat, count, range = (max - min);
> +
> +	mutex_lock(&fb_info->bl_curve_mutex);
> +
> +	fb_info->bl_curve[0] = off;
> +
> +	for (flat = 1; flat < (FB_BACKLIGHT_LEVELS / 16); ++flat)
> +		fb_info->bl_curve[flat] = min;
> +
> +	count = FB_BACKLIGHT_LEVELS * 15 / 16;
> +	for (i = 0; i < count; ++i)
> +		fb_info->bl_curve[flat + i] = min + (range * (i + 1) / count);
> +
> +	mutex_unlock(&fb_info->bl_curve_mutex);
> +}
> +EXPORT_SYMBOL_GPL(fb_bl_default_curve);
> +#endif
> diff --git a/drivers/video/fbdev/core/fb_info.c b/drivers/video/fbdev/core/fb_info.c
> new file mode 100644
> index 000000000000..fb5b75009ee7
> --- /dev/null
> +++ b/drivers/video/fbdev/core/fb_info.c
> @@ -0,0 +1,76 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include <linux/export.h>
> +#include <linux/fb.h>
Same as above, consider including mutex.h
Also slab.h

> +
> +/**
> + * framebuffer_alloc - creates a new frame buffer info structure
> + *
> + * @size: size of driver private data, can be zero
> + * @dev: pointer to the device for this fb, this can be NULL
> + *
> + * Creates a new frame buffer info structure. Also reserves @size bytes
> + * for driver private data (info->par). info->par (if any) will be
> + * aligned to sizeof(long).
> + *
> + * Returns the new structure, or NULL if an error occurred.
> + *
> + */
> +struct fb_info *framebuffer_alloc(size_t size, struct device *dev)
> +{
> +#define BYTES_PER_LONG (BITS_PER_LONG/8)
> +#define PADDING (BYTES_PER_LONG - (sizeof(struct fb_info) % BYTES_PER_LONG))
> +	int fb_info_size = sizeof(struct fb_info);
> +	struct fb_info *info;
> +	char *p;
> +
> +	if (size)
> +		fb_info_size += PADDING;
> +
> +	p = kzalloc(fb_info_size + size, GFP_KERNEL);
> +
> +	if (!p)
> +		return NULL;
> +
> +	info = (struct fb_info *) p;
> +
> +	if (size)
> +		info->par = p + fb_info_size;
> +
> +	info->device = dev;
> +	info->fbcon_rotate_hint = -1;
> +
> +#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> +	mutex_init(&info->bl_curve_mutex);
> +#endif
> +
> +	return info;
> +#undef PADDING
> +#undef BYTES_PER_LONG
> +}
> +EXPORT_SYMBOL(framebuffer_alloc);
> +
> +/**
> + * framebuffer_release - marks the structure available for freeing
> + *
> + * @info: frame buffer info structure
> + *
> + * Drop the reference count of the device embedded in the
> + * framebuffer info structure.
> + *
> + */
> +void framebuffer_release(struct fb_info *info)
> +{
> +	if (!info)
> +		return;
> +
> +	if (WARN_ON(refcount_read(&info->count)))
> +		return;
> +
> +#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> +	mutex_destroy(&info->bl_curve_mutex);
> +#endif
> +
> +	kfree(info);
> +}
> +EXPORT_SYMBOL(framebuffer_release);
> diff --git a/drivers/video/fbdev/core/fbsysfs.c b/drivers/video/fbdev/core/fbsysfs.c
> index 0c33c4adcd79..849073f1ca06 100644
> --- a/drivers/video/fbdev/core/fbsysfs.c
> +++ b/drivers/video/fbdev/core/fbsysfs.c
> @@ -5,93 +5,12 @@
>   * Copyright (c) 2004 James Simmons <jsimmons@infradead.org>
>   */
>  
> -/*
> - * Note:  currently there's only stubs for framebuffer_alloc and
> - * framebuffer_release here.  The reson for that is that until all drivers
> - * are converted to use it a sysfsification will open OOPSable races.
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/slab.h>
> +#include <linux/console.h>
>  #include <linux/fb.h>
>  #include <linux/fbcon.h>
> -#include <linux/console.h>
> -#include <linux/module.h>
>  
>  #define FB_SYSFS_FLAG_ATTR 1
>  
> -/**
> - * framebuffer_alloc - creates a new frame buffer info structure
> - *
> - * @size: size of driver private data, can be zero
> - * @dev: pointer to the device for this fb, this can be NULL
> - *
> - * Creates a new frame buffer info structure. Also reserves @size bytes
> - * for driver private data (info->par). info->par (if any) will be
> - * aligned to sizeof(long).
> - *
> - * Returns the new structure, or NULL if an error occurred.
> - *
> - */
> -struct fb_info *framebuffer_alloc(size_t size, struct device *dev)
> -{
> -#define BYTES_PER_LONG (BITS_PER_LONG/8)
> -#define PADDING (BYTES_PER_LONG - (sizeof(struct fb_info) % BYTES_PER_LONG))
> -	int fb_info_size = sizeof(struct fb_info);
> -	struct fb_info *info;
> -	char *p;
> -
> -	if (size)
> -		fb_info_size += PADDING;
> -
> -	p = kzalloc(fb_info_size + size, GFP_KERNEL);
> -
> -	if (!p)
> -		return NULL;
> -
> -	info = (struct fb_info *) p;
> -
> -	if (size)
> -		info->par = p + fb_info_size;
> -
> -	info->device = dev;
> -	info->fbcon_rotate_hint = -1;
> -
> -#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> -	mutex_init(&info->bl_curve_mutex);
> -#endif
> -
> -	return info;
> -#undef PADDING
> -#undef BYTES_PER_LONG
> -}
> -EXPORT_SYMBOL(framebuffer_alloc);
> -
> -/**
> - * framebuffer_release - marks the structure available for freeing
> - *
> - * @info: frame buffer info structure
> - *
> - * Drop the reference count of the device embedded in the
> - * framebuffer info structure.
> - *
> - */
> -void framebuffer_release(struct fb_info *info)
> -{
> -	if (!info)
> -		return;
> -
> -	if (WARN_ON(refcount_read(&info->count)))
> -		return;
> -
> -#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> -	mutex_destroy(&info->bl_curve_mutex);
> -#endif
> -
> -	kfree(info);
> -}
> -EXPORT_SYMBOL(framebuffer_release);
> -
>  static int activate(struct fb_info *fb_info, struct fb_var_screeninfo *var)
>  {
>  	int err;
> @@ -551,30 +470,3 @@ void fb_cleanup_device(struct fb_info *fb_info)
>  		fb_info->class_flag &= ~FB_SYSFS_FLAG_ATTR;
>  	}
>  }
> -
> -#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> -/* This function generates a linear backlight curve
> - *
> - *     0: off
> - *   1-7: min
> - * 8-127: linear from min to max
> - */
> -void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max)
> -{
> -	unsigned int i, flat, count, range = (max - min);
> -
> -	mutex_lock(&fb_info->bl_curve_mutex);
> -
> -	fb_info->bl_curve[0] = off;
> -
> -	for (flat = 1; flat < (FB_BACKLIGHT_LEVELS / 16); ++flat)
> -		fb_info->bl_curve[flat] = min;
> -
> -	count = FB_BACKLIGHT_LEVELS * 15 / 16;
> -	for (i = 0; i < count; ++i)
> -		fb_info->bl_curve[flat + i] = min + (range * (i + 1) / count);
> -
> -	mutex_unlock(&fb_info->bl_curve_mutex);
> -}
> -EXPORT_SYMBOL_GPL(fb_bl_default_curve);
> -#endif
> -- 
> 2.40.1

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: daniel.thompson@linaro.org, linux-staging@lists.linux.dev,
	geert+renesas@glider.be, linux-sh@vger.kernel.org,
	jingoohan1@gmail.com, deller@gmx.de, lee@kernel.org,
	javierm@redhat.com, dri-devel@lists.freedesktop.org,
	linux-fbdev@vger.kernel.org, linux-omap@vger.kernel.org
Subject: Re: [PATCH 25/30] fbdev/core: Move framebuffer and backlight helpers into separate files
Date: Wed, 7 Jun 2023 21:38:22 +0200	[thread overview]
Message-ID: <20230607193822.GB670717@ravnborg.org> (raw)
In-Reply-To: <20230605144812.15241-26-tzimmermann@suse.de>

Hi Thomas,

On Mon, Jun 05, 2023 at 04:48:07PM +0200, Thomas Zimmermann wrote:
> Move framebuffer and backlight helpers into separate files. Leave
> fbsysfs.c to sysfs-related code. No functional changes.
> 
> The framebuffer helpers are not in fbmem.c because they are under
> GPL-2.0-or-later copyright, while fbmem.c is GPL-2.0.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Some nits that you decide what to do with.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>

I do not get why they are moved out in separate files.
I guess the picture will materialize later.

	Sam

> ---
>  drivers/video/fbdev/core/Makefile       |   4 +-
>  drivers/video/fbdev/core/fb_backlight.c |  32 +++++++
>  drivers/video/fbdev/core/fb_info.c      |  76 ++++++++++++++++
>  drivers/video/fbdev/core/fbsysfs.c      | 110 +-----------------------
>  4 files changed, 112 insertions(+), 110 deletions(-)
>  create mode 100644 drivers/video/fbdev/core/fb_backlight.c
>  create mode 100644 drivers/video/fbdev/core/fb_info.c
> 
> diff --git a/drivers/video/fbdev/core/Makefile b/drivers/video/fbdev/core/Makefile
> index 8f0060160ffb..eee3295bc225 100644
> --- a/drivers/video/fbdev/core/Makefile
> +++ b/drivers/video/fbdev/core/Makefile
> @@ -1,7 +1,9 @@
>  # SPDX-License-Identifier: GPL-2.0
>  obj-$(CONFIG_FB_NOTIFY)           += fb_notify.o
>  obj-$(CONFIG_FB)                  += fb.o
> -fb-y                              := fbmem.o fbmon.o fbcmap.o fbsysfs.o \
> +fb-y                              := fb_backlight.o \
> +                                     fb_info.o \
> +                                     fbmem.o fbmon.o fbcmap.o fbsysfs.o \
>                                       modedb.o fbcvt.o fb_cmdline.o fb_io_fops.o
There is "+=" that can be used in Makefile, but people prefer '\' -
sigh!

>  fb-$(CONFIG_FB_DEFERRED_IO)       += fb_defio.o
>  
> diff --git a/drivers/video/fbdev/core/fb_backlight.c b/drivers/video/fbdev/core/fb_backlight.c
> new file mode 100644
> index 000000000000..feffe6c68039
> --- /dev/null
> +++ b/drivers/video/fbdev/core/fb_backlight.c
> @@ -0,0 +1,32 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
Hmm, can we change the license from 2.0 to 2.0-or-later without any
concern? I hope so.

> +
> +#include <linux/export.h>
> +#include <linux/fb.h>
#include <linux/mutex.h> - to avoid relying on indirect includes?


> +
> +#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> +/*
> + * This function generates a linear backlight curve
> + *
> + *     0: off
> + *   1-7: min
> + * 8-127: linear from min to max
> + */
> +void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max)
> +{
> +	unsigned int i, flat, count, range = (max - min);
> +
> +	mutex_lock(&fb_info->bl_curve_mutex);
> +
> +	fb_info->bl_curve[0] = off;
> +
> +	for (flat = 1; flat < (FB_BACKLIGHT_LEVELS / 16); ++flat)
> +		fb_info->bl_curve[flat] = min;
> +
> +	count = FB_BACKLIGHT_LEVELS * 15 / 16;
> +	for (i = 0; i < count; ++i)
> +		fb_info->bl_curve[flat + i] = min + (range * (i + 1) / count);
> +
> +	mutex_unlock(&fb_info->bl_curve_mutex);
> +}
> +EXPORT_SYMBOL_GPL(fb_bl_default_curve);
> +#endif
> diff --git a/drivers/video/fbdev/core/fb_info.c b/drivers/video/fbdev/core/fb_info.c
> new file mode 100644
> index 000000000000..fb5b75009ee7
> --- /dev/null
> +++ b/drivers/video/fbdev/core/fb_info.c
> @@ -0,0 +1,76 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +#include <linux/export.h>
> +#include <linux/fb.h>
Same as above, consider including mutex.h
Also slab.h

> +
> +/**
> + * framebuffer_alloc - creates a new frame buffer info structure
> + *
> + * @size: size of driver private data, can be zero
> + * @dev: pointer to the device for this fb, this can be NULL
> + *
> + * Creates a new frame buffer info structure. Also reserves @size bytes
> + * for driver private data (info->par). info->par (if any) will be
> + * aligned to sizeof(long).
> + *
> + * Returns the new structure, or NULL if an error occurred.
> + *
> + */
> +struct fb_info *framebuffer_alloc(size_t size, struct device *dev)
> +{
> +#define BYTES_PER_LONG (BITS_PER_LONG/8)
> +#define PADDING (BYTES_PER_LONG - (sizeof(struct fb_info) % BYTES_PER_LONG))
> +	int fb_info_size = sizeof(struct fb_info);
> +	struct fb_info *info;
> +	char *p;
> +
> +	if (size)
> +		fb_info_size += PADDING;
> +
> +	p = kzalloc(fb_info_size + size, GFP_KERNEL);
> +
> +	if (!p)
> +		return NULL;
> +
> +	info = (struct fb_info *) p;
> +
> +	if (size)
> +		info->par = p + fb_info_size;
> +
> +	info->device = dev;
> +	info->fbcon_rotate_hint = -1;
> +
> +#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> +	mutex_init(&info->bl_curve_mutex);
> +#endif
> +
> +	return info;
> +#undef PADDING
> +#undef BYTES_PER_LONG
> +}
> +EXPORT_SYMBOL(framebuffer_alloc);
> +
> +/**
> + * framebuffer_release - marks the structure available for freeing
> + *
> + * @info: frame buffer info structure
> + *
> + * Drop the reference count of the device embedded in the
> + * framebuffer info structure.
> + *
> + */
> +void framebuffer_release(struct fb_info *info)
> +{
> +	if (!info)
> +		return;
> +
> +	if (WARN_ON(refcount_read(&info->count)))
> +		return;
> +
> +#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> +	mutex_destroy(&info->bl_curve_mutex);
> +#endif
> +
> +	kfree(info);
> +}
> +EXPORT_SYMBOL(framebuffer_release);
> diff --git a/drivers/video/fbdev/core/fbsysfs.c b/drivers/video/fbdev/core/fbsysfs.c
> index 0c33c4adcd79..849073f1ca06 100644
> --- a/drivers/video/fbdev/core/fbsysfs.c
> +++ b/drivers/video/fbdev/core/fbsysfs.c
> @@ -5,93 +5,12 @@
>   * Copyright (c) 2004 James Simmons <jsimmons@infradead.org>
>   */
>  
> -/*
> - * Note:  currently there's only stubs for framebuffer_alloc and
> - * framebuffer_release here.  The reson for that is that until all drivers
> - * are converted to use it a sysfsification will open OOPSable races.
> - */
> -
> -#include <linux/kernel.h>
> -#include <linux/slab.h>
> +#include <linux/console.h>
>  #include <linux/fb.h>
>  #include <linux/fbcon.h>
> -#include <linux/console.h>
> -#include <linux/module.h>
>  
>  #define FB_SYSFS_FLAG_ATTR 1
>  
> -/**
> - * framebuffer_alloc - creates a new frame buffer info structure
> - *
> - * @size: size of driver private data, can be zero
> - * @dev: pointer to the device for this fb, this can be NULL
> - *
> - * Creates a new frame buffer info structure. Also reserves @size bytes
> - * for driver private data (info->par). info->par (if any) will be
> - * aligned to sizeof(long).
> - *
> - * Returns the new structure, or NULL if an error occurred.
> - *
> - */
> -struct fb_info *framebuffer_alloc(size_t size, struct device *dev)
> -{
> -#define BYTES_PER_LONG (BITS_PER_LONG/8)
> -#define PADDING (BYTES_PER_LONG - (sizeof(struct fb_info) % BYTES_PER_LONG))
> -	int fb_info_size = sizeof(struct fb_info);
> -	struct fb_info *info;
> -	char *p;
> -
> -	if (size)
> -		fb_info_size += PADDING;
> -
> -	p = kzalloc(fb_info_size + size, GFP_KERNEL);
> -
> -	if (!p)
> -		return NULL;
> -
> -	info = (struct fb_info *) p;
> -
> -	if (size)
> -		info->par = p + fb_info_size;
> -
> -	info->device = dev;
> -	info->fbcon_rotate_hint = -1;
> -
> -#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> -	mutex_init(&info->bl_curve_mutex);
> -#endif
> -
> -	return info;
> -#undef PADDING
> -#undef BYTES_PER_LONG
> -}
> -EXPORT_SYMBOL(framebuffer_alloc);
> -
> -/**
> - * framebuffer_release - marks the structure available for freeing
> - *
> - * @info: frame buffer info structure
> - *
> - * Drop the reference count of the device embedded in the
> - * framebuffer info structure.
> - *
> - */
> -void framebuffer_release(struct fb_info *info)
> -{
> -	if (!info)
> -		return;
> -
> -	if (WARN_ON(refcount_read(&info->count)))
> -		return;
> -
> -#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> -	mutex_destroy(&info->bl_curve_mutex);
> -#endif
> -
> -	kfree(info);
> -}
> -EXPORT_SYMBOL(framebuffer_release);
> -
>  static int activate(struct fb_info *fb_info, struct fb_var_screeninfo *var)
>  {
>  	int err;
> @@ -551,30 +470,3 @@ void fb_cleanup_device(struct fb_info *fb_info)
>  		fb_info->class_flag &= ~FB_SYSFS_FLAG_ATTR;
>  	}
>  }
> -
> -#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
> -/* This function generates a linear backlight curve
> - *
> - *     0: off
> - *   1-7: min
> - * 8-127: linear from min to max
> - */
> -void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max)
> -{
> -	unsigned int i, flat, count, range = (max - min);
> -
> -	mutex_lock(&fb_info->bl_curve_mutex);
> -
> -	fb_info->bl_curve[0] = off;
> -
> -	for (flat = 1; flat < (FB_BACKLIGHT_LEVELS / 16); ++flat)
> -		fb_info->bl_curve[flat] = min;
> -
> -	count = FB_BACKLIGHT_LEVELS * 15 / 16;
> -	for (i = 0; i < count; ++i)
> -		fb_info->bl_curve[flat + i] = min + (range * (i + 1) / count);
> -
> -	mutex_unlock(&fb_info->bl_curve_mutex);
> -}
> -EXPORT_SYMBOL_GPL(fb_bl_default_curve);
> -#endif
> -- 
> 2.40.1

  reply	other threads:[~2023-06-07 19:39 UTC|newest]

Thread overview: 190+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-05 14:47 [PATCH 00/30] fbdev: Make userspace interfaces optional Thomas Zimmermann
2023-06-05 14:47 ` Thomas Zimmermann
2023-06-05 14:47 ` [PATCH 01/30] backlight/bd6107: Compare against struct fb_info.device Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:30   ` Javier Martinez Canillas
2023-06-07  7:30     ` Javier Martinez Canillas
2023-06-07  7:34   ` Javier Martinez Canillas
2023-06-07  7:34     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 02/30] backlight/gpio_backlight: " Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-05 20:19   ` Ruhl, Michael J
2023-06-05 20:23     ` Sam Ravnborg
2023-06-05 20:23       ` Sam Ravnborg
2023-06-05 20:41       ` Ruhl, Michael J
2023-06-05 20:41         ` Ruhl, Michael J
2023-06-06  7:24     ` Thomas Zimmermann
2023-06-06  7:49       ` Dan Carpenter
2023-06-06  7:49         ` Dan Carpenter
2023-06-06  8:05         ` Thomas Zimmermann
2023-06-06  8:05           ` Thomas Zimmermann
2023-06-05 14:47 ` [PATCH 03/30] backlight/lv5207lp: " Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:35   ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 04/30] fbdev/atyfb: Reorder backlight and framebuffer init/cleanup Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:36   ` Javier Martinez Canillas
2023-06-07  7:36     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 05/30] fbdev/atyfb: Use hardware device as backlight parent Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:41   ` Javier Martinez Canillas
2023-06-07  7:41     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 06/30] fbdev/aty128fb: Reorder backlight and framebuffer init/cleanup Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:42   ` Javier Martinez Canillas
2023-06-07  7:42     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 07/30] fbdev/aty128fb: Use hardware device as backlight parent Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:55   ` Javier Martinez Canillas
2023-06-07  7:55     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 08/30] fbdev/broadsheetfb: Call device_remove_file() with hardware device Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  7:55   ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 09/30] fbdev/ep93xx-fb: Alloc DMA memory from " Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  8:47   ` Javier Martinez Canillas
2023-06-07  8:47     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 10/30] fbdev/ep93xx-fb: Output messages with fb_info() and fb_err() Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  8:59   ` Javier Martinez Canillas
2023-06-07  8:59     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 11/30] fbdev/ep93xx-fb: Do not assign to struct fb_info.dev Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-06  5:26   ` Dan Carpenter
2023-06-06  5:26     ` Dan Carpenter
2023-06-07  9:00   ` Javier Martinez Canillas
2023-06-07  9:00     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 12/30] fbdev/mb862xxfb: Output messages with fb_dbg() and fb_err() Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  9:00   ` Javier Martinez Canillas
2023-06-07  9:00     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 13/30] fbdev/metronomefb: Use hardware device for dev_err() Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  9:01   ` Javier Martinez Canillas
2023-06-07  9:01     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 14/30] fbdev/nvidiafb: Reorder backlight and framebuffer init/cleanup Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  9:02   ` Javier Martinez Canillas
2023-06-07  9:02     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 15/30] fbdev/nvidiafb: Use hardware device as backlight parent Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  9:02   ` Javier Martinez Canillas
2023-06-07  9:02     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 16/30] fbdev/pxa168fb: Do not assign to struct fb_info.dev Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  9:09   ` Javier Martinez Canillas
2023-06-07  9:09     ` Javier Martinez Canillas
2023-06-05 14:47 ` [PATCH 17/30] fbdev/radeonfb: Reorder backlight and framebuffer cleanup Thomas Zimmermann
2023-06-05 14:47   ` Thomas Zimmermann
2023-06-07  9:09   ` Javier Martinez Canillas
2023-06-07  9:09     ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 18/30] fbdev/radeonfb: Use hardware device as backlight parent Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-06  5:28   ` Dan Carpenter
2023-06-06  5:28     ` Dan Carpenter
2023-06-06  7:30     ` Thomas Zimmermann
2023-06-06  7:30       ` Thomas Zimmermann
2023-06-07  9:10   ` Javier Martinez Canillas
2023-06-07  9:10     ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 19/30] fbdev/rivafb: Reorder backlight and framebuffer init/cleanup Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07  9:11   ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 20/30] fbdev/rivafb: Use hardware device as backlight parent Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07  9:11   ` Javier Martinez Canillas
2023-06-07  9:11     ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 21/30] fbdev/sm501fb: Output message with fb_err() Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07  9:12   ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 22/30] fbdev/smscufx: Detect registered fb_info from refcount Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 22:22   ` Javier Martinez Canillas
2023-06-07 22:22     ` Javier Martinez Canillas
2023-06-12 10:19     ` Thomas Zimmermann
2023-06-12 10:40       ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 23/30] fbdev/tdfxfb: Set i2c adapter parent to hardware device Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 22:23   ` Javier Martinez Canillas
2023-06-07 22:23     ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 24/30] fbdev/core: Pass Linux device to pm_vt_switch_*() functions Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 19:25   ` Sam Ravnborg
2023-06-07 19:25     ` Sam Ravnborg
2023-06-05 14:48 ` [PATCH 25/30] fbdev/core: Move framebuffer and backlight helpers into separate files Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 19:38   ` Sam Ravnborg [this message]
2023-06-07 19:38     ` Sam Ravnborg
2023-06-09  7:19     ` Thomas Zimmermann
2023-06-09  7:19       ` Thomas Zimmermann
2023-06-05 14:48 ` [PATCH 26/30] fbdev/core: Add fb_device_{create,destroy}() Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 19:45   ` Sam Ravnborg
2023-06-07 19:45     ` Sam Ravnborg
2023-06-05 14:48 ` [PATCH 27/30] fbdev/core: Move procfs code to separate file Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 20:33   ` Sam Ravnborg
2023-06-07 20:33     ` Sam Ravnborg
2023-06-05 14:48 ` [PATCH 28/30] fbdev/core: Move file-I/O code into " Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-05 21:35   ` kernel test robot
2023-06-05 21:35     ` kernel test robot
2023-06-07 20:48   ` Sam Ravnborg
2023-06-07 20:48     ` Sam Ravnborg
2023-06-12 10:35     ` Thomas Zimmermann
2023-06-12 10:35       ` Thomas Zimmermann
2023-06-07 22:28   ` Javier Martinez Canillas
2023-06-07 22:28     ` Javier Martinez Canillas
2023-06-05 14:48 ` [PATCH 29/30] fbdev/core: Rework fb init code Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-07 20:51   ` Sam Ravnborg
2023-06-07 20:51     ` Sam Ravnborg
2023-06-05 14:48 ` [PATCH 30/30] fbdev: Make support for userspace interfaces configurable Thomas Zimmermann
2023-06-05 14:48   ` Thomas Zimmermann
2023-06-05 15:03   ` Greg KH
2023-06-05 15:03     ` Greg KH
2023-06-05 21:45   ` kernel test robot
2023-06-05 21:45     ` kernel test robot
2023-06-07  8:48   ` Geert Uytterhoeven
2023-06-07  8:48     ` Geert Uytterhoeven
2023-06-07 15:15     ` Thomas Zimmermann
2023-06-07 15:15       ` Thomas Zimmermann
2023-06-07 15:24       ` Geert Uytterhoeven
2023-06-07 15:24         ` Geert Uytterhoeven
2023-06-07 23:07         ` Javier Martinez Canillas
2023-06-07 23:07           ` Javier Martinez Canillas
2023-06-09  7:09           ` Thomas Zimmermann
2023-06-09  7:09             ` Thomas Zimmermann
2023-06-09  7:29             ` Geert Uytterhoeven
2023-06-09  7:29               ` Geert Uytterhoeven
2023-06-09  8:00               ` Thomas Zimmermann
2023-06-09  8:00                 ` Thomas Zimmermann
2023-06-09  9:14                 ` Geert Uytterhoeven
2023-06-09  9:14                   ` Geert Uytterhoeven
2023-06-09 11:04                   ` Thomas Zimmermann
2023-06-09 11:04                     ` Thomas Zimmermann
2023-06-09 11:22                     ` Geert Uytterhoeven
2023-06-09 11:22                       ` Geert Uytterhoeven
2023-06-09  9:59                 ` Javier Martinez Canillas
2023-06-09  9:59                   ` Javier Martinez Canillas
2023-06-09 10:10                   ` Geert Uytterhoeven
2023-06-09 10:10                     ` Geert Uytterhoeven
2023-06-09 10:24                     ` Javier Martinez Canillas
2023-06-09 10:24                       ` Javier Martinez Canillas
2023-06-09 11:27                 ` Javier Martinez Canillas
2023-06-09 11:27                   ` Javier Martinez Canillas
2023-06-11 16:37   ` Sam Ravnborg
2023-06-11 16:37     ` Sam Ravnborg
2023-06-12  6:47     ` Thomas Zimmermann
2023-06-12  6:47       ` Thomas Zimmermann
2023-06-12  7:00     ` Thomas Zimmermann
2023-06-12  7:00       ` Thomas Zimmermann
2023-06-07  8:35 ` [PATCH 00/30] fbdev: Make userspace interfaces optional Geert Uytterhoeven
2023-06-07  8:35   ` Geert Uytterhoeven
2023-06-12 10:46   ` Thomas Zimmermann
2023-06-12 10:46     ` Thomas Zimmermann
2023-06-07 12:06 ` Markus Elfring
2023-06-07 12:06   ` Markus Elfring
2023-06-07 12:21   ` Thomas Zimmermann
2023-06-07 12:21     ` Thomas Zimmermann
2023-06-07 14:08     ` Markus Elfring
2023-06-07 14:08       ` Markus Elfring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230607193822.GB670717@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=daniel.thompson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert+renesas@glider.be \
    --cc=javierm@redhat.com \
    --cc=jingoohan1@gmail.com \
    --cc=lee@kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.