Re: [PATCH v4 1/5] x86/init: Make get/set_rtc_noop() public

From: Stanislav Kinsburskii
Date: Fri Apr 07 2023 - 13:43:17 EST


On Tue, Apr 04, 2023 at 02:01:00AM -0700, Saurabh Sengar wrote:
> Make get/set_rtc_noop() to be public so that they can be used
> in other modules as well.
>
> Co-developed-by: Tianyu Lan <tiala@xxxxxxxxxxxxx>
> Signed-off-by: Tianyu Lan <tiala@xxxxxxxxxxxxx>
> Signed-off-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Wei Liu <wei.liu@xxxxxxxxxx>
> Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/x86_init.h | 2 ++
> arch/x86/kernel/x86_init.c | 4 ++--
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
> index acc20ae4079d..88085f369ff6 100644
> --- a/arch/x86/include/asm/x86_init.h
> +++ b/arch/x86/include/asm/x86_init.h
> @@ -330,5 +330,7 @@ extern void x86_init_uint_noop(unsigned int unused);
> extern bool bool_x86_init_noop(void);
> extern void x86_op_int_noop(int cpu);
> extern bool x86_pnpbios_disabled(void);
> +extern int set_rtc_noop(const struct timespec64 *now);
> +extern void get_rtc_noop(struct timespec64 *now);
>
> #endif
> diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> index 95be3831df73..d82f4fa2f1bf 100644
> --- a/arch/x86/kernel/x86_init.c
> +++ b/arch/x86/kernel/x86_init.c
> @@ -33,8 +33,8 @@ static int __init iommu_init_noop(void) { return 0; }
> static void iommu_shutdown_noop(void) { }
> bool __init bool_x86_init_noop(void) { return false; }
> void x86_op_int_noop(int cpu) { }
> -static __init int set_rtc_noop(const struct timespec64 *now) { return -EINVAL; }
> -static __init void get_rtc_noop(struct timespec64 *now) { }
> +int set_rtc_noop(const struct timespec64 *now) { return -EINVAL; }
> +void get_rtc_noop(struct timespec64 *now) { }
>

These functions are just empty place holders.
What is the value in having then exported at all?

Also, if you do want to use exactly there functions, a better option
would be to move them to the header file as "static inline" ones.

> static __initconst const struct of_device_id of_cmos_match[] = {
> { .compatible = "motorola,mc146818" },
> --
> 2.34.1