Skip to content

Conversation

@crawfxrd
Copy link
Member

@crawfxrd crawfxrd commented Sep 9, 2025

Proof of concept for moving logic from system76/common to drivers using the existing structure, starting with the following functionality:

  • dGPU: NVIDIA
  • USB-PD: TPS65987
  • WP security feature

TODO

  • Investigate use of structs with function pointers for drivers
    • Requires __reentrant for any functions using the pointers

@crawfxrd crawfxrd requested a review from jackpot51 September 9, 2025 00:40
@crawfxrd crawfxrd force-pushed the refactor-drivers branch 2 times, most recently from bc4107d to 0acb6e4 Compare November 19, 2025 00:37
- Boards select the specific `DRIVERS_DGPU_*` config
- Boards no longer select `HAVE_DGPU` directly
- `I2C_DGPU` is renamed to `DGPU_I2C`
- I2C controller selection is just the integer index

Does not address the fact the bonw14 uses the I2C controller declared
for dGPU access for KBLED access.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
- Boards select the specific `DRIVERS_USBPD_*` config
- Boards no longer select `HAVE_USBPD` directly
- `I2C_USBPD` is renamed to `USBPD_I2C`
- I2C controller selection is just the integer index

Signed-off-by: Tim Crawford <tcrawford@system76.com>
- No board change; continue selecting `SECURITY` config
- Security state enum moved to driver header
- Update related doc

Signed-off-by: Tim Crawford <tcrawford@system76.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant