Browse Source

Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Fix sys_pciconfig_iobase bus matching
  [POWERPC] PS3: add not complete comment to kconfig
  [POWERPC] ps3_free_io_irq: Fix inverted error check
  [POWERPC] PS3: Fix uniprocessor kernel build
Linus Torvalds 19 years ago
parent
commit
5263bf65d6

+ 4 - 1
arch/powerpc/Kconfig

@@ -526,12 +526,15 @@ config PPC_IBM_CELL_BLADE
 	select UDBG_RTAS_CONSOLE
 	select UDBG_RTAS_CONSOLE
 
 
 config PPC_PS3
 config PPC_PS3
-	bool "Sony PS3"
+	bool "Sony PS3 (incomplete)"
 	depends on PPC_MULTIPLATFORM && PPC64
 	depends on PPC_MULTIPLATFORM && PPC64
 	select PPC_CELL
 	select PPC_CELL
 	help
 	help
 	  This option enables support for the Sony PS3 game console
 	  This option enables support for the Sony PS3 game console
 	  and other platforms using the PS3 hypervisor.
 	  and other platforms using the PS3 hypervisor.
+	  Support for this platform is not yet complete, so
+	  enabling this will not result in a bootable kernel on a
+	  PS3 system.
 
 
 config PPC_NATIVE
 config PPC_NATIVE
 	bool
 	bool

+ 1 - 1
arch/powerpc/kernel/pci_64.c

@@ -1430,7 +1430,7 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
 
 
 	for (ln = pci_root_buses.next; ln != &pci_root_buses; ln = ln->next) {
 	for (ln = pci_root_buses.next; ln != &pci_root_buses; ln = ln->next) {
 		bus = pci_bus_b(ln);
 		bus = pci_bus_b(ln);
-		if (in_bus >= bus->number && in_bus < (bus->number + bus->subordinate))
+		if (in_bus >= bus->number && in_bus <= bus->subordinate)
 			break;
 			break;
 		bus = NULL;
 		bus = NULL;
 	}
 	}

+ 2 - 1
arch/powerpc/platforms/ps3/Makefile

@@ -1,4 +1,5 @@
-obj-y += setup.o mm.o smp.o time.o hvcall.o htab.o repository.o
+obj-y += setup.o mm.o time.o hvcall.o htab.o repository.o
 obj-y += interrupt.o exports.o os-area.o
 obj-y += interrupt.o exports.o os-area.o
 
 
+obj-$(CONFIG_SMP) += smp.o
 obj-$(CONFIG_SPU_BASE) += spu.o
 obj-$(CONFIG_SPU_BASE) += spu.o

+ 1 - 1
arch/powerpc/platforms/ps3/interrupt.c

@@ -71,7 +71,7 @@ int ps3_free_io_irq(unsigned int virq)
 
 
 	result = lv1_destruct_io_irq_outlet(virq_to_hw(virq));
 	result = lv1_destruct_io_irq_outlet(virq_to_hw(virq));
 
 
-	if (!result)
+	if (result)
 		pr_debug("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n",
 		pr_debug("%s:%d: lv1_destruct_io_irq_outlet failed: %s\n",
 			__func__, __LINE__, ps3_result(result));
 			__func__, __LINE__, ps3_result(result));