blob: f8a462d5dc21bebb2d1b7aa441fa41ecb55834c9 [file] [log] [blame]
developerac95e9f2024-03-06 21:54:37 +08001/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (c) 2023 Airoha Inc.
4 * Author: Min Yao <min.yao@airoha.com>
5 */
6
7#ifndef _AN8855_NL_H_
8#define _AN8855_NL_H_
9
10#define AN8855_DSA_GENL_NAME "an8855_dsa"
11#define AN8855_GENL_VERSION 0x1
12
13enum an8855_cmd {
14 AN8855_CMD_UNSPEC = 0,
15 AN8855_CMD_REQUEST,
16 AN8855_CMD_REPLY,
17 AN8855_CMD_READ,
18 AN8855_CMD_WRITE,
19
20 __AN8855_CMD_MAX,
21};
22
23enum an8855_attr {
24 AN8855_ATTR_TYPE_UNSPEC = 0,
25 AN8855_ATTR_TYPE_MESG,
26 AN8855_ATTR_TYPE_PHY,
27 AN8855_ATTR_TYPE_DEVAD,
28 AN8855_ATTR_TYPE_REG,
29 AN8855_ATTR_TYPE_VAL,
30 AN8855_ATTR_TYPE_DEV_NAME,
31 AN8855_ATTR_TYPE_DEV_ID,
32
33 __AN8855_ATTR_TYPE_MAX,
34};
35
36#define AN8855_NR_ATTR_TYPE (__AN8855_ATTR_TYPE_MAX - 1)
37
38#ifdef __KERNEL__
39int an8855_nl_init(struct an8855_priv **priv);
40void an8855_nl_exit(void);
41#endif /* __KERNEL__ */
42
43#endif /* _AN8855_NL_H_ */