Skip to content
Snippets Groups Projects
  1. Jul 10, 2018
  2. May 07, 2018
    • Tom Rini's avatar
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini authored
      
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      83d290c5
  3. Aug 06, 2015
    • Masahiro Yamada's avatar
      devres: add debug command to dump device resources · 40b6f2d0
      Masahiro Yamada authored
      
      This new command can dump all device resources associated to
      each device.  The fields in every line shows:
        - The address of the resource
        - The size of the resource
        - The name of the release function
        - The stage in which the resource has been acquired (BIND/PROBE)
      
      Currently, there is no driver using devres, but if such drivers are
      implemented, the output of this command should look like this:
      
      => dm devres
      - root_driver
      - soc
      - extbus
      - serial@54006800
          bfb541e8 (8 byte) devm_kmalloc_release  BIND
          bfb54440 (4 byte) devm_kmalloc_release  PROBE
          bfb54460 (4 byte) devm_kmalloc_release  PROBE
      - serial@54006900
          bfb54270 (8 byte) devm_kmalloc_release  BIND
      - gpio@55000000
      - i2c@58780000
          bfb5bce8 (12 byte) devm_kmalloc_release  PROBE
          bfb5bd10 (4 byte) devm_kmalloc_release  PROBE
      - eeprom
          bfb54418 (12 byte) devm_kmalloc_release  BIND
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      40b6f2d0
    • Masahiro Yamada's avatar
      devres: add devm_kmalloc() and friends (managed memory allocators) · 2b07f685
      Masahiro Yamada authored
      
      devm_kmalloc() is identical to kmalloc() except that the memory
      allocated with it is managed and will be automatically released
      when the device is removed/unbound.
      
      Likewise for the other variants.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      2b07f685
    • Masahiro Yamada's avatar
      devres: introduce Devres (Managed Device Resource) framework · 608f26c5
      Masahiro Yamada authored
      
      In U-Boot's driver model, memory is basically allocated and freed
      in the core framework.  So, low level drivers generally only have
      to specify the size of needed memory with .priv_auto_alloc_size,
      .platdata_auto_alloc_size, etc.  Nevertheless, some drivers still
      need to allocate/free memory on their own in case they cannot
      statically know the necessary memory size.  So, I believe it is
      reasonable enough to port Devres into U-boot.
      
      Devres, which originates in Linux, manages device resources for each
      device and automatically releases them on driver detach.  With devres,
      device resources are guaranteed to be freed whether initialization
      fails half-way or the device gets detached.
      
      The basic idea is totally the same to that of Linux, but I tweaked
      it a bit so that it fits in U-Boot's driver model.
      
      In U-Boot, drivers are activated in two steps: binding and probing.
      Binding puts a driver and a device together.  It is just data
      manipulation on the system memory, so nothing has happened on the
      hardware device at this moment.  When the device is really used, it
      is probed.  Probing initializes the real hardware device to make it
      really ready for use.
      
      So, the resources acquired during the probing process must be freed
      when the device is removed.  Likewise, what has been allocated in
      binding should be released when the device is unbound.  The struct
      devres has a member "probe" to remember when the resource was
      allocated.
      
      CONFIG_DEBUG_DEVRES is also supported for easier debugging.
      If enabled, debug messages are printed each time a resource is
      allocated/freed.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      608f26c5
Loading