diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/legacy_serial.c | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/signal_32.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/pfunc_core.c | 13 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/pci_dlpar.c | 3 |
4 files changed, 14 insertions, 10 deletions
diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c index f970ace208d3..c7a799a09516 100644 --- a/arch/powerpc/kernel/legacy_serial.c +++ b/arch/powerpc/kernel/legacy_serial.c | |||
@@ -134,7 +134,6 @@ static int __init add_legacy_soc_port(struct device_node *np, | |||
134 | return add_legacy_port(np, -1, UPIO_MEM, addr, addr, NO_IRQ, flags); | 134 | return add_legacy_port(np, -1, UPIO_MEM, addr, addr, NO_IRQ, flags); |
135 | } | 135 | } |
136 | 136 | ||
137 | #ifdef CONFIG_ISA | ||
138 | static int __init add_legacy_isa_port(struct device_node *np, | 137 | static int __init add_legacy_isa_port(struct device_node *np, |
139 | struct device_node *isa_brg) | 138 | struct device_node *isa_brg) |
140 | { | 139 | { |
@@ -168,7 +167,6 @@ static int __init add_legacy_isa_port(struct device_node *np, | |||
168 | return add_legacy_port(np, index, UPIO_PORT, reg[1], taddr, NO_IRQ, UPF_BOOT_AUTOCONF); | 167 | return add_legacy_port(np, index, UPIO_PORT, reg[1], taddr, NO_IRQ, UPF_BOOT_AUTOCONF); |
169 | 168 | ||
170 | } | 169 | } |
171 | #endif | ||
172 | 170 | ||
173 | #ifdef CONFIG_PCI | 171 | #ifdef CONFIG_PCI |
174 | static int __init add_legacy_pci_port(struct device_node *np, | 172 | static int __init add_legacy_pci_port(struct device_node *np, |
@@ -276,7 +274,6 @@ void __init find_legacy_serial_ports(void) | |||
276 | of_node_put(soc); | 274 | of_node_put(soc); |
277 | } | 275 | } |
278 | 276 | ||
279 | #ifdef CONFIG_ISA | ||
280 | /* First fill our array with ISA ports */ | 277 | /* First fill our array with ISA ports */ |
281 | for (np = NULL; (np = of_find_node_by_type(np, "serial"));) { | 278 | for (np = NULL; (np = of_find_node_by_type(np, "serial"));) { |
282 | struct device_node *isa = of_get_parent(np); | 279 | struct device_node *isa = of_get_parent(np); |
@@ -287,7 +284,6 @@ void __init find_legacy_serial_ports(void) | |||
287 | } | 284 | } |
288 | of_node_put(isa); | 285 | of_node_put(isa); |
289 | } | 286 | } |
290 | #endif | ||
291 | 287 | ||
292 | #ifdef CONFIG_PCI | 288 | #ifdef CONFIG_PCI |
293 | /* Next, try to locate PCI ports */ | 289 | /* Next, try to locate PCI ports */ |
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index 3747ab0dac3f..c6d0595da6b5 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c | |||
@@ -254,11 +254,9 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs); | |||
254 | */ | 254 | */ |
255 | long sys_sigsuspend(old_sigset_t mask) | 255 | long sys_sigsuspend(old_sigset_t mask) |
256 | { | 256 | { |
257 | sigset_t saveset; | ||
258 | |||
259 | mask &= _BLOCKABLE; | 257 | mask &= _BLOCKABLE; |
260 | spin_lock_irq(¤t->sighand->siglock); | 258 | spin_lock_irq(¤t->sighand->siglock); |
261 | saveset = current->blocked; | 259 | current->saved_sigmask = current->blocked; |
262 | siginitset(¤t->blocked, mask); | 260 | siginitset(¤t->blocked, mask); |
263 | recalc_sigpending(); | 261 | recalc_sigpending(); |
264 | spin_unlock_irq(¤t->sighand->siglock); | 262 | spin_unlock_irq(¤t->sighand->siglock); |
diff --git a/arch/powerpc/platforms/powermac/pfunc_core.c b/arch/powerpc/platforms/powermac/pfunc_core.c index c32c623001dc..356a739e52b2 100644 --- a/arch/powerpc/platforms/powermac/pfunc_core.c +++ b/arch/powerpc/platforms/powermac/pfunc_core.c | |||
@@ -862,21 +862,28 @@ int pmf_register_irq_client(struct device_node *target, | |||
862 | spin_unlock_irqrestore(&pmf_lock, flags); | 862 | spin_unlock_irqrestore(&pmf_lock, flags); |
863 | return -ENODEV; | 863 | return -ENODEV; |
864 | } | 864 | } |
865 | if (list_empty(&func->irq_clients)) | ||
866 | func->dev->handlers->irq_enable(func); | ||
865 | list_add(&client->link, &func->irq_clients); | 867 | list_add(&client->link, &func->irq_clients); |
868 | client->func = func; | ||
866 | spin_unlock_irqrestore(&pmf_lock, flags); | 869 | spin_unlock_irqrestore(&pmf_lock, flags); |
867 | 870 | ||
868 | return 0; | 871 | return 0; |
869 | } | 872 | } |
870 | EXPORT_SYMBOL_GPL(pmf_register_irq_client); | 873 | EXPORT_SYMBOL_GPL(pmf_register_irq_client); |
871 | 874 | ||
872 | void pmf_unregister_irq_client(struct device_node *np, | 875 | void pmf_unregister_irq_client(struct pmf_irq_client *client) |
873 | const char *name, | ||
874 | struct pmf_irq_client *client) | ||
875 | { | 876 | { |
877 | struct pmf_function *func = client->func; | ||
876 | unsigned long flags; | 878 | unsigned long flags; |
877 | 879 | ||
880 | BUG_ON(func == NULL); | ||
881 | |||
878 | spin_lock_irqsave(&pmf_lock, flags); | 882 | spin_lock_irqsave(&pmf_lock, flags); |
883 | client->func = NULL; | ||
879 | list_del(&client->link); | 884 | list_del(&client->link); |
885 | if (list_empty(&func->irq_clients)) | ||
886 | func->dev->handlers->irq_disable(func); | ||
880 | spin_unlock_irqrestore(&pmf_lock, flags); | 887 | spin_unlock_irqrestore(&pmf_lock, flags); |
881 | } | 888 | } |
882 | EXPORT_SYMBOL_GPL(pmf_unregister_irq_client); | 889 | EXPORT_SYMBOL_GPL(pmf_unregister_irq_client); |
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c index 21934784f936..bdaa8aabdaa6 100644 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c | |||
@@ -58,6 +58,7 @@ pcibios_find_pci_bus(struct device_node *dn) | |||
58 | 58 | ||
59 | return find_bus_among_children(pdn->phb->bus, dn); | 59 | return find_bus_among_children(pdn->phb->bus, dn); |
60 | } | 60 | } |
61 | EXPORT_SYMBOL_GPL(pcibios_find_pci_bus); | ||
61 | 62 | ||
62 | /** | 63 | /** |
63 | * pcibios_remove_pci_devices - remove all devices under this bus | 64 | * pcibios_remove_pci_devices - remove all devices under this bus |
@@ -106,6 +107,7 @@ pcibios_fixup_new_pci_devices(struct pci_bus *bus, int fix_bus) | |||
106 | } | 107 | } |
107 | } | 108 | } |
108 | } | 109 | } |
110 | EXPORT_SYMBOL_GPL(pcibios_fixup_new_pci_devices); | ||
109 | 111 | ||
110 | static int | 112 | static int |
111 | pcibios_pci_config_bridge(struct pci_dev *dev) | 113 | pcibios_pci_config_bridge(struct pci_dev *dev) |
@@ -172,3 +174,4 @@ pcibios_add_pci_devices(struct pci_bus * bus) | |||
172 | pcibios_pci_config_bridge(dev); | 174 | pcibios_pci_config_bridge(dev); |
173 | } | 175 | } |
174 | } | 176 | } |
177 | EXPORT_SYMBOL_GPL(pcibios_add_pci_devices); | ||