Lines Matching refs:ptp

28 	struct ptp_clock *ptp = dev_get_drvdata(dev);  in clock_name_show()  local
29 return snprintf(page, PAGE_SIZE-1, "%s\n", ptp->info->name); in clock_name_show()
37 struct ptp_clock *ptp = dev_get_drvdata(dev); \
38 return snprintf(page, PAGE_SIZE-1, "%d\n", ptp->info->var); \
74 struct ptp_clock *ptp = dev_get_drvdata(dev); in extts_enable_store() local
75 struct ptp_clock_info *ops = ptp->info; in extts_enable_store()
98 struct ptp_clock *ptp = dev_get_drvdata(dev); in extts_fifo_show() local
99 struct timestamp_event_queue *queue = &ptp->tsevq; in extts_fifo_show()
107 if (mutex_lock_interruptible(&ptp->tsevq_mux)) in extts_fifo_show()
124 mutex_unlock(&ptp->tsevq_mux); in extts_fifo_show()
132 struct ptp_clock *ptp = dev_get_drvdata(dev); in period_store() local
133 struct ptp_clock_info *ops = ptp->info; in period_store()
159 struct ptp_clock *ptp = dev_get_drvdata(dev); in pps_enable_store() local
160 struct ptp_clock_info *ops = ptp->info; in pps_enable_store()
181 static int ptp_pin_name2index(struct ptp_clock *ptp, const char *name) in ptp_pin_name2index() argument
184 for (i = 0; i < ptp->info->n_pins; i++) { in ptp_pin_name2index()
185 if (!strcmp(ptp->info->pin_config[i].name, name)) in ptp_pin_name2index()
194 struct ptp_clock *ptp = dev_get_drvdata(dev); in ptp_pin_show() local
198 index = ptp_pin_name2index(ptp, attr->attr.name); in ptp_pin_show()
202 if (mutex_lock_interruptible(&ptp->pincfg_mux)) in ptp_pin_show()
205 func = ptp->info->pin_config[index].func; in ptp_pin_show()
206 chan = ptp->info->pin_config[index].chan; in ptp_pin_show()
208 mutex_unlock(&ptp->pincfg_mux); in ptp_pin_show()
216 struct ptp_clock *ptp = dev_get_drvdata(dev); in ptp_pin_store() local
224 index = ptp_pin_name2index(ptp, attr->attr.name); in ptp_pin_store()
228 if (mutex_lock_interruptible(&ptp->pincfg_mux)) in ptp_pin_store()
230 err = ptp_set_pinfunc(ptp, index, func, chan); in ptp_pin_store()
231 mutex_unlock(&ptp->pincfg_mux); in ptp_pin_store()
243 int ptp_cleanup_sysfs(struct ptp_clock *ptp) in ptp_cleanup_sysfs() argument
245 struct device *dev = ptp->dev; in ptp_cleanup_sysfs()
246 struct ptp_clock_info *info = ptp->info; in ptp_cleanup_sysfs()
259 sysfs_remove_group(&dev->kobj, &ptp->pin_attr_group); in ptp_cleanup_sysfs()
260 kfree(ptp->pin_attr); in ptp_cleanup_sysfs()
261 kfree(ptp->pin_dev_attr); in ptp_cleanup_sysfs()
266 static int ptp_populate_pins(struct ptp_clock *ptp) in ptp_populate_pins() argument
268 struct device *dev = ptp->dev; in ptp_populate_pins()
269 struct ptp_clock_info *info = ptp->info; in ptp_populate_pins()
272 ptp->pin_dev_attr = kzalloc(n_pins * sizeof(*ptp->pin_dev_attr), in ptp_populate_pins()
274 if (!ptp->pin_dev_attr) in ptp_populate_pins()
277 ptp->pin_attr = kzalloc((1 + n_pins) * sizeof(struct attribute *), in ptp_populate_pins()
279 if (!ptp->pin_attr) in ptp_populate_pins()
283 struct device_attribute *da = &ptp->pin_dev_attr[i]; in ptp_populate_pins()
289 ptp->pin_attr[i] = &da->attr; in ptp_populate_pins()
292 ptp->pin_attr_group.name = "pins"; in ptp_populate_pins()
293 ptp->pin_attr_group.attrs = ptp->pin_attr; in ptp_populate_pins()
295 err = sysfs_create_group(&dev->kobj, &ptp->pin_attr_group); in ptp_populate_pins()
301 kfree(ptp->pin_attr); in ptp_populate_pins()
303 kfree(ptp->pin_dev_attr); in ptp_populate_pins()
308 int ptp_populate_sysfs(struct ptp_clock *ptp) in ptp_populate_sysfs() argument
310 struct device *dev = ptp->dev; in ptp_populate_sysfs()
311 struct ptp_clock_info *info = ptp->info; in ptp_populate_sysfs()
333 err = ptp_populate_pins(ptp); in ptp_populate_sysfs()