All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] video: backlight: constify struct class usage
@ 2024-03-05 12:21 Ricardo B. Marliere
  2024-03-05 12:21 ` [PATCH 1/2] video: backlight: make backlight_class constant Ricardo B. Marliere
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 12:21 UTC (permalink / raw)
  To: Lee Jones, Daniel Thompson, Jingoo Han, Helge Deller
  Cc: dri-devel, linux-fbdev, linux-kernel, Ricardo B. Marliere,
	Greg Kroah-Hartman

This is a simple and straight forward cleanup series that aims to make the
class structures in backlight constant. This has been possible since 2023
[1].

[1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/

Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
Ricardo B. Marliere (2):
      video: backlight: make backlight_class constant
      video: backlight: lcd: make lcd_class constant

 drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
 drivers/video/backlight/lcd.c       | 23 +++++++++++++----------
 2 files changed, 29 insertions(+), 23 deletions(-)
---
base-commit: cd1995b6ac7384149ad755b74e3c3eb25195ab81
change-id: 20240305-class_cleanup-backlight-62b91c38005e

Best regards,
-- 
Ricardo B. Marliere <ricardo@marliere.net>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] video: backlight: make backlight_class constant
  2024-03-05 12:21 [PATCH 0/2] video: backlight: constify struct class usage Ricardo B. Marliere
@ 2024-03-05 12:21 ` Ricardo B. Marliere
  2024-03-25 10:50   ` Daniel Thompson
  2024-03-05 12:21 ` [PATCH 2/2] video: backlight: lcd: make lcd_class constant Ricardo B. Marliere
  2024-03-28 11:41 ` [PATCH 0/2] video: backlight: constify struct class usage Lee Jones
  2 siblings, 1 reply; 10+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 12:21 UTC (permalink / raw)
  To: Lee Jones, Daniel Thompson, Jingoo Han, Helge Deller
  Cc: dri-devel, linux-fbdev, linux-kernel, Ricardo B. Marliere,
	Greg Kroah-Hartman

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the backlight_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 86e1cdc8e369..d2feaebfd84a 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -317,8 +317,6 @@ static ssize_t scale_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(scale);
 
-static struct class *backlight_class;
-
 #ifdef CONFIG_PM_SLEEP
 static int backlight_suspend(struct device *dev)
 {
@@ -369,6 +367,12 @@ static struct attribute *bl_device_attrs[] = {
 };
 ATTRIBUTE_GROUPS(bl_device);
 
+static const struct class backlight_class = {
+	.name = "backlight",
+	.dev_groups = bl_device_groups,
+	.pm = &backlight_class_dev_pm_ops,
+};
+
 /**
  * backlight_force_update - tell the backlight subsystem that hardware state
  *   has changed
@@ -418,7 +422,7 @@ struct backlight_device *backlight_device_register(const char *name,
 	mutex_init(&new_bd->update_lock);
 	mutex_init(&new_bd->ops_lock);
 
-	new_bd->dev.class = backlight_class;
+	new_bd->dev.class = &backlight_class;
 	new_bd->dev.parent = parent;
 	new_bd->dev.release = bl_device_release;
 	dev_set_name(&new_bd->dev, "%s", name);
@@ -510,7 +514,7 @@ struct backlight_device *backlight_device_get_by_name(const char *name)
 {
 	struct device *dev;
 
-	dev = class_find_device_by_name(backlight_class, name);
+	dev = class_find_device_by_name(&backlight_class, name);
 
 	return dev ? to_backlight_device(dev) : NULL;
 }
@@ -678,7 +682,7 @@ struct backlight_device *of_find_backlight_by_node(struct device_node *node)
 {
 	struct device *dev;
 
-	dev = class_find_device(backlight_class, NULL, node, of_parent_match);
+	dev = class_find_device(&backlight_class, NULL, node, of_parent_match);
 
 	return dev ? to_backlight_device(dev) : NULL;
 }
@@ -746,20 +750,19 @@ EXPORT_SYMBOL(devm_of_find_backlight);
 
 static void __exit backlight_class_exit(void)
 {
-	class_destroy(backlight_class);
+	class_unregister(&backlight_class);
 }
 
 static int __init backlight_class_init(void)
 {
-	backlight_class = class_create("backlight");
-	if (IS_ERR(backlight_class)) {
-		pr_warn("Unable to create backlight class; errno = %ld\n",
-			PTR_ERR(backlight_class));
-		return PTR_ERR(backlight_class);
+	int ret;
+
+	ret = class_register(&backlight_class);
+	if (ret) {
+		pr_warn("Unable to create backlight class; errno = %d\n", ret);
+		return ret;
 	}
 
-	backlight_class->dev_groups = bl_device_groups;
-	backlight_class->pm = &backlight_class_dev_pm_ops;
 	INIT_LIST_HEAD(&backlight_dev_list);
 	mutex_init(&backlight_dev_list_mutex);
 	BLOCKING_INIT_NOTIFIER_HEAD(&backlight_notifier);

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] video: backlight: lcd: make lcd_class constant
  2024-03-05 12:21 [PATCH 0/2] video: backlight: constify struct class usage Ricardo B. Marliere
  2024-03-05 12:21 ` [PATCH 1/2] video: backlight: make backlight_class constant Ricardo B. Marliere
