> There are hardware accelerators that are not integrated into the CPU execution units but that exist as separate devices.
To me it would seem reasonable to have a crypto API in the kernel with no software fallback, so that it is available if it makes sense to do it in hardware, but the interface user has to handle the fallback themselves if the hardware isn't there.