linux/drivers
Linus Torvalds a14bf463e7 i2c-for-6.13-rc1-part3
core: add of based component probing
 
 Some devices are designed and manufactured with some components having
 multiple drop-in replacement options. These components are often
 connected to the mainboard via ribbon cables, having the same signals
 and pin assignments across all options. These may include the display
 panel and touchscreen on laptops and tablets, and the trackpad on
 laptops. Sometimes which component option is used in a particular device
 can be detected by some firmware provided identifier, other times that
 information is not available, and the kernel has to try to probe each
 device.
 
 Instead of a delicate dance between drivers and device tree quirks, this
 change introduces a simple I2C component probe function. For a given
 class of devices on the same I2C bus, it will go through all of them,
 doing a simple I2C read transfer and see which one of them responds. It
 will then enable the device that responds.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAmdMOCwACgkQFA3kzBSg
 KbaLWQ//e+29c9Trh+Typ6YCknuCFmM12xNUEPgce93EldERZjfCsdlHEchJnjEe
 RX5Mw+UxT7NqFUD6G2YQQw35LMj/PDws4Q/q3OwAvurj2PqoKEGIbdTxUEbGrLtT
 aYRUjGoqjPk3gAkqfKEQp8X8bvqKJfQ/xeXcZyy7Ij8xPU1LC/W6So4vpZA7oZkZ
 UfwrUXu2NM/DKfLATeSH3vnlBrrpco9BdjImDanP8BpuYHQ0aNt7IToDytd3/rLZ
 WKQPbHqVzzBUHm8Tf+DTyeVtII/ID078z+RW7htPrzPtzhVu2DN56w3z7/+EsVIy
 XKb1PiJo5HlFev4gxhIcUgf8L5JYE8MyU8eeRWAcDObiBYVcSP34P7Xoykczjuq9
 22IFNSdaqMVdigo9v4p7U99fVjoi3oUqIVsSb2HkmND8bPw3+jtyq1GxTFvTeOw8
 EVJGuGjYrPiko26zNgK/WZaumpB+fsH7uRioSb1ejlSQk0BcNv4YqjYaMx9aT7Xj
 +zF7luuxpkWTkPCjk57GX55K/BFzkA9jhJdKqjImBS+Q9Rn3k5bHyRdNPUDIeWs0
 Yl5dhg6QbLHyuPC2R/hJiV6X4uFloH9+Oh99T3lLzcVNc2mllPQDN9F4I8q5nWB8
 Eq5U95fnegfdVkiWnbNCnTCux/mypm35Gx46BffTiAJL2U9pSIE=
 =MAxU
 -----END PGP SIGNATURE-----

Merge tag 'i2c-for-6.13-rc1-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c component probing support from Wolfram Sang:
 "Add OF component probing.

  Some devices are designed and manufactured with some components having
  multiple drop-in replacement options. These components are often
  connected to the mainboard via ribbon cables, having the same signals
  and pin assignments across all options. These may include the display
  panel and touchscreen on laptops and tablets, and the trackpad on
  laptops. Sometimes which component option is used in a particular
  device can be detected by some firmware provided identifier, other
  times that information is not available, and the kernel has to try to
  probe each device.

  Instead of a delicate dance between drivers and device tree quirks,
  this change introduces a simple I2C component probe function. For a
  given class of devices on the same I2C bus, it will go through all of
  them, doing a simple I2C read transfer and see which one of them
  responds. It will then enable the device that responds"

* tag 'i2c-for-6.13-rc1-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  MAINTAINERS: fix typo in I2C OF COMPONENT PROBER
  of: base: Document prefix argument for of_get_next_child_with_prefix()
  i2c: Fix whitespace style issue
  arm64: dts: mediatek: mt8173-elm-hana: Mark touchscreens and trackpads as fail
  platform/chrome: Introduce device tree hardware prober
  i2c: of-prober: Add GPIO support to simple helpers
  i2c: of-prober: Add simple helpers for regulator support
  i2c: Introduce OF component probe function
  of: base: Add for_each_child_of_node_with_prefix()
  of: dynamic: Add of_changeset_update_prop_string
