Lines Matching refs:bi

248 	struct blk_integrity *bi =  in integrity_attr_show()  local
253 return entry->show(bi, page); in integrity_attr_show()
260 struct blk_integrity *bi = in integrity_attr_store() local
267 ret = entry->store(bi, page, count); in integrity_attr_store()
272 static ssize_t integrity_format_show(struct blk_integrity *bi, char *page) in integrity_format_show() argument
274 if (bi != NULL && bi->name != NULL) in integrity_format_show()
275 return sprintf(page, "%s\n", bi->name); in integrity_format_show()
280 static ssize_t integrity_tag_size_show(struct blk_integrity *bi, char *page) in integrity_tag_size_show() argument
282 if (bi != NULL) in integrity_tag_size_show()
283 return sprintf(page, "%u\n", bi->tag_size); in integrity_tag_size_show()
288 static ssize_t integrity_verify_store(struct blk_integrity *bi, in integrity_verify_store() argument
295 bi->flags |= BLK_INTEGRITY_VERIFY; in integrity_verify_store()
297 bi->flags &= ~BLK_INTEGRITY_VERIFY; in integrity_verify_store()
302 static ssize_t integrity_verify_show(struct blk_integrity *bi, char *page) in integrity_verify_show() argument
304 return sprintf(page, "%d\n", (bi->flags & BLK_INTEGRITY_VERIFY) != 0); in integrity_verify_show()
307 static ssize_t integrity_generate_store(struct blk_integrity *bi, in integrity_generate_store() argument
314 bi->flags |= BLK_INTEGRITY_GENERATE; in integrity_generate_store()
316 bi->flags &= ~BLK_INTEGRITY_GENERATE; in integrity_generate_store()
321 static ssize_t integrity_generate_show(struct blk_integrity *bi, char *page) in integrity_generate_show() argument
323 return sprintf(page, "%d\n", (bi->flags & BLK_INTEGRITY_GENERATE) != 0); in integrity_generate_show()
326 static ssize_t integrity_device_show(struct blk_integrity *bi, char *page) in integrity_device_show() argument
329 (bi->flags & BLK_INTEGRITY_DEVICE_CAPABLE) != 0); in integrity_device_show()
384 struct blk_integrity *bi = in blk_integrity_release() local
387 kmem_cache_free(integrity_cachep, bi); in blk_integrity_release()
398 struct blk_integrity *bi = blk_get_integrity(disk); in blk_integrity_is_initialized() local
400 return (bi && bi->name && strcmp(bi->name, bi_unsupported_name) != 0); in blk_integrity_is_initialized()
418 struct blk_integrity *bi; in blk_integrity_register() local
423 bi = kmem_cache_alloc(integrity_cachep, in blk_integrity_register()
425 if (!bi) in blk_integrity_register()
428 if (kobject_init_and_add(&bi->kobj, &integrity_ktype, in blk_integrity_register()
431 kmem_cache_free(integrity_cachep, bi); in blk_integrity_register()
435 kobject_uevent(&bi->kobj, KOBJ_ADD); in blk_integrity_register()
437 bi->flags |= BLK_INTEGRITY_VERIFY | BLK_INTEGRITY_GENERATE; in blk_integrity_register()
438 bi->interval = queue_logical_block_size(disk->queue); in blk_integrity_register()
439 disk->integrity = bi; in blk_integrity_register()
441 bi = disk->integrity; in blk_integrity_register()
445 bi->name = template->name; in blk_integrity_register()
446 bi->generate_fn = template->generate_fn; in blk_integrity_register()
447 bi->verify_fn = template->verify_fn; in blk_integrity_register()
448 bi->tuple_size = template->tuple_size; in blk_integrity_register()
449 bi->tag_size = template->tag_size; in blk_integrity_register()
450 bi->flags |= template->flags; in blk_integrity_register()
452 bi->name = bi_unsupported_name; in blk_integrity_register()
469 struct blk_integrity *bi; in blk_integrity_unregister() local
476 bi = disk->integrity; in blk_integrity_unregister()
478 kobject_uevent(&bi->kobj, KOBJ_REMOVE); in blk_integrity_unregister()
479 kobject_del(&bi->kobj); in blk_integrity_unregister()
480 kobject_put(&bi->kobj); in blk_integrity_unregister()