1. 09 Apr, 2013 31 commits
  2. 05 Apr, 2013 7 commits
    • Stephen Warren's avatar
      ARM: dt: create a DT header for the GIC · 4be505d4
      Stephen Warren authored
      The ARM GIC binding defines a few custom cells and flags for its IRQ
      specifier. Provide names for those.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      4be505d4
    • Stephen Warren's avatar
      ARM: dt: add header to define IRQ flags · 840ef8b7
      Stephen Warren authored
      Many IRQ device tree bindings use the same flags. Create a header to
      define those.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      840ef8b7
    • Stephen Warren's avatar
      ARM: dt: add header to define GPIO flags · 71fab21f
      Stephen Warren authored
      Many GPIO device tree bindings use the same flags. Create a header to
      define those.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      71fab21f
    • Stephen Warren's avatar
      kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp · b40b25ff
      Stephen Warren authored
      Replace cmd_dtc with cmd_dtc_cpp, and delete the latter.
      
      Previously, a special file extension (.dtsp) was required to trigger
      the C pre-processor to run on device tree files. This was ugly. Now that
      previous changes have enhanced cmd_dtc_cpp to collect dependency
      information from both gcc -E and dtc, we can transparently run the pre-
      processor on all device tree files, irrespective of whether they
      use /include/ or #include syntax to include *.dtsi.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      b40b25ff
    • Stephen Warren's avatar
      kbuild: cmd_dtc_cpp: extract deps from both gcc -E and dtc · 85f02be8
      Stephen Warren authored
      Prior to this change, when compiling *.dts to *.dtb, the dependency
      output from dtc would be used, and when compiling *.dtsp to *.dtb, the
      dependency output from gcc -E alone would be used, despite dtc also
      being invoked (on a temporary file that was guaranteed to have no
      dependencies).
      
      With this change, when compiling *.dtsp to *.dtb, the dependency files
      from both gcc -E and dtc are used. This will allow cmd_dtc_cpp to
      replace cmd_dtc in a future change. In turn, that will allow the C pre-
      processor to be run transparently on *.dts, without the need to a
      separate rule or file extension to trigger it.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      85f02be8
    • Stephen Warren's avatar
      kbuild: fixdep: support concatenated dep files · 2ab8a996
      Stephen Warren authored
      The current use-case for fixdep is: a source file is run through a single
      processing step, which creates a single dependency file as a side-effect,
      which fixdep transforms into the file used by the kernel build process.
      
      In order to transparently run the C pre-processor on device-tree files,
      we wish to run both gcc -E and dtc on a source file in a single rule.
      This generates two dependency files, which must be transformed together
      into the file used by the kernel build process. This change modifies
      fixdep so it can process the concatenation of multiple separate input
      dependency files, and produce a correct unified output.
      
      The code changes have the slight benefit of transforming the loop in
      parse_dep_file() into more of a lexer/tokenizer, with the loop body being
      more of a parser. Previously, some of this logic was mixed together
      before the loop. I also added some comments, which I hope are useful.
      
      Benchmarking shows that on a cross-compiled ARM tegra_defconfig build,
      there is less than 0.5 seconds speed decrease with this change, on top
      of a build time of ~2m24s. This is probably within the noise.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      2ab8a996
    • Stephen Warren's avatar
      kbuild: create an "include chroot" for DT bindings · c58299aa
      Stephen Warren authored
      The recent dtc+cpp support allows header files and C pre-processor
      defines/macros to be used when compiling device tree files. These
      headers will typically define various constants that are part of the
      device tree bindings.
      
      The original patch which set up the dtc+cpp include path only considered
      using those headers from device tree files. However, most are also
      useful for kernel code which needs to interpret the device tree.
      
      In both the DT files and the kernel, I'd like to include the DT-related
      headers in the same way, for example, <dt-bindings/gpio/tegra-gpio.h>.
      That will simplify any text which discusses the DT header locations.
      
      Creating a <dt-bindings/> for kernel source to use is as simple as
      placing files into include/dt-bindings/.
      
      However, when compiling DT files, the include path should be restricted
      so that only the dt-bindings path is available; arbitrary kernel headers
      shouldn't be exposed. For this reason, create a specific include
      directory for use by dtc+cpp, and symlink dt-bindings from there to the
      actual location of include/dt-bindings/. For want of a better location,
      place this "include chroot" into the existing dts/ directory.
      
      arch/*/boot/dts/include/dt-bindings -> ../../../../../include/dt-bindings
      
      Some headers used by device tree files may not be useful to the kernel;
      they may be used simply to aid in constructing the DT file (e.g. macros
      to create a node), but not define any information that the kernel needs
      to share. These may be placed directly into arch/*/boot/dts/ along with
      the DT files themselves.
      Acked-by: default avatarMichal Marek <mmarek@suse.cz>
      Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      c58299aa
  3. 02 Apr, 2013 2 commits