1. 05 Jul, 2017 2 commits
  2. 30 Jun, 2017 2 commits
  3. 27 Jun, 2017 1 commit
    • Pantelis Antoniou's avatar
      vsprintf: Add %p extension "%pOF" for device tree · ce4fecf1
      Pantelis Antoniou authored
      90% of the usage of device node's full_name is printing it out in a
      kernel message. However, storing the full path for every node is
      wasteful and redundant. With a custom format specifier, we can generate
      the full path at run-time and eventually remove the full path from every
      node.
      
      For instance typical use is:
      	pr_info("Frobbing node %s\n", node->full_name);
      
      Which can be written now as:
      	pr_info("Frobbing node %pOF\n", node);
      
      '%pO' is the base specifier to represent kobjects with '%pOF'
      representing struct device_node. Currently, struct device_node is the
      only supported type of kobject.
      
      More fine-grained control of formatting includes printing the name,
      flags, path-spec name and others, explained in the documentation entry.
      
      Originally written by Pantelis, but pretty much rewrote the core
      function using existing string/number functions. The 2 passes were
      unnecessary and have been removed. Also, updated the checkpatch.pl
      check. The unittest code was written by Grant Likely.
      Signed-off-by: default avatarPantelis Antoniou <pantelis.antoniou@konsulko.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      ce4fecf1
  4. 22 Jun, 2017 13 commits
  5. 16 Jun, 2017 4 commits
  6. 14 Jun, 2017 1 commit
  7. 01 Jun, 2017 3 commits
  8. 30 May, 2017 1 commit
  9. 23 May, 2017 1 commit
  10. 19 May, 2017 1 commit
  11. 17 May, 2017 4 commits
  12. 16 May, 2017 1 commit
    • Thomas Petazzoni's avatar
      of: irq: use of_irq_get() in of_irq_to_resource() · 7a4228bb
      Thomas Petazzoni authored
      of_irq_to_resource() currently uses irq_of_parse_and_map() to
      translate a DT interrupt specification into a Linux virtual interrupt
      number. While this works in most cases, irq_of_parse_and_map() doesn't
      properly handle the case where the interrupt controller is not yet
      available (due to deferred probing for example).
      
      So instead, use of_irq_get(), which is implemented exactly like
      irq_of_parse_and_map(), with the exception that if the interrupt
      controller is not yet available, it returns -EPROBE_DEFER. Obviously,
      we also handle this error and bail out from of_irq_to_resource() when
      of_irq_get() returns an error.
      
      This allows to avoid silly error messages at boot time caused by
      irq_create_of_mapping() when the interrupt controller is not
      available:
      
      [    0.153168] irq: no irq domain found for /ap806/config-space@f0000000/interrupt-controller@3f0100 !
      [    0.154041] irq: no irq domain found for /cp110-master/config-space@f2000000/interrupt-controller@1e0000 !
      [    0.154124] irq: no irq domain found for /cp110-master/config-space@f2000000/interrupt-controller@1e0000 !
      [    0.154207] irq: no irq domain found for /cp110-master/config-space@f2000000/interrupt-controller@1e0000 !
      [    0.154437] irq: no irq domain found for /cp110-master/config-space@f2000000/interrupt-controller@1e0000 !
      [    0.154518] irq: no irq domain found for /cp110-master/config-space@f2000000/interrupt-controller@1e0000 !
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      7a4228bb
  13. 15 May, 2017 4 commits
  14. 13 May, 2017 2 commits