XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
peripheral.c 文件参考

玄武设备栈:SPI:外设 更多...

peripheral.c 的引用(Include)关系图:

浏览源代码.

函数

static xwer_t xwds_spip_vop_probe (struct xwds_spip *spip)
 XWDS VOP:探测设备
 
static xwer_t xwds_spip_vop_remove (struct xwds_spip *spip)
 XWDS VOP:删除设备
 
static xwer_t xwds_spip_vop_start (struct xwds_spip *spip)
 XWDS VOP:启动设备
 
static xwer_t xwds_spip_vop_stop (struct xwds_spip *spip)
 XWDS VOP:停止设备
 
static xwer_t xwds_spip_vop_suspend (struct xwds_spip *spip)
 XWDS VOP:暂停设备
 
static xwer_t xwds_spip_vop_resume (struct xwds_spip *spip)
 XWDS VOP:继续设备
 
void xwds_spip_construct (struct xwds_spip *spip)
 XWDS API:SPI外设控制器对象的构造函数
 
void xwds_spip_destruct (struct xwds_spip *spip)
 XWDS API:SPI外设控制器对象的析构函数
 
xwer_t xwds_spip_grab (struct xwds_spip *spip)
 XWDS API:增加对象的引用计数
 
xwer_t xwds_spip_put (struct xwds_spip *spip)
 XWDS API:减少对象的引用计数
 

变量

const struct xwds_virtual_operation xwds_spip_vop
 

详细描述

玄武设备栈:SPI:外设

作者

在文件 peripheral.c 中定义.

函数说明

◆ xwds_spip_vop_probe()

static xwer_t xwds_spip_vop_probe ( struct xwds_spip spip)
static

XWDS VOP:探测设备

参数
[in]spipSPI外设控制器对象指针

<No error

在文件 peripheral.c87 行定义.

88{
89 xwer_t rc;
90
91 rc = xwds_device_vop_probe(&spip->dev);
92 if (rc < 0) {
93 goto err_dev_vop_probe;
94 }
95 return XWOK;
96
97err_dev_vop_probe:
98 return rc;
99}
xwer_t xwds_device_vop_probe(struct xwds_device *dev)
设备基本操作函数:探测设备
Definition device.c:67
#define XWOK
No error
Definition errno.h:182
signed long xwer_t
Definition type.h:554
struct xwds_device dev
Definition peripheral.h:48
函数调用图:

◆ xwds_spip_vop_remove()

static xwer_t xwds_spip_vop_remove ( struct xwds_spip spip)
static

XWDS VOP:删除设备

参数
[in]spipSPI外设控制器对象指针

<No error

在文件 peripheral.c106 行定义.

107{
108 xwer_t rc;
109
110 XWDS_VALIDATE(spip->bus, "nullptr", -EHOSTUNREACH);
111
112 rc = xwds_device_vop_remove(&spip->dev);
113 if (rc < 0) {
114 goto err_dev_vop_remove;
115 }
116 return XWOK;
117
118err_dev_vop_remove:
119 return rc;
120}
xwer_t xwds_device_vop_remove(struct xwds_device *dev)
设备基本操作函数:删除设备
Definition device.c:86
#define XWDS_VALIDATE(exp, errstr,...)
Definition standard.h:51
#define EHOSTUNREACH
Host is unreachable
Definition errno.h:131
struct xwds_spim * bus
Definition peripheral.h:51
函数调用图:

◆ xwds_spip_vop_resume()

static xwer_t xwds_spip_vop_resume ( struct xwds_spip spip)
static

XWDS VOP:继续设备

参数
[in]spipSPI外设控制器对象指针

<No error

在文件 peripheral.c202 行定义.

203{
204 xwer_t rc;
205
206 if (spip->bus) {
207 rc = xwds_spim_grab(spip->bus);
208 } else {
209 rc = -EHOSTUNREACH;
210 }
211 if (rc < 0) {
212 goto err_spim_grab;
213 }
214 rc = xwds_device_vop_resume(&spip->dev);
215 if (rc < 0) {
216 goto err_dev_vop_resume;
217 }
218 return XWOK;
219
220err_dev_vop_resume:
221 xwds_spim_put(spip->bus);
222err_spim_grab:
223 return rc;
224}
xwer_t xwds_device_vop_resume(struct xwds_device *dev)
设备基本操作函数:继续设备
Definition device.c:163
xwer_t xwds_spim_put(struct xwds_spim *spim)
XWDS API:减少对象的引用计数
Definition master.c:81
xwer_t xwds_spim_grab(struct xwds_spim *spim)
XWDS API:增加对象的引用计数
Definition master.c:75
函数调用图:

