linux/drivers
Andrew Jeffery 4483e3c481 soc: aspeed: lpc-snoop: Consolidate channel initialisation
Previously, channel initialisation was a bit perilous with respect to
resource cleanup in error paths. While the implementation had issues,
it at least made an effort to eliminate some of its problems by first
testing whether any channels were enabled, and bailing out if not.

Having improved the robustness of resource handling in probe() we can
now rearrange the initial channel test to be located with the subsequent
test, and rework the unrolled conditional logic to use a loop for an
improvement in readability.

Link: https://patch.msgid.link/20250616-aspeed-lpc-snoop-fixes-v2-9-3cdd59c934d3@codeconstruct.com.au
Acked-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
History 2025-07-08 11:35:07 +09:30
..
accel treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
accessibility treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
acpi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
amba iommu: Get DT/ACPI parsing into the proper probe path 2025-03-11 14:05:43 +01:00
android Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
ata treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
atm treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
auxdisplay treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
base treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bcma bcma: use new GPIO line value setter callbacks 2025-04-23 15:28:24 +02:00
block treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bluetooth treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bus treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
cache cache: sifive_ccache: Add ESWIN EIC7700 support 2025-04-07 16:53:46 +01:00
cdrom cdrom: Remove unnecessary NULL check before unregister_sysctl_table() 2025-05-15 16:25:20 -06:00
cdx irqdomain: cdx: Switch to of_fwnode_handle() 2025-04-25 15:53:38 +02:00
char treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
clk I've recently moved computers (among other things) so I'm sending this from a 2025-05-30 09:15:40 -07:00
clocksource MFD for v6.16 2025-06-03 11:53:55 -07:00
comedi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
connector connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared" 2024-02-13 11:15:44 +01:00
counter Second set of Counter updates for 6.16 2025-05-24 08:29:32 +02:00
cpufreq treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
cpuidle Merge branch 'pm-cpuidle' 2025-05-30 20:21:36 +02:00
crypto treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
cxl Merge branch 'for-6.16/cxl-features-ras' into cxl-for-next 2025-05-23 13:26:24 -07:00
dax DAX: warn when kmem regions are truncated for memory block alignment 2025-05-12 23:50:49 -07:00
dca Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
devfreq PM / devfreq: rockchip-dfi: Switch to use hrtimer_setup() 2025-02-18 10:32:34 +01:00
dio dio: Have dio_bus_match() callback take a const * 2024-07-10 15:38:14 +02:00
dma treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
dma-buf treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
dpll Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-03-20 21:38:01 +01:00
edac CXL changes for v6.16 2025-06-03 13:24:14 -07:00
eisa EISA: Move devlist.h out of obj to always 2025-05-07 07:01:01 +02:00
extcon Update extcon next for v6.14 2025-01-12 13:44:27 +01:00
firewire treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
firmware Kbuild updates for v6.16 2025-06-07 10:05:35 -07:00
fpga FPGA Manager changes for 6.16-rc1 2025-05-21 14:08:44 +02:00
fsi fsi: core: Use const 'struct bin_attribute' callbacks 2025-02-21 09:20:31 +01:00
fwctl fwctl: Fix repeated device word in log message 2025-04-11 20:47:45 -03:00
gnss [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
gpio gpio updates for v6.16-rc1 2025-05-27 15:22:01 -07:00
gpu treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
greybus treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hid treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hsi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hte treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hv hyperv-next for v6.16 2025-06-03 08:39:20 -07:00
hwmon treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hwspinlock hwspinlock: Remove unused hwspin_lock_get_id() 2025-03-21 17:12:04 -05:00
hwtracing coresight: updates for Linux v6.16 2025-05-22 18:04:43 +02:00
i2c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
i3c i3c: controllers do not need to depend on I3C 2025-05-24 22:49:07 +02:00
idle Power management updates for 6.16-rc1 2025-05-27 16:48:47 -07:00
iio treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
infiniband treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
input treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
interconnect Merge branch 'icc-sa8775p' into icc-next 2025-05-19 17:09:50 +03:00
iommu treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ipack driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
irqchip dmaengine updates for v6.16 2025-06-05 08:49:30 -07:00
isdn treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
leds treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
macintosh treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mailbox treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mcb mcb: fix a double free bug in chameleon_parse_gdd() 2025-04-15 18:21:39 +02:00
md treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
media treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
memory treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
memstick treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
message SCSI misc on 20250326 2025-03-26 19:57:34 -07:00
mfd MFD for v6.16 2025-06-03 11:53:55 -07:00
misc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mmc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
most treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mtd treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mux mux: adgs1408: fix Wvoid-pointer-to-enum-cast warning 2025-05-08 17:12:08 +02:00
net treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
nfc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ntb NTB/msi: Switch MSI descriptor locking to lock guard() 2025-04-09 20:47:29 +02:00
nubus nubus: Make nubus_bus_type static and constant 2024-01-03 13:33:59 +01:00
nvdimm libnvdimm additions for 6.15 2025-04-02 20:27:18 -07:00
nvme treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
nvmem Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
of - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
opp OPP: switch to use kmemdup_array() 2025-05-19 15:37:53 +05:30
parisc parisc: led: Use scnprintf() to avoid string truncation warning 2025-03-09 22:27:54 +01:00
parport treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pci The delayed from_timer() API cleanup: 2025-06-08 11:33:00 -07:00
pcmcia treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
peci module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
perf arm64 updates for 6.16 2025-05-28 14:55:35 -07:00
phy phy-for-6.16 2025-06-05 08:20:21 -07:00
pinctrl Pin control bulk changes for v6.16: 2025-05-30 09:46:28 -07:00
platform treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pmdomain pmdomain: ti: Fix STANDBY handling of PER power domain 2025-05-19 16:11:05 +02:00
pnp x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h> 2025-04-14 09:34:14 +02:00
power - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
powercap x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
pps treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ps3 ps3: Correct some typos in comments 2024-11-15 00:32:29 +11:00
ptp treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pwm pwm: axi-pwmgen: Fix handling of external clock 2025-06-06 13:16:50 -07:00
rapidio rapidio: remove unused functions 2025-05-11 17:54:09 -07:00
ras Linux 6.15-rc5 2025-05-06 10:00:58 +02:00
regulator regulator: Fix for v6.16 2025-06-06 13:20:26 -07:00
remoteproc remoteproc updates for v6.16 2025-06-02 11:04:29 -07:00
reset reset: Add USB2PHY port reset driver for Renesas RZ/V2H(P) 2025-05-05 15:18:35 +02:00
rpmsg rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send() 2025-05-20 21:46:10 -05:00
rtc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
s390 treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
sbus Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
scsi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
sh sh: Switch to irq_domain_create_*() 2025-05-16 21:06:11 +02:00
siox Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
slimbus slimbus: messaging: Free transaction ID in delayed interrupt scenario 2025-02-20 15:19:51 +01:00
soc soc: aspeed: lpc-snoop: Consolidate channel initialisation 2025-07-08 11:35:07 +09:30
soundwire soundwire updates for 6.16 2025-06-05 08:07:24 -07:00
spi spi: Updates for v6.16 2025-06-06 13:22:31 -07:00
spmi irqdomain: spmi: Switch to irq_domain_create_tree() 2025-05-21 14:53:17 +02:00
ssb irqdomain: ssb: Switch to irq_domain_create_linear() 2025-04-23 15:08:44 +02:00
staging treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
target treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
tc TC: Fix the wrong format specifier 2024-11-12 15:48:08 +01:00
tee Small TEE updates for v6.16 2025-05-10 11:09:49 +02:00
thermal Thermal control updates for 6.16-rc1 2025-05-27 16:28:02 -07:00
thunderbolt thunderbolt: Changes for v6.16 merge window 2025-05-21 12:26:51 +02:00
tty treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ufs SCSI misc on 20250606 2025-06-06 20:02:51 -07:00
uio Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
usb treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
vdpa vdpa/octeon_ep: Control PCI dev enabling manually 2025-05-27 10:27:53 -04:00
vfio pci-v6.16-changes 2025-06-04 11:26:17 -07:00
vhost virtio, vhost: features, fixes 2025-05-29 08:15:35 -07:00
video treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
virt treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
virtio virtio_rtc: Add RTC class driver 2025-05-27 10:27:54 -04:00
w1 Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
watchdog treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
xen xen/x86: fix initial memory balloon target 2025-05-23 07:09:00 +02:00
zorro zorro: Constify 'struct bin_attribute' 2025-01-08 18:04:36 +01:00
Kconfig fwctl: Add basic structure for a class subsystem with a cdev 2025-03-06 15:11:30 -04:00
Makefile fwctl: Add basic structure for a class subsystem with a cdev 2025-03-06 15:11:30 -04:00