mbox series

[RFC,v1,0/3] Create common DPLL/clock configuration API

Message ID 20220623005717.31040-1-vfedorenko@novek.ru (mailing list archive)
Headers show
Series Create common DPLL/clock configuration API | expand

Message

Vadim Fedorenko June 23, 2022, 12:57 a.m. UTC
From: Vadim Fedorenko <vadfed@fb.com>

Implement common API for clock/DPLL configuration and status reporting.
The API utilises netlink interface as transport for commands and event
notifications. This API aim to extend current pin configuration and
make it flexible and easy to cover special configurations.

v0 -> v1:
 * fix code style and errors
 * add linux-arm mailing list

Vadim Fedorenko (3):
  dpll: Add DPLL framework base functions
  dpll: add netlink events
  ptp_ocp: implement DPLL ops

 MAINTAINERS                 |   8 +
 drivers/Kconfig             |   2 +
 drivers/Makefile            |   1 +
 drivers/dpll/Kconfig        |   7 +
 drivers/dpll/Makefile       |   7 +
 drivers/dpll/dpll_core.c    | 154 ++++++++++
 drivers/dpll/dpll_core.h    |  40 +++
 drivers/dpll/dpll_netlink.c | 578 ++++++++++++++++++++++++++++++++++++
 drivers/dpll/dpll_netlink.h |  14 +
 drivers/ptp/Kconfig         |   1 +
 drivers/ptp/ptp_ocp.c       |  86 ++++++
 include/linux/dpll.h        |  25 ++
 include/uapi/linux/dpll.h   |  77 +++++
 13 files changed, 1000 insertions(+)
 create mode 100644 drivers/dpll/Kconfig
 create mode 100644 drivers/dpll/Makefile
 create mode 100644 drivers/dpll/dpll_core.c
 create mode 100644 drivers/dpll/dpll_core.h
 create mode 100644 drivers/dpll/dpll_netlink.c
 create mode 100644 drivers/dpll/dpll_netlink.h
 create mode 100644 include/linux/dpll.h
 create mode 100644 include/uapi/linux/dpll.h

Comments

Florian Fainelli June 24, 2022, 5:20 p.m. UTC | #1
On 6/22/22 17:57, Vadim Fedorenko wrote:
> From: Vadim Fedorenko <vadfed@fb.com>
> 
> Implement common API for clock/DPLL configuration and status reporting.
> The API utilises netlink interface as transport for commands and event
> notifications. This API aim to extend current pin configuration and
> make it flexible and easy to cover special configurations.

Any reasons why you are not copying the Linux common clock framework 
maintainers and not seeking to get your code included under drivers/clk/ 
where it would seem like a more natural place for it?

Is netlink really a necessary configuration interface for those devices?
Jakub Kicinski June 24, 2022, 5:55 p.m. UTC | #2
On Fri, 24 Jun 2022 10:20:44 -0700 Florian Fainelli wrote:
> On 6/22/22 17:57, Vadim Fedorenko wrote:
> > Implement common API for clock/DPLL configuration and status reporting.
> > The API utilises netlink interface as transport for commands and event
> > notifications. This API aim to extend current pin configuration and
> > make it flexible and easy to cover special configurations.  
> 
> Any reasons why you are not copying the Linux common clock framework 
> maintainers and not seeking to get your code included under drivers/clk/ 
> where it would seem like a more natural place for it?
> 
> Is netlink really a necessary configuration interface for those devices?

Sorry, likely my fault. Vadim asked me who to CC and I suggested to just
hit linux-arm-kernel assuming it's the best place for chance encounters
with embedded folks. An assumption based on no real data or experience.

Regarding the clock framework I think I brought that suggestion up in
the mega thread when Maciej M proposed the SyncE support and putting
all the PLL info directly in rtnetlink. There wasn't much support,
and perhaps that's fair, clock generation vs runtime DPLL config for
time source purposes are different use cases.

With that longish excuse out of the way, CCing linux-clk now, here's
the lore link to the thread:

https://lore.kernel.org/r/20220623005717.31040-2-vfedorenko@novek.ru/