
commit d97e98c887ed8fa4a339350c02f093f03cd1cf4d breaks the OpenBSD bootloader. Or rather, it seems that this breaks access to raw devices through the UEFI interfaces, which is something the OpenBSD bootloader relies on.
After this commit we end up calling dev_read() and dev_write() instead of blk_dread() and blk_dwrite(). But dev_read() and dev_write() only work if dev_get_blk() returns a valid struct blkdev, and that handles only for UCLASS_PARTITION. But when accessing raw devices we have a UCLASS_BLK.
The easy fix would be to support UCLASS_BLK in dev_get_blk(), but that function has an explicit comment saying:
/* * We won't support UCLASS_BLK with dev_* interfaces. */ So I'm a bit at a loss what is needed here.