1. 23 2月, 2015 1 次提交
  2. 12 2月, 2015 1 次提交
  3. 10 2月, 2015 1 次提交
  4. 05 2月, 2015 2 次提交
  5. 04 2月, 2015 1 次提交
  6. 29 1月, 2015 1 次提交
  7. 23 1月, 2015 2 次提交
  8. 22 1月, 2015 3 次提交
  9. 14 1月, 2015 3 次提交
  10. 04 12月, 2014 4 次提交
  11. 02 12月, 2014 2 次提交
  12. 28 11月, 2014 2 次提交
  13. 26 11月, 2014 2 次提交
    • G
      of: remove select of non-existant OF_DEVICE config symbol · 65d473b8
      Grant Likely 提交于
      The OF_OVERLAY option selects OF_DEVICE, but OF_DEVICE was removed in
      commit ba166e90, "of: remove CONFIG_OF_DEVICE". Remove the unnecessary
      select.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      Reported-by: NPaul Bolle <pebolle@tiscali.nl>
      Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
      65d473b8
    • I
      of/fdt: memblock_reserve /memreserve/ regions in the case of partial overlap · 094cb981
      Ian Campbell 提交于
      memblock_is_region_reserved() returns true in the case of a partial
      overlap, meaning that the current code fails to reserve the
      non-overlapping portion.
      
      This call was introduced as part of d1552ce4 "of/fdt: move
      memreserve and dtb memory reservations into core" which went into
      v3.16.
      
      I observed this causing a Midway system with a buggy fdt (the header
      declares itself to be larger than it really is) failing to boot
      because the over-inflated size of the fdt was causing it to seem to
      run into the swapper_pg_dir region, meaning the DT wasn't reserved.
      The symptoms were failing to find an disks or network and failing to
      boot.
      
      However given the ambiguity of whether things like the initrd are
      covered by /memreserve/ and similar I think it is best to also
      register the region rather than just ignoring it.
      
      Since memblock_reserve() handles overlaps just fine lets just warn and
      carry on.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: stable@vger.kernel.org # v3.16+
      094cb981
  14. 25 11月, 2014 9 次提交
  15. 20 11月, 2014 3 次提交
    • G
      of/selftest: Fix testing when /aliases is missing · 788ec2fc
      Grant Likely 提交于
      The /aliases node isn't always present in the device tree, but the
      unittest code assumes that /aliases is there. Add a check when inserting
      the testcase data to see if of_aliases needs to be updated, and undo the
      settings when the nodes are removed.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Gaurav Minocha <gaurav.minocha.os@gmail.com>
      Cc: <stable@vger.kernel.org>
      788ec2fc
    • G
      of: Properly set the OF_POPULATED_BUS flag on root node · 2d0747c4
      Grant Likely 提交于
      of_platform_populate() takes a subset of the device tree and turns it
      into a set of platform_devices. At the same time it sets the
      OF_POPULATED_BUS flag in each bus nodes so that of_platform_depopulate()
      can undo the operation at a later time. However, it doesn't set the flag
      on the root of the population tree which means that dynamic modifications
      of the device tree at runtime will not create/destroy devices correctly.
      
      Fix of_platform_populate() to set the OF_POPULATED_BUS flag on the node
      it is called with.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
      Cc: Pawel Moll <pawel.moll@arm.com>
      2d0747c4
    • G
      of/selftest: Fix off-by-one error in removal path · c1a2086e
      Grant Likely 提交于
      The removal path for selftest data has an off by one error that causes
      the code to dereference beyond the end of the nodes[] array on the first
      pass through. The old code only worked by chance on a lot of platforms,
      but the bug was recently exposed on aarch64.
      
      The fix is simple. Decrement the node count before dereferencing, not
      after.
      Reported-by: NKevin Hilman <khilman@linaro.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Gaurav Minocha <gaurav.minocha.os@gmail.com>
      Cc: <stable@vger.kernel.org> # v3.17+
      c1a2086e
  16. 19 11月, 2014 3 次提交
    • A
      of/fdt: export fdt blob as /sys/firmware/fdt · 08d53aa5
      Ard Biesheuvel 提交于
      Create a new /sys entry '/sys/firmware/fdt' to export the FDT blob
      that was passed to the kernel by the bootloader. This allows userland
      applications such as kexec to access the raw binary.
      
      The fact that this node does not reside under /sys/firmware/device-tree
      is deliberate: FDT is also used on arm64 UEFI/ACPI systems to
      communicate just the UEFI and ACPI entry points, but the FDT is never
      unflattened and used to configure the system.
      
      A CRC32 checksum is calculated over the entire FDT blob, and verified
      at late_initcall time. The sysfs entry is instantiated only if the
      checksum is valid, i.e., if the FDT blob has not been modified in the
      mean time. Otherwise, a warning is printed.
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      08d53aa5
    • B
      of/base: Fix PowerPC address parsing hack · 746c9e9f
      Benjamin Herrenschmidt 提交于
      We have a historical hack that treats missing ranges properties as the
      equivalent of an empty one. This is needed for ancient PowerMac "bad"
      device-trees, and shouldn't be enabled for any other PowerPC platform,
      otherwise we get some nasty layout of devices in sysfs or even
      duplication when a set of otherwise identically named devices is
      created multiple times under a different parent node with no ranges
      property.
      
      This fix is needed for the PowerNV i2c busses to be exposed properly
      and will fix a number of other embedded cases.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: <stable@vger.kernel.org>
      Acked-by: NGrant Likely <grant.likely@linaro.org>
      Signed-off-by: NRob Herring <robh@kernel.org>
      746c9e9f
    • K
      of: Fix crash if an earlycon driver is not found · ab74d00a
      Kevin Cernekee 提交于
      __earlycon_of_table_sentinel.compatible is a char[128], not a pointer, so
      it will never be NULL.  Checking it against NULL causes the match loop to
      run past the end of the array, and eventually match a bogus entry, under
      the following conditions:
      
       - Kernel command line specifies "earlycon" with no parameters
       - DT has a stdout-path pointing to a UART node
       - The UART driver doesn't use OF_EARLYCON_DECLARE (or maybe the console
         driver is compiled out)
      
      Fix this by checking to see if match->compatible is a non-empty string.
      Signed-off-by: NKevin Cernekee <cernekee@gmail.com>
      Cc: <stable@vger.kernel.org> # 3.16+
      Signed-off-by: NRob Herring <robh@kernel.org>
      ab74d00a