Lines Matching refs:nvdimm_bus
72 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in to_bus_provider() local
74 return nvdimm_bus->module; in to_bus_provider()
79 static void nvdimm_bus_probe_start(struct nvdimm_bus *nvdimm_bus) in nvdimm_bus_probe_start() argument
81 nvdimm_bus_lock(&nvdimm_bus->dev); in nvdimm_bus_probe_start()
82 nvdimm_bus->probe_active++; in nvdimm_bus_probe_start()
83 nvdimm_bus_unlock(&nvdimm_bus->dev); in nvdimm_bus_probe_start()
86 static void nvdimm_bus_probe_end(struct nvdimm_bus *nvdimm_bus) in nvdimm_bus_probe_end() argument
88 nvdimm_bus_lock(&nvdimm_bus->dev); in nvdimm_bus_probe_end()
89 if (--nvdimm_bus->probe_active == 0) in nvdimm_bus_probe_end()
90 wake_up(&nvdimm_bus->probe_wait); in nvdimm_bus_probe_end()
91 nvdimm_bus_unlock(&nvdimm_bus->dev); in nvdimm_bus_probe_end()
98 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in nvdimm_bus_probe() local
104 nvdimm_bus_probe_start(nvdimm_bus); in nvdimm_bus_probe()
107 nd_region_probe_success(nvdimm_bus, dev); in nvdimm_bus_probe()
109 nd_region_disable(nvdimm_bus, dev); in nvdimm_bus_probe()
110 nvdimm_bus_probe_end(nvdimm_bus); in nvdimm_bus_probe()
112 dev_dbg(&nvdimm_bus->dev, "%s.probe(%s) = %d\n", dev->driver->name, in nvdimm_bus_probe()
124 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in nvdimm_bus_remove() local
128 nd_region_disable(nvdimm_bus, dev); in nvdimm_bus_remove()
130 dev_dbg(&nvdimm_bus->dev, "%s.remove(%s) = %d\n", dev->driver->name, in nvdimm_bus_remove()
313 int nvdimm_bus_create_ndctl(struct nvdimm_bus *nvdimm_bus) in nvdimm_bus_create_ndctl() argument
315 dev_t devt = MKDEV(nvdimm_bus_major, nvdimm_bus->id); in nvdimm_bus_create_ndctl()
318 dev = device_create(nd_class, &nvdimm_bus->dev, devt, nvdimm_bus, in nvdimm_bus_create_ndctl()
319 "ndctl%d", nvdimm_bus->id); in nvdimm_bus_create_ndctl()
322 dev_dbg(&nvdimm_bus->dev, "failed to register ndctl%d: %ld\n", in nvdimm_bus_create_ndctl()
323 nvdimm_bus->id, PTR_ERR(dev)); in nvdimm_bus_create_ndctl()
329 void nvdimm_bus_destroy_ndctl(struct nvdimm_bus *nvdimm_bus) in nvdimm_bus_destroy_ndctl() argument
331 device_destroy(nd_class, MKDEV(nvdimm_bus_major, nvdimm_bus->id)); in nvdimm_bus_destroy_ndctl()
454 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in wait_nvdimm_bus_probe_idle() local
457 if (nvdimm_bus->probe_active == 0) in wait_nvdimm_bus_probe_idle()
459 nvdimm_bus_unlock(&nvdimm_bus->dev); in wait_nvdimm_bus_probe_idle()
460 wait_event(nvdimm_bus->probe_wait, in wait_nvdimm_bus_probe_idle()
461 nvdimm_bus->probe_active == 0); in wait_nvdimm_bus_probe_idle()
462 nvdimm_bus_lock(&nvdimm_bus->dev); in wait_nvdimm_bus_probe_idle()
469 struct nvdimm_bus *nvdimm_bus; in nd_cmd_clear_to_send() local
474 nvdimm_bus = walk_to_nvdimm_bus(&nvdimm->dev); in nd_cmd_clear_to_send()
475 wait_nvdimm_bus_probe_idle(&nvdimm_bus->dev); in nd_cmd_clear_to_send()
482 static int __nd_ioctl(struct nvdimm_bus *nvdimm_bus, struct nvdimm *nvdimm, in __nd_ioctl() argument
485 struct nvdimm_bus_descriptor *nd_desc = nvdimm_bus->nd_desc; in __nd_ioctl()
492 struct device *dev = &nvdimm_bus->dev; in __nd_ioctl()
520 dev_dbg(&nvdimm_bus->dev, "'%s' command while read-only.\n", in __nd_ioctl()
585 nvdimm_bus_lock(&nvdimm_bus->dev); in __nd_ioctl()
596 nvdimm_bus_unlock(&nvdimm_bus->dev); in __nd_ioctl()
606 struct nvdimm_bus *nvdimm_bus; in nd_ioctl() local
610 list_for_each_entry(nvdimm_bus, &nvdimm_bus_list, list) { in nd_ioctl()
611 if (nvdimm_bus->id == id) { in nd_ioctl()
612 rc = __nd_ioctl(nvdimm_bus, NULL, read_only, cmd, arg); in nd_ioctl()
637 struct nvdimm_bus *nvdimm_bus; in nvdimm_ioctl() local
641 list_for_each_entry(nvdimm_bus, &nvdimm_bus_list, list) { in nvdimm_ioctl()
642 struct device *dev = device_find_child(&nvdimm_bus->dev, in nvdimm_ioctl()
650 rc = __nd_ioctl(nvdimm_bus, nvdimm, read_only, cmd, arg); in nvdimm_ioctl()