Lines Matching refs:dev_desc

34 static struct part_driver *part_driver_lookup_type(struct blk_desc *dev_desc)  in part_driver_lookup_type()  argument
41 if (dev_desc->part_type == PART_TYPE_UNKNOWN) { in part_driver_lookup_type()
45 ret = entry->test(dev_desc); in part_driver_lookup_type()
47 dev_desc->part_type = entry->part_type; in part_driver_lookup_type()
53 if (dev_desc->part_type == entry->part_type) in part_driver_lookup_type()
64 struct blk_desc *dev_desc; in get_dev_hwpart() local
67 dev_desc = blk_get_devnum_by_typename(ifname, dev); in get_dev_hwpart()
68 if (!dev_desc) { in get_dev_hwpart()
73 ret = blk_dselect_hwpart(dev_desc, hwpart); in get_dev_hwpart()
80 return dev_desc; in get_dev_hwpart()
126 void dev_print (struct blk_desc *dev_desc) in dev_print() argument
130 if (dev_desc->type == DEV_TYPE_UNKNOWN) { in dev_print()
135 switch (dev_desc->if_type) { in dev_print()
138 dev_desc->target,dev_desc->lun, in dev_print()
139 dev_desc->vendor, in dev_print()
140 dev_desc->product, in dev_print()
141 dev_desc->revision); in dev_print()
147 dev_desc->vendor, in dev_print()
148 dev_desc->revision, in dev_print()
149 dev_desc->product); in dev_print()
160 dev_desc->vendor, in dev_print()
161 dev_desc->revision, in dev_print()
162 dev_desc->product); in dev_print()
171 printf("Unhandled device type: %i\n", dev_desc->if_type); in dev_print()
175 if (dev_desc->removable) in dev_print()
177 switch (dev_desc->type & 0x1F) { in dev_print()
191 printf ("# %02X #", dev_desc->type & 0x1F); in dev_print()
195 if (dev_desc->lba > 0L && dev_desc->blksz > 0L) { in dev_print()
199 lba = dev_desc->lba; in dev_print()
201 lba512 = (lba * (dev_desc->blksz/512)); in dev_print()
213 if (dev_desc->lba48) in dev_print()
221 dev_desc->blksz); in dev_print()
227 dev_desc->blksz); in dev_print()
237 void part_init(struct blk_desc *dev_desc) in part_init() argument
244 blkcache_invalidate(dev_desc->if_type, dev_desc->devnum); in part_init()
246 dev_desc->part_type = PART_TYPE_UNKNOWN; in part_init()
250 ret = entry->test(dev_desc); in part_init()
253 dev_desc->part_type = entry->part_type; in part_init()
259 static void print_part_header(const char *type, struct blk_desc *dev_desc) in print_part_header() argument
267 switch (dev_desc->if_type) { in print_part_header()
312 dev_desc->devnum, type); in print_part_header()
316 void part_print(struct blk_desc *dev_desc) in part_print() argument
320 drv = part_driver_lookup_type(dev_desc); in part_print()
323 dev_desc->part_type); in part_print()
328 print_part_header(drv->name, dev_desc); in part_print()
330 drv->print(dev_desc); in part_print()
333 const char *part_get_type(struct blk_desc *dev_desc) in part_get_type() argument
337 drv = part_driver_lookup_type(dev_desc); in part_get_type()
340 dev_desc->part_type); in part_get_type()
348 int part_get_info(struct blk_desc *dev_desc, int part, in part_get_info() argument
362 drv = part_driver_lookup_type(dev_desc); in part_get_info()
365 dev_desc->part_type); in part_get_info()
373 if (drv->get_info(dev_desc, part, info) == 0) { in part_get_info()
382 int part_get_info_whole_disk(struct blk_desc *dev_desc, disk_partition_t *info) in part_get_info_whole_disk() argument
385 info->size = dev_desc->lba; in part_get_info_whole_disk()
386 info->blksz = dev_desc->blksz; in part_get_info_whole_disk()
401 struct blk_desc **dev_desc) in blk_get_device_by_str() argument
437 *dev_desc = get_dev_hwpart(ifname, dev, hwpart); in blk_get_device_by_str()
438 if (!(*dev_desc) || ((*dev_desc)->type == DEV_TYPE_UNKNOWN)) { in blk_get_device_by_str()
451 part_init(*dev_desc); in blk_get_device_by_str()
462 struct blk_desc **dev_desc, in blk_get_device_part_str() argument
481 *dev_desc = NULL; in blk_get_device_part_str()
510 *dev_desc = NULL; in blk_get_device_part_str()
544 dev = blk_get_device_by_str(ifname, dev_str, dev_desc); in blk_get_device_part_str()
571 if (((*dev_desc)->part_type == PART_TYPE_UNKNOWN) || in blk_get_device_part_str()
573 if (!(*dev_desc)->lba) { in blk_get_device_part_str()
590 (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz); in blk_get_device_part_str()
592 part_get_info_whole_disk(*dev_desc, info); in blk_get_device_part_str()
610 ret = part_get_info(*dev_desc, part, info); in blk_get_device_part_str()
622 ret = part_get_info(*dev_desc, p, info); in blk_get_device_part_str()
667 (*dev_desc)->log2blksz = LOG2((*dev_desc)->blksz); in blk_get_device_part_str()
682 static int part_get_info_by_name_option(struct blk_desc *dev_desc, in part_get_info_by_name_option() argument
693 part_drv = part_driver_lookup_type(dev_desc); in part_get_info_by_name_option()
714 if (spl_ab_append_part_slot(dev_desc, name, name_slot)) in part_get_info_by_name_option()
722 ret = part_drv->get_info(dev_desc, i, info); in part_get_info_by_name_option()
743 int part_get_info_by_name(struct blk_desc *dev_desc, const char *name, in part_get_info_by_name() argument
746 return part_get_info_by_name_option(dev_desc, name, info, false); in part_get_info_by_name()
749 int part_get_info_by_name_strict(struct blk_desc *dev_desc, const char *name, in part_get_info_by_name_strict() argument
752 return part_get_info_by_name_option(dev_desc, name, info, true); in part_get_info_by_name_strict()
755 void part_set_generic_name(const struct blk_desc *dev_desc, in part_set_generic_name() argument
760 switch (dev_desc->if_type) { in part_set_generic_name()
784 sprintf(name, "%s%c%d", devtype, 'a' + dev_desc->devnum, part_num); in part_set_generic_name()