diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-07-05 13:13:03 -0400 | 
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-07-05 13:13:03 -0400 | 
| commit | 5e66dd6d66ffe758b39b6dcadf2330753ee1159b (patch) | |
| tree | a72cdcff4448e4af9425cc213ddf56ab23e697fe /arch/ia64 | |
| parent | 026477c1141b67e98e3bd8bdedb7d4b88a3ecd09 (diff) | |
| parent | ca78f6baca863afe2e6a244a0fe94b3a70211d46 (diff) | |
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Diffstat (limited to 'arch/ia64')
| -rw-r--r-- | arch/ia64/kernel/acpi-ext.c | 2 | ||||
| -rw-r--r-- | arch/ia64/kernel/acpi.c | 12 | ||||
| -rw-r--r-- | arch/ia64/kernel/mca.c | 10 | ||||
| -rw-r--r-- | arch/ia64/kernel/smpboot.c | 2 | ||||
| -rw-r--r-- | arch/ia64/mm/discontig.c | 16 | 
5 files changed, 26 insertions, 16 deletions
| diff --git a/arch/ia64/kernel/acpi-ext.c b/arch/ia64/kernel/acpi-ext.c index 2a1ef742e223..b7515bc808a8 100644 --- a/arch/ia64/kernel/acpi-ext.c +++ b/arch/ia64/kernel/acpi-ext.c | |||
| @@ -50,7 +50,7 @@ static acpi_status hp_ccsr_locate(acpi_handle obj, u64 *base, u64 *length) | |||
| 50 | memcpy(length, vendor->byte_data + 8, sizeof(*length)); | 50 | memcpy(length, vendor->byte_data + 8, sizeof(*length)); | 
| 51 | 51 | ||
| 52 | exit: | 52 | exit: | 
| 53 | acpi_os_free(buffer.pointer); | 53 | kfree(buffer.pointer); | 
| 54 | return status; | 54 | return status; | 
| 55 | } | 55 | } | 
| 56 | 56 | ||
| diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index ccdef199d915..99761b81db44 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
| @@ -856,7 +856,7 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
| 856 | obj = buffer.pointer; | 856 | obj = buffer.pointer; | 
| 857 | if (obj->type != ACPI_TYPE_BUFFER || | 857 | if (obj->type != ACPI_TYPE_BUFFER || | 
| 858 | obj->buffer.length < sizeof(*lsapic)) { | 858 | obj->buffer.length < sizeof(*lsapic)) { | 
| 859 | acpi_os_free(buffer.pointer); | 859 | kfree(buffer.pointer); | 
| 860 | return -EINVAL; | 860 | return -EINVAL; | 
| 861 | } | 861 | } | 
| 862 | 862 | ||
| @@ -864,13 +864,13 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
| 864 | 864 | ||
| 865 | if ((lsapic->header.type != ACPI_MADT_LSAPIC) || | 865 | if ((lsapic->header.type != ACPI_MADT_LSAPIC) || | 
| 866 | (!lsapic->flags.enabled)) { | 866 | (!lsapic->flags.enabled)) { | 
| 867 | acpi_os_free(buffer.pointer); | 867 | kfree(buffer.pointer); | 
| 868 | return -EINVAL; | 868 | return -EINVAL; | 
| 869 | } | 869 | } | 
| 870 | 870 | ||
| 871 | physid = ((lsapic->id << 8) | (lsapic->eid)); | 871 | physid = ((lsapic->id << 8) | (lsapic->eid)); | 
| 872 | 872 | ||
| 873 | acpi_os_free(buffer.pointer); | 873 | kfree(buffer.pointer); | 
| 874 | buffer.length = ACPI_ALLOCATE_BUFFER; | 874 | buffer.length = ACPI_ALLOCATE_BUFFER; | 
| 875 | buffer.pointer = NULL; | 875 | buffer.pointer = NULL; | 
| 876 | 876 | ||
| @@ -934,20 +934,20 @@ acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret) | |||
| 934 | obj = buffer.pointer; | 934 | obj = buffer.pointer; | 
| 935 | if (obj->type != ACPI_TYPE_BUFFER || | 935 | if (obj->type != ACPI_TYPE_BUFFER || | 
| 936 | obj->buffer.length < sizeof(*iosapic)) { | 936 | obj->buffer.length < sizeof(*iosapic)) { | 
| 937 | acpi_os_free(buffer.pointer); | 937 | kfree(buffer.pointer); | 
| 938 | return AE_OK; | 938 | return AE_OK; | 
| 939 | } | 939 | } | 
| 940 | 940 | ||
| 941 | iosapic = (struct acpi_table_iosapic *)obj->buffer.pointer; | 941 | iosapic = (struct acpi_table_iosapic *)obj->buffer.pointer; | 
| 942 | 942 | ||
| 943 | if (iosapic->header.type != ACPI_MADT_IOSAPIC) { | 943 | if (iosapic->header.type != ACPI_MADT_IOSAPIC) { | 
| 944 | acpi_os_free(buffer.pointer); | 944 | kfree(buffer.pointer); | 
| 945 | return AE_OK; | 945 | return AE_OK; | 
| 946 | } | 946 | } | 
| 947 | 947 | ||
| 948 | gsi_base = iosapic->global_irq_base; | 948 | gsi_base = iosapic->global_irq_base; | 
| 949 | 949 | ||
| 950 | acpi_os_free(buffer.pointer); | 950 | kfree(buffer.pointer); | 
| 951 | 951 | ||
| 952 | /* | 952 | /* | 
| 953 | * OK, it's an IOSAPIC MADT entry, look for a _PXM value to tell | 953 | * OK, it's an IOSAPIC MADT entry, look for a _PXM value to tell | 
| diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index eb8e8dc5ac8e..2fbe4536fe18 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
| @@ -678,7 +678,7 @@ copy_reg(const u64 *fr, u64 fnat, u64 *tr, u64 *tnat) | |||
| 678 | */ | 678 | */ | 
| 679 | 679 | ||
| 680 | static void | 680 | static void | 
| 681 | ia64_mca_modify_comm(const task_t *previous_current) | 681 | ia64_mca_modify_comm(const struct task_struct *previous_current) | 
| 682 | { | 682 | { | 
| 683 | char *p, comm[sizeof(current->comm)]; | 683 | char *p, comm[sizeof(current->comm)]; | 
| 684 | if (previous_current->pid) | 684 | if (previous_current->pid) | 
| @@ -709,7 +709,7 @@ ia64_mca_modify_comm(const task_t *previous_current) | |||
| 709 | * that we can do backtrace on the MCA/INIT handler code itself. | 709 | * that we can do backtrace on the MCA/INIT handler code itself. | 
| 710 | */ | 710 | */ | 
| 711 | 711 | ||
| 712 | static task_t * | 712 | static struct task_struct * | 
| 713 | ia64_mca_modify_original_stack(struct pt_regs *regs, | 713 | ia64_mca_modify_original_stack(struct pt_regs *regs, | 
| 714 | const struct switch_stack *sw, | 714 | const struct switch_stack *sw, | 
| 715 | struct ia64_sal_os_state *sos, | 715 | struct ia64_sal_os_state *sos, | 
| @@ -719,7 +719,7 @@ ia64_mca_modify_original_stack(struct pt_regs *regs, | |||
| 719 | ia64_va va; | 719 | ia64_va va; | 
| 720 | extern char ia64_leave_kernel[]; /* Need asm address, not function descriptor */ | 720 | extern char ia64_leave_kernel[]; /* Need asm address, not function descriptor */ | 
| 721 | const pal_min_state_area_t *ms = sos->pal_min_state; | 721 | const pal_min_state_area_t *ms = sos->pal_min_state; | 
| 722 | task_t *previous_current; | 722 | struct task_struct *previous_current; | 
| 723 | struct pt_regs *old_regs; | 723 | struct pt_regs *old_regs; | 
| 724 | struct switch_stack *old_sw; | 724 | struct switch_stack *old_sw; | 
| 725 | unsigned size = sizeof(struct pt_regs) + | 725 | unsigned size = sizeof(struct pt_regs) + | 
| @@ -1023,7 +1023,7 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
| 1023 | pal_processor_state_info_t *psp = (pal_processor_state_info_t *) | 1023 | pal_processor_state_info_t *psp = (pal_processor_state_info_t *) | 
| 1024 | &sos->proc_state_param; | 1024 | &sos->proc_state_param; | 
| 1025 | int recover, cpu = smp_processor_id(); | 1025 | int recover, cpu = smp_processor_id(); | 
| 1026 | task_t *previous_current; | 1026 | struct task_struct *previous_current; | 
| 1027 | struct ia64_mca_notify_die nd = | 1027 | struct ia64_mca_notify_die nd = | 
| 1028 | { .sos = sos, .monarch_cpu = &monarch_cpu }; | 1028 | { .sos = sos, .monarch_cpu = &monarch_cpu }; | 
| 1029 | 1029 | ||
| @@ -1352,7 +1352,7 @@ ia64_init_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
| 1352 | { | 1352 | { | 
| 1353 | static atomic_t slaves; | 1353 | static atomic_t slaves; | 
| 1354 | static atomic_t monarchs; | 1354 | static atomic_t monarchs; | 
| 1355 | task_t *previous_current; | 1355 | struct task_struct *previous_current; | 
| 1356 | int cpu = smp_processor_id(); | 1356 | int cpu = smp_processor_id(); | 
| 1357 | struct ia64_mca_notify_die nd = | 1357 | struct ia64_mca_notify_die nd = | 
| 1358 | { .sos = sos, .monarch_cpu = &monarch_cpu }; | 1358 | { .sos = sos, .monarch_cpu = &monarch_cpu }; | 
| diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c index e1960979be29..6203ed4ec8cf 100644 --- a/arch/ia64/kernel/smpboot.c +++ b/arch/ia64/kernel/smpboot.c | |||
| @@ -124,7 +124,7 @@ extern void __devinit calibrate_delay (void); | |||
| 124 | extern void start_ap (void); | 124 | extern void start_ap (void); | 
| 125 | extern unsigned long ia64_iobase; | 125 | extern unsigned long ia64_iobase; | 
| 126 | 126 | ||
| 127 | task_t *task_for_booting_cpu; | 127 | struct task_struct *task_for_booting_cpu; | 
| 128 | 128 | ||
| 129 | /* | 129 | /* | 
| 130 | * State for each CPU | 130 | * State for each CPU | 
| diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index 525b082eb661..99bd9e30db96 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
| @@ -313,9 +313,19 @@ static void __meminit scatter_node_data(void) | |||
| 313 | pg_data_t **dst; | 313 | pg_data_t **dst; | 
| 314 | int node; | 314 | int node; | 
| 315 | 315 | ||
| 316 | for_each_online_node(node) { | 316 | /* | 
| 317 | dst = LOCAL_DATA_ADDR(pgdat_list[node])->pg_data_ptrs; | 317 | * for_each_online_node() can't be used at here. | 
| 318 | memcpy(dst, pgdat_list, sizeof(pgdat_list)); | 318 | * node_online_map is not set for hot-added nodes at this time, | 
| 319 | * because we are halfway through initialization of the new node's | ||
| 320 | * structures. If for_each_online_node() is used, a new node's | ||
| 321 | * pg_data_ptrs will be not initialized. Insted of using it, | ||
| 322 | * pgdat_list[] is checked. | ||
| 323 | */ | ||
| 324 | for_each_node(node) { | ||
| 325 | if (pgdat_list[node]) { | ||
| 326 | dst = LOCAL_DATA_ADDR(pgdat_list[node])->pg_data_ptrs; | ||
| 327 | memcpy(dst, pgdat_list, sizeof(pgdat_list)); | ||
| 328 | } | ||
| 319 | } | 329 | } | 
| 320 | } | 330 | } | 
| 321 | 331 | ||
