mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-08-09 06:14:34 +02:00
Add pin-operstate enum and operstate_on_dpll_get callback to report the actual hardware status of a pin with respect to its parent DPLL device. Unlike pin-state (which reflects administrative intent set by the user), operstate reflects what the hardware is actually doing. Defined operational states: - active: pin is qualified and actively used by the DPLL - standby: pin is qualified but not actively used by the DPLL - no-signal: pin does not have a valid signal - qual-failed: pin signal failed qualification The operstate is reported inside the pin-parent-device nested attribute alongside the existing state and phase-offset attributes. Signed-off-by: Ivan Vecera <ivecera@redhat.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Petr Oros <poros@redhat.com> Link: https://patch.msgid.link/20260428154907.2820654-2-ivecera@redhat.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
52 lines
2.0 KiB
C
52 lines
2.0 KiB
C
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
/* Do not edit directly, auto-generated from: */
|
|
/* Documentation/netlink/specs/dpll.yaml */
|
|
/* YNL-GEN kernel header */
|
|
/* To regenerate run: tools/net/ynl/ynl-regen.sh */
|
|
|
|
#ifndef _LINUX_DPLL_GEN_H
|
|
#define _LINUX_DPLL_GEN_H
|
|
|
|
#include <net/netlink.h>
|
|
#include <net/genetlink.h>
|
|
|
|
#include <uapi/linux/dpll.h>
|
|
|
|
/* Common nested types */
|
|
extern const struct nla_policy dpll_pin_parent_device_nl_policy[DPLL_A_PIN_OPERSTATE + 1];
|
|
extern const struct nla_policy dpll_pin_parent_pin_nl_policy[DPLL_A_PIN_STATE + 1];
|
|
extern const struct nla_policy dpll_reference_sync_nl_policy[DPLL_A_PIN_STATE + 1];
|
|
|
|
int dpll_lock_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
|
|
struct genl_info *info);
|
|
int dpll_pre_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
|
|
struct genl_info *info);
|
|
int dpll_pin_pre_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
|
|
struct genl_info *info);
|
|
void
|
|
dpll_unlock_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
|
|
struct genl_info *info);
|
|
void
|
|
dpll_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
|
|
struct genl_info *info);
|
|
void
|
|
dpll_pin_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
|
|
struct genl_info *info);
|
|
|
|
int dpll_nl_device_id_get_doit(struct sk_buff *skb, struct genl_info *info);
|
|
int dpll_nl_device_get_doit(struct sk_buff *skb, struct genl_info *info);
|
|
int dpll_nl_device_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
|
|
int dpll_nl_device_set_doit(struct sk_buff *skb, struct genl_info *info);
|
|
int dpll_nl_pin_id_get_doit(struct sk_buff *skb, struct genl_info *info);
|
|
int dpll_nl_pin_get_doit(struct sk_buff *skb, struct genl_info *info);
|
|
int dpll_nl_pin_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
|
|
int dpll_nl_pin_set_doit(struct sk_buff *skb, struct genl_info *info);
|
|
|
|
enum {
|
|
DPLL_NLGRP_MONITOR,
|
|
};
|
|
|
|
extern struct genl_family dpll_nl_family;
|
|
|
|
#endif /* _LINUX_DPLL_GEN_H */
|