1. 04 1月, 2013 1 次提交
    • G
      POWERPC: drivers: remove __dev* attributes. · cad5cef6
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cad5cef6
  2. 26 11月, 2012 1 次提交
  3. 27 9月, 2012 1 次提交
    • A
      powerpc/eeh: Don't release eeh_mutex in eeh_phb_pe_get · 7844663a
      Aneesh Kumar K.V 提交于
      Acked-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      
      =====================================
      [ BUG: bad unlock balance detected! ]
      3.6.0-rc5-00338-gcaa1d631-dirty #6 Not tainted
      -------------------------------------
      swapper/0/1 is trying to release lock (eeh_mutex) at:
      [<c000000000058218>] .eeh_add_to_parent_pe+0x318/0x410
      but there are no more locks to release!
      
      other info that might help us debug this:
      no locks held by swapper/0/1.
      
      stack backtrace:
      Call Trace:
      [c00000003e483870] [c000000000013310] .show_stack+0x70/0x1c0 (unreliable)
      [c00000003e483920] [c0000000000d8310] .print_unlock_inbalance_bug+0x110/0x120
      [c00000003e4839b0] [c0000000000d9a50] .lock_release+0x1d0/0x240
      [c00000003e483a60] [c000000000778064] .__mutex_unlock_slowpath+0xb4/0x250
      [c00000003e483b10] [c000000000058218] .eeh_add_to_parent_pe+0x318/0x410
      [c00000003e483bc0] [c00000000005a118] .pseries_eeh_of_probe+0x258/0x2f0
      [c00000003e483cc0] [c000000000032528] .traverse_pci_devices+0xa8/0x150
      [c00000003e483d70] [c000000000aa7288] .eeh_init+0xd4/0x140
      [c00000003e483e00] [c00000000000abc4] .do_one_initcall+0x64/0x1e0
      [c00000003e483ec0] [c000000000a90418] .kernel_init+0x1e8/0x2bc
      [c00000003e483f90] [c00000000002048c] .kernel_thread+0x54/0x70
      EEH: PCI Enhanced I/O Error Handling Enabled
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7844663a
  4. 18 9月, 2012 3 次提交
    • G
      powerpc/eeh: Global mutex to protect PE tree · ea81245c
      Gavin Shan 提交于
      We have missed lots of situations where the PE hierarchy tree need
      protection through the EEH global mutex. The patch fixes that for
      those public APIs implemented in eeh_pe.c. The only exception is
      eeh_pe_restore_bars() because it calls eeh_pe_dev_traverse(), which
      has been protected by the mutex.
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ea81245c
    • G
      powerpc/eeh: Remove EEH PE for normal PCI hotplug · 20ee6a97
      Gavin Shan 提交于
      Function eeh_rmv_from_parent_pe() could be called by the path of
      either normal PCI hotplug, or EEH recovery. For the former case,
      we need purge the corresponding PE on removal of the associated
      PE bus.
      
      The patch tries to cover that by passing more information to function
      pcibios_remove_pci_devices() so that we know if the corresponding PE
      needs to be purged or be marked as "invalid".
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      20ee6a97
    • G
      powerpc/eeh: Introduce EEH_PE_INVALID type PE · 5efc3ad7
      Gavin Shan 提交于
      When EEH error happens on the PE whose PCI devices don't have
      attached drivers. In function eeh_handle_event(), the default
      value PCI_ERS_RESULT_NONE will be returned after iterating all
      drivers of those PCI devices belonging to the PE. Actually, we
      don't have installed drivers for the PCI devices. Under the
      circumstance, we will remove the corresponding PCI bus of the PE,
      including the associated EEH devices and PE instance. However,
      we still need the information stored in the PE instance to do PE
      reset after that. So it's unsafe to free the PE instance.
      
      The patch introduces EEH_PE_INVALID type PE to address the issue.
      When the PCI bus and the corresponding attached EEH devices are
      removed, we will mark the PE as EEH_PE_INVALID. At later point,
      the PE will be changed to EEH_PE_DEVICE or EEH_PE_BUS when the
      corresponding EEH devices are attached again.
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5efc3ad7
  5. 10 9月, 2012 7 次提交