@ 2024-03-05 12:21 ` Ricardo B. Marliere
  2024-03-25 10:51   ` Daniel Thompson
  2024-03-28 11:41 ` [PATCH 0/2] video: backlight: constify struct class usage Lee Jones
  2 siblings, 1 reply; 10+ messages in thread
From: Ricardo B. Marliere @ 2024-03-05 12:21 UTC (permalink / raw)
  To: Lee Jones, Daniel Thompson, Jingoo Han, Helge Deller
  Cc: dri-devel, linux-fbdev, linux-kernel, Ricardo B. Marliere,
	Greg Kroah-Hartman

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the lcd_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/video/backlight/lcd.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c
index 77c5cb2a44e2..ba4771cbd781 100644
--- a/drivers/video/backlight/lcd.c
+++ b/drivers/video/backlight/lcd.c
@@ -159,8 +159,6 @@ static ssize_t max_contrast_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(max_contrast);
 
-static struct class *lcd_class;
-
 static void lcd_device_release(struct device *dev)
 {
 	struct lcd_device *ld = to_lcd_device(dev);
@@ -175,6 +173,11 @@ static struct attribute *lcd_device_attrs[] = {
 };
 ATTRIBUTE_GROUPS(lcd_device);
 
+static const struct class lcd_class = {
+	.name = "lcd",
+	.dev_groups = lcd_device_groups,
+};
+
 /**
  * lcd_device_register - register a new object of lcd_device class.
  * @name: the name of the new object(must be the same as the name of the
@@ -202,7 +205,7 @@ struct lcd_device *lcd_device_register(const char *name, struct device *parent,
 	mutex_init(&new_ld->ops_lock);
 	mutex_init(&new_ld->update_lock);
 
-	new_ld->dev.class = lcd_class;
+	new_ld->dev.class = &lcd_class;
 	new_ld->dev.parent = parent;
 	new_ld->dev.release = lcd_device_release;
 	dev_set_name(&new_ld->dev, "%s", name);
@@ -318,19 +321,19 @@ EXPORT_SYMBOL(devm_lcd_device_unregister);
 
 static void __exit lcd_class_exit(void)
 {
-	class_destroy(lcd_class);
+	class_unregister(&lcd_class);
 }
 
 static int __init lcd_class_init(void)
 {
-	lcd_class = class_create("lcd");
-	if (IS_ERR(lcd_class)) {
-		pr_warn("Unable to create backlight class; errno = %ld\n",
-			PTR_ERR(lcd_class));
-		return PTR_ERR(lcd_class);
+	int ret;
+
+	ret = class_register(&lcd_class);
+	if (ret) {
+		pr_warn("Unable to create backlight class; errno = %d\n", ret);
+		return ret;
 	}
 
-	lcd_class->dev_groups = lcd_device_groups;
 	return 0;
 }
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] video: backlight: make backlight_class constant
  2024-03-05 12:21 ` [PATCH 1/2] video: backlight: make backlight_class constant Ricardo B. Marliere
