summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/include/rtems/bsd/local/regnode_if.h
blob: 7e40debd035d0bfe46235b5667da4266aa20da10 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
 * This file is @generated automatically.
 * Do not modify anything in here by hand.
 *
 * Created from source file
 *   freebsd-org/sys/dev/extres/regulator/regnode_if.m
 * with
 *   makeobjops.awk
 *
 * See the source file for legal information
 */


#ifndef _regnode_if_h_
#define _regnode_if_h_


struct regnode;

/** @brief Unique descriptor for the REGNODE_INIT() method */
extern struct kobjop_desc regnode_init_desc;
/** @brief A function implementing the REGNODE_INIT() method */
typedef int regnode_init_t(struct regnode *regnode);

static __inline int REGNODE_INIT(struct regnode *regnode)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_init);
	rc = ((regnode_init_t *) _m)(regnode);
	return (rc);
}

/** @brief Unique descriptor for the REGNODE_ENABLE() method */
extern struct kobjop_desc regnode_enable_desc;
/** @brief A function implementing the REGNODE_ENABLE() method */
typedef int regnode_enable_t(struct regnode *regnode, bool enable, int *udelay);

static __inline int REGNODE_ENABLE(struct regnode *regnode, bool enable,
                                   int *udelay)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_enable);
	rc = ((regnode_enable_t *) _m)(regnode, enable, udelay);
	return (rc);
}

/** @brief Unique descriptor for the REGNODE_STATUS() method */
extern struct kobjop_desc regnode_status_desc;
/** @brief A function implementing the REGNODE_STATUS() method */
typedef int regnode_status_t(struct regnode *regnode, int *status);

static __inline int REGNODE_STATUS(struct regnode *regnode, int *status)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_status);
	rc = ((regnode_status_t *) _m)(regnode, status);
	return (rc);
}

/** @brief Unique descriptor for the REGNODE_SET_VOLTAGE() method */
extern struct kobjop_desc regnode_set_voltage_desc;
/** @brief A function implementing the REGNODE_SET_VOLTAGE() method */
typedef int regnode_set_voltage_t(struct regnode *regnode, int min_uvolt,
                                  int max_uvolt, int *udelay);

static __inline int REGNODE_SET_VOLTAGE(struct regnode *regnode, int min_uvolt,
                                        int max_uvolt, int *udelay)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_set_voltage);
	rc = ((regnode_set_voltage_t *) _m)(regnode, min_uvolt, max_uvolt, udelay);
	return (rc);
}

/** @brief Unique descriptor for the REGNODE_GET_VOLTAGE() method */
extern struct kobjop_desc regnode_get_voltage_desc;
/** @brief A function implementing the REGNODE_GET_VOLTAGE() method */
typedef int regnode_get_voltage_t(struct regnode *regnode, int *uvolt);

static __inline int REGNODE_GET_VOLTAGE(struct regnode *regnode, int *uvolt)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_get_voltage);
	rc = ((regnode_get_voltage_t *) _m)(regnode, uvolt);
	return (rc);
}

/** @brief Unique descriptor for the REGNODE_STOP() method */
extern struct kobjop_desc regnode_stop_desc;
/** @brief A function implementing the REGNODE_STOP() method */
typedef int regnode_stop_t(struct regnode *regnode, int *udelay);

static __inline int REGNODE_STOP(struct regnode *regnode, int *udelay)
{
	kobjop_t _m;
	int rc;
	KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_stop);
	rc = ((regnode_stop_t *) _m)(regnode, udelay);
	return (rc);
}

#endif /* _regnode_if_h_ */