CARDBUS_MEM_SIZE was increased to 64MB on 2.6.20-rc2, but larger size might result in allocation failure for the reserving itself on some platforms (for example typical 32bit MIPS). Make it (and CARDBUS_IO_SIZE too) customizable for such platforms. Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> --- diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig index 3cfb0a3..6085d3d 100644 --- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig @@ -60,3 +60,19 @@ config HT_IRQ This allows native hypertransport devices to use interrupts. If unsure say Y. + +config PCI_CARDBUS_IO_SIZE + int "CardBus IO window size (bytes)" + depends on PCI + default "256" + help + A fixed amount of bus space is reserved for CardBus bridges. + The default value is 256 bytes. + +config PCI_CARDBUS_MEM_SIZE + int "CardBus Memory window size (megabytes)" + depends on PCI + default "64" + help + A fixed amount of bus space is reserved for CardBus bridges. + The default value is 64 megabytes. diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 89f3036..046c87b 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -40,8 +40,8 @@ * FIXME: IO should be max 256 bytes. However, since we may * have a P2P bridge below a cardbus bridge, we need 4K. */ -#define CARDBUS_IO_SIZE (256) -#define CARDBUS_MEM_SIZE (64*1024*1024) +#define CARDBUS_IO_SIZE CONFIG_PCI_CARDBUS_IO_SIZE +#define CARDBUS_MEM_SIZE (CONFIG_PCI_CARDBUS_MEM_SIZE * 1024 * 1024) static void __devinit pbus_assign_resources_sorted(struct pci_bus *bus)