diff --git a/drivers/block/efi-block-io.c b/drivers/block/efi-block-io.c index 39dbfb0..30db486 100644 --- a/drivers/block/efi-block-io.c +++ b/drivers/block/efi-block-io.c @@ -131,16 +131,9 @@ media->optimal_transfer_length_granularity); } -static int is_bio_usbdev(struct efi_device *efidev) +static bool is_bio_usbdev(struct efi_device *efidev) { - int i; - - for (i = 0; i < efidev->num_guids; i++) { - if (!efi_guidcmp(efidev->guids[i], EFI_USB_IO_PROTOCOL_GUID)) - return 1; - } - - return 0; + return efi_device_has_guid(efidev, EFI_USB_IO_PROTOCOL_GUID); } static int efi_bio_probe(struct efi_device *efidev) diff --git a/drivers/efi/efi-device.c b/drivers/efi/efi-device.c index a1aac2d..ac035dc 100644 --- a/drivers/efi/efi-device.c +++ b/drivers/efi/efi-device.c @@ -386,16 +386,9 @@ return ret != 1; } -static int is_bio_usbdev(struct efi_device *efidev) +static bool is_bio_usbdev(struct efi_device *efidev) { - int i; - - for (i = 0; i < efidev->num_guids; i++) { - if (!efi_guidcmp(efidev->guids[i], EFI_USB_IO_PROTOCOL_GUID)) - return 1; - } - - return 0; + return efi_device_has_guid(efidev, EFI_USB_IO_PROTOCOL_GUID); } static struct efi_device *bootdev; diff --git a/include/efi/efi-device.h b/include/efi/efi-device.h index 5eaf1f2..5ec59a8 100644 --- a/include/efi/efi-device.h +++ b/include/efi/efi-device.h @@ -45,4 +45,16 @@ void efi_register_devices(void); struct efi_device *efi_get_bootsource(void); +static inline bool efi_device_has_guid(struct efi_device *efidev, efi_guid_t guid) +{ + int i; + + for (i = 0; i < efidev->num_guids; i++) { + if (!efi_guidcmp(efidev->guids[i], guid)) + return true; + } + + return false; +} + #endif /* __EFI_EFI_DEVICE_H */