linux/drivers
Jean-Francois Bortolotti 77ca75e80c spmi: add a spmi driver for Apple SoC
The connected PMU contains several useful nvmem cells such as RTC offset,
boot failure counters, reboot/shutdown selector, and a few others.
In addition M3+ machines have their USB-PD controller connected via SPMI.

Signed-off-by: Jean-Francois Bortolotti <jeff@borto.fr>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Co-developed-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
Link: https://lore.kernel.org/r/20250409-spmi-v4-2-eb81ecfd1f64@gmail.com
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20250518032330.2959766-4-sboyd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-21 14:53:17 +02:00
..
accel accel/ivpu: Correct mutex unlock order in job submission 2025-04-30 11:27:37 +02:00
accessibility treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
acpi gcc-15: disable '-Wunterminated-string-initialization' entirely for now 2025-04-20 15:30:53 -07:00
amba iommu: Get DT/ACPI parsing into the proper probe path 2025-03-11 14:05:43 +01:00
android binder: Create safe versions of binder log files 2025-05-21 14:39:16 +02:00
ata ata: libata-scsi: Improve CDL control 2025-04-22 16:06:05 +09:00
atm treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
auxdisplay treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
base Driver core fix for 6.15-rc6 2025-05-10 09:53:11 -07:00
bcma
block block-6.15-20250509 2025-05-09 10:34:50 -07:00
bluetooth Bluetooth: btintel_pcie: Add additional to checks to clear TX/RX paths 2025-04-25 15:03:19 -04:00
bus MHI Host 2025-05-21 14:11:43 +02:00
cache
cdrom
cdx irqdomain: cdx: Switch to of_fwnode_handle() 2025-04-25 15:53:38 +02:00
char hpet: Remove unnecessary NULL check before unregister_sysctl_table() 2025-05-21 14:52:59 +02:00
clk ARM and clkdev updates for 6.15-rc1 2025-04-03 12:21:44 -07:00
clocksource clocksource/i8253: Use raw_spinlock_irqsave() in clockevent_i8253_disable() 2025-05-05 15:34:49 +02:00
comedi comedi: drivers: adl_pci9118.c: Edit file so that checkpatch.pl has 0 typo errors 2025-05-08 20:24:14 +02:00
connector
counter Counter updates for 6.16 2025-05-21 14:07:53 +02:00
cpufreq cpufreq: intel_pstate: Unchecked MSR aceess in legacy mode 2025-04-30 16:27:34 +02:00
cpuidle pmdomain core: 2025-03-25 20:40:51 -07:00
crypto crypto: atmel-sha204a - Set hwrng quality to lowest possible 2025-04-23 09:32:57 +08:00
cxl cxl/core/regs.c: Skip Memory Space Enable check for RCD and RCH Ports 2025-04-21 08:30:13 -07:00
dax device/dax: properly refcount device dax pages when mapping 2025-03-17 22:06:41 -07:00
dca
devfreq
dio
dma treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
dma-buf dma-buf/sw_sync: Decrement refcount on error in sw_sync_ioctl_get_deadline() 2025-04-11 14:22:22 +02:00
dpll Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-03-20 21:38:01 +01:00
edac EDAC/altera: Set DDR and SDMMC interrupt mask before registration 2025-04-28 12:38:53 +02:00
eisa EISA: Move devlist.h out of obj to always 2025-05-07 07:01:01 +02:00
extcon
firewire treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
firmware soc: fixes for 6.14 2025-05-05 08:07:24 -07:00
fpga FPGA Manager changes for 6.16-rc1 2025-05-21 14:08:44 +02:00
fsi
fwctl fwctl: Fix repeated device word in log message 2025-04-11 20:47:45 -03:00
gnss
gpio gpiolib: Allow to use setters with return value for output-only gpios 2025-04-14 20:31:00 +02:00
gpu Rust fixes for v6.15 (2nd) 2025-05-09 14:06:34 -07:00
greybus treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hid treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hsi treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hte treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hv Char/Misc/IIO driver fixes for 6.15-rc6 2025-05-10 08:55:15 -07:00
hwmon hwmon/misc: amd-sbi: Move core sbrmi from hwmon to misc 2025-05-21 14:44:40 +02:00
hwspinlock hwspinlock: Remove unused hwspin_lock_get_id() 2025-03-21 17:12:04 -05:00
hwtracing intel_th: avoid using deprecated page->mapping, index fields 2025-04-15 13:29:03 +02:00
i2c i2c: omap: fix deprecated of_property_read_bool() use 2025-05-06 00:14:25 +02:00
i3c i3c: Add NULL pointer check in i3c_master_queue_ibi() 2025-03-31 11:44:00 +02:00
idle Power management updates for 6.15-rc1 2025-03-25 15:00:18 -07:00
iio iio: accel: fxls8962af: Fix temperature scan element sign 2025-05-15 17:17:02 +01:00
infiniband RDMA/bnxt_re: Remove unusable nq variable 2025-04-10 14:47:55 -03:00
input Input updates for v6.15-rc5 2025-05-11 10:29:29 -07:00
interconnect
iommu IOMMU Fixes for Linux v6.15-rc4: 2025-05-02 08:57:00 -07:00
ipack
irqchip irqchip/qcom-mpm: Prevent crash when trying to handle non-wake GPIOs 2025-05-02 21:07:02 +02:00
isdn treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
leds treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
macintosh treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mailbox treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mcb mcb: fix a double free bug in chameleon_parse_gdd() 2025-04-15 18:21:39 +02:00
md - dm: fix reading past the end of allocated memory 2025-05-06 08:14:20 -07:00
media media: cec: tda9950: add back i2c dependency 2025-04-07 08:12:12 +02:00
memory treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
memstick treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
message SCSI misc on 20250326 2025-03-26 19:57:34 -07:00
mfd * Maxim MAX77705: 2025-03-29 14:33:13 -07:00
misc VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify 2025-05-21 14:52:38 +02:00
mmc mmc: renesas_sdhi: disable clocks if registering regulator failed 2025-04-07 17:58:41 +02:00
most treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mtd mtd: rawnand: Add status chack in r852_ready() 2025-04-07 09:02:49 +02:00
mux mux: adgs1408: fix Wvoid-pointer-to-enum-cast warning 2025-05-08 17:12:08 +02:00
net virtio-net: fix total qstat values 2025-05-08 11:56:12 +02:00
nfc treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
ntb Bug fixes for NTB Switchtec driver mw negative shift, Intel NTB link 2025-04-04 14:23:07 -07:00
nubus
nvdimm libnvdimm additions for 6.15 2025-04-02 20:27:18 -07:00
nvme block-6.15-20250509 2025-05-09 10:34:50 -07:00
nvmem nvmem: Add apple-spmi-nvmem driver 2025-05-21 14:28:27 +02:00
of Devicetree for v6.15: 2025-03-29 11:23:16 -07:00
opp
parisc parisc: led: Use scnprintf() to avoid string truncation warning 2025-03-09 22:27:54 +01:00
parport treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
pci s390 fixes for 6.15-rc6 2025-05-08 08:29:13 -07:00
pcmcia treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
peci
perf pci-v6.15-changes 2025-03-28 19:36:53 -07:00
phy phy-for-6.15 2025-04-01 12:47:11 -07:00
pinctrl pinctrl: qcom: Fix PINGROUP definition for sm8750 2025-04-29 10:27:25 +02:00
platform platform/x86: ideapad-laptop: add support for some new buttons 2025-04-23 13:05:26 +03:00
pmdomain pmdomain: arm: scmi_pm_domain: Remove redundant state verification 2025-03-17 11:12:01 +01:00
pnp Staging driver updates for 6.15-rc1 2025-04-02 18:09:17 -07:00
power gcc-15: get rid of misc extra NUL character padding 2025-04-20 11:57:54 -07:00
powercap Power management updates for 6.15-rc1 2025-03-25 15:00:18 -07:00
pps pps: generators: tio: fix platform_set_drvdata() 2025-04-15 18:22:32 +02:00
ps3
ptp ptp: ocp: Fix NULL dereference in Adva board SMA sysfs operations 2025-05-01 07:01:31 -07:00
pwm pwm: A set of fixes for pwm core and various drivers 2025-04-12 08:11:19 -07:00
rapidio Linux 6.14-rc6 2025-03-10 17:37:25 +01:00
ras RAS/AMD/FMPM: Get masked address 2025-04-08 19:30:58 +02:00
regulator These are objtool fixes and updates by Josh Poimboeuf, centered 2025-04-02 10:30:10 -07:00
remoteproc remoteproc: qcom_q6v5_pas: Make single-PD handling more robust 2025-03-22 08:42:39 -05:00
reset remoteproc updates for v6.15 2025-03-29 17:18:50 -07:00
rpmsg rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send() 2025-04-25 15:58:28 +02:00
rtc treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
s390 s390/dcssblk: Fix build error with CONFIG_DAX=m and CONFIG_DCSSBLK=y 2025-05-05 15:46:34 +02:00
sbus
scsi SCSI fixes on 20250502 2025-05-02 11:14:58 -07:00
sh sh: remove duplicate ioread/iowrite helpers 2025-03-11 10:41:18 +01:00
siox
slimbus
soc soc: drivers for 6.15, part 2 2025-04-04 09:06:32 -07:00
soundwire soundwire: intel_auxdevice: Fix system suspend/resume handling 2025-04-30 16:23:37 +02:00
spi spi: Fixes for v6.15 2025-05-02 16:33:50 -07:00
spmi spmi: add a spmi driver for Apple SoC 2025-05-21 14:53:17 +02:00
ssb
staging Staging driver fixes for 6.15-rc6 2025-05-10 09:08:19 -07:00
target scsi: target: iscsi: Fix timeout on deleted connection 2025-04-11 22:13:00 -04:00
tc
tee
thermal thermal: intel: int340x: Fix Panther Lake DLVR support 2025-04-15 18:57:25 +02:00
thunderbolt USB/Thunderbolt update for 6.15-rc1 2025-04-02 18:23:31 -07:00
tty serial: sifive: lock port in startup()/shutdown() callbacks 2025-04-15 15:02:39 +02:00
ufs scsi: ufs: core: Remove redundant query_complete trace 2025-04-28 21:23:29 -04:00
uio Merge 6.15-rc6 into char-misc-next 2025-05-13 08:19:37 +02:00
usb xhci: dbc: Avoid event polling busyloop if pending rx transfers are inactive. 2025-05-05 16:30:45 +02:00
vdpa
vfio vfio/pci: Align huge faults to order 2025-05-06 12:59:12 -06:00
vhost vhost-scsi: Fix vhost_scsi_send_status() 2025-04-18 10:08:11 -04:00
video treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
virt virt: acrn: Remove unused list 'acrn_irqfd_clients' 2025-05-01 17:57:24 +02:00
virtio virtgpu: don't reset on shutdown 2025-04-18 10:05:49 -04:00
w1 w1: Avoid -Wflex-array-member-not-at-end warnings 2025-05-21 14:14:35 +02:00
watchdog treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
xen xenbus: Use kref to track req lifetime 2025-05-07 16:21:41 +02:00
zorro
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