summaryrefslogtreecommitdiff
path: root/extra/i2c_pseudo/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* ish: Trim down the release branchstabilize-wristpin-14469.59.B-ishstabilize-voshyr-14637.B-ishstabilize-quickfix-14695.187.B-ishstabilize-quickfix-14695.124.B-ishstabilize-quickfix-14526.91.B-ishstabilize-14695.85.B-ishstabilize-14695.107.B-ishstabilize-14682.B-ishstabilize-14633.B-ishstabilize-14616.B-ishstabilize-14589.B-ishstabilize-14588.98.B-ishstabilize-14588.14.B-ishstabilize-14588.123.B-ishstabilize-14536.B-ishstabilize-14532.B-ishstabilize-14528.B-ishstabilize-14526.89.B-ishstabilize-14526.84.B-ishstabilize-14526.73.B-ishstabilize-14526.67.B-ishstabilize-14526.57.B-ishstabilize-14498.B-ishstabilize-14496.B-ishstabilize-14477.B-ishstabilize-14469.9.B-ishstabilize-14469.8.B-ishstabilize-14469.58.B-ishstabilize-14469.41.B-ishstabilize-14442.B-ishstabilize-14438.B-ishstabilize-14411.B-ishstabilize-14396.B-ishstabilize-14395.B-ishstabilize-14388.62.B-ishstabilize-14388.61.B-ishstabilize-14388.52.B-ishstabilize-14385.B-ishstabilize-14345.B-ishstabilize-14336.B-ishstabilize-14333.B-ishrelease-R99-14469.B-ishrelease-R98-14388.B-ishrelease-R102-14695.B-ishrelease-R101-14588.B-ishrelease-R100-14526.B-ishfirmware-cherry-14454.B-ishfirmware-brya-14505.B-ishfirmware-brya-14505.71.B-ishfactory-kukui-14374.B-ishfactory-guybrush-14600.B-ishfactory-cherry-14455.B-ishfactory-brya-14517.B-ishJack Rosenthal2021-11-051-21/+0
| | | | | | | | | | | | | | | | | | | | | | In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* i2c-pseudo: Fall back on nonseekable_open when stream_open is unavailable.Matthew Blecker2020-05-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The FROMLIST revision of i2c-pseudo is targeted at the newest Linux versions, which have new stream_open function and it is preferred for a pure I/O stream device. However updating to the FROMLIST i2c-pseudo broke compilation with older kernels that lack stream_open. Since Linux kernel versions as old as 4.18 are still in common use among Chrome OS developers, this fixes compatibility by checking for nonseekable_open and stream_open symbols. nonseekable_open is only used when stream_open is not found and nonseekable_open is found. Otherwise stream_open is used. BRANCH=none BUG=none TEST=With Linux 4.18 and Linux 5.2: $ make $ # With 4.18 matches nonseekable_open, with 5.2 matches stream_open. $ strings i2c-pseudo.ko | grep -E -m1 '^(nonseekable_open|stream_open)$' $ make clean $ ./install Signed-off-by: Matthew Blecker <matthewb@chromium.org> Change-Id: I62c44b1b63e7c4c6a9683be547baa341747f5efa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2205294 Reviewed-by: Harry Cutts <hcutts@chromium.org>
* Add i2c-pseudo Linux kernel module.Matthew Blecker2019-03-301-0/+10
This Linux kernel module provides I2C adapters that can be backed by userspace programs. This allows for userspace implementations of functionality such as tunneling I2C through another communication channel to a remote I2C bus. BRANCH=none BUG=b:79684405 TEST=Used i2c-tools CLI to i2c-dev to issue I2C queries, and Python interactive interpreter as the I2C pseudo adapter controller. The i2c-pseudo module correctly proxied write, read, write+read, and multi-byte reads through the controller character device, and it correctly proxied back the responses from the character device, including the specific byte values read. Later, I implemented an I2C pseudo controller in Servod and used it to flash an ITE EC over I2C using both Servo Micro and Suzy-Q. Change-Id: Idda764e56b9e9d577302b59286e873291ea36d25 Signed-off-by: Matthew Blecker <matthewb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1250029 Reviewed-by: Nick Sanders <nsanders@chromium.org>