1. 19 5月, 2010 2 次提交
  2. 29 4月, 2010 1 次提交
    • G
      driver-core: Add device node pointer to struct device · d706c1b0
      Grant Likely 提交于
      Currently, platforms using CONFIG_OF add a 'struct device_node *of_node'
      to dev->archdata.  However, with CONFIG_OF becoming generic for all
      architectures, it makes sense for commonality to move it out of archdata
      and into struct device proper.
      
      This patch adds a struct device_node *of_node member to struct device
      and updates all locations which currently write the device_node pointer
      into archdata to also update dev->of_node.  Subsequent patches will
      modify callers to use the archdata location and ultimately remove
      the archdata member entirely.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Greg Kroah-Hartman <gregkh@suse.de>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: "David S. Miller" <davem@davemloft.net>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: Jeremy Kerr <jeremy.kerr@canonical.com>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linux-kernel@vger.kernel.org
      CC: linuxppc-dev@ozlabs.org
      CC: sparclinux@vger.kernel.org
      d706c1b0
  3. 18 2月, 2010 1 次提交
  4. 29 1月, 2010 1 次提交
  5. 18 8月, 2009 1 次提交
    • K
      sparc,leon: Added support for AMBAPP bus. · e63829de
      Konrad Eisele 提交于
      The device is a AMBA bus if it is a child of prom node "ambapp" (AMBA
      plug and play). Two functions
      leon_trans_init() and leon_node_init() (defined in
      sparc/kernel/leon_kernel.c) are called in the
      prom_build_tree() path if CONFIG_SPARC_LEON is
      defined. leon_node_init() will build up the device
      tree using AMBA plug and play. Also: a extra check was addes to
      prom_common.c:build_one_prop()
      in case a rom-node is undefined which can happen for SPARC-LEON
      because it creates only a minimum
      nodes to emulate sparc behaviour.
      Signed-off-by: NKonrad Eisele <konrad@gaisler.com>
      Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e63829de
  6. 16 6月, 2009 1 次提交
  7. 22 4月, 2009 1 次提交
    • D
      sparc: Fix bus type probing for ESP and LE devices. · 956d039a
      David S. Miller 提交于
      If there is a dummy "espdma" or "ledma" parent device above ESP scsi
      or LE ethernet device nodes, we have to match the bus as SBUS.
      
      Otherwise the address and size cell counts are wrong and we don't
      calculate the final physical device resource values correctly at all.
      
      Commit 5280267c ("sparc: Fix handling
      of LANCE and ESP parent nodes in of_device.c") was meant to fix this
      problem, but that only influences the inner loop of
      build_device_resources().  We need this logic to also kick in at the
      beginning of build_device_resources() as well, when we make the first
      attempt to determine the device's immediate parent bus type for 'reg'
      property element extraction.
      
      Based almost entirely upon a patch by Friedrich Oslage.
      Tested-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      956d039a
  8. 05 12月, 2008 1 次提交
    • S
      sparc: prepare kernel/ for unification · d670bd4f
      Sam Ravnborg 提交于
      o sparc32 files with identical names to sparc64 renamed to <name>_32.S
      o introduced a few Kconfig helpers to simplify Makefile logic
      o refactored Makefile to prepare for unification
        - use obj-$(CONFIG_SPARC32) for sparc32 specific files
        - use <name>_$(BITS) for files where sparc64 has a _64 variant
        - sparc64 directly include a few files where sparc32 builds them,
          refer to these files directly (no BITS)
        - sneaked in -Werror as used by sparc64
      o modified sparc/Makefile to use the new names for head/init_task
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d670bd4f
  9. 13 11月, 2008 1 次提交
  10. 11 9月, 2008 1 次提交
  11. 03 9月, 2008 1 次提交
  12. 30 8月, 2008 1 次提交
  13. 29 8月, 2008 3 次提交
  14. 26 8月, 2008 1 次提交
  15. 25 8月, 2008 1 次提交
  16. 09 2月, 2008 1 次提交
  17. 18 10月, 2007 1 次提交
  18. 14 10月, 2007 1 次提交
  19. 21 7月, 2007 1 次提交
  20. 20 7月, 2007 3 次提交
  21. 26 4月, 2007 1 次提交
  22. 03 3月, 2007 2 次提交
  23. 10 12月, 2006 1 次提交
  24. 27 10月, 2006 1 次提交
  25. 04 10月, 2006 1 次提交
  26. 22 7月, 2006 1 次提交
  27. 13 7月, 2006 2 次提交
    • D
      [SPARC]: Fix OF register translations under sub-PCI busses. · a83f9823
      David S. Miller 提交于
      There is an implicit assumption in the code that ranges will translate
      to something that can fit in 2 32-bit cells, or a 64-bit value.  For
      certain kinds of things below PCI this isn't necessarily true.
      
      Here is what the relevant OF device hierarchy looks like for one of
      the serial controllers on an Ultra5:
      
          Node 0xf005f1e0
              ranges:      00000000.00000000.00000000.000001fe.01000000.00000000.01000000
                           01000000.00000000.00000000.000001fe.02000000.00000000.01000000
                           02000000.00000000.00000000.000001ff.00000000.00000001.00000000
                           03000000.00000000.00000000.000001ff.00000000.00000001.00000000
              device_type:  'pci'
              model:  'SUNW,sabre'
      
              Node 0xf005f9d4
                  device_type:  'pci'
                  model:  'SUNW,simba'
      
                 Node 0xf0060d24
                      ranges:  00000010.00000000 82010810.00000000.f0000000 01000000
      			 00000014.00000000 82010814.00000000.f1000000 00800000
                      name:  'ebus'
      
                      Node 0xf0062dac
                          reg:  00000014.003083f8.00000008 --> 0x1ff.f13083f8
                          device_type:  'serial'
                          name:  'su'
      
      So the correct translation here is:
      
      1) Match "su" register to second ranges entry of 'ebus', which translates
         into a PCI triplet "82010814.00000000.f1000000" of size 00800000, which
         gives us "82010814.00000000.f13083f8".
      
      2) Pass-through "SUNW,simba" since it lacks ranges property
      
      3) Match "82010814.00000000.f13083f8" to third ranges property of PCI
         controller node 'SUNW,sabre', and we arrive at the final physical
         MMIO address of "0x1fff13083f8".
      
      Due to the 2-cell assumption, we couldn't translate to a PCI 3-cell
      value, and we couldn't perform a pass-thru on it either.
      
      It was easiest to just stop splitting the ranges application operation
      between two methods, ->map and ->translate, and just let ->map do all
      the work.  That way it would work purely on 32-bit cell arrays instead
      of having to "return" some value like a u64.
      
      It's still not %100 correct because the out-of-range check is still
      done using the 64 least significant bits of the range and address.
      But it does work for all the cases I've thrown at it so far.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a83f9823
    • A
      [SPARC64]: of_device_register() error checking fix · 6cc8b6f5
      Andrew Morton 提交于
      device_create_file() can fail.  This causes the sparc64 compile to
      fail when my fanatical __must_check patch is applied, due to -Werror.
      
      [ Added necessary identical fix for sparc32. -DaveM]
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6cc8b6f5
  28. 30 6月, 2006 3 次提交
  29. 26 6月, 2006 1 次提交
  30. 24 6月, 2006 2 次提交