History 2024-12-01 13:38:24 -08:00
..
accel Backmerge v6.12-rc6 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2024-11-04 14:25:33 +10:00
accessibility speakup: use SPKDIR=$(src) to specify the source directory 2024-11-04 17:53:09 +09:00
acpi power supply and reset changes for the 6.13 series 2024-11-28 09:28:09 -08:00
amba ARM: 9415/1: amba: Add dev_is_amba() function and export it for modules 2024-11-12 16:41:45 +00:00
android Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
ata pci-v6.13-changes 2024-11-26 18:05:44 -08:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-08-12 10:41:44 +01:00
auxdisplay auxdisplay for v6.13-1 2024-11-20 12:55:41 -08:00
base Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
bcma PCI: Rename CRS Completion Status to RRS 2024-09-10 19:52:30 -05:00
block block-6.13-20242901 2024-11-30 15:47:29 -08:00
bluetooth Networking changes for 6.13. 2024-11-21 08:28:08 -08:00
bus Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
cache cache: StarFive: Require a 64-bit system 2024-08-01 07:15:02 -07:00
cdrom cdrom: Avoid barrier_nospec() in cdrom_ioctl_media_changed() 2024-10-17 19:47:15 -06:00
cdx cdx: Fix cdx_mmap_resource() after constifying attr in ->mmap() 2024-11-10 10:53:21 +01:00
char Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
clk The core framework gained a clk provider helper, a clk consumer helper, and 2024-11-22 17:02:25 -08:00
clocksource clocksource/drivers/arm_arch_timer: Use of_property_present() for non-boolean properties 2024-11-13 13:49:33 +01:00
comedi comedi: Flush partial mappings in error case 2024-11-05 14:01:07 +01:00
connector connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared" 2024-02-13 11:15:44 +01:00
counter Counter fixes for 6.12 2024-11-07 08:25:08 +01:00
cpufreq powerpc updates for 6.13 2024-11-23 10:44:31 -08:00
cpuidle RISC-V Paches for the 6.13 Merge Window, Part 1 2024-11-27 11:19:09 -08:00
crypto pci-v6.13-changes 2024-11-26 18:05:44 -08:00
cxl Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
dax libnvdimm additions for 6.13 2024-11-25 18:31:48 -08:00
dca Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
devfreq PM / devfreq: imx-bus: Use of_property_present() 2024-09-05 01:23:56 +09:00
dio dio: Have dio_bus_match() callback take a const * 2024-07-10 15:38:14 +02:00
dma dmaengine updates for v6.13 2024-11-27 13:25:47 -08:00
dma-buf dma-buf: use atomic64_inc_return() in dma_buf_getfile() 2024-11-06 13:36:37 -08:00
dpll dpll: add clock quality level attribute and op 2024-11-03 08:39:07 -08:00
edac powerpc updates for 6.13 2024-11-23 10:44:31 -08:00
eisa driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
extcon Char/Misc and other driver changes for 6.12-rc1 2024-09-26 10:13:08 -07:00
firewire firewire updates for v6.13 2024-11-25 17:12:54 -08:00
firmware Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
fpga Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
fsi move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
gnss [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
gpio Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
gpu drm fixes for v6.13-rc1 2024-11-29 13:06:06 -08:00
greybus greybus: Fix a typo 2024-11-05 05:33:46 +01:00
hid Revert "HID: bpf: allow write access to quirks field in struct hid_device" 2024-11-25 09:21:47 -08:00
hsi HSI: omap-ssi: Remove unnecessary debugfs_create_dir() error check 2024-08-27 15:28:56 +02:00
hte hte: tegra-194: add missing MODULE_DESCRIPTION() macro 2024-06-19 12:24:03 -07:00
hv drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
hwmon hwmon: (aquacomputer_d5next) Fix length of speed_input array 2024-11-24 07:36:47 -08:00
hwspinlock hwspinlock: qcom: implement bust operation 2024-05-29 12:52:26 -07:00
hwtracing intel_th: pci: Replace deprecated PCI functions 2024-10-30 16:07:37 -05:00
i2c i2c: Fix whitespace style issue 2024-11-27 12:23:43 +01:00
i3c i3c: Use i3cdev->desc->info instead of calling i3c_device_get_info() to avoid deadlock 2024-11-18 14:29:13 +01:00
idle intel_idle: add Granite Rapids Xeon D support 2024-11-11 15:48:50 +01:00
iio Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
infiniband Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
input Input updates for v6.13-rc0 2024-11-25 10:31:39 -08:00
interconnect Merge branch 'icc-sar2130p' into icc-next 2024-11-05 01:32:05 +02:00
iommu iommufd 6.13 merge window pull #2 2024-11-27 14:24:34 -08:00
ipack driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
irqchip - Move the ->select callback to the correct ops structure in irq-mvebu-sei to 2024-12-01 12:37:58 -08:00
isdn mISDN: Fix typos 2024-11-09 09:14:12 -08:00
leds - Removed unused local header files from various drivers. 2024-11-22 16:25:20 -08:00
macintosh macintosh: Use common error handling code in via_pmu_led_init() 2024-11-14 22:54:28 +11:00
mailbox TTY / Serial driver updates for 6.13-rc1 2024-11-30 09:03:16 -08:00
mcb Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
md block-6.13-20242901 2024-11-30 15:47:29 -08:00
media media updates for v6.13-rc1 2024-11-20 14:05:34 -08:00
memory memory: pl353-smc: simplify with scoped for each OF child loop 2024-08-31 07:44:24 +02:00
memstick memstick: Constify struct memstick_device_id 2024-10-14 12:40:10 +02:00
message scsi: fusion: Remove unused variable 'rc' 2024-11-06 20:46:07 -05:00
mfd - Several drivers, including atmel-flexcom/rk8xx-core, palmas, and 2024-11-22 16:19:47 -08:00
misc TTY / Serial driver updates for 6.13-rc1 2024-11-30 09:03:16 -08:00
mmc MMC core: 2024-11-20 12:51:32 -08:00
most Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
mtd This pull request contains updates for JFFS2, UBI and UBIFS: 2024-11-30 10:32:47 -08:00
mux mux: remove usage of the deprecated ida_simple_xx() API 2024-04-29 08:20:07 -07:00
net Including fixes from bluetooth. 2024-11-28 10:15:20 -08:00
nfc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ntb ntb: idt: Replace deprecated PCI functions 2024-10-30 16:07:38 -05:00
nubus nubus: Make nubus_bus_type static and constant 2024-01-03 13:33:59 +01:00
nvdimm virtio: features, fixes, cleanups 2024-11-27 13:11:58 -08:00
nvme block-6.13-20242901 2024-11-30 15:47:29 -08:00
nvmem Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
of i2c-for-6.13-rc1-part3 2024-12-01 13:38:24 -08:00
opp Additional power management updates for 6.13-rc1 2024-11-27 14:40:33 -08:00
parisc parisc: pdc_stable: Constify struct kobj_type 2024-09-09 08:53:17 +02:00
parport parport: Proper fix for array out-of-bounds access 2024-10-13 18:17:35 +02:00
pci pci-v6.13-fixes-1 2024-11-30 18:23:05 -08:00
pcmcia pcmcia: soc_common: Avoid using GPIOF_ACTIVE_LOW 2024-11-09 14:55:33 +01:00
peci peci: npcm: Constify struct peci_controller_ops​ 2024-10-25 10:58:07 +02:00
perf arm64 fixes for 6.13-rc1: 2024-11-30 14:33:44 -08:00
phy Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
pinctrl Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
platform i2c-for-6.13-rc1-part3 2024-12-01 13:38:24 -08:00
pmdomain pmdomain: qcom: rpmhpd: Add rpmhpd support for SM8750 2024-11-12 19:46:51 +01:00
pnp driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
power power supply and reset changes for the 6.13 series 2024-11-28 09:28:09 -08:00
powercap powercap: dtpm_devfreq: Fix error check against dev_pm_qos_add_request() 2024-10-21 13:23:06 +02:00
pps [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ps3 ps3: Correct some typos in comments 2024-11-15 00:32:29 +11:00
ptp ptp: Remove 'default y' for VMCLOCK PTP device 2024-11-04 18:18:10 -08:00
pwm pwm: Assume a disabled PWM to emit a constant inactive output 2024-11-07 12:03:39 +01:00
rapidio driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
ras RAS/AMD/ATL: Add debug prints for DF register reads 2024-10-22 18:55:57 +02:00
regulator regulator: Fixes for v6.13 2024-11-28 09:40:53 -08:00
remoteproc remoteproc: qcom: wcss: Remove double assignment in q6v5_wcss_probe() 2024-11-15 20:36:27 -08:00
reset The core framework gained a clk provider helper, a clk consumer helper, and 2024-11-22 17:02:25 -08:00
rpmsg rpmsg updates for v6.13 2024-11-26 18:36:55 -08:00
rtc RTC for 6.13 2024-11-30 11:18:16 -08:00
s390 Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
sbus [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
scsi Driver core changes for 6.13-rc1 2024-11-29 11:43:29 -08:00
sh sh updates for v6.13 2024-11-30 14:45:29 -08:00
siox Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
slimbus slimbus: qcom-ngd-ctrl: use 'time_left' variable with wait_for_completion_timeout() 2024-09-03 12:10:38 +02:00
soc Networking changes for 6.13. 2024-11-21 08:28:08 -08:00
soundwire soundwire updates for 6.13 2024-11-27 13:38:09 -08:00
spi spi: Fixes for v6.13 2024-11-28 10:06:00 -08:00
spmi spmi: pmic-arb: fix return path in for_each_available_child_of_node() 2024-11-10 10:56:46 +01:00
ssb driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
staging Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
target SCSI misc on 20241125 2024-11-25 18:50:55 -08:00
tc TC: Fix the wrong format specifier 2024-11-12 15:48:08 +01:00
tee optee: Fix a NULL vs IS_ERR() check 2024-09-09 12:22:06 +02:00
thermal Additional thermal control updates for 6.13-rc1 2024-11-27 14:36:00 -08:00
thunderbolt USB / Thunderbolt (USB4) changes for 6.13-rc1 2024-11-29 11:19:31 -08:00
tty TTY / Serial driver updates for 6.13-rc1 2024-11-30 09:03:16 -08:00
ufs SCSI misc on 20241125 2024-11-25 18:50:55 -08:00
uio Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
usb Kbuild updates for v6.13 2024-11-30 13:41:50 -08:00
vdpa vdpa/mlx5: Fix suboptimal range on iotlb iteration 2024-11-12 18:05:05 -05:00
vfio VFIO updates for v6.13 2024-11-27 12:57:03 -08:00
vhost mm: page_frag: avoid caller accessing 'page_frag_cache' directly 2024-11-11 10:56:27 -08:00
video fbdev fixes and updates for 6.13-rc1: 2024-11-25 12:07:45 -08:00
virt - Do the proper memory conversion of guest memory in order to be able to kexec 2024-11-19 12:21:35 -08:00
virtio virtio: features, fixes, cleanups 2024-11-27 13:11:58 -08:00
w1 w1: ds2482: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-09-06 19:18:32 +02:00
watchdog asm-generic updates for 6.13 2024-11-20 15:13:02 -08:00
xen A set of updates for the interrupt subsystem: 2024-11-19 15:54:19 -08:00
zorro Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile leds: Init leds class earlier 2024-09-04 17:24:58 -05:00