]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'acpi-processor-next' into linux-next
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 15 Oct 2013 23:42:32 +0000 (01:42 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 15 Oct 2013 23:42:32 +0000 (01:42 +0200)
* acpi-processor-next:
  ACPI / processor: fixed a brace coding style issue
  ACPI / processor: Remove outdated comments
  ACPI / processor: remove unnecessary if (!pr) check
  ACPI / processor: remove some dead code in acpi_processor_get_info()
  x86 / ACPI: simplify _acpi_map_lsapic()
  ACPI / processor: use apic_id and remove duplicated _MAT evaluation
  ACPI / processor: Introduce apic_id in struct processor to save parsed APIC id

1  2 
drivers/acpi/acpi_processor.c

index 357abdc1406acbf29b5e6fe3010f0f731fb41c88,da428929c1a42855b482762078edbc1c80b1c9f1..3c1d6b0c09a4b7d1eeeb9347a7c743d1c7487988
@@@ -140,15 -140,11 +140,11 @@@ static int acpi_processor_errata_piix4(
        return 0;
  }
  
- static int acpi_processor_errata(struct acpi_processor *pr)
+ static int acpi_processor_errata(void)
  {
        int result = 0;
        struct pci_dev *dev = NULL;
  
-       if (!pr)
-               return -EINVAL;
        /*
         * PIIX4
         */
@@@ -181,7 -177,7 +177,7 @@@ static int acpi_processor_hotadd_init(s
        cpu_maps_update_begin();
        cpu_hotplug_begin();
  
-       ret = acpi_map_lsapic(pr->handle, &pr->id);
+       ret = acpi_map_lsapic(pr->handle, pr->apic_id, &pr->id);
        if (ret)
                goto out;
  
@@@ -219,12 -215,8 +215,9 @@@ static int acpi_processor_get_info(stru
        int cpu_index, device_declaration = 0;
        acpi_status status = AE_OK;
        static int cpu0_initialized;
 +      unsigned long long value;
  
-       if (num_online_cpus() > 1)
-               errata.smp = TRUE;
-       acpi_processor_errata(pr);
+       acpi_processor_errata();
  
        /*
         * Check to see if we have bus mastering arbitration control.  This
                        return -ENODEV;
                }
  
-               /*
-                * TBD: Synch processor ID (via LAPIC/LSAPIC structures) on SMP.
-                *      >>> 'acpi_get_processor_id(acpi_id, &id)' in
-                *      arch/xxx/acpi.c
-                */
                pr->acpi_id = object.processor.proc_id;
        } else {
                /*
                 * Declared with "Device" statement; match _UID.
                 * Note that we don't handle string _UIDs yet.
                 */
 -              unsigned long long value;
                status = acpi_evaluate_integer(pr->handle, METHOD_NAME__UID,
                                                NULL, &value);
                if (ACPI_FAILURE(status)) {
                device_declaration = 1;
                pr->acpi_id = value;
        }
-       cpu_index = acpi_get_cpuid(pr->handle, device_declaration, pr->acpi_id);
+       pr->apic_id = acpi_get_apicid(pr->handle, device_declaration,
+                                       pr->acpi_id);
+       cpu_index = acpi_map_cpuid(pr->apic_id, pr->acpi_id);
  
        /* Handle UP system running SMP kernel, with no LAPIC in MADT */
        if (!cpu0_initialized && (cpu_index == -1) &&
         * ensure we get the right value in the "physical id" field
         * of /proc/cpuinfo
         */
 -      status = acpi_evaluate_object(pr->handle, "_SUN", NULL, &buffer);
 +      status = acpi_evaluate_integer(pr->handle, "_SUN", NULL, &value);
        if (ACPI_SUCCESS(status))
 -              arch_fix_phys_package_id(pr->id, object.integer.value);
 +              arch_fix_phys_package_id(pr->id, value);
  
        return 0;
  }