lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220518204119.38943-1-eajames@linux.ibm.com>
Date:   Wed, 18 May 2022 15:41:17 -0500
From:   Eddie James <eajames@...ux.ibm.com>
To:     linux-i2c@...r.kernel.org
Cc:     linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org,
        jic23@...nel.org, lars@...afoo.de, wsa@...nel.org,
        milton@...ibm.com, peda@...ntia.se,
        Eddie James <eajames@...ux.ibm.com>
Subject: [RFC 0/2] i2c: core and si7020: Add adapter transfer callback

This series adds a callback function pointer to be executed after the
adapter performs a transfer. The purpose of such a callback is for a
client to execute some code while "owning" the bus entirely. Holding the
adapter lock is insufficient in the case where the client is behind a
mux, as the mux driver could perform mux selection operations on the
bus while locked. The only use case for now is the SI7020 driver. While
the SI7020 is starting up after power on or reset, any I2C commands on the
bus can potentially upset the startup sequence. Since the SI7020 may be
behind a mux, the driver needs to use the new transfer callback to sleep
while the chip starts up.

Eddie James (2):
  i2c: core: Add adapter transfer callback
  iio: humidity: si7020: Use core transfer callback to sleep after reset

 drivers/i2c/i2c-core-base.c   |  3 +++
 drivers/iio/humidity/si7020.c | 12 ++++++++++--
 include/linux/i2c.h           | 25 +++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 2 deletions(-)

-- 
2.27.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