From: Jakub Kicinski <kuba@kernel.org>
To: "Kubalewski, Arkadiusz" <arkadiusz.kubalewski@intel.com>,
Vadim Fedorenko <vadfed@meta.com>
Cc: "Jiri Pirko" <jiri@resnulli.us>,
Jonathan Lemon <jonathan.lemon@gmail.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>
Subject: Re: [RFC PATCH v5 0/4] Create common DPLL/clock configuration API
Date: Wed, 18 Jan 2023 16:15:25 -0800 [thread overview]
Message-ID: <20230118161525.01d6b94f@kernel.org> (raw)
In-Reply-To: <DM6PR11MB4657644893C565877A71E1F19BC79@DM6PR11MB4657.namprd11.prod.outlook.com>
On Wed, 18 Jan 2023 18:07:53 +0000 Kubalewski, Arkadiusz wrote:
> Based on today's sync meeting, changes we are going to introduce in next
> version:
> - reduce the muxed-pin number (artificial multiplication) on list of dpll's
> pins, have a single pin which can be connected with multiple parents,
> - introduce separated get command for the pin attributes,
> - allow infinite name length of dpll device,
> - remove a type embedded in dpll's name and introduce new attribute instead,
> - remove clock class attribute as it is not known by the driver without
> compliance testing on given SW/HW configuration,
> - add dpll device "default" quality level attribute, as shall be known
> by driver for a given hardware.
I converted the patches to use the spec, and pushed them out here:
https://github.com/kuba-moo/ynl/tree/dpll
I kept the conversion step-by-step to help the readers a bit but
the conversion patches should all be squashed into the main DPLL patch.
The patches are on top of my YNL branch ('main' in that repo).
I'll post the YNL patches later today, so hopefully very soon they will
be upstream.
Two major pieces of work which I didn't do for DPLL:
- docs - I dropped most of the kdocs, the copy-n-pasting was too much;
if you want to keep the docs in the uAPI you need to add the
appropriate stuff in the spec (look at the definition of
pin-signal-type for an example of a fully documented enum)
- the notifications are quite unorthodox in the current
implementation, so I faked the enums :S
Usually the notification is the same as the response to a get.
IIRC 'notify' and 'event' operation types should be used in the spec.
There is documentation on the specs in
Documentation/userspace-api/netlink/ which should give some idea of how
things work. There is also another example of a spec here:
https://github.com/kuba-moo/ynl/blob/psp/Documentation/netlink/specs/psp.yaml
To regenerate the C code after changes to YAML:
./tools/net/ynl/ynl-regen.sh
if the Python script doing the generation dies and eats the files -
bring them back with:
git checkout drivers/dpll/dpll_nl.c drivers/dpll/dpll_nl.h \
include/uapi/linux/dpll.h
There is a "universal CLI" script in:
./tools/net/ynl/samples/cli.py
which should be able to take in JSON requests and output JSON responses.
I'm improvising, because I don't have any implementation to try it
out, but something like:
./tools/net/ynl/samples/cli.py \
--spec Documentation/netlink/specs/dpll.yaml \
--do device-get --json '{"id": 1}'
should pretty print the info about device with id 1. Actually - it
probably won't because I didn't fill in all the attrs in the pin nest.
But with a bit more work on the spec it should work.
Would you be able to finish this conversion. Just LMK if you have any
problems, the edges are definitely very sharp at this point.
next prev parent reply other threads:[~2023-01-19 0:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-17 18:00 [RFC PATCH v5 0/4] Create common DPLL/clock configuration API Vadim Fedorenko
2023-01-17 18:00 ` [RFC PATCH v5 1/4] dpll: Add DPLL framework base functions Vadim Fedorenko
2023-01-19 17:16 ` Jiri Pirko
2023-01-20 12:56 ` Jiri Pirko
2023-01-27 18:12 ` Kubalewski, Arkadiusz
2023-01-27 18:12 ` Kubalewski, Arkadiusz
2023-01-31 14:00 ` Jiri Pirko
2023-02-06 2:00 ` Kubalewski, Arkadiusz
2023-02-07 14:15 ` Jiri Pirko
2023-03-07 12:23 ` Kubalewski, Arkadiusz
2023-03-07 14:10 ` Jiri Pirko
2023-01-17 18:00 ` [RFC PATCH v5 2/4] dpll: documentation on DPLL subsystem interface Vadim Fedorenko
2023-01-17 18:00 ` [RFC PATCH v5 3/4] ice: add admin commands to access cgu configuration Vadim Fedorenko
2023-01-17 18:00 ` [RFC PATCH v5 4/4] ice: implement dpll interface to control cgu Vadim Fedorenko
2023-01-19 14:54 ` Jiri Pirko
2023-01-27 18:13 ` Kubalewski, Arkadiusz
2023-01-31 13:00 ` Jiri Pirko
2023-03-07 12:24 ` Kubalewski, Arkadiusz
2023-01-18 18:07 ` [RFC PATCH v5 0/4] Create common DPLL/clock configuration API Kubalewski, Arkadiusz
2023-01-19 0:15 ` Jakub Kicinski [this message]
2023-01-19 11:48 ` Jiri Pirko
2023-01-19 17:23 ` Kubalewski, Arkadiusz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230118161525.01d6b94f@kernel.org \
--to=kuba@kernel.org \
--cc=arkadiusz.kubalewski@intel.com \
--cc=jiri@resnulli.us \
--cc=jonathan.lemon@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=vadfed@meta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).