@ 2024-03-25 10:50   ` Daniel Thompson
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel Thompson @ 2024-03-25 10:50 UTC (permalink / raw)
  To: Ricardo B. Marliere
  Cc: Lee Jones, Jingoo Han, Helge Deller, dri-devel, linux-fbdev,
	linux-kernel, Greg Kroah-Hartman

On Tue, Mar 05, 2024 at 09:21:17AM -0300, Ricardo B. Marliere wrote:
> Since commit 43a7206b0963 ("driver core: class: make class_register() take
> a const *"), the driver core allows for struct class to be in read-only
> memory, so move the backlight_class structure to be declared at build time
> placing it into read-only memory, instead of having to be dynamically
> allocated at boot time.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>

Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>


Daniel.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] video: backlight: lcd: make lcd_class constant
  2024-03-05 12:21 ` [PATCH 2/2] video: backlight: lcd: make lcd_class constant Ricardo B. Marliere
@ 2024-03-25 10:51   ` Daniel Thompson
  0 siblings, 0 replies; 10+ messages in thread
From: Daniel Thompson @ 2024-03-25 10:51 UTC (permalink / raw)
  To: Ricardo B. Marliere
  Cc: Lee Jones, Jingoo Han, Helge Deller, dri-devel, linux-fbdev,
	linux-kernel, Greg Kroah-Hartman

On Tue, Mar 05, 2024 at 09:21:18AM -0300, Ricardo B. Marliere wrote:
> Since commit 43a7206b0963 ("driver core: class: make class_register() take
> a const *"), the driver core allows for struct class to be in read-only
> memory, so move the lcd_class structure to be declared at build time
> placing it into read-only memory, instead of having to be dynamically
> allocated at boot time.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>

Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>


Daniel.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] video: backlight: constify struct class usage
  2024-03-05 12:21 [PATCH 0/2] video: backlight: constify struct class usage Ricardo B. Marliere
  2024-03-05 12:21 ` [PATCH 1/2] video: backlight: make backlight_class constant Ricardo B. Marliere
  2024-03-05 12:21 ` [PATCH 2/2] video: backlight: lcd: make lcd_class constant Ricardo B. Marliere
@ 2024-03-28 11:41 ` Lee Jones
  2024-03-28 12:01   ` Greg Kroah-Hartman
  2 siblings, 1 reply; 10+ messages in thread
From: Lee Jones @ 2024-03-28 11:41 UTC (permalink / raw)
  To: Ricardo B. Marliere
  Cc: Daniel Thompson, Jingoo Han, Helge Deller, dri-devel,
	linux-fbdev, linux-kernel, Greg Kroah-Hartman

On Tue, 05 Mar 2024, Ricardo B. Marliere wrote:

> This is a simple and straight forward cleanup series that aims to make the
> class structures in backlight constant. This has been possible since 2023
> [1].
> 
> [1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/
> 
> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> ---
> Ricardo B. Marliere (2):
>       video: backlight: make backlight_class constant
>       video: backlight: lcd: make lcd_class constant
> 
>  drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
>  drivers/video/backlight/lcd.c       | 23 +++++++++++++----------
>  2 files changed, 29 insertions(+), 23 deletions(-)

No longer apply.

Please rebase on top of v6.9-rc1 or for-backlight-next.

-- 
Lee Jones [李琼斯]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] video: backlight: constify struct class usage
  2024-03-28 11:41 ` [PATCH 0/2] video: backlight: constify struct class usage Lee Jones
@ 2024-03-28 12:01   ` Greg Kroah-Hartman
  2024-03-28 12:46     ` Ricardo B. Marliere
  0 siblings, 1 reply; 10+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-28 12:01 UTC (permalink / raw)
  To: Lee Jones
  Cc: Ricardo B. Marliere, Daniel Thompson, Jingoo Han, Helge Deller,
	dri-devel, linux-fbdev, linux-kernel

