NetBSD/sys/dev/i2c
thorpej c98f5f31c8 Fix a problem reported by jmcneill@ where by a system with multuple i2c
busses would end up with "ghost" device instances on the second bus.  This
issue was previously masked on ARM systems by the empty-child-devices
array issue fixed recently (that effectively blocked all indirect config
of i2c busses on those systems).

To fix this problem, we require that indirectly-configured devices have
to fully specify their parent spec and address, e.g.:

foo* at iic0 addr 0x55

NOT

foo* at iic? addr ?

or even:

foo* at iic? addr 0x55

This is needed because of how indirect configuration works... attach
directives in the kernel config file are enumerated, calling the bus's
search routine, which in the case of i2c, enumerates all i2c addresses
and calls the match routine for each address.  Because we can't always
reliably probe for i2c devices, we ended up with erroneous matches.

Direct configuration of i2c is still allowed to use wildcarded parent specs
and locators.
2018-05-15 02:02:18 +00:00
..
ac100.c
act8846.c act8846_match: filter on ia_addr (device is expected at 0x5a) 2018-04-30 20:26:09 +00:00
act8846.h
adadc.c get EEPROM data from uni_n instead of poking around in OF 2018-03-16 22:10:31 +00:00
adm1021.c get sensor descriptions from OpenFirmware if we know how 2017-09-29 14:17:47 +00:00
adm1026.c Increase the number of read retries (to 5). 2016-01-11 18:23:52 +00:00
adm1026reg.h Add a driver for the ADM1026 Thermal System Management Fan Controller 2015-12-16 07:56:48 +00:00
am2315.c fixes from Brad Spenser 2017-12-30 03:18:26 +00:00
am2315reg.h add RCSID's 2017-12-29 02:20:47 +00:00
am2315var.h add RCSID's 2017-12-29 02:20:47 +00:00
as3722.c Add facility for fdt devices to register reset and poweroff handlers. 2017-05-28 15:55:11 +00:00
as3722.h expose pmic reset functionality 2015-11-21 12:19:47 +00:00
at24cxx.c Kill some more extern struct cfdriver declarations. 2017-10-28 04:53:54 +00:00
at24cxxvar.h
au8522.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
au8522mod_8vsb.h
au8522mod_qam64.h
au8522mod_qam256.h
au8522mod.h
au8522reg.h
au8522var.h
axp20x.c AXP209 isn't an SMBus device, so don't use iic_smbus_* APIs. 2017-10-22 11:00:28 +00:00
axp20xvar.h Hook axp20x into fdt regulator api 2017-10-07 18:22:06 +00:00
axp22x.c add direct config support 2017-10-07 20:31:48 +00:00
axp809.c
axp809.h
axppmic.c Battery charge state is invalid until we refresh the first time 2018-05-13 22:58:58 +00:00
cx24227.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
cx24227var.h
dbcool_reg.h
dbcool_var.h
dbcool.c dbcool_read_volt() has a missing {} issue. 2018-02-06 10:02:09 +00:00
ddc.c
ddcreg.h
ddcvar.h
ds1307.c Kill some more extern struct cfdriver declarations. 2017-10-28 04:53:54 +00:00
ds1307reg.h add support for the MCP7940 based Pi Face Real Time Clock 2016-10-18 18:54:54 +00:00
dstemp.c add driver for Maxim DS1631 High-Precision Digital Thermometer and Thermostat 2018-02-01 21:44:17 +00:00
em3027.c Driver for EM Microelectronic EM3027 RTC and temperature sensor. 2018-01-05 03:07:15 +00:00
em3027reg.h Driver for EM Microelectronic EM3027 RTC and temperature sensor. 2018-01-05 03:07:15 +00:00
fcu.c effectively enforce fan speed limits, deal with negatives properly 2018-03-21 15:41:34 +00:00
files.i2c axppmic depends on sysmon_envsys 2018-05-05 02:01:34 +00:00
g760a.c
g760areg.h
gttwsi_core.c Don't sleep with IPL_VM lock held. 2018-05-07 15:03:19 +00:00
gttwsireg.h
gttwsivar.h Don't sleep with IPL_VM lock held. 2018-05-07 15:03:19 +00:00
hytp14.c convert device polling from callout to kthread. 2016-07-03 12:26:55 +00:00
hytp14reg.h acknowleg -> acknowledg, proceedure -> procedure. 2016-12-12 15:58:44 +00:00
hytp14var.h convert device polling from callout to kthread. 2016-07-03 12:26:55 +00:00
i2c_bitbang.c Create separate modules for i2c_bitbang and bpf_filter so these files 2016-06-07 01:06:27 +00:00
i2c_bitbang.h
i2c_exec.c
i2c_io.h Add some #includes to make a few more header files compile. 2017-10-28 06:27:32 +00:00
i2c_subr.c
i2c.c Fix a problem reported by jmcneill@ where by a system with multuple i2c 2018-05-15 02:02:18 +00:00
i2cvar.h For direct-config devices, pass the whole dictionary to the child as 2017-12-10 16:53:32 +00:00
ibmhawk.c The probe this driver uses is potentially destructive; at the very 2018-05-09 02:46:22 +00:00
ibmhawkreg.h
ibmhawkvar.h
ihidev.c Allow registering ACPI interrupt handlers with a xname. 2018-03-20 12:14:52 +00:00
ihidev.h Add drivers for HID over I2C devices, and a driver for I2C mices. 2017-12-10 17:05:54 +00:00
ims.c Add drivers for HID over I2C devices, and a driver for I2C mices. 2017-12-10 17:05:54 +00:00
lg3303.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
lg3303var.h
lm75.c attach to ds1775 which was already more or less supported as DS75 2017-10-01 05:12:18 +00:00
lm75reg.h Add LM75A ID register (for completeness). 2016-01-03 17:28:33 +00:00
lm87.c Correct previous - external temperature 2 is read from the 2.5V register, 2016-01-10 14:03:11 +00:00
lm_i2c.c - WBSIO_ID_W83627DHG and newer devices have 12bit device ID. So, change sioid 2017-08-18 04:07:51 +00:00
m41st84.c Kill some more extern struct cfdriver declarations. 2017-10-28 04:53:54 +00:00
m41st84reg.h
m41st84var.h
m41t00.c Kill some more extern struct cfdriver declarations. 2017-10-28 04:53:54 +00:00
m41t00reg.h
Makefile
max6900.c
max6900reg.h
max77620.c Fix register write location 2017-09-28 13:08:00 +00:00
mcp980x.c
mcp980xreg.h
motoi2c.c
motoi2creg.h
motoi2cvar.h
mpl115a.c
mpl115areg.h
mt2131.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
mt2131var.h
nxt2k.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
nxt2kvar.h
pcf8563.c Add FDT support 2017-10-07 20:18:16 +00:00
pcf8563reg.h
pcf8583.c Kill some more extern struct cfdriver declarations. 2017-10-28 04:53:54 +00:00
pcf8583reg.h
pcf8583var.h
r2025.c
r2025reg.h
rs5c372.c
rs5c372reg.h
s390.c
s390reg.h
sdtemp_reg.h - Add Maxim MAX6604. 2018-02-22 10:09:12 +00:00
sdtemp.c - Add Maxim MAX6604. 2018-02-22 10:09:12 +00:00
sgsmix.c use direct config 2017-09-22 04:07:34 +00:00
sgsmixvar.h
si70xx.c fixes from Brad Spenser 2017-12-30 03:18:26 +00:00
si70xxreg.h add RCSID's 2017-12-29 02:20:47 +00:00
si70xxvar.h add RCSID's 2017-12-29 02:20:47 +00:00
smscmon.c
smscmonvar.h
spdmem_i2c.c Use 1-byte data-buffers when writing to the "control" device for the 2018-03-01 05:47:22 +00:00
sy8106a.c Add driver for Silergy SY8106A regulator 2017-10-02 22:48:02 +00:00
tcagpio.c Add GPIO drivers for MAX77620 and TCA9539 as found in Jetson TX1 2017-09-22 18:12:31 +00:00
tcakp.c tcakp_match: filter on ia_addr for indirect config (device is expected at 0x34) 2018-04-30 20:33:09 +00:00
titemp.c titemp_match: filter on ia_addr for indirect config (device is expected at 0x4c) 2018-04-30 20:37:01 +00:00
tps65217pmic.c Add White LED initialize function. 2016-10-15 14:40:41 +00:00
tps65217pmicreg.h
tps65217pmicvar.h
tps65950.c
tvpll_tuners.c
tvpll_tuners.h
tvpll.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
tvpllvar.h
w83795g.c
w83795greg.h
x1226.c Kill some more extern struct cfdriver declarations. 2017-10-28 04:53:54 +00:00
x1226reg.h
xc5k.c PR/53177: David Binderman: Better error handling 2018-04-12 21:14:53 +00:00
xc5kreg.h
xc5kvar.h
xc3028.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
xc3028reg.h
xc3028var.h
zl10353.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
zl10353reg.h
zl10353var.h