Introduce a linux compatibility interface to firmware(9) to handle
linux firmware functions, which we seem to rewrite in multiple
(work-in-progress) drivers. Due to the equal naming of
struct firmware the "compat structure" is duplicated between header
and implementation with a "linux_" prefix in the latter and needs
to be kept in sync. This allows us to hide the FreeBSD implementation
entirely.
Reviewed by: .. Sponsored by: The FreeBSD Foundation MFC after: 5 days