On Thu, Mar 28, 2024 at 11:41:31AM +0000, Lee Jones wrote:
> On Tue, 05 Mar 2024, Ricardo B. Marliere wrote:
> 
> > This is a simple and straight forward cleanup series that aims to make the
> > class structures in backlight constant. This has been possible since 2023
> > [1].
> > 
> > [1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/
> > 
> > Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> > ---
> > Ricardo B. Marliere (2):
> >       video: backlight: make backlight_class constant
> >       video: backlight: lcd: make lcd_class constant
> > 
> >  drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
> >  drivers/video/backlight/lcd.c       | 23 +++++++++++++----------
> >  2 files changed, 29 insertions(+), 23 deletions(-)
> 
> No longer apply.
> 
> Please rebase on top of v6.9-rc1 or for-backlight-next.

As I already had this in my local tree, I've sent out a v2 at:
	https://lore.kernel.org/lkml/2024032805-putdown-mushy-a0f9@gregkh/

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] video: backlight: constify struct class usage
  2024-03-28 12:01   ` Greg Kroah-Hartman
@ 2024-03-28 12:46     ` Ricardo B. Marliere
  2024-03-28 16:49       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 10+ messages in thread
From: Ricardo B. Marliere @ 2024-03-28 12:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Lee Jones, Daniel Thompson, Jingoo Han, Helge Deller, dri-devel,
	linux-fbdev, linux-kernel

On 28 Mar 13:01, Greg Kroah-Hartman wrote:
> On Thu, Mar 28, 2024 at 11:41:31AM +0000, Lee Jones wrote:
> > On Tue, 05 Mar 2024, Ricardo B. Marliere wrote:
> > 
> > > This is a simple and straight forward cleanup series that aims to make the
> > > class structures in backlight constant. This has been possible since 2023
> > > [1].
> > > 
> > > [1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/
> > > 
> > > Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> > > ---
> > > Ricardo B. Marliere (2):
> > >       video: backlight: make backlight_class constant
> > >       video: backlight: lcd: make lcd_class constant
> > > 
> > >  drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
> > >  drivers/video/backlight/lcd.c       | 23 +++++++++++++----------
> > >  2 files changed, 29 insertions(+), 23 deletions(-)
> > 
> > No longer apply.
> > 
> > Please rebase on top of v6.9-rc1 or for-backlight-next.
> 
> As I already had this in my local tree, I've sent out a v2 at:
> 	https://lore.kernel.org/lkml/2024032805-putdown-mushy-a0f9@gregkh/

Thank you Greg. I will see what is left to be made const for -next.

> 
> thanks,
> 
> greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] video: backlight: constify struct class usage
  2024-03-28 12:46     ` Ricardo B. Marliere
@ 2024-03-28 16:49       ` Greg Kroah-Hartman
  2024-03-28 17:43         ` Ricardo B. Marliere
  0 siblings, 1 reply; 10+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-28 16:49 UTC (permalink / raw)
  To: Ricardo B. Marliere
  Cc: Lee Jones, Daniel Thompson, Jingoo Han, Helge Deller, dri-devel,
	linux-fbdev, linux-kernel

On Thu, Mar 28, 2024 at 09:46:01AM -0300, Ricardo B. Marliere wrote:
> On 28 Mar 13:01, Greg Kroah-Hartman wrote:
> > On Thu, Mar 28, 2024 at 11:41:31AM +0000, Lee Jones wrote:
> > > On Tue, 05 Mar 2024, Ricardo B. Marliere wrote:
> > > 
> > > > This is a simple and straight forward cleanup series that aims to make the
> > > > class structures in backlight constant. This has been possible since 2023
> > > > [1].
> > > > 
> > > > [1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/
> > > > 
> > > > Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> > > > ---
> > > > Ricardo B. Marliere (2):
> > > >       video: backlight: make backlight_class constant
> > > >       video: backlight: lcd: make lcd_class constant
> > > > 
> > > >  drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
> > > >  drivers/video/backlight/lcd.c       | 23 +++++++++++++----------
> > > >  2 files changed, 29 insertions(+), 23 deletions(-)
> > > 
> > > No longer apply.
> > > 
> > > Please rebase on top of v6.9-rc1 or for-backlight-next.
> > 
> > As I already had this in my local tree, I've sent out a v2 at:
> > 	https://lore.kernel.org/lkml/2024032805-putdown-mushy-a0f9@gregkh/
> 
> Thank you Greg. I will see what is left to be made const for -next.

Many of your patches were not picked up for -rc1, I'll be taking a bunch
of them into my tree "soon" as that usually means the subsystem isn't as
active.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] video: backlight: constify struct class usage
  2024-03-28 16:49       ` Greg Kroah-Hartman
