summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIvan Vecera <ivecera@redhat.com>2026-01-14 13:27:25 +0100
committerJakub Kicinski <kuba@kernel.org>2026-01-19 12:04:53 -0800
commite3f6c65192fe484ab16f0be2b495ceef5ca3b85c (patch)
tree43e5d0784b3756d1469fba1f7fc334f1b688c04f /include
parentb1f99cc8863847676d4a7329ffb668a030150d99 (diff)
dpll: add dpll_device op to set working mode
Currently, userspace can retrieve the DPLL working mode but cannot configure it. This prevents changing the device operation, such as switching from manual to automatic mode and vice versa. Add a new callback .mode_set() to struct dpll_device_ops. Extend the netlink policy and device-set command handling to process the DPLL_A_MODE attribute. Update the netlink YAML specification to include the mode attribute in the device-set operation. Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Signed-off-by: Ivan Vecera <ivecera@redhat.com> Link: https://patch.msgid.link/20260114122726.120303-3-ivecera@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/dpll.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/dpll.h b/include/linux/dpll.h
index 912a2ca3e0ee..c6d0248fa527 100644
--- a/include/linux/dpll.h
+++ b/include/linux/dpll.h
@@ -20,6 +20,8 @@ struct dpll_pin_esync;
struct dpll_device_ops {
int (*mode_get)(const struct dpll_device *dpll, void *dpll_priv,
enum dpll_mode *mode, struct netlink_ext_ack *extack);
+ int (*mode_set)(const struct dpll_device *dpll, void *dpll_priv,
+ enum dpll_mode mode, struct netlink_ext_ack *extack);
int (*supported_modes_get)(const struct dpll_device *dpll,
void *dpll_priv, unsigned long *modes,
struct netlink_ext_ack *extack);