Lines Matching refs:dp

31 	.dp = {
53 struct efi_device_path *efi_dp_next(const struct efi_device_path *dp) in efi_dp_next() argument
55 if (dp == NULL) in efi_dp_next()
57 if (dp->type == DEVICE_PATH_TYPE_END) in efi_dp_next()
59 dp = ((void *)dp) + dp->length; in efi_dp_next()
60 if (dp->type == DEVICE_PATH_TYPE_END) in efi_dp_next()
62 return (struct efi_device_path *)dp; in efi_dp_next()
105 static struct efi_device_path *shorten_path(struct efi_device_path *dp) in shorten_path() argument
107 while (dp) { in shorten_path()
113 if (EFI_DP_TYPE(dp, MESSAGING_DEVICE, MSG_USB_CLASS) || in shorten_path()
114 EFI_DP_TYPE(dp, MEDIA_DEVICE, HARD_DRIVE_PATH) || in shorten_path()
115 EFI_DP_TYPE(dp, MEDIA_DEVICE, FILE_PATH)) in shorten_path()
116 return dp; in shorten_path()
118 dp = efi_dp_next(dp); in shorten_path()
121 return dp; in shorten_path()
124 static struct efi_object *find_obj(struct efi_device_path *dp, bool short_path, in find_obj() argument
145 if (efi_dp_match(dp, obj_dp) == 0) { in find_obj()
147 *rem = ((void *)dp) + in find_obj()
166 struct efi_object *efi_dp_find_obj(struct efi_device_path *dp, in efi_dp_find_obj() argument
171 efiobj = find_obj(dp, false, rem); in efi_dp_find_obj()
174 efiobj = find_obj(dp, true, rem); in efi_dp_find_obj()
180 unsigned efi_dp_size(const struct efi_device_path *dp) in efi_dp_size() argument
184 while (dp) { in efi_dp_size()
185 sz += dp->length; in efi_dp_size()
186 dp = efi_dp_next(dp); in efi_dp_size()
192 struct efi_device_path *efi_dp_dup(const struct efi_device_path *dp) in efi_dp_dup() argument
195 unsigned sz = efi_dp_size(dp) + sizeof(END); in efi_dp_dup()
197 if (!dp) in efi_dp_dup()
201 memcpy(ndp, dp, sz); in efi_dp_dup()
229 struct efi_device_path *efi_dp_append_node(const struct efi_device_path *dp, in efi_dp_append_node() argument
234 if (!node && !dp) { in efi_dp_append_node()
237 ret = efi_dp_dup(dp); in efi_dp_append_node()
238 } else if (!dp) { in efi_dp_append_node()
246 unsigned sz = efi_dp_size(dp); in efi_dp_append_node()
248 memcpy(p, dp, sz); in efi_dp_append_node()
304 sddp->dp.type = DEVICE_PATH_TYPE_MESSAGING_DEVICE; in dp_fill()
305 sddp->dp.sub_type = (desc->if_type == IF_TYPE_MMC) ? in dp_fill()
308 sddp->dp.length = sizeof(*sddp); in dp_fill()
321 udp->dp.type = DEVICE_PATH_TYPE_MESSAGING_DEVICE; in dp_fill()
322 udp->dp.sub_type = DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS; in dp_fill()
323 udp->dp.length = sizeof(*udp); in dp_fill()
393 udp->dp.type = DEVICE_PATH_TYPE_MESSAGING_DEVICE; in dp_part_fill()
394 udp->dp.sub_type = DEVICE_PATH_SUB_TYPE_MSG_USB; in dp_part_fill()
395 udp->dp.length = sizeof(*udp); in dp_part_fill()
410 cddp->dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE; in dp_part_fill()
411 cddp->dp.sub_type = DEVICE_PATH_SUB_TYPE_CDROM_PATH; in dp_part_fill()
412 cddp->dp.length = sizeof(*cddp); in dp_part_fill()
420 hddp->dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE; in dp_part_fill()
421 hddp->dp.sub_type = DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH; in dp_part_fill()
422 hddp->dp.length = sizeof(*hddp); in dp_part_fill()
492 fp->dp.type = DEVICE_PATH_TYPE_MEDIA_DEVICE; in efi_dp_from_file()
493 fp->dp.sub_type = DEVICE_PATH_SUB_TYPE_FILE_PATH; in efi_dp_from_file()
494 fp->dp.length = fpsize; in efi_dp_from_file()
529 ndp->dp.type = DEVICE_PATH_TYPE_MESSAGING_DEVICE; in efi_dp_from_eth()
530 ndp->dp.sub_type = DEVICE_PATH_SUB_TYPE_MSG_MAC_ADDR; in efi_dp_from_eth()
531 ndp->dp.length = sizeof(*ndp); in efi_dp_from_eth()
549 struct efi_device_path *p, *dp, *fp; in efi_dp_split_file_path() local
551 dp = efi_dp_dup(full_path); in efi_dp_split_file_path()
552 p = dp; in efi_dp_split_file_path()
561 *device_path = dp; in efi_dp_split_file_path()