From 7a232073efed65d126783365c1177198d7f1dc83 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 30 Jun 2022 12:08:14 +0200 Subject: [PATCH] 5.10-stable patches added patches: clocksource-drivers-ixp4xx-remove-__init-from-ixp4xx_timer_setup.patch --- ...emove-__init-from-ixp4xx_timer_setup.patch | 75 +++++++++++++++++++ queue-5.10/series | 1 + 2 files changed, 76 insertions(+) create mode 100644 queue-5.10/clocksource-drivers-ixp4xx-remove-__init-from-ixp4xx_timer_setup.patch diff --git a/queue-5.10/clocksource-drivers-ixp4xx-remove-__init-from-ixp4xx_timer_setup.patch b/queue-5.10/clocksource-drivers-ixp4xx-remove-__init-from-ixp4xx_timer_setup.patch new file mode 100644 index 00000000000..e5399aba9dd --- /dev/null +++ b/queue-5.10/clocksource-drivers-ixp4xx-remove-__init-from-ixp4xx_timer_setup.patch @@ -0,0 +1,75 @@ +From dbcfea91daaf046ac6a398cf79b272a1119148e6 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 30 Jun 2022 11:55:42 +0200 +Subject: clocksource/drivers/ixp4xx: remove __init from ixp4xx_timer_setup() + +From: Greg Kroah-Hartman + +ixp4xx_timer_setup is exported, and so can not be an __init function. +Remove the __init marking as the build system is rightfully claiming +this is an error in older kernels. + +This is fixed "properly" in commit 41929c9f628b +("clocksource/drivers/ixp4xx: Drop boardfile probe path") but that can +not be backported to older kernels as the reworking of the IXP4xx +codebase is not suitable for stable releases. + +Cc: Linus Walleij +Cc: Daniel Lezcano +Signed-off-by: Greg Kroah-Hartman +--- + drivers/clocksource/mmio.c | 2 +- + drivers/clocksource/timer-ixp4xx.c | 10 ++++------ + include/linux/platform_data/timer-ixp4xx.h | 5 ++--- + 3 files changed, 7 insertions(+), 10 deletions(-) + +--- a/drivers/clocksource/mmio.c ++++ b/drivers/clocksource/mmio.c +@@ -46,7 +46,7 @@ u64 clocksource_mmio_readw_down(struct c + * @bits: Number of valid bits + * @read: One of clocksource_mmio_read*() above + */ +-int __init clocksource_mmio_init(void __iomem *base, const char *name, ++int clocksource_mmio_init(void __iomem *base, const char *name, + unsigned long hz, int rating, unsigned bits, + u64 (*read)(struct clocksource *)) + { +--- a/drivers/clocksource/timer-ixp4xx.c ++++ b/drivers/clocksource/timer-ixp4xx.c +@@ -170,9 +170,8 @@ static int ixp4xx_resume(struct clock_ev + * We use OS timer1 on the CPU for the timer tick and the timestamp + * counter as a source of real clock ticks to account for missed jiffies. + */ +-static __init int ixp4xx_timer_register(void __iomem *base, +- int timer_irq, +- unsigned int timer_freq) ++static int ixp4xx_timer_register(void __iomem *base, int timer_irq, ++ unsigned int timer_freq) + { + struct ixp4xx_timer *tmr; + int ret; +@@ -245,9 +244,8 @@ static __init int ixp4xx_timer_register( + * @timer_irq: Linux IRQ number for the timer + * @timer_freq: Fixed frequency of the timer + */ +-void __init ixp4xx_timer_setup(resource_size_t timerbase, +- int timer_irq, +- unsigned int timer_freq) ++void ixp4xx_timer_setup(resource_size_t timerbase, int timer_irq, ++ unsigned int timer_freq) + { + void __iomem *base; + +--- a/include/linux/platform_data/timer-ixp4xx.h ++++ b/include/linux/platform_data/timer-ixp4xx.h +@@ -4,8 +4,7 @@ + + #include + +-void __init ixp4xx_timer_setup(resource_size_t timerbase, +- int timer_irq, +- unsigned int timer_freq); ++void ixp4xx_timer_setup(resource_size_t timerbase, int timer_irq, ++ unsigned int timer_freq); + + #endif diff --git a/queue-5.10/series b/queue-5.10/series index c43c6f42840..ef42dae7508 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -1,3 +1,4 @@ maintainers-add-amir-as-xfs-maintainer-for-5.10.y.patch drm-remove-drm_fb_helper_modinit.patch tick-nohz-unexport-__init-annotated-tick_nohz_full_setup.patch +clocksource-drivers-ixp4xx-remove-__init-from-ixp4xx_timer_setup.patch -- 2.47.3