1. 08 May, 2007 3 commits
    • Johannes Berg's avatar
      [POWERPC] via-pmu: remove LED sleep notifier · f596575e
      Johannes Berg authored
      The generic LED code now makes sure that suspended devices don't blink,
      so we no longer need to do it ourselves. For the suspend to disk case,
      however, we need to make sure that we don't blink if the PMU sysdev
      was suspended before the LED device.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      f596575e
    • Michael Ellerman's avatar
      [POWERPC] Add __init annotations to reserve_mem() and stabs_alloc() · 0108d3fe
      Michael Ellerman authored
      reserve_mem() and stabs_alloc() are both called only from other __init
      routines, so can be marked __init.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      0108d3fe
    • Paul Mackerras's avatar
      [POWERPC] Cope with PCI host bridge I/O window not starting at 0 · 11fbb00c
      Paul Mackerras authored
      Currently our code to set up the data structures for a PCI host bridge
      and create the mapping for its I/O window assumes that the window
      starts at I/O port 0 on the PCI side.  If this is not true, we can end
      up with I/O port numbers in the resources for PCI devices which will
      cause an oops if a driver tries to access them via inb/outb etc.,
      because there is no mapping for the corresponding addresses.
      
      Normally the I/O window starts at 0, but there are some situations on
      partitioned machines with a hypervisor where the window may not start
      at 0.
      
      This fixes the problem by allocating space for the range from 0 to the
      end of the I/O window.  That is, hose->io_base_virt contains the
      virtual address for I/O port 0 on the PCI bus, and thus the assumption
      that hose->io_base_virt - pci_io_base is the offset between the
      "global" I/O port numbers (those in the PCI device resources) and the
      I/O port numbers on the PCI bus is maintained.
      
      For PCI host bridges that are present at boot, we only map the portion
      of that range that correspond to the bridge's I/O window.  For bridges
      added after boot we ioremap the range from 0 to the end of the I/O
      window, for now; in fact hot-added bridges should be using
      reserve_phb_iospace() and __ioremap_explicit (so they get sensible
      global port numbers), but we don't have the infrastructure yet to do
      that (basically a free_phb_iospace() routine plus appropriate
      locking).
      
      Interestingly, this makes the two arms of the if statement in
      get_bus_io_range do almost exactly the same thing; that function could
      now be simplified in a further patch.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      11fbb00c
  2. 07 May, 2007 20 commits
  3. 02 May, 2007 17 commits