-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Open
Labels
Architecture ReviewDiscussion in the Architecture WG requiredDiscussion in the Architecture WG requiredEnhancementChanges/Updates/Additions to existing featuresChanges/Updates/Additions to existing features
Description
Summary
In Zephyr we have two distinct ways of achieving a similar result:
- Driver classes (
drivers/) which offer a common API that encapsulates a hardware feature and then has multiple hardware-specific implementations - Libraries, which are usually self-contained reusable units of code that do not interact with the hardware
- Subsystems, which typically implement a higher-level API that is hardware agnostic and is not tied to pure hardware feature but rather something higher level, and that then have a concept of "backends" each of which is typically a different "transport"
Describe the solution you'd like
Define and describe in the documentation clear guidelines to determine whether a new feature should be added as a new driver class or a new subsystem.
Alternatives
No response
Additional Context
No response
Metadata
Metadata
Assignees
Labels
Architecture ReviewDiscussion in the Architecture WG requiredDiscussion in the Architecture WG requiredEnhancementChanges/Updates/Additions to existing featuresChanges/Updates/Additions to existing features
Type
Projects
Status
In Progress