1. 01 7月, 2008 1 次提交
    • J
      drivers/macintosh/smu.c: Improve error handling · 73f38fe1
      Julia Lawall 提交于
      This makes two changes:
      
      * As noted by Akinobu Mita in patch
      b1fceac2, alloc_bootmem never returns NULL
      and always returns a zeroed region of memory.  Thus the error checking code
      and memset after the call to alloc_bootmem are not necessary.
      
      * The old error handling code consisted of setting a global variable to
      NULL and returning an error code, which could cause previously allocated
      resources never to be freed.  The patch adds calls to appropriate resource
      deallocation functions.
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      73f38fe1
  2. 30 6月, 2008 1 次提交
  3. 16 6月, 2008 1 次提交
  4. 08 2月, 2008 1 次提交
    • B
      [POWERPC] Disable G5 NAP mode during SMU commands on U3 · 592a607b
      Benjamin Herrenschmidt 提交于
      It appears that with the U3 northbridge, if the processor is in NAP
      mode the whole time while waiting for an SMU command to complete,
      then the SMU will fail.  It could be related to the weird backward
      mechanism the SMU uses to get to system memory via i2c to the
      northbridge that doesn't operate properly when the said bridge is
      in napping along with the CPU.  That is on U3 at least, U4 doesn't
      seem to be affected.
      
      This didn't show before NO_HZ as the timer wakeup was enough to make
      it work it seems, but that is no longer the case.
      
      This fixes it by disabling NAP mode on those machines while
      an SMU command is in flight.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      592a607b
  5. 03 2月, 2008 2 次提交
  6. 20 7月, 2007 1 次提交
  7. 07 5月, 2007 1 次提交
  8. 27 4月, 2007 1 次提交
  9. 26 4月, 2007 1 次提交
  10. 18 4月, 2007 1 次提交
  11. 13 4月, 2007 2 次提交
  12. 13 2月, 2007 1 次提交
  13. 14 12月, 2006 1 次提交
  14. 04 12月, 2006 1 次提交
    • B
      [POWERPC] Souped-up of_platform_device support · 7eebde70
      Benjamin Herrenschmidt 提交于
      This patch first splits of_device.c and of_platform.c, the later containing
      the bits relative to of_platform_device's. On the "breaks" side of things,
      drivers uisng of_platform_device(s) need to include asm/of_platform.h now
      and of_(un)register_driver is now of_(un)register_platform_driver.
      
      In addition to a few utility functions to locate of_platform_device(s),
      the main new addition is of_platform_bus_probe() which allows the platform
      code to trigger an automatic creation of of_platform_devices for a whole
      tree of devices.
      
      The function acts based on the type of the various "parent" devices encountered
      from a provided root, using either a default known list of bus types that can be
      "probed" or a passed-in list. It will only register devices on busses matching
      that list, which mean that typically, it will not register PCI devices, as
      expected (since they will be picked up by the PCI layer).
      
      This will be used by Cell platforms using 4xx-type IOs in the Axon bridge
      and can be used by any embedded-type device as well.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7eebde70
  15. 22 11月, 2006 1 次提交
  16. 05 10月, 2006 1 次提交
    • D
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells 提交于
      Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
      of passing regs around manually through all ~1800 interrupt handlers in the
      Linux kernel.
      
      The regs pointer is used in few places, but it potentially costs both stack
      space and code to pass it around.  On the FRV arch, removing the regs parameter
      from all the genirq function results in a 20% speed up of the IRQ exit path
      (ie: from leaving timer_interrupt() to leaving do_IRQ()).
      
      Where appropriate, an arch may override the generic storage facility and do
      something different with the variable.  On FRV, for instance, the address is
      maintained in GR28 at all times inside the kernel as part of general exception
      handling.
      
      Having looked over the code, it appears that the parameter may be handed down
      through up to twenty or so layers of functions.  Consider a USB character
      device attached to a USB hub, attached to a USB controller that posts its
      interrupts through a cascaded auxiliary interrupt controller.  A character
      device driver may want to pass regs to the sysrq handler through the input
      layer which adds another few layers of parameter passing.
      
      I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
      main part of the code on FRV and i386, though I can't test most of the drivers.
      I've also done partial conversion for powerpc and MIPS - these at least compile
      with minimal configurations.
      
      This will affect all archs.  Mostly the changes should be relatively easy.
      Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
      
      	struct pt_regs *old_regs = set_irq_regs(regs);
      
      And put the old one back at the end:
      
      	set_irq_regs(old_regs);
      
      Don't pass regs through to generic_handle_irq() or __do_IRQ().
      
      In timer_interrupt(), this sort of change will be necessary:
      
      	-	update_process_times(user_mode(regs));
      	-	profile_tick(CPU_PROFILING, regs);
      	+	update_process_times(user_mode(get_irq_regs()));
      	+	profile_tick(CPU_PROFILING);
      
      I'd like to move update_process_times()'s use of get_irq_regs() into itself,
      except that i386, alone of the archs, uses something other than user_mode().
      
      Some notes on the interrupt handling in the drivers:
      
       (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
           the input_dev struct.
      
       (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
           something different depending on whether it's been supplied with a regs
           pointer or not.
      
       (*) Various IRQ handler function pointers have been moved to type
           irq_handler_t.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
  17. 01 10月, 2006 1 次提交
  18. 31 7月, 2006 1 次提交
  19. 11 7月, 2006 1 次提交
  20. 03 7月, 2006 2 次提交
    • B
      [POWERPC] Add new interrupt mapping core and change platforms to use it · 0ebfff14
      Benjamin Herrenschmidt 提交于
      This adds the new irq remapper core and removes the old one.  Because
      there are some fundamental conflicts with the old code, like the value
      of NO_IRQ which I'm now setting to 0 (as per discussions with Linus),
      etc..., this commit also changes the relevant platform and driver code
      over to use the new remapper (so as not to cause difficulties later
      in bisecting).
      
      This patch removes the old pre-parsing of the open firmware interrupt
      tree along with all the bogus assumptions it made to try to renumber
      interrupts according to the platform. This is all to be handled by the
      new code now.
      
      For the pSeries XICS interrupt controller, a single remapper host is
      created for the whole machine regardless of how many interrupt
      presentation and source controllers are found, and it's set to match
      any device node that isn't a 8259.  That works fine on pSeries and
      avoids having to deal with some of the complexities of split source
      controllers vs. presentation controllers in the pSeries device trees.
      
      The powerpc i8259 PIC driver now always requests the legacy interrupt
      range. It also has the feature of being able to match any device node
      (including NULL) if passed no device node as an input. That will help
      porting over platforms with broken device-trees like Pegasos who don't
      have a proper interrupt tree.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0ebfff14
    • T
      [PATCH] irq-flags: misc drivers: Use the new IRQF_ constants · dace1453
      Thomas Gleixner 提交于
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dace1453
  21. 01 7月, 2006 1 次提交
  22. 27 3月, 2006 1 次提交
  23. 23 3月, 2006 1 次提交
  24. 09 1月, 2006 3 次提交
    • B
      [PATCH] 2/5 powerpc: Rework PowerMac i2c part 2 · a28d3af2
      Benjamin Herrenschmidt 提交于
      This is the continuation of the previous patch. This one removes the old
      PowerMac i2c drivers (i2c-keywest and i2c-pmac-smu) and replaces them
      both with a single stub driver that uses the new PowerMac low i2c layer.
      
      Now that i2c-keywest is gone, the low-i2c code is extended to support
      interrupt driver transfers. All i2c busses now appear as platform
      devices. Compatibility with existing drivers should be maintained as the
      i2c bus names have been kept identical, except for the SMU bus but in
      that later case, all users has been fixed.
      
      With that patch added, matching a device node to an i2c_adapter becomes
      trivial.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a28d3af2
    • B
      [PATCH] 1/5 powerpc: Rework PowerMac i2c part 1 · 730745a5
      Benjamin Herrenschmidt 提交于
      This is the first part of a rework of the PowerMac i2c code. It
      completely reworks the "low_i2c" layer. It is now more flexible,
      supports KeyWest, SMU and PMU i2c busses, and provides functions to
      match device nodes to i2c busses and adapters.
      
      This patch also extends & fix some bugs in the SMU driver related to i2c
      support and removes the clock spreading hacks from the pmac feature code
      rather than adapting them to the new API since they'll be replaced by
      the platform function code completely in patch 3/5
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      730745a5
    • B
      [PATCH] powerpc: Experimental support for new G5 Macs (#2) · 1beb6a7d
      Benjamin Herrenschmidt 提交于
      This adds some very basic support for the new machines, including the
      Quad G5 (tested), and other new dual core based machines and iMac G5
      iSight (untested). This is still experimental !  There is no thermal
      control yet, there is no proper handing of MSIs, etc.. but it
      boots, I have all 4 cores up on my machine. Compared to the previous
      version of this patch, this one adds DART IOMMU support for the U4
      chipset and thus should work fine on setups with more than 2Gb of RAM.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1beb6a7d
  25. 08 11月, 2005 3 次提交
  26. 30 9月, 2005 1 次提交
  27. 27 9月, 2005 1 次提交
  28. 23 9月, 2005 1 次提交
    • B
      [PATCH] ppc64: SMU driver update & i2c support · 0365ba7f
      Benjamin Herrenschmidt 提交于
      The SMU is the "system controller" chip used by Apple recent G5 machines
      including the iMac G5.  It drives things like fans, i2c busses, real time
      clock, etc...
      
      The current kernel contains a very crude driver that doesn't do much more
      than reading the real time clock synchronously.  This is a completely
      rewritten driver that provides interrupt based command queuing, a userland
      interface, and an i2c/smbus driver for accessing the devices hanging off
      the SMU i2c busses like temperature sensors.  This driver is a basic block
      for upcoming work on thermal control for those machines, among others.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0365ba7f
  29. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4