Hi Herve,
On Wed, Aug 9, 2023 at 3:28 PM Herve Codina herve.codina@bootlin.com wrote:
A framer is a component in charge of an E1/T1 line interface. Connected usually to a TDM bus, it converts TDM frames to/from E1/T1 frames. It also provides information related to the E1/T1 line.
The framer framework provides a set of APIs for the framer drivers (framer provider) to create/destroy a framer and APIs for the framer users (framer consumer) to obtain a reference to the framer, and use the framer.
This basic implementation provides a framer abstraction for:
- power on/off the framer
- get the framer status (line state)
- be notified on framer status changes
- get/set the framer configuration
Signed-off-by: Herve Codina herve.codina@bootlin.com Reviewed-by: Christophe Leroy christophe.leroy@csgroup.eu
I love it, very clear commit message telling us what it is all about.
The placement in the WAN subsystem also hints that this has something to do with long distance links (relative to something) so maybe mention that?
+menu "Framer Subsystem"
+config GENERIC_FRAMER
bool "Framer Core"
help
Generic Framer support.
This framework is designed to provide a generic interface for framer
devices present in the kernel. This layer will have the generic
API by which framer drivers can create framer using the framer
framework and framer users can obtain reference to the framer.
All the users of this framework should select this config.
But this description just says this is a framing framer that frames frames ;)
So please copy some of the nice description from the commit message into this Kconfig helptext.
Is "long distance link time division multiplexing (TDM) framer" more to the point for example? Or is the ambition to frame other multiplexing techniques as well with this subsystem? Such as FDM? Then mention that.
Yours, Linus Walleij