In addition to PCIe we now support USB and also prepare for SDIO (still
disabled locally). The module SRCS are split up into a common part,
which we always add. All three bus parts are guarded by a local "WITH"
variable in the Makefile.
In addition the PCI parts require PCI to be compiled into the kernel.
We add that check in case of, e.g., SoCs with SDIO but no PCI, which
may not have PCI in the kernel config and thus the module would fail
to attach.
USB has no additional check as it is fully loadable and does not have
to be in a kernel config.
SDIO depends on an MMCCAM-enabled kernel but is otherwise laodable.
While we could, we are not splitting the various bus attachments into
individual modules as we generally do not do that in FreeBSD. [1]
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Discussed with: imp and jhb (2022, 2024), see also 17732dd8f01b [1]