Commit 061afe9f authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] SN: prevent IRQ retargetting in request_irq()
  [IA64] Fix section mismatch ioc3uart_init()/ioc3uart_submodule
  [IA64] Clear up section mismatch for ioc4_ide_attach_one.
  [IA64] Clear up section mismatch with arch_unregister_cpu()
  [IA64] Clear up section mismatch for sn_check_wars.
  [IA64] Updated the generic_defconfig to work with the 2.6.28-rc7 kernel.
  [IA64] Fix GRU compile error w/o CONFIG_HUGETLB_PAGE
  [IA64] eliminate NULL test and memset after alloc_bootmem
  [IA64] remove BUILD_BUG_ON from paravirt_getreg()
parents 942c88cc ff740fb0
This diff is collapsed.
...@@ -83,7 +83,6 @@ extern unsigned long ia64_native_getreg_func(int regnum); ...@@ -83,7 +83,6 @@ extern unsigned long ia64_native_getreg_func(int regnum);
#define paravirt_getreg(reg) \ #define paravirt_getreg(reg) \
({ \ ({ \
unsigned long res; \ unsigned long res; \
BUILD_BUG_ON(!__builtin_constant_p(reg)); \
if ((reg) == _IA64_REG_IP) \ if ((reg) == _IA64_REG_IP) \
res = ia64_native_getreg(_IA64_REG_IP); \ res = ia64_native_getreg(_IA64_REG_IP); \
else \ else \
......
...@@ -53,10 +53,12 @@ int __ref arch_register_cpu(int num) ...@@ -53,10 +53,12 @@ int __ref arch_register_cpu(int num)
} }
EXPORT_SYMBOL(arch_register_cpu); EXPORT_SYMBOL(arch_register_cpu);
void arch_unregister_cpu(int num) void __ref arch_unregister_cpu(int num)
{ {
unregister_cpu(&sysfs_cpus[num].cpu); unregister_cpu(&sysfs_cpus[num].cpu);
#ifdef CONFIG_ACPI
unmap_cpu_from_node(num, cpu_to_node(num)); unmap_cpu_from_node(num, cpu_to_node(num));
#endif
} }
EXPORT_SYMBOL(arch_unregister_cpu); EXPORT_SYMBOL(arch_unregister_cpu);
#else #else
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* License. See the file "COPYING" in the main directory of this archive * License. See the file "COPYING" in the main directory of this archive
* for more details. * for more details.
* *
* Copyright (c) 2000-2007 Silicon Graphics, Inc. All Rights Reserved. * Copyright (c) 2000-2008 Silicon Graphics, Inc. All Rights Reserved.
*/ */
#include <linux/irq.h> #include <linux/irq.h>
...@@ -375,6 +375,7 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) ...@@ -375,6 +375,7 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
int cpu = nasid_slice_to_cpuid(nasid, slice); int cpu = nasid_slice_to_cpuid(nasid, slice);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
int cpuphys; int cpuphys;
irq_desc_t *desc;
#endif #endif
pci_dev_get(pci_dev); pci_dev_get(pci_dev);
...@@ -391,6 +392,12 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) ...@@ -391,6 +392,12 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
cpuphys = cpu_physical_id(cpu); cpuphys = cpu_physical_id(cpu);
set_irq_affinity_info(sn_irq_info->irq_irq, cpuphys, 0); set_irq_affinity_info(sn_irq_info->irq_irq, cpuphys, 0);
desc = irq_to_desc(sn_irq_info->irq_irq);
/*
* Affinity was set by the PROM, prevent it from
* being reset by the request_irq() path.
*/
desc->status |= IRQ_AFFINITY_SET;
#endif #endif
} }
......
...@@ -200,7 +200,7 @@ static int __cpuinitdata shub_1_1_found; ...@@ -200,7 +200,7 @@ static int __cpuinitdata shub_1_1_found;
* Set flag for enabling shub specific wars * Set flag for enabling shub specific wars
*/ */
static inline int __init is_shub_1_1(int nasid) static inline int __cpuinit is_shub_1_1(int nasid)
{ {
unsigned long id; unsigned long id;
int rev; int rev;
...@@ -212,7 +212,7 @@ static inline int __init is_shub_1_1(int nasid) ...@@ -212,7 +212,7 @@ static inline int __init is_shub_1_1(int nasid)
return rev <= 2; return rev <= 2;
} }
static void __init sn_check_for_wars(void) static void __cpuinit sn_check_for_wars(void)
{ {
int cnode; int cnode;
...@@ -512,7 +512,6 @@ static void __init sn_init_pdas(char **cmdline_p) ...@@ -512,7 +512,6 @@ static void __init sn_init_pdas(char **cmdline_p)
for_each_online_node(cnode) { for_each_online_node(cnode) {
nodepdaindr[cnode] = nodepdaindr[cnode] =
alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t)); alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t));
memset(nodepdaindr[cnode], 0, sizeof(nodepda_t));
memset(nodepdaindr[cnode]->phys_cpuid, -1, memset(nodepdaindr[cnode]->phys_cpuid, -1,
sizeof(nodepdaindr[cnode]->phys_cpuid)); sizeof(nodepdaindr[cnode]->phys_cpuid));
spin_lock_init(&nodepdaindr[cnode]->ptc_lock); spin_lock_init(&nodepdaindr[cnode]->ptc_lock);
...@@ -521,11 +520,9 @@ static void __init sn_init_pdas(char **cmdline_p) ...@@ -521,11 +520,9 @@ static void __init sn_init_pdas(char **cmdline_p)
/* /*
* Allocate & initialize nodepda for TIOs. For now, put them on node 0. * Allocate & initialize nodepda for TIOs. For now, put them on node 0.
*/ */
for (cnode = num_online_nodes(); cnode < num_cnodes; cnode++) { for (cnode = num_online_nodes(); cnode < num_cnodes; cnode++)
nodepdaindr[cnode] = nodepdaindr[cnode] =
alloc_bootmem_node(NODE_DATA(0), sizeof(nodepda_t)); alloc_bootmem_node(NODE_DATA(0), sizeof(nodepda_t));
memset(nodepdaindr[cnode], 0, sizeof(nodepda_t));
}
/* /*
* Now copy the array of nodepda pointers to each nodepda. * Now copy the array of nodepda pointers to each nodepda.
......
...@@ -550,7 +550,7 @@ static const struct ide_dma_ops sgiioc4_dma_ops = { ...@@ -550,7 +550,7 @@ static const struct ide_dma_ops sgiioc4_dma_ops = {
.dma_timeout = ide_dma_timeout, .dma_timeout = ide_dma_timeout,
}; };
static const struct ide_port_info sgiioc4_port_info __devinitdata = { static const struct ide_port_info sgiioc4_port_info __devinitconst = {
.name = DRV_NAME, .name = DRV_NAME,
.chipset = ide_pci, .chipset = ide_pci,
.init_dma = ide_dma_sgiioc4, .init_dma = ide_dma_sgiioc4,
...@@ -633,7 +633,7 @@ pci_init_sgiioc4(struct pci_dev *dev) ...@@ -633,7 +633,7 @@ pci_init_sgiioc4(struct pci_dev *dev)
return ret; return ret;
} }
int int __devinit
ioc4_ide_attach_one(struct ioc4_driver_data *idd) ioc4_ide_attach_one(struct ioc4_driver_data *idd)
{ {
/* PCI-RT does not bring out IDE connection. /* PCI-RT does not bring out IDE connection.
...@@ -645,7 +645,7 @@ ioc4_ide_attach_one(struct ioc4_driver_data *idd) ...@@ -645,7 +645,7 @@ ioc4_ide_attach_one(struct ioc4_driver_data *idd)
return pci_init_sgiioc4(idd->idd_pdev); return pci_init_sgiioc4(idd->idd_pdev);
} }
static struct ioc4_submodule ioc4_ide_submodule = { static struct ioc4_submodule __devinitdata ioc4_ide_submodule = {
.is_name = "IOC4_ide", .is_name = "IOC4_ide",
.is_owner = THIS_MODULE, .is_owner = THIS_MODULE,
.is_probe = ioc4_ide_attach_one, .is_probe = ioc4_ide_attach_one,
......
...@@ -254,7 +254,11 @@ static int atomic_pte_lookup(struct vm_area_struct *vma, unsigned long vaddr, ...@@ -254,7 +254,11 @@ static int atomic_pte_lookup(struct vm_area_struct *vma, unsigned long vaddr,
return 1; return 1;
*paddr = pte_pfn(pte) << PAGE_SHIFT; *paddr = pte_pfn(pte) << PAGE_SHIFT;
#ifdef CONFIG_HUGETLB_PAGE
*pageshift = is_vm_hugetlb_page(vma) ? HPAGE_SHIFT : PAGE_SHIFT; *pageshift = is_vm_hugetlb_page(vma) ? HPAGE_SHIFT : PAGE_SHIFT;
#else
*pageshift = PAGE_SHIFT;
#endif
return 0; return 0;
err: err:
......
...@@ -2149,7 +2149,7 @@ ioc3uart_probe(struct ioc3_submodule *is, struct ioc3_driver_data *idd) ...@@ -2149,7 +2149,7 @@ ioc3uart_probe(struct ioc3_submodule *is, struct ioc3_driver_data *idd)
return ret; return ret;
} }
static struct ioc3_submodule ioc3uart_submodule = { static struct ioc3_submodule ioc3uart_ops = {
.name = "IOC3uart", .name = "IOC3uart",
.probe = ioc3uart_probe, .probe = ioc3uart_probe,
.remove = ioc3uart_remove, .remove = ioc3uart_remove,
...@@ -2173,7 +2173,7 @@ static int __devinit ioc3uart_init(void) ...@@ -2173,7 +2173,7 @@ static int __devinit ioc3uart_init(void)
__func__); __func__);
return ret; return ret;
} }
ret = ioc3_register_submodule(&ioc3uart_submodule); ret = ioc3_register_submodule(&ioc3uart_ops);
if (ret) if (ret)
uart_unregister_driver(&ioc3_uart); uart_unregister_driver(&ioc3_uart);
return ret; return ret;
...@@ -2181,7 +2181,7 @@ static int __devinit ioc3uart_init(void) ...@@ -2181,7 +2181,7 @@ static int __devinit ioc3uart_init(void)
static void __devexit ioc3uart_exit(void) static void __devexit ioc3uart_exit(void)
{ {
ioc3_unregister_submodule(&ioc3uart_submodule); ioc3_unregister_submodule(&ioc3uart_ops);
uart_unregister_driver(&ioc3_uart); uart_unregister_driver(&ioc3_uart);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment