Message ID | 20230123152756.4031574-2-daniel.lezcano@linaro.org |
---|---|
State | Accepted |
Commit | 58d1c9fd0e859912ae322d24aa0baedc9030b8ed |
Headers | show |
Series | Misc thermal cleanup and fixes | expand |
On Mon, 2023-01-23 at 16:27 +0100, Daniel Lezcano wrote: > The thermal subsystem initialization miss an netlink s/miss an netlink/misses a netlink other than that, the patch looks good to me. Reviewed-by: Zhang Rui <rui.zhang@intel.com> -rui > unregistering > function in the error. Add it. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > --- > drivers/thermal/thermal_core.c | 4 +++- > drivers/thermal/thermal_netlink.c | 5 +++++ > drivers/thermal/thermal_netlink.h | 3 +++ > 3 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/thermal/thermal_core.c > b/drivers/thermal/thermal_core.c > index d9a3d9566d73..fddafcee5e6f 100644 > --- a/drivers/thermal/thermal_core.c > +++ b/drivers/thermal/thermal_core.c > @@ -1606,7 +1606,7 @@ static int __init thermal_init(void) > > result = thermal_register_governors(); > if (result) > - goto error; > + goto unregister_netlink; > > result = class_register(&thermal_class); > if (result) > @@ -1621,6 +1621,8 @@ static int __init thermal_init(void) > > unregister_governors: > thermal_unregister_governors(); > +unregister_netlink: > + thermal_netlink_exit(); > error: > ida_destroy(&thermal_tz_ida); > ida_destroy(&thermal_cdev_ida); > diff --git a/drivers/thermal/thermal_netlink.c > b/drivers/thermal/thermal_netlink.c > index 75943b06dbe7..08bc46c3ec7b 100644 > --- a/drivers/thermal/thermal_netlink.c > +++ b/drivers/thermal/thermal_netlink.c > @@ -699,3 +699,8 @@ int __init thermal_netlink_init(void) > { > return genl_register_family(&thermal_gnl_family); > } > + > +void __init thermal_netlink_exit(void) > +{ > + genl_unregister_family(&thermal_gnl_family); > +} > diff --git a/drivers/thermal/thermal_netlink.h > b/drivers/thermal/thermal_netlink.h > index 1052f523188d..0a9987c3bc57 100644 > --- a/drivers/thermal/thermal_netlink.h > +++ b/drivers/thermal/thermal_netlink.h > @@ -13,6 +13,7 @@ struct thermal_genl_cpu_caps { > /* Netlink notification function */ > #ifdef CONFIG_THERMAL_NETLINK > int __init thermal_netlink_init(void); > +void __init thermal_netlink_exit(void); > int thermal_notify_tz_create(int tz_id, const char *name); > int thermal_notify_tz_delete(int tz_id); > int thermal_notify_tz_enable(int tz_id); > @@ -115,4 +116,6 @@ static inline int > thermal_genl_cpu_capability_event(int count, struct thermal_ge > return 0; > } > > +static inline void __init thermal_netlink_exit(void) {} > + > #endif /* CONFIG_THERMAL_NETLINK */
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index d9a3d9566d73..fddafcee5e6f 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -1606,7 +1606,7 @@ static int __init thermal_init(void) result = thermal_register_governors(); if (result) - goto error; + goto unregister_netlink; result = class_register(&thermal_class); if (result) @@ -1621,6 +1621,8 @@ static int __init thermal_init(void) unregister_governors: thermal_unregister_governors(); +unregister_netlink: + thermal_netlink_exit(); error: ida_destroy(&thermal_tz_ida); ida_destroy(&thermal_cdev_ida); diff --git a/drivers/thermal/thermal_netlink.c b/drivers/thermal/thermal_netlink.c index 75943b06dbe7..08bc46c3ec7b 100644 --- a/drivers/thermal/thermal_netlink.c +++ b/drivers/thermal/thermal_netlink.c @@ -699,3 +699,8 @@ int __init thermal_netlink_init(void) { return genl_register_family(&thermal_gnl_family); } + +void __init thermal_netlink_exit(void) +{ + genl_unregister_family(&thermal_gnl_family); +} diff --git a/drivers/thermal/thermal_netlink.h b/drivers/thermal/thermal_netlink.h index 1052f523188d..0a9987c3bc57 100644 --- a/drivers/thermal/thermal_netlink.h +++ b/drivers/thermal/thermal_netlink.h @@ -13,6 +13,7 @@ struct thermal_genl_cpu_caps { /* Netlink notification function */ #ifdef CONFIG_THERMAL_NETLINK int __init thermal_netlink_init(void); +void __init thermal_netlink_exit(void); int thermal_notify_tz_create(int tz_id, const char *name); int thermal_notify_tz_delete(int tz_id); int thermal_notify_tz_enable(int tz_id); @@ -115,4 +116,6 @@ static inline int thermal_genl_cpu_capability_event(int count, struct thermal_ge return 0; } +static inline void __init thermal_netlink_exit(void) {} + #endif /* CONFIG_THERMAL_NETLINK */
The thermal subsystem initialization miss an netlink unregistering function in the error. Add it. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/thermal/thermal_core.c | 4 +++- drivers/thermal/thermal_netlink.c | 5 +++++ drivers/thermal/thermal_netlink.h | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-)