1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-13 10:02:38 +00:00
freebsd/sys
Ian Lepore 873bf31b2b Restore the ability for i2c slave devices to do IO from their probe method.
r348164 added code to iicbus_request_bus/iicbus_release_bus to automatically
call device_busy()/device_unbusy() as part of aquiring exclusive use of the
bus (so modules can't be unloaded while the bus is exclusively owned and/or
IO is in progress).  That broke the ability to do i2c IO from a slave device
probe method, because the slave isn't attached yet, so calling device_busy()
triggers a sanity-check panic for trying to busy a non-attached device.

Now we check whether the device status is < DS_ATTACHING, and if so we busy
the iicbus rather than the slave device.  I think this leaves a small window
where a module could be unloaded while probing is in progress.  But I think
that's true of all devices, and probably should be fixed by introducing a
DS_PROBING state for devices, and handling that at various points in the
newbus code.
2019-07-08 20:26:56 +00:00
..
amd64 Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
arm Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
arm64 Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
bsm
cam Remove the CDIOCREADSUBCHANNEL_SYSSPACE ioctl. 2019-07-03 00:10:01 +00:00
cddl Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
compat Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
conf Fix build error introduced by r349596. 2019-07-03 01:40:29 +00:00
contrib Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
crypto
ddb ddb show proc typo 2019-06-22 05:35:23 +00:00
dev Restore the ability for i2c slave devices to do IO from their probe method. 2019-07-08 20:26:56 +00:00
dts
fs Add additional check for 'blocks per group' and 'fragments per group' superblock fields. 2019-07-07 08:58:02 +00:00
gdb
geom g_mirror_taste: avoid deadlock, always clear tasting flag 2019-07-01 22:06:36 +00:00
gnu
i386 Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
isa
kern Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
kgssapi Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
libkern Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
mips Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
modules Add driver for NTB in AMD SoC. 2019-07-02 05:25:18 +00:00
net Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
net80211
netgraph
netinet Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
netinet6 Add an external mbuf buffer type that holds multiple unmapped pages. 2019-06-29 00:48:33 +00:00
netipsec netipsec key_register: check for M_NOWAIT alloc failure 2019-06-25 15:43:52 +00:00
netpfil Convert all IPv4 and IPv6 multicast memberships into using a STAILQ 2019-06-25 11:54:41 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto Move declaration of warninterval out from under COMPAT_FREEBSD32. 2019-06-11 23:28:07 +00:00
powerpc Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
riscv Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
rpc
security
sparc64 Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
sys Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
teken
tests
tools
ufs Add a new "untrusted" option to the mount command. Its purpose 2019-07-01 23:22:26 +00:00
vm Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
x86
xdr
xen
Makefile