kernel_samsung_a53x/drivers/clocksource
Daniel Lezcano 7e3c95c199 clocksource/drivers/timer-of: Remove percpu irq related code
commit 471ef0b5a8aaca4296108e756b970acfc499ede4 upstream.

GCC's named address space checks errors out with:

drivers/clocksource/timer-of.c: In function ‘timer_of_irq_exit’:
drivers/clocksource/timer-of.c:29:46: error: passing argument 2 of
‘free_percpu_irq’ from pointer to non-enclosed address space
  29 |                 free_percpu_irq(of_irq->irq, clkevt);
     |                                              ^~~~~~
In file included from drivers/clocksource/timer-of.c:8:
./include/linux/interrupt.h:201:43: note: expected ‘__seg_gs void *’
but argument is of type ‘struct clock_event_device *’
 201 | extern void free_percpu_irq(unsigned int, void __percpu *);
     |                                           ^~~~~~~~~~~~~~~
drivers/clocksource/timer-of.c: In function ‘timer_of_irq_init’:
drivers/clocksource/timer-of.c:74:51: error: passing argument 4 of
‘request_percpu_irq’ from pointer to non-enclosed address space
  74 |                                    np->full_name, clkevt) :
     |                                                   ^~~~~~
./include/linux/interrupt.h:190:56: note: expected ‘__seg_gs void *’
but argument is of type ‘struct clock_event_device *’
 190 |                    const char *devname, void __percpu *percpu_dev_id)

Sparse warns about:

timer-of.c:29:46: warning: incorrect type in argument 2 (different address spaces)
timer-of.c:29:46:    expected void [noderef] __percpu *
timer-of.c:29:46:    got struct clock_event_device *clkevt
timer-of.c:74:51: warning: incorrect type in argument 4 (different address spaces)
timer-of.c:74:51:    expected void [noderef] __percpu *percpu_dev_id
timer-of.c:74:51:    got struct clock_event_device *clkevt

It appears the code is incorrect as reported by Uros Bizjak:

"The referred code is questionable as it tries to reuse
the clkevent pointer once as percpu pointer and once as generic
pointer, which should be avoided."

This change removes the percpu related code as no drivers is using it.

[Daniel: Fixed the description]

Fixes: dc11bae785295 ("clocksource/drivers: Add timer-of common init routine")
Reported-by: Uros Bizjak <ubizjak@gmail.com>
Tested-by: Uros Bizjak <ubizjak@gmail.com>
Link: https://lore.kernel.org/r/20240819100335.2394751-1-daniel.lezcano@linaro.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-19 00:09:58 +01:00
..
acpi_pm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arc_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arm_arch_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arm_global_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
armv7m_systick.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asm9260_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm2835_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm_kona_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clksrc-dbx500-prcmu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clksrc_st_lpc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clps711x-timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dummy_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_apb_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_apb_timer_of.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
em_sti.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
exynos_mct.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
exynos_mct_v2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
exynos_mct_v2.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
h8300_timer8.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
h8300_timer16.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
h8300_tpu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hyperv_timer.c x86/hyperv: Fix hv tsc page based sched_clock for hibernation 2025-01-15 16:29:52 +01:00
i8253.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ingenic-ost.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ingenic-sysost.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ingenic-timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jcore-pit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Revert "clkdev: remove CONFIG_CLKDEV_LOOKUP" 2025-01-02 17:01:18 +01:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-gic-timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mps2-timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxs_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nomadik-mtu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
numachip.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas-ostm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
samsung_pwm_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
scx200_hrt.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sh_cmt.c clocksource/drivers/sh_cmt: Address race condition for clock events 2024-11-23 23:20:23 +01:00
sh_mtu2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sh_tmu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-armada-370-xp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-atcpit100.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-atlas7.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-atmel-pit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-atmel-st.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-atmel-tcb.c clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware 2024-11-18 11:43:12 +01:00
timer-cadence-ttc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-clint.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-cs5535.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-davinci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-digicolor.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-efm32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-fsl-ftm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-fttmr010.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-gx6605s.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-imx-gpt.c clocksource/drivers/timer-imx-gpt: Fix potential memory leak 2024-11-18 11:43:12 +01:00
timer-imx-sysctr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-imx-tpm.c Revert "clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX" 2024-11-24 00:23:37 +01:00
timer-integrator-ap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-ixp4xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-keystone.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-lpc32xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-mediatek.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-meson6.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-microchip-pit64b.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-milbeaut.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-mp-csky.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-npcm7xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-nps.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-of.c clocksource/drivers/timer-of: Remove percpu irq related code 2025-01-19 00:09:58 +01:00
timer-of.h clocksource/drivers/timer-of: Remove percpu irq related code 2025-01-19 00:09:58 +01:00
timer-orion.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-owl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-oxnas-rps.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-pistachio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-prima2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-probe.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-pxa.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-qcom.c Revert "clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init()" 2024-11-24 00:23:27 +01:00
timer-rda.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-riscv.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-rockchip.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-sp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-sp804.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-sprd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-stm32-lp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-stm32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-sun4i.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-sun5i.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-tango-xtal.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-tegra.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-ti-32k.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-ti-dm-systimer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-ti-dm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-u300.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-versatile.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-vf-pit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-vt8500.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timer-zevio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00