linux-mainline/arch/parisc/kernel
Greg Kroah-Hartman d69d804845 driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be
changed, so change the function callback to be a const *.  This is one
step of many towards making the driver core safe to have struct
device_driver in read-only memory.

Because the match() callback is in all busses, all busses are modified
to handle this properly.  This does entail switching some container_of()
calls to container_of_const() to properly handle the constant *.

For some busses, like PCI and USB and HV, the const * is cast away in
the match callback as those busses do want to modify those structures at
this point in time (they have a local lock in the driver structure.)
That will have to be changed in the future if they wish to have their
struct device * in read-only-memory.

Cc: Rafael J. Wysocki <rafael@kernel.org>
Reviewed-by: Alex Elder <elder@kernel.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Link: https://lore.kernel.org/r/2024070136-wrongdoer-busily-01e8@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-03 15:16:54 +02:00
..
syscalls mseal: wire up mseal syscall 2024-05-23 19:40:26 -07:00
vdso32 kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
vdso64 kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
.gitignore
alternative.c
asm-offsets.c
audit.c
cache.c parisc: Try to fix random segmentation faults in package builds 2024-06-12 01:57:05 +02:00
compat_audit.c
drivers.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
entry.S
firmware.c
ftrace.c kprobe/ftrace: bail out if ftrace was killed 2024-05-16 07:23:30 +09:00
hardware.c
head.S
hpmc.S
inventory.c
irq.c parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367 2024-02-27 22:51:44 +01:00
jump_label.c
kexec_file.c
kexec.c
kgdb.c
kprobes.c
Makefile
module.c arch: make execmem setup available regardless of CONFIG_MODULES 2024-05-14 00:31:44 -07:00
pacache.S
parisc_ksyms.c parisc: add u16 support to cmpxchg() 2024-04-09 22:06:00 -07:00
patch.c
pci-dma.c
pci.c
pdc_chassis.c
pdc_cons.c
pdt.c
perf_asm.S
perf_images.h
perf.c
process.c
processor.c Revert "parisc: Only list existing CPUs in cpu_possible_mask" 2024-02-07 00:13:21 +01:00
ptrace.c
real2.S
relocate_kernel.S
setup.c
signal32.c
signal32.h
signal.c
smp.c genirq: Convert kstat_irqs to a struct 2024-04-12 17:08:05 +02:00
stacktrace.c
sys_parisc32.c
sys_parisc.c parisc: use initializer for struct vm_unmapped_area_info 2024-04-25 20:56:27 -07:00
syscall.S
time.c
toc_asm.S
toc.c
topology.c
traps.c
unaligned.c parisc/unaligned: Rewrite 64-bit inline assembly of emulate_ldd() 2024-02-27 22:51:44 +01:00
unwind.c parisc: Fix stack unwinder 2024-02-19 21:55:22 +01:00
vdso.c
vmlinux.lds.S