Nova and its uAPI are under active upstream development. We want to develop
these interfaces upstream while making clear that they are not yet stable and
may change incompatibly.

This series makes that status more explicit and requires users to acknowledge it
before enabling the driver, tainting the kernel when they do.

Introduce a minimal Rust abstraction for kernel tainting in order to support
this.

As individual interfaces stabilize, they should move from nova_drm_unstable.h to
the stable nova_drm.h header. Once all interfaces have moved and all
stakeholders agree that the uAPI is stable, the acknowledgment requirement and
kernel tainting can be removed.

(Compile-tested only, as I'm currently travelling.)

Danilo Krummrich (3):
  drm/nova: mark the uAPI header as unstable
  rust: add kernel taint abstraction
  drm/nova: require explicit opt-in to unstable uAPI

 drivers/gpu/drm/nova/Kconfig             |  11 +-
 drivers/gpu/drm/nova/nova.rs             |  55 +++++-
 drivers/gpu/drm/nova/nova_drm_unstable.h | 212 +++++++++++++++++++++++
 include/uapi/drm/nova_drm.h              | 204 +---------------------
 rust/bindings/bindings_helper.h          |   1 +
 rust/kernel/lib.rs                       |   1 +
 rust/kernel/panic.rs                     |  50 ++++++
 rust/uapi/uapi_helper.h                  |   2 +
 8 files changed, 332 insertions(+), 204 deletions(-)
 create mode 100644 drivers/gpu/drm/nova/nova_drm_unstable.h
 create mode 100644 rust/kernel/panic.rs


base-commit: 3497a403264b094ebd61b8b755165d56e7d9dc37
-- 
2.56.0

Reply via email to