freebsd-src/sys/dev
Andriy Gapon 0deaf4be34 rk_i2c: emulate repeated start
rk_i2c_send_stop is modified so that it sends a stop condition, like it
always did, if there is no IIC_M_NOSTOP flag.
But if the flag is set then the function completely resets the control
register and sets the driver state to transfer completed.
Something like this was previously done for a write with IIC_M_NOSTOP.
Now it is done for a read with IIC_M_NOSTOP as well.

Linux code says that the hardware does not support the repeated start
condition and the documentation, indeed, does not mention it.
But according to the Linux driver clearing the control register and then
sending a start condition acts as if it were a repeated start.

While here, add braces around a single-line 'if' branch to balance it
with a multi-line 'else' branch.

Tested with max44009(4).

MFC after:	2 weeks
2024-06-27 13:32:15 +03:00
..
aac
aacraid
acpi_support acpi: Use device_set_descf() 2024-06-02 19:38:41 -04:00
acpica acpi_timer: remove leftovers from Garbage-collect ACPI-safe timer and friends 2024-06-21 14:06:26 +02:00
adb
adlink
ae
age
agp new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
ahci Add some AMD device IDs. 2024-06-07 13:02:03 -04:00
aic7xxx aic7xxx: use rounddown_pow_of_two 2024-06-24 02:14:55 -05:00
al_eth
alc alc(4): disable MSI-X by default on Killer cards 2024-04-22 22:36:35 -06:00
ale
alpm
altera atse(4): Fix a typo in a source code comment 2024-01-20 17:35:51 +01:00
amd_ecc_inject
amdgpio
amdpm
amdsbwd amdsbwd: Use device_set_descf() 2024-06-16 16:37:26 -04:00
amdsmb
amdsmn amdsmn: Use device_set_descf() 2024-06-16 16:37:26 -04:00
amdtemp amdsmn(4), amdtemp(4): add support for AMD Family 19h Models 10h-1Fh. 2024-04-14 00:52:08 -07:00
arcmsr arcmsr: Use device_set_descf() 2024-06-16 16:37:25 -04:00
asmc
ata ata: Use device_set_descf() 2024-06-02 19:38:40 -04:00
ath ath(4): always enable 11n 2024-02-22 22:34:17 +00:00
atkbdc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
atopcase
axgbe axgbe: Various stability improvements 2024-04-28 19:57:51 -06:00
backlight
bce bce: Use device_set_descf() 2024-06-16 16:37:26 -04:00
beri
bfe
bge bge: Use device_set_descf() 2024-06-16 16:37:26 -04:00
bhnd bhnd: Use device_set_descf() 2024-06-02 19:38:40 -04:00
bnxt LinuxKPI: Add min_not_zero() to linux/minmax.h 2024-06-06 23:42:06 +03:00
bwi
bwn
bxe bxe: Use device_set_descf() 2024-06-16 16:37:26 -04:00
cadence clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
cardbus
cas
cesa
cfe
cfi cfi: Use device_set_descf() 2024-06-16 16:37:26 -04:00
chromebook_platform
ciss ciss(4): Fix a typo in a source code comment 2024-01-20 17:34:25 +01:00
clk jh7110: Add StarFive JH7110 clock/reset generator drivers 2024-05-07 13:07:36 -03:00
coretemp
cpuctl
cpufreq regulator: Move regulator code in dev/regulator 2024-01-10 19:20:32 +01:00
cxgb cxgb: use rounddown_pow_of_two 2024-06-24 02:17:02 -05:00
cxgbe cxgbe: replace a loop with rounddown_pow_of_two 2024-06-26 03:19:16 -05:00
cyapa
dc
dcons
dialog/da9063
dpaa dpaa: uma_zcreate() does not fail 2024-04-24 08:45:24 -04:00
dpaa2 new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
dpms
drm2 log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
dwc dwc: fix DEBUG macro name 2024-02-27 18:10:14 -04:00
dwwdt clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
e1000 e1000(4): Remove disconnected SYSCTL 2024-01-09 23:15:44 +01:00
efidev
ena ena: Update driver version to v2.7.0 2023-12-28 13:56:43 +00:00
enetc libkern: add ilog2 macro 2024-06-03 11:37:55 -05:00
enic sys/dev/enic/if_enic.c: remove an extra semicolon 2024-02-02 18:35:01 -07:00
eqos if_eqos: Fix a typo in a kernel error message 2024-01-28 16:42:12 +01:00
et
etherswitch etherswitch: Use device_set_desc(f)() 2024-06-02 19:38:41 -04:00
evdev
exca new-bus: Remove the 'rid' and 'type' arguments from BUS_*ACTIVATE_RESOURCE 2024-03-13 15:05:54 -07:00
fb fb: Check for errors from copyin() 2024-01-12 15:56:00 -05:00
fdc
fdt new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
ffec
filemon
firewire
firmware scmi: Add an SCMI VirtIO transport driver 2024-04-11 09:58:57 +00:00
flash clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
ftgpio
ftwd
fxp
gem
glxiic
glxsb
goldfish
gpio gpiobus: Add missing DEVMETHOD for bus_get_rman 2024-02-22 16:14:58 -08:00
gve gve: Make gve_free_qpls idempotent 2024-06-17 23:08:31 -07:00
hdmi clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
hid hidbus: Use device_set_descf() 2024-06-16 16:37:26 -04:00
hifn
hpt27xx
hptiop
hptmv hptmv: Handle errors from copyout() in hpt_set_info() 2023-12-26 19:01:26 -05:00
hptnr
hptrr
hwpmc hwpmc/arm64: Support the kernel booting to VHE 2024-06-25 09:07:19 +00:00
hwreset hwreset: Move reset code in dev/hwreset 2024-01-10 19:20:28 +01:00
hyperv Hyper-V: move memory alloc call for tlb hypercall out of smp_rendezvous 2024-06-15 14:07:58 +00:00
iavf
ic
ice ice(4): Update to 1.39.13-k 2024-04-18 16:21:22 -07:00
ichiic ig4_iic: Warn on NACK 2024-04-19 16:44:57 -06:00
ichsmb ichsmb: add Cedar Fork PCI id 2024-02-10 02:14:27 +01:00
ichwd
ida
igc igb(4): Remove disconnected SYSCTL 2024-01-09 23:15:44 +01:00
iicbus rk_i2c: emulate repeated start 2024-06-27 13:32:15 +03:00
imcsmb
intel
intpm
io
ioat
iommu iommu_gas_remove(): consolidate places where decision is made to keep the entry 2023-12-26 03:28:23 +02:00
ipmi change ipmi watchdog to awlays stop when system is halted 2024-01-28 14:45:16 +02:00
ips
ipw
irdma irdma: Use round{up,down}_pow_of_two 2024-06-24 02:20:49 -05:00
isci isci: Fix typo (triple S) 2023-12-27 20:24:31 -07:00
iscsi iscsi: Check for copyout errors in iscsi_ioctl_daemon_receive() 2023-12-25 21:04:01 -05:00
iser
isl
ismt
isp isp: fix ISPCTL_ABORT_CMD switch case 2024-06-25 16:56:12 +02:00
ispfw ispfw(4): Update and add firmware 2023-12-28 13:31:56 -05:00
itwd
iwi
iwm
iwn iwn(4): correct debug message: "not" to "no" 2024-06-05 22:05:12 +00:00
ixgbe
ixl
jedec_dimm jedec_dimm: Use device_set_descf() 2024-06-16 16:37:26 -04:00
jme
kbd
kbdmux
ksyms
kvm_clock
le
led
lge
liquidio liquidio: Use device_set_descf() 2024-06-16 16:37:26 -04:00
mailbox/arm
malo
mana log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
mbox
md md: round-trip the MUSTDEALLOC and RESERVE options 2024-06-01 12:40:19 -06:00
mdio
mem
mfi mfi: correct typo in sysctl/tunable description 2024-06-03 16:32:36 -04:00
mgb
mge
mii mii: Add support for Realtek RTL8211F-VD PHY 2024-05-08 18:17:00 +10:00
mlx
mlx4 mlx4, mlx5: Eliminate redundent NULL check for packet filter 2024-05-28 12:46:04 +08:00
mlx5 mlx5: use roundup_pow_of_two 2024-06-24 02:22:52 -05:00
mlxfw
mmc jh7110: enable MMC driver 2024-05-07 13:02:57 -03:00
mmcnull
mpi3mr mpi3mr: Track IO per target counter during queue poll with local variable 2024-06-06 10:39:16 +00:00
mpr mpr: endianess fix for set/get dpm page0 2024-01-31 17:33:05 -09:00
mps mps: Handle errors from copyout() in ioctl handlers 2023-12-25 21:04:01 -05:00
mpt
mrsas mrsas: don't reference the removed physical disk of RAID1 during IO submission 2024-03-12 09:51:48 +00:00
msk msk: Use device_set_descf() 2024-06-16 16:37:26 -04:00
mthca
mvs mvs: Use device_set_desc(f)() 2024-06-02 19:38:41 -04:00
mwl
mxge
my
nctgpio
ncthwm
neta clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
netmap netmap: Use device_set_descf() 2024-06-16 16:37:26 -04:00
nfe
nfsmb
nge
nmdm
ntb ntb: Add Intel Xeon Gen4 support 2024-02-07 15:14:58 -06:00
null
nvd
nvdimm
nvme nvme: avoid gcc -Werror=int-to-pointer-cast on 32-bit arch 2024-06-26 20:50:04 -07:00
nvmem nvmem: Move nvmem code in dev/nvmem 2024-01-10 19:20:31 +01:00
nvmf nvmf: Use device_set_descf() 2024-06-16 16:37:26 -04:00
nvram
oce oce: Use device_set_descf() 2024-06-16 16:37:26 -04:00
ocs_fc ocs: Check for copyin errors in the ioctl handler 2023-12-25 21:04:00 -05:00
ofw ofw: convert boolean_t to bool 2024-06-26 11:14:36 -03:00
otus
ow
p2sb
pbio
pccard
pccbb new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
pcf
pci iovctl: allow vlan restrictions to be passed to the driver 2024-06-17 10:50:15 +02:00
phy phy: Move phy code in dev/phy 2024-01-10 19:20:34 +01:00
pms pms: Fix typo (triple S) 2023-12-27 20:24:31 -07:00
powermac_nvram
ppbus
ppc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
proto proto: Use device_set_descf() 2024-06-02 19:38:41 -04:00
psci arm64: Support BTI checking in most of the kernel 2024-06-05 09:23:40 +00:00
pst
pty
puc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
pwm regulator: Move regulator code in dev/regulator 2024-01-10 19:20:32 +01:00
qat libkern: add ilog2 macro 2024-06-03 11:37:55 -05:00
qat_c2xxx
qcom_clk clk: Move clock code in dev/clk 2024-01-10 19:20:26 +01:00
qcom_dwc3 syscon: Move syscon code in dev/syscon 2024-01-10 19:20:37 +01:00
qcom_gcc hwreset: Move reset code in dev/hwreset 2024-01-10 19:20:28 +01:00
qcom_mdio
qcom_qup hwreset: Move reset code in dev/hwreset 2024-01-10 19:20:28 +01:00
qcom_rnd
qcom_tcsr
qcom_tlmm
qlnx log2: move log2 functions from linuxkpi to libkern 2024-06-24 02:00:31 -05:00
qlxgb
qlxgbe qlxgbe: fix debug prints in ql_os.c 2024-05-27 22:32:16 -07:00
qlxge qlxge: replace device_printf with QL_DPRINT2 2024-05-27 22:40:12 -07:00
quicc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
ral
random random(4): Fix a typo in a source code comment 2024-02-22 16:54:50 +01:00
rccgpio
re
regulator regulator: Move regulator code in dev/regulator 2024-01-10 19:20:32 +01:00
rl rl: Fix typo 2023-12-20 21:16:29 -07:00
rndtest
rtsx Fix new users of MAXPHYS and hide it from the kernel namespace 2024-04-30 15:29:06 -04:00
rtwn net80211: deal with lost state transitions 2024-02-14 19:47:21 +00:00
safe safe(4): Remove a double word in a source code comment 2024-04-20 14:12:23 +02:00
safexcel
sbni
scc new-bus: Remove the 'rid' and 'type' arguments from BUS_RELEASE_RESOURCE 2024-03-13 15:05:54 -07:00
sdhci sdhci_fsl_fdt(4): Actually use modified SDHCI capabilities 2024-02-05 23:43:48 +01:00
sdio
sec
sff
sfxge
sge
siis siis: Use device_set_desc(f)() 2024-06-02 19:38:41 -04:00
sis
sk sk(4): Fix a typo in a source code comment 2024-02-22 17:16:49 +01:00
smartpqi
smbios
smbus
smc
snp
sound sound: Remove outdated comment in dsp_oss_engineinfo() 2024-06-18 15:19:16 +02:00
speaker speaker: Use standard C bool 2024-02-05 15:45:32 -08:00
spibus hwreset: Move reset code in dev/hwreset 2024-01-10 19:20:28 +01:00
sram
ste
stge
sume
superio superio: Use device_set_descf() 2024-06-16 16:37:26 -04:00
sym
syscon syscon_power: do reboot after shutdown_panic is executed 2024-02-18 16:38:27 +02:00
syscons sc: Use current console rather than first console for mouse input 2024-01-14 09:24:41 -07:00
tcp_log
tdfx tdfx: Handle errors from copyin() and copyout() 2023-12-26 19:00:53 -05:00
ti ti: Handle errors from copyin() and copyout() 2023-12-26 18:58:24 -05:00
tpm tpm: Fix acpi attachment 2024-06-24 23:35:30 -06:00
tsec
tws
uart uart: Use device_set_descf() 2024-06-02 19:38:41 -04:00
usb Add some AMD device IDs. 2024-06-07 13:02:03 -04:00
veriexec
vge vge(4): Fix a typo in a source code comment 2024-02-27 13:42:10 +01:00
viapm
viawd
video
videomode
virtio p9fs: use M_WAITOK where appropriate 2024-06-24 22:02:13 -04:00
vkbd
vmd acpi/pci/vmd: Fix a nit with nested resource mapping requests 2024-06-04 16:51:14 -07:00
vmgenc
vmware vmxnet3: make descriptor count checks more robust 2024-06-10 11:04:47 +02:00
vnic vnic: fix compilation of an IPv6 only kernel 2024-02-06 22:47:16 +01:00
vr
vt
vte
watchdog
wbwd wbwd: Use device_set_descf() 2024-06-16 16:37:26 -04:00
wdatwd
wg wg: Implement if_transmit unconditionally 2024-06-16 13:33:45 -04:00
wpi
wtap wtap: Fix typos in kernel messages 2024-04-21 09:47:24 +02:00
xdma
xen xen/debug: remove usage of sbuf_{clear,finish}() on drained sbuf 2024-05-09 12:50:08 +02:00
xilinx
xl
xz
zlib