◆ xwds_spip_vop_start()

static xwer_t xwds_spip_vop_start ( struct xwds_spip spip)
static

XWDS VOP:启动设备

参数
[in]spipSPI外设控制器对象指针

<No error

在文件 peripheral.c127 行定义.

128{
129 xwer_t rc;
130
131 if (spip->bus) {
132 rc = xwds_spim_grab(spip->bus);
133 } else {
134 rc = -EHOSTUNREACH;
135 }
136 if (rc < 0) {
137 goto err_spim_grab;
138 }
139 rc = xwds_device_vop_start(&spip->dev);
140 if (rc < 0) {
141 goto err_dev_vop_start;
142 }
143 return XWOK;
144
145err_dev_vop_start:
146 xwds_spim_put(spip->bus);
147err_spim_grab:
148 return rc;
149}
xwer_t xwds_device_vop_start(struct xwds_device *dev)
设备基本操作函数:启动设备
Definition device.c:105
函数调用图:

◆ xwds_spip_vop_stop()

static xwer_t xwds_spip_vop_stop ( struct xwds_spip spip)
static

XWDS VOP:停止设备

参数
[in]spipSPI外设控制器对象指针

<No error

在文件 peripheral.c156 行定义.

157{
158 xwer_t rc;
159
160 XWDS_VALIDATE(spip->bus, "nullptr", -EHOSTUNREACH);
161
162 rc = xwds_device_vop_stop(&spip->dev);
163 if (rc < 0) {
164 goto err_dev_vop_stop;
165 }
166 xwds_spim_put(spip->bus);
167 return XWOK;
168
169err_dev_vop_stop:
170 return rc;
171}
xwer_t xwds_device_vop_stop(struct xwds_device *dev)
设备基本操作函数:停止设备
Definition device.c:124
函数调用图:

◆ xwds_spip_vop_suspend()

static xwer_t xwds_spip_vop_suspend ( struct xwds_spip spip)
static

XWDS VOP:暂停设备

参数
[in]spipSPI外设控制器对象指针

<No error

在文件 peripheral.c180 行定义.

181{
182 xwer_t rc;
183
184 XWDS_VALIDATE(spip->bus, "nullptr", -EHOSTUNREACH);
185
186 rc = xwds_device_vop_suspend(&spip->dev);
187 if (rc < 0) {
188 goto err_dev_vop_suspend;
189 }
190 xwds_spim_put(spip->bus);
191 return XWOK;
192
193err_dev_vop_suspend:
194 return rc;
195}
xwer_t xwds_device_vop_suspend(struct xwds_device *dev)
设备基本操作函数:暂停设备
Definition device.c:144
函数调用图:

变量说明

◆ xwds_spip_vop

const struct xwds_virtual_operation xwds_spip_vop
初始值:
= {
.probe = (void *)xwds_spip_vop_probe,
.remove = (void *)xwds_spip_vop_remove,
.start = (void *)xwds_spip_vop_start,
.stop = (void *)xwds_spip_vop_stop,
.suspend = (void *)xwds_spip_vop_suspend,
.resume = (void *)xwds_spip_vop_resume,
}
static xwer_t xwds_spip_vop_stop(struct xwds_spip *spip)
XWDS VOP:停止设备
Definition peripheral.c:156
static xwer_t xwds_spip_vop_start(struct xwds_spip *spip)
XWDS VOP:启动设备
Definition peripheral.c:127
static xwer_t xwds_spip_vop_remove(struct xwds_spip *spip)
XWDS VOP:删除设备
Definition peripheral.c:106
static xwer_t xwds_spip_vop_suspend(struct xwds_spip *spip)
XWDS VOP:暂停设备
Definition peripheral.c:180
static xwer_t xwds_spip_vop_resume(struct xwds_spip *spip)
XWDS VOP:继续设备
Definition peripheral.c:202
static xwer_t xwds_spip_vop_probe(struct xwds_spip *spip)
XWDS VOP:探测设备
Definition peripheral.c:87

在文件 peripheral.c44 行定义.