1. 26 6月, 2009 2 次提交
  2. 24 6月, 2009 1 次提交
    • Z
      ACPI: Rename ACPI processor device bus ID · 7a04b849
      Zhao Yakui 提交于
      Some BIOS re-use the same processor bus id
      in different scope:
      
      	\_SB.SCK0.CPU0
      	\_SB.SCK1.CPU0
      
      But the (deprecated) /proc/acpi/ interface
      assumes the bus-id's are unique, resulting in an OOPS
      when the processor driver is loaded:
      
      WARNING: at fs/proc/generic.c:590 proc_register+0x148/0x180()
      Hardware name: Sunrise Ridge
      proc_dir_entry 'processor/CPU0' already registered
      Call Trace:
       [<ffffffff8023f7ef>] warn_slowpath+0xb1/0xe5
       [<ffffffff8036243b>] ? ida_get_new_above+0x190/0x1b1
       [<ffffffff803625a8>] ? idr_pre_get+0x5f/0x75
       [<ffffffff8030b2f6>] proc_register+0x148/0x180
       [<ffffffff8030b4ff>] proc_mkdir_mode+0x3d/0x52
       [<ffffffff8030b525>] proc_mkdir+0x11/0x13
       [<ffffffffa0014b89>] acpi_processor_start+0x755/0x9bc [processor]
      
      Rename the processor device bus id. And the new bus id will be
      generated as the following format:
      	CPU+ CPU ID
      
      For example: If the cpu ID is 5, then the bus ID will be "CPU5".
      	If the CPU ID is 10, then the bus ID will be "CPUA".
      
      Yes, this will change the directory names seen
      in /proc/acpi/processor/* on some systems.
      Before this patch, those directory names where
      totally arbitrary strings based on the interal AML device strings.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=13612Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      7a04b849
  3. 20 6月, 2009 1 次提交
  4. 09 6月, 2009 1 次提交
  5. 28 5月, 2009 2 次提交
  6. 05 4月, 2009 1 次提交
  7. 04 4月, 2009 1 次提交
    • S
      x86, ACPI: add support for x2apic ACPI extensions · 7237d3de
      Suresh Siddha 提交于
      All logical processors with APIC ID values of 255 and greater will have their
      APIC reported through Processor X2APIC structure (type-9 entry type) and all
      logical processors with APIC ID less than 255 will have their APIC reported
      through legacy Processor Local APIC (type-0 entry type) only. This is the
      same case even for NMI structure reporting.
          
      The Processor X2APIC Affinity structure provides the association between the
      X2APIC ID of a logical processor and the proximity domain to which the logical
      processor belongs.
          
      For OSPM, Procssor IDs outside the 0-254 range are to be declared as Device()
      objects in the ACPI namespace.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      7237d3de
  8. 31 3月, 2009 1 次提交
    • A
      proc 2/2: remove struct proc_dir_entry::owner · 99b76233
      Alexey Dobriyan 提交于
      Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy
      as correctly noted at bug #12454. Someone can lookup entry with NULL
      ->owner, thus not pinning enything, and release it later resulting
      in module refcount underflow.
      
      We can keep ->owner and supply it at registration time like ->proc_fops
      and ->data.
      
      But this leaves ->owner as easy-manipulative field (just one C assignment)
      and somebody will forget to unpin previous/pin current module when
      switching ->owner. ->proc_fops is declared as "const" which should give
      some thoughts.
      
      ->read_proc/->write_proc were just fixed to not require ->owner for
      protection.
      
      rmmod'ed directories will be empty and return "." and ".." -- no harm.
      And directories with tricky enough readdir and lookup shouldn't be modular.
      We definitely don't want such modular code.
      
      Removing ->owner will also make PDE smaller.
      
      So, let's nuke it.
      
      Kudos to Jeff Layton for reminding about this, let's say, oversight.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=12454Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      99b76233
  9. 04 1月, 2009 1 次提交
  10. 08 11月, 2008 1 次提交
  11. 07 11月, 2008 4 次提交
    • K
      ACPI: struct device - replace bus_id with dev_name(), dev_set_name() · 0794469d
      Kay Sievers 提交于
      This patch is part of a larger patch series which will remove
      the "char bus_id[20]" name string from struct device. The device
      name is managed in the kobject anyway, and without any size
      limitation, and just needlessly copied into "struct device".
      
      To set and read the device name dev_name(dev) and dev_set_name(dev)
      must be used. If your code uses static kobjects, which it shouldn't
      do, "const char *init_name" can be used to statically provide the
      name the registered device should have. At registration time, the
      init_name field is cleared, to enforce the use of dev_name(dev) to
      access the device name at a later time.
      
      We need to get rid of all occurrences of bus_id in the entire tree
      to be able to enable the new interface. Please apply this patch,
      and possibly convert any remaining remaining occurrences of bus_id.
      
      We want to submit a patch to -next, which will remove bus_id from
      "struct device", to find the remaining pieces to convert, and finally
      switch over to the new api, which will remove the 20 bytes array
      and does no longer have a size limitation.
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-Off-By: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      0794469d
    • M
      5b53ed69
    • M
      ACPI: Behave uniquely based on processor declaration definition type · b26e9286
      Myron Stowe 提交于
      Associating a Local SAPIC with a processor object is dependent upon the
      processor object's definition type.  CPUs declared as "Processor" should
      use the Local SAPIC's 'processor_id', and CPUs declared as "Device"
      should use the 'uid'.  Note that for "Processor" declarations, even if a
      '_UID' child object exists, it has no bearing with respect to mapping
      Local SAPICs (see section 5.2.11.13 - Local SAPIC Structure; "Advanced
      Configuration and Power Interface Specification", Revision 3.0b).
      
      This patch changes the lsapic mapping logic to rely on the distinction of
      how the processor object was declared - the mapping can't just try both
      types of matches regardless of declaration type and rely on one failing
      as is currently being done.
      Signed-off-by: NMyron Stowe <myron.stowe@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      b26e9286
    • M
      ACPI: Disambiguate processor declaration type · ad93a765
      Myron Stowe 提交于
      Declaring processors in ACPI namespace can be done using either a
      "Processor" definition or a "Device" definition (see section 8.4 -
      Declaring Processors; "Advanced Configuration and Power Interface
      Specification", Revision 3.0b).  Currently the two processor
      declaration types are conflated.
      
      This patch disambiguates the processor declaration's definition type
      enabling subsequent code to behave uniquely based explicitly on the
      declaration's type.
      Signed-off-by: NMyron Stowe <myron.stowe@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      ad93a765
  12. 11 10月, 2008 2 次提交
  13. 03 9月, 2008 1 次提交
  14. 21 8月, 2008 1 次提交
  15. 15 8月, 2008 1 次提交
  16. 22 7月, 2008 1 次提交
  17. 17 7月, 2008 5 次提交
  18. 12 6月, 2008 1 次提交
  19. 30 4月, 2008 1 次提交
    • A
      [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id · fe086a7b
      Alex Chiang 提交于
      Legacy HP ia64 platforms currently cannot provide
      /proc/cpuinfo/physical_id due to legacy SAL/PAL implementations.
      However, that physical topology information can be obtained
      via ACPI.
      
      Provide an interface that gives ACPI one last chance to provide
      physical_id for these legacy platforms. This logic only comes
      into play iff:
      
      - ACPI actually provides slot information for the CPU
      - we lack a valid socket_id
      
      Otherwise, we don't do anything.
      
      Since x86 uses the ACPI processor driver as well, we provide a nop
      stub function for arch_fix_phys_package_id() in asm-x86/topology.h
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      fe086a7b
  20. 29 4月, 2008 2 次提交
  21. 09 4月, 2008 1 次提交
  22. 29 3月, 2008 1 次提交
    • I
      revert "ACPI: drivers/acpi: elide a non-zero test on a result that is never 0" · 48d3d826
      Ingo Molnar 提交于
      Revert commit 1192aeb9 ("ACPI:
      drivers/acpi: elide a non-zero test on a result that is never 0")
      because it turns out that thermal_cooling_device_register() does
      actually return NULL if CONFIG_THERMAL is turned off (then the routine
      turns into a dummy inline routine in the header files that returns NULL
      unconditionally).
      
      This was found with randconfig testing, causing a crash during bootup:
      
        initcall 0x78878534 ran for 13 msecs: acpi_button_init+0x0/0x51()
        Calling initcall 0x78878585: acpi_fan_init+0x0/0x2c()
        BUG: unable to handle kernel NULL pointer dereference at 00000000
        IP: [<782b8ad0>] acpi_fan_add+0x7d/0xfd
        *pde = 00000000
        Oops: 0000 [#1]
        Modules linked in:
      
        Pid: 1, comm: swapper Not tainted (2.6.25-rc7-sched-devel.git-x86-latest.git #14)
        EIP: 0060:[<782b8ad0>] EFLAGS: 00010246 CPU: 0
        EIP is at acpi_fan_add+0x7d/0xfd
        EAX: b787c718 EBX: b787c400 ECX: b782ceb4 EDX: 00000007
        ESI: 00000000 EDI: b787c6f4 EBP: b782cee0 ESP: b782cecc
         DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
        Process swapper (pid: 1, ti=b782c000 task=b7846000 task.ti=b782c000)
        Stack: b787c459 00000000 b787c400 78790888 b787c60c b782cef8 782b6fb8 ffffffda
               b787c60c 00000000 78790958 b782cf0c 783005d7 b787c60c 78790958 78790584
               b782cf1c 783007f6 b782cf28 00000000 b782cf40 782ffc4a 78790958 b794d558
        Call Trace:
         [<782b6fb8>] ? acpi_device_probe+0x3e/0xdb
         [<783005d7>] ? driver_probe_device+0x82/0xfc
         [<783007f6>] ? __driver_attach+0x3a/0x70
         [<782ffc4a>] ? bus_for_each_dev+0x3e/0x60
         [<7830048c>] ? driver_attach+0x14/0x16
         [<783007bc>] ? __driver_attach+0x0/0x70
         [<7830006a>] ? bus_add_driver+0x9d/0x1b0
         [<783008c3>] ? driver_register+0x47/0xa3
         [<7813db00>] ? timespec_to_ktime+0x9/0xc
         [<782b7331>] ? acpi_bus_register_driver+0x3a/0x3c
         [<78878592>] ? acpi_fan_init+0xd/0x2c
         [<78863656>] ? kernel_init+0xac/0x1f9
         [<788635aa>] ? kernel_init+0x0/0x1f9
         [<78114563>] ? kernel_thread_helper+0x7/0x10
         =======================
        Code: 6e 78 e8 57 44 e7 ff 58 e9 93 00 00 00 8b 55 f0 8d bb f4 02 00 00 80 4b 2d 10 8b 03 e8 87 cb ff ff 8d 83 18 03 00 00 80 63 2d ef <ff> 35 00 00 00 00 50 68 e8 9c 6e 78 e8 22 44 e7 ff b9 b6 9c 6e
        EIP: [<782b8ad0>] acpi_fan_add+0x7d/0xfd SS:ESP 0068:b782cecc
        ---[ end trace 778e504de7e3b1e3 ]---
        Kernel panic - not syncing: Attempted to kill init!
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      48d3d826
  23. 27 3月, 2008 1 次提交
  24. 12 3月, 2008 1 次提交
  25. 23 2月, 2008 1 次提交
  26. 21 2月, 2008 1 次提交
  27. 16 2月, 2008 3 次提交