@ 2024-03-28 17:43         ` Ricardo B. Marliere
  0 siblings, 0 replies; 10+ messages in thread
From: Ricardo B. Marliere @ 2024-03-28 17:43 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Lee Jones, Daniel Thompson, Jingoo Han, Helge Deller, dri-devel,
	linux-fbdev, linux-kernel

On 28 Mar 17:49, Greg Kroah-Hartman wrote:
> On Thu, Mar 28, 2024 at 09:46:01AM -0300, Ricardo B. Marliere wrote:
> > On 28 Mar 13:01, Greg Kroah-Hartman wrote:
> > > On Thu, Mar 28, 2024 at 11:41:31AM +0000, Lee Jones wrote:
> > > > On Tue, 05 Mar 2024, Ricardo B. Marliere wrote:
> > > > 
> > > > > This is a simple and straight forward cleanup series that aims to make the
> > > > > class structures in backlight constant. This has been possible since 2023
> > > > > [1].
> > > > > 
> > > > > [1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/
> > > > > 
> > > > > Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
> > > > > ---
> > > > > Ricardo B. Marliere (2):
> > > > >       video: backlight: make backlight_class constant
> > > > >       video: backlight: lcd: make lcd_class constant
> > > > > 
> > > > >  drivers/video/backlight/backlight.c | 29 ++++++++++++++++-------------
> > > > >  drivers/video/backlight/lcd.c       | 23 +++++++++++++----------
> > > > >  2 files changed, 29 insertions(+), 23 deletions(-)
> > > > 
> > > > No longer apply.
> > > > 
> > > > Please rebase on top of v6.9-rc1 or for-backlight-next.
> > > 
> > > As I already had this in my local tree, I've sent out a v2 at:
> > > 	https://lore.kernel.org/lkml/2024032805-putdown-mushy-a0f9@gregkh/
> > 
> > Thank you Greg. I will see what is left to be made const for -next.
> 
> Many of your patches were not picked up for -rc1, I'll be taking a bunch
> of them into my tree "soon" as that usually means the subsystem isn't as
> active.

Yup, I was keeping them in my inbox so as to resend but if you could
pick them that would be great!

Cheers,

> 
> thanks,
> 
> greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-03-28 17:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-05 12:21 [PATCH 0/2] video: backlight: constify struct class usage Ricardo B. Marliere
2024-03-05 12:21 ` [PATCH 1/2] video: backlight: make backlight_class constant Ricardo B. Marliere
2024-03-25 10:50   ` Daniel Thompson
2024-03-05 12:21 ` [PATCH 2/2] video: backlight: lcd: make lcd_class constant Ricardo B. Marliere
2024-03-25 10:51   ` Daniel Thompson
2024-03-28 11:41 ` [PATCH 0/2] video: backlight: constify struct class usage Lee Jones
2024-03-28 12:01   ` Greg Kroah-Hartman
2024-03-28 12:46     ` Ricardo B. Marliere
2024-03-28 16:49       ` Greg Kroah-Hartman
2024-03-28 17:43         ` Ricardo B. Marliere

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.