Lines Matching refs:diskobj
108 struct efi_disk_obj *diskobj; in efi_disk_rw_blocks() local
113 diskobj = container_of(this, struct efi_disk_obj, ops); in efi_disk_rw_blocks()
114 blksz = diskobj->media.block_size; in efi_disk_rw_blocks()
125 device_get_uclass_id(diskobj->header.dev) == UCLASS_PARTITION) { in efi_disk_rw_blocks()
127 n = disk_blk_read(diskobj->header.dev, lba, blocks, in efi_disk_rw_blocks()
130 n = disk_blk_write(diskobj->header.dev, lba, blocks, in efi_disk_rw_blocks()
136 desc = dev_get_uclass_plat(diskobj->header.dev); in efi_disk_rw_blocks()
378 static void efi_disk_free_diskobj(struct efi_disk_obj *diskobj) in efi_disk_free_diskobj() argument
380 struct efi_device_path *dp = diskobj->dp; in efi_disk_free_diskobj()
381 struct efi_simple_file_system_protocol *volume = diskobj->volume; in efi_disk_free_diskobj()
387 efi_delete_handle(&diskobj->header); in efi_disk_free_diskobj()
413 struct efi_disk_obj *diskobj; in efi_disk_add_dev() local
422 diskobj = calloc(1, sizeof(*diskobj)); in efi_disk_add_dev()
423 if (!diskobj) in efi_disk_add_dev()
427 efi_add_handle(&diskobj->header); in efi_disk_add_dev()
432 struct efi_partition_info *info = &diskobj->info; in efi_disk_add_dev()
454 &diskobj->header, in efi_disk_add_dev()
488 diskobj->dp = efi_dp_append_node(dp_parent, node); in efi_disk_add_dev()
490 diskobj->media.last_block = part_info->size - 1; in efi_disk_add_dev()
497 diskobj->dp = efi_dp_from_part(desc, part); in efi_disk_add_dev()
498 diskobj->media.last_block = desc->lba - 1; in efi_disk_add_dev()
508 handle = &diskobj->header; in efi_disk_add_dev()
511 &efi_guid_device_path, diskobj->dp, in efi_disk_add_dev()
512 &efi_block_io_guid, &diskobj->ops, in efi_disk_add_dev()
513 &efi_partition_info_guid, &diskobj->info, in efi_disk_add_dev()
531 ret = efi_create_simple_file_system(desc, part, diskobj->dp, in efi_disk_add_dev()
532 &diskobj->volume); in efi_disk_add_dev()
536 ret = efi_add_protocol(&diskobj->header, in efi_disk_add_dev()
538 diskobj->volume); in efi_disk_add_dev()
542 diskobj->ops = block_io_disk_template; in efi_disk_add_dev()
545 diskobj->media.removable_media = desc->removable; in efi_disk_add_dev()
546 diskobj->media.media_present = 1; in efi_disk_add_dev()
551 diskobj->media.media_id = 1; in efi_disk_add_dev()
552 diskobj->media.block_size = desc->blksz; in efi_disk_add_dev()
553 diskobj->media.io_align = desc->blksz; in efi_disk_add_dev()
555 diskobj->media.logical_partition = 1; in efi_disk_add_dev()
556 diskobj->ops.media = &diskobj->media; in efi_disk_add_dev()
558 *disk = diskobj; in efi_disk_add_dev()
563 diskobj->media.media_present, in efi_disk_add_dev()
564 diskobj->media.logical_partition, in efi_disk_add_dev()
565 diskobj->media.removable_media, in efi_disk_add_dev()
566 diskobj->media.last_block); in efi_disk_add_dev()
582 efi_disk_free_diskobj(diskobj); in efi_disk_add_dev()
757 struct efi_disk_obj *diskobj = NULL; in efi_disk_remove() local
775 diskobj = (struct efi_disk_obj *)handle; in efi_disk_remove()
778 diskobj = (struct efi_disk_obj *)handle; in efi_disk_remove()
787 dp = diskobj->dp; in efi_disk_remove()
788 volume = diskobj->volume; in efi_disk_remove()