Lines Matching refs:ptp
16 struct ptp_clock *ptp = dev_get_drvdata(dev);
17 return sysfs_emit(page, "%s\n", ptp->info->name);
25 struct ptp_clock *ptp = dev_get_drvdata(dev);
28 ptp->info->getmaxphase(ptp->info));
36 struct ptp_clock *ptp = dev_get_drvdata(dev); \
37 return snprintf(page, PAGE_SIZE-1, "%d\n", ptp->info->var); \
52 struct ptp_clock *ptp = dev_get_drvdata(dev);
53 struct ptp_clock_info *ops = ptp->info;
77 struct ptp_clock *ptp = dev_get_drvdata(dev);
78 struct timestamp_event_queue *queue = &ptp->tsevq;
86 if (mutex_lock_interruptible(&ptp->tsevq_mux))
104 mutex_unlock(&ptp->tsevq_mux);
113 struct ptp_clock *ptp = dev_get_drvdata(dev);
114 struct ptp_clock_info *ops = ptp->info;
141 struct ptp_clock *ptp = dev_get_drvdata(dev);
142 struct ptp_clock_info *ops = ptp->info;
166 struct ptp_clock *ptp = dev_get_drvdata(dev);
167 struct ptp_clock_info *info = ptp->info;
172 dev_info(dev->parent, "delete virtual clock ptp%d\n",
188 struct ptp_clock *ptp = dev_get_drvdata(dev);
191 if (mutex_lock_interruptible(&ptp->n_vclocks_mux))
194 size = snprintf(page, PAGE_SIZE - 1, "%u\n", ptp->n_vclocks);
196 mutex_unlock(&ptp->n_vclocks_mux);
205 struct ptp_clock *ptp = dev_get_drvdata(dev);
213 if (mutex_lock_interruptible(&ptp->n_vclocks_mux))
216 if (num > ptp->max_vclocks) {
217 dev_err(dev, "max value is %d\n", ptp->max_vclocks);
222 if (num > ptp->n_vclocks) {
223 for (i = 0; i < num - ptp->n_vclocks; i++) {
224 vclock = ptp_vclock_register(ptp);
228 *(ptp->vclock_index + ptp->n_vclocks + i) =
231 dev_info(dev, "new virtual clock ptp%d\n",
237 if (num < ptp->n_vclocks) {
238 i = ptp->n_vclocks - num;
242 for (i = 1; i <= ptp->n_vclocks - num; i++)
243 *(ptp->vclock_index + ptp->n_vclocks - i) = -1;
247 if (!ptp->has_cycles) {
254 ptp->n_vclocks = num;
255 mutex_unlock(&ptp->n_vclocks_mux);
259 mutex_unlock(&ptp->n_vclocks_mux);
267 struct ptp_clock *ptp = dev_get_drvdata(dev);
270 size = snprintf(page, PAGE_SIZE - 1, "%u\n", ptp->max_vclocks);
279 struct ptp_clock *ptp = dev_get_drvdata(dev);
288 if (max == ptp->max_vclocks)
291 if (mutex_lock_interruptible(&ptp->n_vclocks_mux))
294 if (max < ptp->n_vclocks)
304 size = sizeof(int) * ptp->n_vclocks;
305 memcpy(vclock_index, ptp->vclock_index, size);
307 kfree(ptp->vclock_index);
308 ptp->vclock_index = vclock_index;
309 ptp->max_vclocks = max;
311 mutex_unlock(&ptp->n_vclocks_mux);
315 mutex_unlock(&ptp->n_vclocks_mux);
344 struct ptp_clock *ptp = dev_get_drvdata(dev);
345 struct ptp_clock_info *info = ptp->info;
360 if (ptp->is_virtual_clock)
380 static int ptp_pin_name2index(struct ptp_clock *ptp, const char *name)
383 for (i = 0; i < ptp->info->n_pins; i++) {
384 if (!strcmp(ptp->info->pin_config[i].name, name))
393 struct ptp_clock *ptp = dev_get_drvdata(dev);
397 index = ptp_pin_name2index(ptp, attr->attr.name);
401 if (mutex_lock_interruptible(&ptp->pincfg_mux))
404 func = ptp->info->pin_config[index].func;
405 chan = ptp->info->pin_config[index].chan;
407 mutex_unlock(&ptp->pincfg_mux);
415 struct ptp_clock *ptp = dev_get_drvdata(dev);
423 index = ptp_pin_name2index(ptp, attr->attr.name);
427 if (mutex_lock_interruptible(&ptp->pincfg_mux))
429 err = ptp_set_pinfunc(ptp, index, func, chan);
430 mutex_unlock(&ptp->pincfg_mux);
437 int ptp_populate_pin_groups(struct ptp_clock *ptp)
439 struct ptp_clock_info *info = ptp->info;
445 ptp->pin_dev_attr = kcalloc(n_pins, sizeof(*ptp->pin_dev_attr),
447 if (!ptp->pin_dev_attr)
450 ptp->pin_attr = kcalloc(1 + n_pins, sizeof(*ptp->pin_attr), GFP_KERNEL);
451 if (!ptp->pin_attr)
455 struct device_attribute *da = &ptp->pin_dev_attr[i];
461 ptp->pin_attr[i] = &da->attr;
464 ptp->pin_attr_group.name = "pins";
465 ptp->pin_attr_group.attrs = ptp->pin_attr;
467 ptp->pin_attr_groups[0] = &ptp->pin_attr_group;
472 kfree(ptp->pin_dev_attr);
477 void ptp_cleanup_pin_groups(struct ptp_clock *ptp)
479 kfree(ptp->pin_attr);
480 kfree(ptp->pin_dev_attr);