mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-02 15:53:42 +00:00
Mips builds with BCMA host mode enabled fail in mainline and -next
with:
In file included from include/linux/bcma/bcma.h:10:0,
from drivers/bcma/bcma_private.h:9,
from drivers/bcma/main.c:8:
include/linux/bcma/bcma_driver_pci.h:218:24: error:
field 'pci_controller' has incomplete type
Bisect points to commit d41e6858ba ("MIPS: Kconfig: Set default MIPS
system type as generic") as the culprit. Analysis shows that the commmit
changes PCI configuration and enables PCI_DRIVERS_GENERIC. This in turn
disables PCI_DRIVERS_LEGACY. 'struct pci_controller' is, however, only
defined if PCI_DRIVERS_LEGACY is enabled.
Ultimately that means that BCMA_DRIVER_PCI_HOSTMODE depends on
PCI_DRIVERS_LEGACY. Add the missing dependency.
Fixes: d41e6858ba ("MIPS: Kconfig: Set default MIPS system type as ...")
Cc: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: James Hogan <jhogan@kernel.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: James Hogan <jhogan@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Broadcom introduced new bus as replacement for older SSB. It is based on AMBA, however from programming point of view there is nothing AMBA specific we use. Standard AMBA drivers are platform specific, have hardcoded addresses and use AMBA standard fields like CID and PID. In case of Broadcom's cards every device consists of: 1) Broadcom specific AMBA device. It is put on AMBA bus, but can not be treated as standard AMBA device. Reading it's CID or PID can cause machine lockup. 2) AMBA standard devices called ports or wrappers. They have CIDs (AMBA_CID) and PIDs (0x103BB369), but we do not use that info for anything. One of that devices is used for managing Broadcom specific core. Addresses of AMBA devices are not hardcoded in driver and have to be read from EPROM. In this situation we decided to introduce separated bus. It can contain up to 16 devices identified by Broadcom specific fields: manufacturer, id, revision and class.