1. 08 9月, 2012 1 次提交
  2. 03 8月, 2012 1 次提交
    • S
      of: Allow busses with #size-cells=0 · 5d61b165
      Stephen Warren 提交于
      It's quite legitimate for a DT node to specify #size-cells=0. One example
      is a node that's used to collect a number of non-memory-mapped devices.
      In that scenario, there may be multiple child nodes with the same name
      (type) thus necessitating the use of unit addresses in node names, and
      reg properties:
      
      / {
      	regulators {
      		compatible = "simple-bus";
      		#address-cells = <1>;
      		#size-cells = <0>;
      
      		regulator@0 {
      			compatible = "regulator-fixed";
      			reg = <0>;
      			...
      		};
      
      		regulator@1 {
      			compatible = "regulator-fixed";
      			reg = <1>;
      			...
      		};
      
      		...
      	};
      };
      
      However, #size-cells=0 prevents translation of reg property values into
      the parent node's address space. In turn, this triggers the kernel to
      emit error messages during boot, such as:
      
          prom_parse: Bad cell count for /regulators/regulator@0
      
      To prevent printing these error messages for legitimate DT content, a
      number of changes are made:
      
      1) of_get_address()/of_get_pci_address() are modified only to validate
         the value of #address-cells, and not #size-cells.
      
      2) of_can_translate_address() is added to indicate whether address
         translation is possible.
      
      3) of_device_make_bus_id() is modified to name devices based on the
         translated address only where possible, and otherwise fall back to
         using the (first cell of the) raw untranslated address.
      
      4) of_device_alloc() is modified to create memory resources for a device
         only if the address can be translated into the CPU's address space.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      5d61b165
  3. 23 4月, 2012 1 次提交
    • A
      ARM: spear: remove most mach/*.h header contents · 5019f0b1
      Arnd Bergmann 提交于
      The register and irq definitions in mach/*.h for spear3xx and
      spear6xx are now mostly obsolete, after the platforms have been
      converted to device tree based probing and the data is now
      part of the device tree files.
      
      The misc_regs.h contents are moved into clock.c because that is
      the only user, aside from the DMA_CHN_CFG that should eventually
      get handled differently. Some of the contents of mach/spear.h
      still remain, because they are used to set up the static map table,
      timer, uart and auxdata tables, but almost everything got removed.
      We might remove everything but the map table as the DT conversion
      completes, but that is not a priority. I've also made sure to
      make both copies of spear.h more or less identical so we can
      eventually combine them.
      
      The spear3?0.h files were only used by the spear3?0.c files, so I
      merged the contents in there and removed the bits that were unused.
      This is something that should still be looked at.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NViresh Kumar <viresh.kumar@st.com>
      5019f0b1
  4. 04 1月, 2012 1 次提交
  5. 01 8月, 2011 1 次提交
  6. 19 7月, 2011 1 次提交
  7. 24 12月, 2010 1 次提交
  8. 09 12月, 2010 1 次提交
  9. 13 10月, 2010 1 次提交
  10. 06 7月, 2010 6 次提交