• Home
  • Raw
  • Download

Lines Matching refs:bp

143 	struct ptp_ocp		*bp;  member
180 int (*setup)(struct ptp_ocp *bp, struct ocp_resource *r);
185 static int ptp_ocp_register_mem(struct ptp_ocp *bp, struct ocp_resource *r);
186 static int ptp_ocp_register_i2c(struct ptp_ocp *bp, struct ocp_resource *r);
187 static int ptp_ocp_register_spi(struct ptp_ocp *bp, struct ocp_resource *r);
188 static int ptp_ocp_register_serial(struct ptp_ocp *bp, struct ocp_resource *r);
189 static int ptp_ocp_register_ext(struct ptp_ocp *bp, struct ocp_resource *r);
190 static int ptp_ocp_fb_board_init(struct ptp_ocp *bp, struct ocp_resource *r);
194 #define bp_assign_entry(bp, res, val) ({ \ argument
195 uintptr_t addr = (uintptr_t)(bp) + (res)->bp_offset; \
353 __ptp_ocp_gettime_locked(struct ptp_ocp *bp, struct timespec64 *ts, in __ptp_ocp_gettime_locked() argument
359 ctrl = ioread32(&bp->reg->ctrl); in __ptp_ocp_gettime_locked()
363 iowrite32(ctrl, &bp->reg->ctrl); in __ptp_ocp_gettime_locked()
366 ctrl = ioread32(&bp->reg->ctrl); in __ptp_ocp_gettime_locked()
372 time_ns = ioread32(&bp->reg->time_ns); in __ptp_ocp_gettime_locked()
373 time_sec = ioread32(&bp->reg->time_sec); in __ptp_ocp_gettime_locked()
385 struct ptp_ocp *bp = container_of(ptp_info, struct ptp_ocp, ptp_info); in ptp_ocp_gettimex() local
389 spin_lock_irqsave(&bp->lock, flags); in ptp_ocp_gettimex()
390 err = __ptp_ocp_gettime_locked(bp, ts, sts); in ptp_ocp_gettimex()
391 spin_unlock_irqrestore(&bp->lock, flags); in ptp_ocp_gettimex()
397 __ptp_ocp_settime_locked(struct ptp_ocp *bp, const struct timespec64 *ts) in __ptp_ocp_settime_locked() argument
405 select = ioread32(&bp->reg->select); in __ptp_ocp_settime_locked()
406 iowrite32(OCP_SELECT_CLK_REG, &bp->reg->select); in __ptp_ocp_settime_locked()
408 iowrite32(time_ns, &bp->reg->adjust_ns); in __ptp_ocp_settime_locked()
409 iowrite32(time_sec, &bp->reg->adjust_sec); in __ptp_ocp_settime_locked()
411 ctrl = ioread32(&bp->reg->ctrl); in __ptp_ocp_settime_locked()
413 iowrite32(ctrl, &bp->reg->ctrl); in __ptp_ocp_settime_locked()
416 iowrite32(select >> 16, &bp->reg->select); in __ptp_ocp_settime_locked()
422 struct ptp_ocp *bp = container_of(ptp_info, struct ptp_ocp, ptp_info); in ptp_ocp_settime() local
425 if (ioread32(&bp->reg->status) & OCP_STATUS_IN_SYNC) in ptp_ocp_settime()
428 spin_lock_irqsave(&bp->lock, flags); in ptp_ocp_settime()
429 __ptp_ocp_settime_locked(bp, ts); in ptp_ocp_settime()
430 spin_unlock_irqrestore(&bp->lock, flags); in ptp_ocp_settime()
438 struct ptp_ocp *bp = container_of(ptp_info, struct ptp_ocp, ptp_info); in ptp_ocp_adjtime() local
443 if (ioread32(&bp->reg->status) & OCP_STATUS_IN_SYNC) in ptp_ocp_adjtime()
446 spin_lock_irqsave(&bp->lock, flags); in ptp_ocp_adjtime()
447 err = __ptp_ocp_gettime_locked(bp, &ts, NULL); in ptp_ocp_adjtime()
450 __ptp_ocp_settime_locked(bp, &ts); in ptp_ocp_adjtime()
452 spin_unlock_irqrestore(&bp->lock, flags); in ptp_ocp_adjtime()
476 struct ptp_ocp *bp = container_of(ptp_info, struct ptp_ocp, ptp_info); in ptp_ocp_enable() local
484 ext = bp->ts0; in ptp_ocp_enable()
487 ext = bp->ts1; in ptp_ocp_enable()
492 ext = bp->pps; in ptp_ocp_enable()
520 __ptp_ocp_clear_drift_locked(struct ptp_ocp *bp) in __ptp_ocp_clear_drift_locked() argument
524 select = ioread32(&bp->reg->select); in __ptp_ocp_clear_drift_locked()
525 iowrite32(OCP_SELECT_CLK_REG, &bp->reg->select); in __ptp_ocp_clear_drift_locked()
527 iowrite32(0, &bp->reg->drift_ns); in __ptp_ocp_clear_drift_locked()
529 ctrl = ioread32(&bp->reg->ctrl); in __ptp_ocp_clear_drift_locked()
531 iowrite32(ctrl, &bp->reg->ctrl); in __ptp_ocp_clear_drift_locked()
534 iowrite32(select >> 16, &bp->reg->select); in __ptp_ocp_clear_drift_locked()
540 struct ptp_ocp *bp = from_timer(bp, t, watchdog); in ptp_ocp_watchdog() local
544 status = ioread32(&bp->pps_to_clk->status); in ptp_ocp_watchdog()
547 iowrite32(status, &bp->pps_to_clk->status); in ptp_ocp_watchdog()
548 if (!bp->gnss_lost) { in ptp_ocp_watchdog()
549 spin_lock_irqsave(&bp->lock, flags); in ptp_ocp_watchdog()
550 __ptp_ocp_clear_drift_locked(bp); in ptp_ocp_watchdog()
551 spin_unlock_irqrestore(&bp->lock, flags); in ptp_ocp_watchdog()
552 bp->gnss_lost = ktime_get_real_seconds(); in ptp_ocp_watchdog()
555 } else if (bp->gnss_lost) { in ptp_ocp_watchdog()
556 bp->gnss_lost = 0; in ptp_ocp_watchdog()
559 mod_timer(&bp->watchdog, jiffies + HZ); in ptp_ocp_watchdog()
563 ptp_ocp_init_clock(struct ptp_ocp *bp) in ptp_ocp_init_clock() argument
570 ctrl = ioread32(&bp->reg->ctrl); in ptp_ocp_init_clock()
572 iowrite32(ctrl, &bp->reg->ctrl); in ptp_ocp_init_clock()
576 iowrite32(0x2000, &bp->reg->servo_offset_p); in ptp_ocp_init_clock()
577 iowrite32(0x1000, &bp->reg->servo_offset_i); in ptp_ocp_init_clock()
578 iowrite32(0, &bp->reg->servo_drift_p); in ptp_ocp_init_clock()
579 iowrite32(0, &bp->reg->servo_drift_i); in ptp_ocp_init_clock()
583 iowrite32(ctrl, &bp->reg->ctrl); in ptp_ocp_init_clock()
585 if ((ioread32(&bp->reg->ctrl) & OCP_CTRL_ENABLE) == 0) { in ptp_ocp_init_clock()
586 dev_err(&bp->pdev->dev, "clock not enabled\n"); in ptp_ocp_init_clock()
590 sync = ioread32(&bp->reg->status) & OCP_STATUS_IN_SYNC; in ptp_ocp_init_clock()
593 ptp_ocp_settime(&bp->ptp_info, &ts); in ptp_ocp_init_clock()
595 if (!ptp_ocp_gettimex(&bp->ptp_info, &ts, NULL)) in ptp_ocp_init_clock()
596 dev_info(&bp->pdev->dev, "Time: %lld.%ld, %s\n", in ptp_ocp_init_clock()
600 timer_setup(&bp->watchdog, ptp_ocp_watchdog, 0); in ptp_ocp_init_clock()
601 mod_timer(&bp->watchdog, jiffies + HZ); in ptp_ocp_init_clock()
607 ptp_ocp_tod_info(struct ptp_ocp *bp) in ptp_ocp_tod_info() argument
619 version = ioread32(&bp->tod->version); in ptp_ocp_tod_info()
620 dev_info(&bp->pdev->dev, "TOD Version %d.%d.%d\n", in ptp_ocp_tod_info()
623 ctrl = ioread32(&bp->tod->ctrl); in ptp_ocp_tod_info()
626 iowrite32(ctrl, &bp->tod->ctrl); in ptp_ocp_tod_info()
628 ctrl = ioread32(&bp->tod->ctrl); in ptp_ocp_tod_info()
631 dev_info(&bp->pdev->dev, "control: %x\n", ctrl); in ptp_ocp_tod_info()
632 dev_info(&bp->pdev->dev, "TOD Protocol %s %s\n", proto_name[idx], in ptp_ocp_tod_info()
637 dev_info(&bp->pdev->dev, "GNSS %s\n", gnss_name[idx]); in ptp_ocp_tod_info()
639 reg = ioread32(&bp->tod->status); in ptp_ocp_tod_info()
640 dev_info(&bp->pdev->dev, "status: %x\n", reg); in ptp_ocp_tod_info()
642 reg = ioread32(&bp->tod->correction_sec); in ptp_ocp_tod_info()
643 dev_info(&bp->pdev->dev, "correction: %d\n", reg); in ptp_ocp_tod_info()
645 reg = ioread32(&bp->tod->utc_status); in ptp_ocp_tod_info()
646 dev_info(&bp->pdev->dev, "utc_status: %x\n", reg); in ptp_ocp_tod_info()
647 dev_info(&bp->pdev->dev, "utc_offset: %d valid:%d leap_valid:%d\n", in ptp_ocp_tod_info()
692 ptp_ocp_get_serial_number(struct ptp_ocp *bp) in ptp_ocp_get_serial_number() argument
698 dev = device_find_child(&bp->i2c_ctrl->dev, NULL, ptp_ocp_firstchild); in ptp_ocp_get_serial_number()
700 dev_err(&bp->pdev->dev, "Can't find I2C adapter\n"); in ptp_ocp_get_serial_number()
706 dev_err(&bp->pdev->dev, "device '%s' isn't an I2C adapter\n", in ptp_ocp_get_serial_number()
711 err = ptp_ocp_read_i2c(adap, 0x58, 0x9A, 6, bp->serial); in ptp_ocp_get_serial_number()
713 dev_err(&bp->pdev->dev, "could not read eeprom: %d\n", err); in ptp_ocp_get_serial_number()
717 bp->has_serial = true; in ptp_ocp_get_serial_number()
724 ptp_ocp_info(struct ptp_ocp *bp) in ptp_ocp_info() argument
728 version = ioread32(&bp->reg->version); in ptp_ocp_info()
729 select = ioread32(&bp->reg->select); in ptp_ocp_info()
730 dev_info(&bp->pdev->dev, "Version %d.%d.%d, clock %s, device ptp%d\n", in ptp_ocp_info()
733 ptp_clock_index(bp->ptp)); in ptp_ocp_info()
735 ptp_ocp_tod_info(bp); in ptp_ocp_info()
739 ptp_ocp_find_flash(struct ptp_ocp *bp) in ptp_ocp_find_flash() argument
744 dev = &bp->spi_flash->dev; in ptp_ocp_find_flash()
762 struct ptp_ocp *bp = devlink_priv(devlink); in ptp_ocp_devlink_flash() local
769 base = bp->flash_start; in ptp_ocp_devlink_flash()
801 struct ptp_ocp *bp = devlink_priv(devlink); in ptp_ocp_devlink_flash_update() local
806 dev = ptp_ocp_find_flash(bp); in ptp_ocp_devlink_flash_update()
808 dev_err(&bp->pdev->dev, "Can't find Flash SPI adapter\n"); in ptp_ocp_devlink_flash_update()
828 struct ptp_ocp *bp = devlink_priv(devlink); in ptp_ocp_devlink_info_get() local
836 if (bp->image) { in ptp_ocp_devlink_info_get()
837 u32 ver = ioread32(&bp->image->version); in ptp_ocp_devlink_info_get()
854 if (!bp->has_serial) in ptp_ocp_devlink_info_get()
855 ptp_ocp_get_serial_number(bp); in ptp_ocp_devlink_info_get()
857 if (bp->has_serial) { in ptp_ocp_devlink_info_get()
858 sprintf(buf, "%pM", bp->serial); in ptp_ocp_devlink_info_get()
873 __ptp_ocp_get_mem(struct ptp_ocp *bp, unsigned long start, int size) in __ptp_ocp_get_mem() argument
877 return devm_ioremap_resource(&bp->pdev->dev, &res); in __ptp_ocp_get_mem()
881 ptp_ocp_get_mem(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_get_mem() argument
885 start = pci_resource_start(bp->pdev, 0) + r->offset; in ptp_ocp_get_mem()
886 return __ptp_ocp_get_mem(bp, start, r->size); in ptp_ocp_get_mem()
904 ptp_ocp_register_spi(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_register_spi() argument
907 struct pci_dev *pdev = bp->pdev; in ptp_ocp_register_spi()
914 if (bp->n_irqs < 10) { in ptp_ocp_register_spi()
915 dev_err(&bp->pdev->dev, "FPGA does not have SPI devices\n"); in ptp_ocp_register_spi()
919 if (r->irq_vec > bp->n_irqs) { in ptp_ocp_register_spi()
920 dev_err(&bp->pdev->dev, "spi device irq %d out of range\n", in ptp_ocp_register_spi()
939 bp_assign_entry(bp, r, p); in ptp_ocp_register_spi()
959 ptp_ocp_register_i2c(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_register_i2c() argument
961 struct pci_dev *pdev = bp->pdev; in ptp_ocp_register_i2c()
967 if (r->irq_vec > bp->n_irqs) { in ptp_ocp_register_i2c()
968 dev_err(&bp->pdev->dev, "i2c device irq %d out of range\n", in ptp_ocp_register_i2c()
973 id = pci_dev_id(bp->pdev); in ptp_ocp_register_i2c()
979 bp->i2c_clk = clk; in ptp_ocp_register_i2c()
983 p = ptp_ocp_i2c_bus(bp->pdev, r, id); in ptp_ocp_register_i2c()
987 bp_assign_entry(bp, r, p); in ptp_ocp_register_i2c()
1008 ptp_clock_event(ext->bp->ptp, &ev); in ptp_ocp_ts_irq()
1037 pci_free_irq(ext->bp->pdev, ext->irq_vec, ext); in ptp_ocp_unregister_ext()
1042 ptp_ocp_register_ext(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_register_ext() argument
1044 struct pci_dev *pdev = bp->pdev; in ptp_ocp_register_ext()
1052 ext->mem = ptp_ocp_get_mem(bp, r); in ptp_ocp_register_ext()
1058 ext->bp = bp; in ptp_ocp_register_ext()
1063 ext, "ocp%d.%s", bp->id, ext->info->name); in ptp_ocp_register_ext()
1069 bp_assign_entry(bp, r, ext); in ptp_ocp_register_ext()
1079 ptp_ocp_serial_line(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_serial_line() argument
1081 struct pci_dev *pdev = bp->pdev; in ptp_ocp_serial_line()
1101 ptp_ocp_register_serial(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_register_serial() argument
1105 if (r->irq_vec > bp->n_irqs) { in ptp_ocp_register_serial()
1106 dev_err(&bp->pdev->dev, "serial device irq %d out of range\n", in ptp_ocp_register_serial()
1111 port = ptp_ocp_serial_line(bp, r); in ptp_ocp_register_serial()
1115 bp_assign_entry(bp, r, port); in ptp_ocp_register_serial()
1121 ptp_ocp_register_mem(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_register_mem() argument
1125 mem = ptp_ocp_get_mem(bp, r); in ptp_ocp_register_mem()
1129 bp_assign_entry(bp, r, mem); in ptp_ocp_register_mem()
1136 ptp_ocp_fb_board_init(struct ptp_ocp *bp, struct ocp_resource *r) in ptp_ocp_fb_board_init() argument
1138 bp->flash_start = 1024 * 4096; in ptp_ocp_fb_board_init()
1140 return ptp_ocp_init_clock(bp); in ptp_ocp_fb_board_init()
1144 ptp_ocp_register_resources(struct ptp_ocp *bp, kernel_ulong_t driver_data) in ptp_ocp_register_resources() argument
1151 err = r->setup(bp, r); in ptp_ocp_register_resources()
1161 struct ptp_ocp *bp = dev_get_drvdata(dev); in serialnum_show() local
1163 if (!bp->has_serial) in serialnum_show()
1164 ptp_ocp_get_serial_number(bp); in serialnum_show()
1166 return sysfs_emit(buf, "%pM\n", bp->serial); in serialnum_show()
1173 struct ptp_ocp *bp = dev_get_drvdata(dev); in gnss_sync_show() local
1176 if (bp->gnss_lost) in gnss_sync_show()
1177 ret = sysfs_emit(buf, "LOST @ %ptT\n", &bp->gnss_lost); in gnss_sync_show()
1188 struct ptp_ocp *bp = dev_get_drvdata(dev); in clock_source_show() local
1192 select = ioread32(&bp->reg->select); in clock_source_show()
1202 struct ptp_ocp *bp = dev_get_drvdata(dev); in clock_source_store() local
1210 spin_lock_irqsave(&bp->lock, flags); in clock_source_store()
1211 iowrite32(val, &bp->reg->select); in clock_source_store()
1212 spin_unlock_irqrestore(&bp->lock, flags); in clock_source_store()
1250 struct ptp_ocp *bp = dev_get_drvdata(dev); in ptp_ocp_dev_release() local
1253 idr_remove(&ptp_ocp_idr, bp->id); in ptp_ocp_dev_release()
1258 ptp_ocp_device_init(struct ptp_ocp *bp, struct pci_dev *pdev) in ptp_ocp_device_init() argument
1263 err = idr_alloc(&ptp_ocp_idr, bp, 0, 0, GFP_KERNEL); in ptp_ocp_device_init()
1269 bp->id = err; in ptp_ocp_device_init()
1271 bp->ptp_info = ptp_ocp_clock_info; in ptp_ocp_device_init()
1272 spin_lock_init(&bp->lock); in ptp_ocp_device_init()
1273 bp->gnss_port = -1; in ptp_ocp_device_init()
1274 bp->mac_port = -1; in ptp_ocp_device_init()
1275 bp->pdev = pdev; in ptp_ocp_device_init()
1277 device_initialize(&bp->dev); in ptp_ocp_device_init()
1278 dev_set_name(&bp->dev, "ocp%d", bp->id); in ptp_ocp_device_init()
1279 bp->dev.class = &timecard_class; in ptp_ocp_device_init()
1280 bp->dev.parent = &pdev->dev; in ptp_ocp_device_init()
1281 bp->dev.release = ptp_ocp_dev_release; in ptp_ocp_device_init()
1282 dev_set_drvdata(&bp->dev, bp); in ptp_ocp_device_init()
1284 err = device_add(&bp->dev); in ptp_ocp_device_init()
1286 dev_err(&bp->dev, "device add failed: %d\n", err); in ptp_ocp_device_init()
1290 pci_set_drvdata(pdev, bp); in ptp_ocp_device_init()
1295 put_device(&bp->dev); in ptp_ocp_device_init()
1300 ptp_ocp_symlink(struct ptp_ocp *bp, struct device *child, const char *link) in ptp_ocp_symlink() argument
1302 struct device *dev = &bp->dev; in ptp_ocp_symlink()
1309 ptp_ocp_link_child(struct ptp_ocp *bp, const char *name, const char *link) in ptp_ocp_link_child() argument
1313 dev = &bp->pdev->dev; in ptp_ocp_link_child()
1321 ptp_ocp_symlink(bp, child, link); in ptp_ocp_link_child()
1326 ptp_ocp_complete(struct ptp_ocp *bp) in ptp_ocp_complete() argument
1331 if (bp->gnss_port != -1) { in ptp_ocp_complete()
1332 sprintf(buf, "ttyS%d", bp->gnss_port); in ptp_ocp_complete()
1333 ptp_ocp_link_child(bp, buf, "ttyGNSS"); in ptp_ocp_complete()
1335 if (bp->mac_port != -1) { in ptp_ocp_complete()
1336 sprintf(buf, "ttyS%d", bp->mac_port); in ptp_ocp_complete()
1337 ptp_ocp_link_child(bp, buf, "ttyMAC"); in ptp_ocp_complete()
1339 sprintf(buf, "ptp%d", ptp_clock_index(bp->ptp)); in ptp_ocp_complete()
1340 ptp_ocp_link_child(bp, buf, "ptp"); in ptp_ocp_complete()
1342 pps = pps_lookup_dev(bp->ptp); in ptp_ocp_complete()
1344 ptp_ocp_symlink(bp, pps->dev, "pps"); in ptp_ocp_complete()
1346 if (device_add_groups(&bp->dev, timecard_groups)) in ptp_ocp_complete()
1353 ptp_ocp_resource_summary(struct ptp_ocp *bp) in ptp_ocp_resource_summary() argument
1355 struct device *dev = &bp->pdev->dev; in ptp_ocp_resource_summary()
1357 if (bp->image) { in ptp_ocp_resource_summary()
1358 u32 ver = ioread32(&bp->image->version); in ptp_ocp_resource_summary()
1368 if (bp->gnss_port != -1) in ptp_ocp_resource_summary()
1369 dev_info(dev, "GNSS @ /dev/ttyS%d 115200\n", bp->gnss_port); in ptp_ocp_resource_summary()
1370 if (bp->mac_port != -1) in ptp_ocp_resource_summary()
1371 dev_info(dev, "MAC @ /dev/ttyS%d 57600\n", bp->mac_port); in ptp_ocp_resource_summary()
1375 ptp_ocp_detach_sysfs(struct ptp_ocp *bp) in ptp_ocp_detach_sysfs() argument
1377 struct device *dev = &bp->dev; in ptp_ocp_detach_sysfs()
1387 ptp_ocp_detach(struct ptp_ocp *bp) in ptp_ocp_detach() argument
1389 ptp_ocp_detach_sysfs(bp); in ptp_ocp_detach()
1390 if (timer_pending(&bp->watchdog)) in ptp_ocp_detach()
1391 del_timer_sync(&bp->watchdog); in ptp_ocp_detach()
1392 if (bp->ts0) in ptp_ocp_detach()
1393 ptp_ocp_unregister_ext(bp->ts0); in ptp_ocp_detach()
1394 if (bp->ts1) in ptp_ocp_detach()
1395 ptp_ocp_unregister_ext(bp->ts1); in ptp_ocp_detach()
1396 if (bp->pps) in ptp_ocp_detach()
1397 ptp_ocp_unregister_ext(bp->pps); in ptp_ocp_detach()
1398 if (bp->gnss_port != -1) in ptp_ocp_detach()
1399 serial8250_unregister_port(bp->gnss_port); in ptp_ocp_detach()
1400 if (bp->mac_port != -1) in ptp_ocp_detach()
1401 serial8250_unregister_port(bp->mac_port); in ptp_ocp_detach()
1402 if (bp->spi_flash) in ptp_ocp_detach()
1403 platform_device_unregister(bp->spi_flash); in ptp_ocp_detach()
1404 if (bp->i2c_ctrl) in ptp_ocp_detach()
1405 platform_device_unregister(bp->i2c_ctrl); in ptp_ocp_detach()
1406 if (bp->i2c_clk) in ptp_ocp_detach()
1407 clk_hw_unregister_fixed_rate(bp->i2c_clk); in ptp_ocp_detach()
1408 if (bp->n_irqs) in ptp_ocp_detach()
1409 pci_free_irq_vectors(bp->pdev); in ptp_ocp_detach()
1410 if (bp->ptp) in ptp_ocp_detach()
1411 ptp_clock_unregister(bp->ptp); in ptp_ocp_detach()
1412 device_unregister(&bp->dev); in ptp_ocp_detach()
1419 struct ptp_ocp *bp; in ptp_ocp_probe() local
1422 devlink = devlink_alloc(&ptp_ocp_devlink_ops, sizeof(*bp), &pdev->dev); in ptp_ocp_probe()
1438 bp = devlink_priv(devlink); in ptp_ocp_probe()
1439 err = ptp_ocp_device_init(bp, pdev); in ptp_ocp_probe()
1453 bp->n_irqs = err; in ptp_ocp_probe()
1456 err = ptp_ocp_register_resources(bp, id->driver_data); in ptp_ocp_probe()
1460 bp->ptp = ptp_clock_register(&bp->ptp_info, &pdev->dev); in ptp_ocp_probe()
1461 if (IS_ERR(bp->ptp)) { in ptp_ocp_probe()
1462 err = PTR_ERR(bp->ptp); in ptp_ocp_probe()
1464 bp->ptp = NULL; in ptp_ocp_probe()
1468 err = ptp_ocp_complete(bp); in ptp_ocp_probe()
1472 ptp_ocp_info(bp); in ptp_ocp_probe()
1473 ptp_ocp_resource_summary(bp); in ptp_ocp_probe()
1478 ptp_ocp_detach(bp); in ptp_ocp_probe()
1493 struct ptp_ocp *bp = pci_get_drvdata(pdev); in ptp_ocp_remove() local
1494 struct devlink *devlink = priv_to_devlink(bp); in ptp_ocp_remove()
1496 ptp_ocp_detach(bp); in ptp_ocp_remove()
1516 struct ptp_ocp *bp; in ptp_ocp_i2c_notifier_call() local
1538 bp = dev_get_drvdata(dev); in ptp_ocp_i2c_notifier_call()
1540 ptp_ocp_symlink(bp, child, "i2c"); in ptp_ocp_i2c_notifier_call()
1542 sysfs_remove_link(&bp->dev.kobj, "i2c"); in ptp_ocp_i2c_notifier_call()