From 28f363015aea55fcb323b97d97bdf2e4fff0cf4d Mon Sep 17 00:00:00 2001 From: Jakub Kicinski Date: Fri, 4 Sep 2026 12:10:21 -0700 Subject: netlink: specs: dpll: drop the pin-set attributes nothing implements pin-set advertises top level direction, prio and state, so the generated policy accepts them and the generated user space API grows setters for them. dpll_pin_set_from_nlattr() has cases only for FREQUENCY, PHASE_ADJUST, PARENT_DEVICE, PARENT_PIN, ESYNC_FREQUENCY and REFERENCE_SYNC - the request succeeds, does nothing and produces no extack. The three values are only actionable inside the parent-device nest, where dpll_pin_parent_device_set() handles them next to DPLL_A_PIN_PARENT_ID, which is what makes them meaningful: a pin can be registered with more than one device. Never implemented - "git log -S 'case DPLL_A_PIN_PRIO'" on dpll_netlink.c comes up empty - the spec has advertised them since commit 3badff3a25d8 ("dpll: spec: Add Netlink spec in YAML"). Note that this does change what the kernel accepts: sending one of the three now fails validation instead of being ignored. Reviewed-by: Vadim Fedorenko Link: https://patch.msgid.link/20260904191023.3869690-3-kuba@kernel.org Signed-off-by: Jakub Kicinski --- Documentation/netlink/specs/dpll.yaml | 3 --- drivers/dpll/dpll_nl.c | 3 --- 2 files changed, 6 deletions(-) diff --git a/Documentation/netlink/specs/dpll.yaml b/Documentation/netlink/specs/dpll.yaml index 64a45088c027..93e546ba1f56 100644 --- a/Documentation/netlink/specs/dpll.yaml +++ b/Documentation/netlink/specs/dpll.yaml @@ -760,9 +760,6 @@ operations: attributes: - id - frequency - - direction - - prio - - state - parent-device - parent-pin - phase-adjust diff --git a/drivers/dpll/dpll_nl.c b/drivers/dpll/dpll_nl.c index b1ba490e72b0..3bdabbf2b931 100644 --- a/drivers/dpll/dpll_nl.c +++ b/drivers/dpll/dpll_nl.c @@ -78,9 +78,6 @@ static const struct nla_policy dpll_pin_get_dump_nl_policy[DPLL_A_PIN_ID + 1] = static const struct nla_policy dpll_pin_set_nl_policy[DPLL_A_PIN_REFERENCE_SYNC + 1] = { [DPLL_A_PIN_ID] = { .type = NLA_U32, }, [DPLL_A_PIN_FREQUENCY] = { .type = NLA_U64, }, - [DPLL_A_PIN_DIRECTION] = NLA_POLICY_RANGE(NLA_U32, 1, 2), - [DPLL_A_PIN_PRIO] = { .type = NLA_U32, }, - [DPLL_A_PIN_STATE] = NLA_POLICY_RANGE(NLA_U32, 1, 3), [DPLL_A_PIN_PARENT_DEVICE] = NLA_POLICY_NESTED(dpll_pin_parent_device_nl_policy), [DPLL_A_PIN_PARENT_PIN] = NLA_POLICY_NESTED(dpll_pin_parent_pin_nl_policy), [DPLL_A_PIN_PHASE_ADJUST] = { .type = NLA_S32, }, -- cgit v1.2.3