thermal: core: export the governor register related API

Message ID 20231228103921.23839-1-di.shen@unisoc.com
State New
Headers
Series thermal: core: export the governor register related API |

Commit Message

Di Shen Dec. 28, 2023, 10:39 a.m. UTC
  To enable users to register their own thermal governor, this patch
exports thermal_register_governor() and thermal_unregister_governor().
This change would not affect the registration of the default governor.

Signed-off-by: Di Shen <di.shen@unisoc.com>
---
 drivers/thermal/thermal_core.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Rafael J. Wysocki Dec. 28, 2023, 8:23 p.m. UTC | #1
On Thu, Dec 28, 2023 at 11:39 AM Di Shen <di.shen@unisoc.com> wrote:
>
> To enable users to register their own thermal governor,

Why would anyone want to do that?

> this patch
> exports thermal_register_governor() and thermal_unregister_governor().
> This change would not affect the registration of the default governor.
>
> Signed-off-by: Di Shen <di.shen@unisoc.com>
> ---
>  drivers/thermal/thermal_core.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 9c17d35ccbbd..56695988e20f 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -167,6 +167,7 @@ int thermal_register_governor(struct thermal_governor *governor)
>
>         return err;
>  }
> +EXPORT_SYMBOL_GPL(thermal_register_governor);
>
>  void thermal_unregister_governor(struct thermal_governor *governor)
>  {
> @@ -193,6 +194,7 @@ void thermal_unregister_governor(struct thermal_governor *governor)
>  exit:
>         mutex_unlock(&thermal_governor_lock);
>  }
> +EXPORT_SYMBOL_GPL(thermal_unregister_governor);
>
>  int thermal_zone_device_set_policy(struct thermal_zone_device *tz,
>                                    char *policy)
> --
> 2.17.1
>
  
Di Shen Dec. 29, 2023, 4:30 a.m. UTC | #2
Hi Rafael,

On Fri, Dec 29, 2023 at 4:24 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Thu, Dec 28, 2023 at 11:39 AM Di Shen <di.shen@unisoc.com> wrote:
> >
> > To enable users to register their own thermal governor,
>
> Why would anyone want to do that?
>

On Android systems, due to GKI restrictions, vendors cannot modify the
kernel, and
vendor-specific changes must be loaded as modules, so export this symbol so that
vendors can load their own specific governor.

> > this patch
> > exports thermal_register_governor() and thermal_unregister_governor().
> > This change would not affect the registration of the default governor.
> >
> > Signed-off-by: Di Shen <di.shen@unisoc.com>
> > ---
> >  drivers/thermal/thermal_core.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> > index 9c17d35ccbbd..56695988e20f 100644
> > --- a/drivers/thermal/thermal_core.c
> > +++ b/drivers/thermal/thermal_core.c
> > @@ -167,6 +167,7 @@ int thermal_register_governor(struct thermal_governor *governor)
> >
> >         return err;
> >  }
> > +EXPORT_SYMBOL_GPL(thermal_register_governor);
> >
> >  void thermal_unregister_governor(struct thermal_governor *governor)
> >  {
> > @@ -193,6 +194,7 @@ void thermal_unregister_governor(struct thermal_governor *governor)
> >  exit:
> >         mutex_unlock(&thermal_governor_lock);
> >  }
> > +EXPORT_SYMBOL_GPL(thermal_unregister_governor);
> >
> >  int thermal_zone_device_set_policy(struct thermal_zone_device *tz,
> >                                    char *policy)
> > --
> > 2.17.1
> >
>

Best regards,
Di
  
Greg KH Dec. 29, 2023, 8:46 a.m. UTC | #3
On Fri, Dec 29, 2023 at 12:30:10PM +0800, Di Shen wrote:
> Hi Rafael,
> 
> On Fri, Dec 29, 2023 at 4:24 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Thu, Dec 28, 2023 at 11:39 AM Di Shen <di.shen@unisoc.com> wrote:
> > >
> > > To enable users to register their own thermal governor,
> >
> > Why would anyone want to do that?
> >
> 
> On Android systems, due to GKI restrictions, vendors cannot modify the
> kernel, and
> vendor-specific changes must be loaded as modules, so export this symbol so that
> vendors can load their own specific governor.

Why not get the needed changes merged upstream properly instead?  That's
why Android does not allow you to change the core kernel, they want you
to work upstream first.

Random symbol exports are not allowed without a user for obvious reasons
(and you don't want us to take these patches either.)

thanks,

greg k-h
  

Patch

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 9c17d35ccbbd..56695988e20f 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -167,6 +167,7 @@  int thermal_register_governor(struct thermal_governor *governor)
 
 	return err;
 }
+EXPORT_SYMBOL_GPL(thermal_register_governor);
 
 void thermal_unregister_governor(struct thermal_governor *governor)
 {
@@ -193,6 +194,7 @@  void thermal_unregister_governor(struct thermal_governor *governor)
 exit:
 	mutex_unlock(&thermal_governor_lock);
 }
+EXPORT_SYMBOL_GPL(thermal_unregister_governor);
 
 int thermal_zone_device_set_policy(struct thermal_zone_device *tz,
 				   char *policy)