Lines Matching +full:store +full:- +full:release
23 static int edac_pci_log_npe = 1; /* log PCI non-parity error errors */
61 return sprintf(data, "%u\n", atomic_read(&pci->counters.pe_count)); in instance_pe_count_show()
67 return sprintf(data, "%u\n", atomic_read(&pci->counters.npe_count)); in instance_npe_count_show()
73 /* DEVICE instance kobject release() function */
93 ssize_t(*store) (struct edac_pci_ctl_info *, const char *, size_t); member
103 if (instance_attr->show) in edac_pci_instance_show()
104 return instance_attr->show(pci, buffer); in edac_pci_instance_show()
105 return -EIO; in edac_pci_instance_show()
108 /* Function to 'store' fields into the edac_pci 'instance' structure */
116 if (instance_attr->store) in edac_pci_instance_store()
117 return instance_attr->store(pci, buffer, count); in edac_pci_instance_store()
118 return -EIO; in edac_pci_instance_store()
124 .store = edac_pci_instance_store
131 .store = _store, \
147 .release = edac_pci_instance_release,
170 err = -ENODEV; in edac_pci_create_instance_kobj()
175 err = kobject_init_and_add(&pci->kobj, &ktype_pci_instance, in edac_pci_create_instance_kobj()
183 kobject_uevent(&pci->kobj, KOBJ_ADD); in edac_pci_create_instance_kobj()
203 /* Unregister the instance kobject and allow its release in edac_pci_unregister_sysfs_instance_kobj()
204 * function release the main reference count and then in edac_pci_unregister_sysfs_instance_kobj()
207 kobject_put(&pci->kobj); in edac_pci_unregister_sysfs_instance_kobj()
214 /* simple show/store functions for attributes */
235 ssize_t(*store) (void *, const char *, size_t); member
238 /* Set of show/store abstract level functions for PCI Parity object */
245 if (edac_pci_dev->show) in edac_pci_dev_show()
246 return edac_pci_dev->show(edac_pci_dev->value, buffer); in edac_pci_dev_show()
247 return -EIO; in edac_pci_dev_show()
257 if (edac_pci_dev->store) in edac_pci_dev_store()
258 return edac_pci_dev->store(edac_pci_dev->value, buffer, count); in edac_pci_dev_store()
259 return -EIO; in edac_pci_dev_store()
264 .store = edac_pci_dev_store
272 .store = _store, \
280 .store = _store, \
310 * This release function is called when the reference count to the
323 * NOW release our ref count on the core module in edac_pci_release_main_kobj()
330 .release = edac_pci_release_main_kobj,
340 int err = -ENODEV; in edac_pci_main_kobj_setup()
367 err = -ENOMEM; in edac_pci_main_kobj_setup()
376 &dev_root->kobj, "pci"); in edac_pci_main_kobj_setup()
384 /* At this point, to 'release' the top level kobject in edac_pci_main_kobj_setup()
430 struct kobject *edac_kobj = &pci->kobj; in edac_pci_create_sysfs()
432 edac_dbg(0, "idx=%d\n", pci->pci_idx); in edac_pci_create_sysfs()
440 err = edac_pci_create_instance_kobj(pci, pci->pci_idx); in edac_pci_create_sysfs()
444 err = sysfs_create_link(edac_kobj, &pci->dev->kobj, EDAC_PCI_SYMLINK); in edac_pci_create_sysfs()
464 edac_dbg(0, "index=%d\n", pci->pci_idx); in edac_pci_remove_sysfs()
467 sysfs_remove_link(&pci->kobj, EDAC_PCI_SYMLINK); in edac_pci_remove_sysfs()
552 edac_dbg(4, "PCI STATUS= 0x%04x %s\n", status, dev_name(&dev->dev)); in edac_pci_dev_parity_test()
557 if (status && !dev->broken_parity_status) { in edac_pci_dev_parity_test()
584 header_type, dev_name(&dev->dev)); in edac_pci_dev_parity_test()
591 status, dev_name(&dev->dev)); in edac_pci_dev_parity_test()
596 if (status && !dev->broken_parity_status) { in edac_pci_dev_parity_test()
695 atomic_inc(&pci->counters.pe_count); in edac_pci_handle_pe()
700 pci->ctl_name, pci->pci_idx, msg); in edac_pci_handle_pe()
714 * Called to handle a NON-PARITY ERROR event
720 atomic_inc(&pci->counters.npe_count); in edac_pci_handle_npe()
724 "Non-Parity Error ctl: %s %d: %s\n", in edac_pci_handle_npe()
725 pci->ctl_name, pci->pci_idx, msg); in edac_pci_handle_npe()