summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/include/rtems/bsd/local/gpiobus_if.h
blob: fb270f2e6b54007996ab7f1e43560ba75a436577 (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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/*
 * This file is produced automatically.
 * Do not modify anything in here by hand.
 *
 * Created from source file
 *   freebsd-org/sys/dev/gpio/gpiobus_if.m
 * with
 *   makeobjops.awk
 *
 * See the source file for legal information
 */


#ifndef _gpiobus_if_h_
#define _gpiobus_if_h_

/** @brief Unique descriptor for the GPIOBUS_ACQUIRE_BUS() method */
extern struct kobjop_desc gpiobus_acquire_bus_desc;
/** @brief A function implementing the GPIOBUS_ACQUIRE_BUS() method */
typedef int gpiobus_acquire_bus_t(device_t busdev, device_t dev, int how);

static __inline int GPIOBUS_ACQUIRE_BUS(device_t busdev, device_t dev, int how)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)busdev)->ops,gpiobus_acquire_bus);
	return ((gpiobus_acquire_bus_t *) _m)(busdev, dev, how);
}

/** @brief Unique descriptor for the GPIOBUS_RELEASE_BUS() method */
extern struct kobjop_desc gpiobus_release_bus_desc;
/** @brief A function implementing the GPIOBUS_RELEASE_BUS() method */
typedef void gpiobus_release_bus_t(device_t busdev, device_t dev);

static __inline void GPIOBUS_RELEASE_BUS(device_t busdev, device_t dev)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)busdev)->ops,gpiobus_release_bus);
	((gpiobus_release_bus_t *) _m)(busdev, dev);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_SET() method */
extern struct kobjop_desc gpiobus_pin_set_desc;
/** @brief A function implementing the GPIOBUS_PIN_SET() method */
typedef int gpiobus_pin_set_t(device_t dev, device_t child, uint32_t pin_num,
                              uint32_t pin_value);

static __inline int GPIOBUS_PIN_SET(device_t dev, device_t child,
                                    uint32_t pin_num, uint32_t pin_value)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_set);
	return ((gpiobus_pin_set_t *) _m)(dev, child, pin_num, pin_value);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_GET() method */
extern struct kobjop_desc gpiobus_pin_get_desc;
/** @brief A function implementing the GPIOBUS_PIN_GET() method */
typedef int gpiobus_pin_get_t(device_t dev, device_t child, uint32_t pin_num,
                              uint32_t *pin_value);

static __inline int GPIOBUS_PIN_GET(device_t dev, device_t child,
                                    uint32_t pin_num, uint32_t *pin_value)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_get);
	return ((gpiobus_pin_get_t *) _m)(dev, child, pin_num, pin_value);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_TOGGLE() method */
extern struct kobjop_desc gpiobus_pin_toggle_desc;
/** @brief A function implementing the GPIOBUS_PIN_TOGGLE() method */
typedef int gpiobus_pin_toggle_t(device_t dev, device_t child,
                                 uint32_t pin_num);

static __inline int GPIOBUS_PIN_TOGGLE(device_t dev, device_t child,
                                       uint32_t pin_num)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_toggle);
	return ((gpiobus_pin_toggle_t *) _m)(dev, child, pin_num);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_GETCAPS() method */
extern struct kobjop_desc gpiobus_pin_getcaps_desc;
/** @brief A function implementing the GPIOBUS_PIN_GETCAPS() method */
typedef int gpiobus_pin_getcaps_t(device_t dev, device_t child,
                                  uint32_t pin_num, uint32_t *caps);

static __inline int GPIOBUS_PIN_GETCAPS(device_t dev, device_t child,
                                        uint32_t pin_num, uint32_t *caps)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_getcaps);
	return ((gpiobus_pin_getcaps_t *) _m)(dev, child, pin_num, caps);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_GETFLAGS() method */
extern struct kobjop_desc gpiobus_pin_getflags_desc;
/** @brief A function implementing the GPIOBUS_PIN_GETFLAGS() method */
typedef int gpiobus_pin_getflags_t(device_t dev, device_t child,
                                   uint32_t pin_num, uint32_t *flags);

static __inline int GPIOBUS_PIN_GETFLAGS(device_t dev, device_t child,
                                         uint32_t pin_num, uint32_t *flags)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_getflags);
	return ((gpiobus_pin_getflags_t *) _m)(dev, child, pin_num, flags);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_SETFLAGS() method */
extern struct kobjop_desc gpiobus_pin_setflags_desc;
/** @brief A function implementing the GPIOBUS_PIN_SETFLAGS() method */
typedef int gpiobus_pin_setflags_t(device_t dev, device_t child,
                                   uint32_t pin_num, uint32_t flags);

static __inline int GPIOBUS_PIN_SETFLAGS(device_t dev, device_t child,
                                         uint32_t pin_num, uint32_t flags)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_setflags);
	return ((gpiobus_pin_setflags_t *) _m)(dev, child, pin_num, flags);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_GETNAME() method */
extern struct kobjop_desc gpiobus_pin_getname_desc;
/** @brief A function implementing the GPIOBUS_PIN_GETNAME() method */
typedef int gpiobus_pin_getname_t(device_t dev, uint32_t pin_num, char *name);

static __inline int GPIOBUS_PIN_GETNAME(device_t dev, uint32_t pin_num,
                                        char *name)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_getname);
	return ((gpiobus_pin_getname_t *) _m)(dev, pin_num, name);
}

/** @brief Unique descriptor for the GPIOBUS_PIN_SETNAME() method */
extern struct kobjop_desc gpiobus_pin_setname_desc;
/** @brief A function implementing the GPIOBUS_PIN_SETNAME() method */
typedef int gpiobus_pin_setname_t(device_t dev, uint32_t pin_num,
                                  const char *name);

static __inline int GPIOBUS_PIN_SETNAME(device_t dev, uint32_t pin_num,
                                        const char *name)
{
	kobjop_t _m;
	KOBJOPLOOKUP(((kobj_t)dev)->ops,gpiobus_pin_setname);
	return ((gpiobus_pin_setname_t *) _m)(dev, pin_num, name);
}

#endif /* _gpiobus_if_h_ */