Lines Matching refs:req
118 struct ptp_clock_request req;
149 memset(&req, 0, sizeof(req));
151 if (copy_from_user(&req.extts, (void __user *)arg,
152 sizeof(req.extts))) {
158 req.extts.flags |= PTP_STRICT_FLAGS;
160 if ((req.extts.flags & ~PTP_EXTTS_VALID_FLAGS) ||
161 req.extts.rsv[0] || req.extts.rsv[1]) {
166 if ((req.extts.flags & PTP_ENABLE_FEATURE) &&
167 (req.extts.flags & PTP_EXTTS_EDGES) == 0) {
172 req.extts.flags &= PTP_EXTTS_V1_VALID_FLAGS;
173 req.extts.rsv[0] = 0;
174 req.extts.rsv[1] = 0;
176 if (req.extts.index >= ops->n_ext_ts) {
180 req.type = PTP_CLK_REQ_EXTTS;
181 enable = req.extts.flags & PTP_ENABLE_FEATURE ? 1 : 0;
184 err = ops->enable(ops, &req, enable);
190 memset(&req, 0, sizeof(req));
192 if (copy_from_user(&req.perout, (void __user *)arg,
193 sizeof(req.perout))) {
198 struct ptp_perout_request *perout = &req.perout;
238 req.perout.flags &= PTP_PEROUT_V1_VALID_FLAGS;
239 req.perout.rsv[0] = 0;
240 req.perout.rsv[1] = 0;
241 req.perout.rsv[2] = 0;
242 req.perout.rsv[3] = 0;
244 if (req.perout.index >= ops->n_per_out) {
248 req.type = PTP_CLK_REQ_PEROUT;
249 enable = req.perout.period.sec || req.perout.period.nsec;
252 err = ops->enable(ops, &req, enable);
258 memset(&req, 0, sizeof(req));
262 req.type = PTP_CLK_REQ_PPS;
266 err = ops->enable(ops, &req, enable);