[PATCH] params: Replace __modinit with __init_or_module

Petr Pavlu posted 1 patch 5 months, 3 weeks ago
kernel/params.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
[PATCH] params: Replace __modinit with __init_or_module
Posted by Petr Pavlu 5 months, 3 weeks ago
Remove the custom __modinit macro from kernel/params.c and instead use the
common __init_or_module macro from include/linux/module.h. Both provide the
same functionality.

Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
---
 kernel/params.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/kernel/params.c b/kernel/params.c
index b92d64161b75..19bb04f10372 100644
--- a/kernel/params.c
+++ b/kernel/params.c
@@ -595,12 +595,6 @@ static ssize_t param_attr_store(const struct module_attribute *mattr,
 }
 #endif
 
-#ifdef CONFIG_MODULES
-#define __modinit
-#else
-#define __modinit __init
-#endif
-
 #ifdef CONFIG_SYSFS
 void kernel_param_lock(struct module *mod)
 {
@@ -625,9 +619,9 @@ EXPORT_SYMBOL(kernel_param_unlock);
  * create file in sysfs.  Returns an error on out of memory.  Always cleans up
  * if there's an error.
  */
-static __modinit int add_sysfs_param(struct module_kobject *mk,
-				     const struct kernel_param *kp,
-				     const char *name)
+static __init_or_module int add_sysfs_param(struct module_kobject *mk,
+					    const struct kernel_param *kp,
+					    const char *name)
 {
 	struct module_param_attrs *new_mp;
 	struct attribute **new_attrs;
@@ -760,7 +754,8 @@ void destroy_params(const struct kernel_param *params, unsigned num)
 			params[i].ops->free(params[i].arg);
 }
 
-struct module_kobject __modinit * lookup_or_create_module_kobject(const char *name)
+struct module_kobject * __init_or_module
+lookup_or_create_module_kobject(const char *name)
 {
 	struct module_kobject *mk;
 	struct kobject *kobj;

base-commit: be48bcf004f9d0c9207ff21d0edb3b42f253829e
-- 
2.50.1
Re: [PATCH] params: Replace __modinit with __init_or_module
Posted by Sami Tolvanen 1 month, 2 weeks ago
On Tue, 19 Aug 2025 14:12:09 +0200, Petr Pavlu wrote:
> Remove the custom __modinit macro from kernel/params.c and instead use the
> common __init_or_module macro from include/linux/module.h. Both provide the
> same functionality.
> 
> 

Applied to modules-next, thanks!

[1/1] params: Replace __modinit with __init_or_module
      commit: 3cb0c3bdea5388519bc1bf575dca6421b133302b

Best regards,

	Sami
Re: [PATCH] params: Replace __modinit with __init_or_module
Posted by Aaron Tomlin 3 months, 2 weeks ago
On Tue, Aug 19, 2025 at 02:12:09PM +0200, Petr Pavlu wrote:
> Remove the custom __modinit macro from kernel/params.c and instead use the
> common __init_or_module macro from include/linux/module.h. Both provide the
> same functionality.
> 
> Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
> ---
>  kernel/params.c | 15 +++++----------
>  1 file changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/kernel/params.c b/kernel/params.c
> index b92d64161b75..19bb04f10372 100644
> --- a/kernel/params.c
> +++ b/kernel/params.c
> @@ -595,12 +595,6 @@ static ssize_t param_attr_store(const struct module_attribute *mattr,
>  }
>  #endif
>  
> -#ifdef CONFIG_MODULES
> -#define __modinit
> -#else
> -#define __modinit __init
> -#endif
> -
>  #ifdef CONFIG_SYSFS
>  void kernel_param_lock(struct module *mod)
>  {
> @@ -625,9 +619,9 @@ EXPORT_SYMBOL(kernel_param_unlock);
>   * create file in sysfs.  Returns an error on out of memory.  Always cleans up
>   * if there's an error.
>   */
> -static __modinit int add_sysfs_param(struct module_kobject *mk,
> -				     const struct kernel_param *kp,
> -				     const char *name)
> +static __init_or_module int add_sysfs_param(struct module_kobject *mk,
> +					    const struct kernel_param *kp,
> +					    const char *name)
>  {
>  	struct module_param_attrs *new_mp;
>  	struct attribute **new_attrs;
> @@ -760,7 +754,8 @@ void destroy_params(const struct kernel_param *params, unsigned num)
>  			params[i].ops->free(params[i].arg);
>  }
>  
> -struct module_kobject __modinit * lookup_or_create_module_kobject(const char *name)
> +struct module_kobject * __init_or_module
> +lookup_or_create_module_kobject(const char *name)
>  {
>  	struct module_kobject *mk;
>  	struct kobject *kobj;
> 
> base-commit: be48bcf004f9d0c9207ff21d0edb3b42f253829e
> -- 
> 2.50.1
> 
> 

Reviewed-by: Aaron Tomlin <atomlin@atomlin.com>

-- 
Aaron Tomlin
Re: [PATCH] params: Replace __modinit with __init_or_module
Posted by Daniel Gomez 3 months, 2 weeks ago
On 19/08/2025 14.12, Petr Pavlu wrote:
> Remove the custom __modinit macro from kernel/params.c and instead use the
> common __init_or_module macro from include/linux/module.h. Both provide the
> same functionality.
> 
> Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>

Reviewed-by: Daniel Gomez <da.gomez@samsung.com>

> ---
>  kernel/params.c | 15 +++++----------
>  1 file changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/kernel/params.c b/kernel/params.c
> index b92d64161b75..19bb04f10372 100644
> --- a/kernel/params.c
> +++ b/kernel/params.c
> @@ -595,12 +595,6 @@ static ssize_t param_attr_store(const struct module_attribute *mattr,
>  }
>  #endif
>  
> -#ifdef CONFIG_MODULES
> -#define __modinit
> -#else
> -#define __modinit __init
> -#endif
> -
>  #ifdef CONFIG_SYSFS
>  void kernel_param_lock(struct module *mod)
>  {
> @@ -625,9 +619,9 @@ EXPORT_SYMBOL(kernel_param_unlock);
>   * create file in sysfs.  Returns an error on out of memory.  Always cleans up
>   * if there's an error.
>   */
> -static __modinit int add_sysfs_param(struct module_kobject *mk,
> -				     const struct kernel_param *kp,
> -				     const char *name)
> +static __init_or_module int add_sysfs_param(struct module_kobject *mk,
> +					    const struct kernel_param *kp,
> +					    const char *name)
>  {
>  	struct module_param_attrs *new_mp;
>  	struct attribute **new_attrs;
> @@ -760,7 +754,8 @@ void destroy_params(const struct kernel_param *params, unsigned num)
>  			params[i].ops->free(params[i].arg);
>  }
>  
> -struct module_kobject __modinit * lookup_or_create_module_kobject(const char *name)
> +struct module_kobject * __init_or_module
> +lookup_or_create_module_kobject(const char *name)
>  {
>  	struct module_kobject *mk;
>  	struct kobject *kobj;
> 
> base-commit: be48bcf004f9d0c9207ff21d0edb3b42f253829e
Re: [PATCH] params: Replace __modinit with __init_or_module
Posted by Sami Tolvanen 5 months, 2 weeks ago
On Tue, Aug 19, 2025 at 5:13 AM Petr Pavlu <petr.pavlu@suse.com> wrote:
>
> Remove the custom __modinit macro from kernel/params.c and instead use the
> common __init_or_module macro from include/linux/module.h. Both provide the
> same functionality.
>
> Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>

Reviewed-by: Sami Tolvanen <samitolvanen@google.com>

Sami