Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ChibiOS/ARM i2c_master mutex #7967

Merged
merged 1 commit into from
Feb 1, 2020
Merged

ChibiOS/ARM i2c_master mutex #7967

merged 1 commit into from
Feb 1, 2020

Conversation

tzarc
Copy link
Member

@tzarc tzarc commented Jan 22, 2020

Description

Adds thread safety when I2C_USE_MUTUAL_EXCLUSION=TRUE.
Small amount of cleanup as well, saves a whole byte of RAM!

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@tzarc tzarc marked this pull request as ready for review January 22, 2020 19:42
@yiancar
Copy link
Contributor

yiancar commented Jan 22, 2020

thanks for the cleanup! out of curiosity did you come with a scenario that you need to I2C_USE_MUTUAL_EXCLUSION=TRUE ?

@tzarc
Copy link
Member Author

tzarc commented Jan 22, 2020

Yes and no; it's mainly for being a "good ChibiOS citizen" -- I'd been working on some other driver stuff for a split serial transport using command buffers and tasks, and struck an issue there. Figured the i2c_master could do with the same treatment, considering the same pattern is used in other places inside ChibiOS and Contrib already.

@yiancar
Copy link
Contributor

yiancar commented Jan 22, 2020

cool cool!

drivers/arm/i2c_master.c Outdated Show resolved Hide resolved
@drashna drashna requested a review from a team January 31, 2020 04:22
@tzarc tzarc merged commit 8e550fc into qmk:master Feb 1, 2020
@tzarc tzarc mentioned this pull request Feb 21, 2020
13 tasks
tzarc added a commit to tzarc/qmk_firmware that referenced this pull request Feb 22, 2020
tzarc added a commit that referenced this pull request Feb 23, 2020
Shinichi-Ohki added a commit to Shinichi-Ohki/qmk_firmware that referenced this pull request Feb 25, 2020
* 'master' of https://github.com/qmk/qmk_firmware: (108 commits)
  `send_unicode_string()`: Add support for code points > 0xFFFF (qmk#8236)
  [Keyboard] Add Wete (qmk#8229)
  Improvements to extrakey HID descriptors (qmk#8156)
  Hineybush h87a lock indicators (qmk#8237)
  Add VIA support for Prime_L (qmk#8233)
  Hub16 - Bug removal + clean up code (qmk#8227)
  [Keyboard] ai03 Equinox (qmk#8224)
  [Keyboard] Add zfrontier/big_switch (qmk#8205)
  Gingham Update (qmk#8225)
  A proper `send_string()` for the Unicode feature (qmk#8155)
  Rollback PR qmk#7967 in preference of fixing I2C start/stop properly, in a followup PR. (qmk#8173)
  Add mouse support to SEND_STRING (qmk#8223)
  Add link to "Useful functions" in macro docs (qmk#7446)
  New functionality for cformat (qmk#7893)
  Update main.c (qmk#8198)
  format code according to conventions [skip ci]
  Fix QWIIC OLED for AVR (qmk#7769)
  VIA Support: KBD75 rev1/rev2 (qmk#8214)
  Update TMOv2 for new key (qmk#7759)
  Added custom keymap for preonic (qmk#7548)
  ...
nesth pushed a commit to nesth/qmk_firmware that referenced this pull request Feb 27, 2020
* upstream/master: (26 commits)
  Fixed OS detection such that OSX doesn't take over the world (qmk#8248)
  [Keyboard] Add Prime_EXL Plus to handwired (qmk#8238)
  format code according to conventions [skip ci]
  New feature: PERMISSIVE_HOLD_PER_KEY (qmk#7994)
  Split - Avoid race condition during matrix_init_quantum (qmk#8235)
  Acheron VIA support (qmk#8204)
  `send_unicode_string()`: Add support for code points > 0xFFFF (qmk#8236)
  [Keyboard] Add Wete (qmk#8229)
  Improvements to extrakey HID descriptors (qmk#8156)
  Hineybush h87a lock indicators (qmk#8237)
  Add VIA support for Prime_L (qmk#8233)
  Hub16 - Bug removal + clean up code (qmk#8227)
  [Keyboard] ai03 Equinox (qmk#8224)
  [Keyboard] Add zfrontier/big_switch (qmk#8205)
  Gingham Update (qmk#8225)
  A proper `send_string()` for the Unicode feature (qmk#8155)
  Rollback PR qmk#7967 in preference of fixing I2C start/stop properly, in a followup PR. (qmk#8173)
  Add mouse support to SEND_STRING (qmk#8223)
  Add link to "Useful functions" in macro docs (qmk#7446)
  New functionality for cformat (qmk#7893)
  ...
@tzarc tzarc deleted the chibios-i2c-mutex branch February 29, 2020 22:34
HokieGeek pushed a commit to HokieGeek/qmk_firmware that referenced this pull request Mar 5, 2020
c0psrul3 pushed a commit to c0psrul3/qmk_firmware that referenced this pull request Mar 23, 2020
sowbug pushed a commit to sowbug/qmk_firmware that referenced this pull request Apr 2, 2020
kylekuj pushed a commit to kylekuj/qmk_firmware that referenced this pull request Apr 21, 2020
jakeisnt pushed a commit to jakeisnt/qmk_firmware that referenced this pull request Aug 20, 2020
@zvecr zvecr mentioned this pull request Sep 7, 2021
19 tasks
BorisTestov pushed a commit to BorisTestov/qmk_firmware that referenced this pull request May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants