diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 12:28:03 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 12:28:03 -0400 |
| commit | dfab34aa61a0f8c14a67d7b4c1dae28e57ba592d (patch) | |
| tree | 581fd4d7394b838acb70c3c2e5d585b5b8a86b0d /scripts | |
| parent | a7726350e06401929eac0aa0677a5467106565fc (diff) | |
| parent | 88cf9c5e494795a53ec360d0b38f483a6d4e508f (diff) | |
Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC device-tree updates from Olof Johansson:
"Part 1 of device-tree updates for 3.10. The bulk of the churn in this
branch is due to i.MX moving from C-defined pin control over to device
tree, which is a one-time conversion that will allow greater
flexibility down the road.
Besides that, there's PCI-e bindings for Marvell mvebu platforms and a
handful of cleanups to tegra due to the new include file functionality
of the device tree compiler"
* tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (113 commits)
arm: mvebu: PCIe Device Tree informations for Armada XP GP
arm: mvebu: PCIe Device Tree informations for Armada 370 DB
arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
arm: mvebu: PCIe Device Tree informations for Armada XP DB
arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
arm: mvebu: add PCIe Device Tree informations for Armada XP
arm: mvebu: add PCIe Device Tree informations for Armada 370
ARM: sunxi: unify osc24M_fixed and osc24M
arm: vt8500: Add SDHC support to WM8505 DT
ARM: dts: Add a 64 bits version of the skeleton device tree
ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
ARM: dts: imx6dl-wandboard: Add USB Host support
ARM: dts: imx51 cpu node
ARM: dts: Add missing imx27-phytec-phycore dtb target
ARM: dts: Add NFC support for i.MX27 Phytec PCM038 module
ARM: i.MX51: Add PATA support
ARM: dts: Add initial support for Wandboard Dual-Lite
...
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.lib | 17 | ||||
| -rw-r--r-- | scripts/basic/fixdep.c | 93 |
2 files changed, 68 insertions, 42 deletions
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 07125e697d7a..3e73dfd838cd 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib | |||
| @@ -156,9 +156,9 @@ cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ | |||
| 156 | 156 | ||
| 157 | ld_flags = $(LDFLAGS) $(ldflags-y) | 157 | ld_flags = $(LDFLAGS) $(ldflags-y) |
| 158 | 158 | ||
| 159 | dtc_cpp_flags = -Wp,-MD,$(depfile) -nostdinc \ | 159 | dtc_cpp_flags = -Wp,-MD,$(depfile).pre -nostdinc \ |
| 160 | -I$(srctree)/arch/$(SRCARCH)/boot/dts \ | 160 | -I$(srctree)/arch/$(SRCARCH)/boot/dts \ |
| 161 | -I$(srctree)/arch/$(SRCARCH)/include/dts \ | 161 | -I$(srctree)/arch/$(SRCARCH)/boot/dts/include \ |
| 162 | -undef -D__DTS__ | 162 | -undef -D__DTS__ |
| 163 | 163 | ||
| 164 | # Finds the multi-part object the current object will be linked into | 164 | # Finds the multi-part object the current object will be linked into |
| @@ -269,20 +269,17 @@ $(obj)/%.dtb.S: $(obj)/%.dtb | |||
| 269 | $(call cmd,dt_S_dtb) | 269 | $(call cmd,dt_S_dtb) |
| 270 | 270 | ||
| 271 | quiet_cmd_dtc = DTC $@ | 271 | quiet_cmd_dtc = DTC $@ |
| 272 | cmd_dtc = $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS) -d $(depfile) $< | 272 | cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ |
| 273 | $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \ | ||
| 274 | -i $(srctree)/arch/$(SRCARCH)/boot/dts $(DTC_FLAGS) \ | ||
| 275 | -d $(depfile).dtc $(dtc-tmp) ; \ | ||
| 276 | cat $(depfile).pre $(depfile).dtc > $(depfile) | ||
| 273 | 277 | ||
| 274 | $(obj)/%.dtb: $(src)/%.dts FORCE | 278 | $(obj)/%.dtb: $(src)/%.dts FORCE |
| 275 | $(call if_changed_dep,dtc) | 279 | $(call if_changed_dep,dtc) |
| 276 | 280 | ||
| 277 | dtc-tmp = $(subst $(comma),_,$(dot-target).dts) | 281 | dtc-tmp = $(subst $(comma),_,$(dot-target).dts) |
| 278 | 282 | ||
| 279 | quiet_cmd_dtc_cpp = DTC+CPP $@ | ||
| 280 | cmd_dtc_cpp = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ | ||
| 281 | $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS) $(dtc-tmp) | ||
| 282 | |||
| 283 | $(obj)/%.dtb: $(src)/%.dtsp FORCE | ||
| 284 | $(call if_changed_dep,dtc_cpp) | ||
| 285 | |||
| 286 | # Bzip2 | 283 | # Bzip2 |
| 287 | # --------------------------------------------------------------------------- | 284 | # --------------------------------------------------------------------------- |
| 288 | 285 | ||
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index 7f6425e24ce3..078fe1d64e7d 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c | |||
| @@ -320,49 +320,78 @@ static void parse_dep_file(void *map, size_t len) | |||
| 320 | char *end = m + len; | 320 | char *end = m + len; |
| 321 | char *p; | 321 | char *p; |
| 322 | char s[PATH_MAX]; | 322 | char s[PATH_MAX]; |
| 323 | int first; | 323 | int is_target; |
| 324 | 324 | int saw_any_target = 0; | |
| 325 | p = strchr(m, ':'); | 325 | int is_first_dep = 0; |
| 326 | if (!p) { | ||
| 327 | fprintf(stderr, "fixdep: parse error\n"); | ||
| 328 | exit(1); | ||
| 329 | } | ||
| 330 | memcpy(s, m, p-m); s[p-m] = 0; | ||
| 331 | m = p+1; | ||
| 332 | 326 | ||
| 333 | clear_config(); | 327 | clear_config(); |
| 334 | 328 | ||
| 335 | first = 1; | ||
| 336 | while (m < end) { | 329 | while (m < end) { |
| 330 | /* Skip any "white space" */ | ||
| 337 | while (m < end && (*m == ' ' || *m == '\\' || *m == '\n')) | 331 | while (m < end && (*m == ' ' || *m == '\\' || *m == '\n')) |
| 338 | m++; | 332 | m++; |
| 333 | /* Find next "white space" */ | ||
| 339 | p = m; | 334 | p = m; |
| 340 | while (p < end && *p != ' ') p++; | 335 | while (p < end && *p != ' ' && *p != '\\' && *p != '\n') |
| 341 | if (p == end) { | ||
| 342 | do p--; while (!isalnum(*p)); | ||
| 343 | p++; | 336 | p++; |
| 337 | /* Is the token we found a target name? */ | ||
| 338 | is_target = (*(p-1) == ':'); | ||
| 339 | /* Don't write any target names into the dependency file */ | ||
| 340 | if (is_target) { | ||
| 341 | /* The /next/ file is the first dependency */ | ||
| 342 | is_first_dep = 1; | ||
| 343 | } else { | ||
| 344 | /* Save this token/filename */ | ||
| 345 | memcpy(s, m, p-m); | ||
| 346 | s[p - m] = 0; | ||
| 347 | |||
| 348 | /* Ignore certain dependencies */ | ||
| 349 | if (strrcmp(s, "include/generated/autoconf.h") && | ||
| 350 | strrcmp(s, "arch/um/include/uml-config.h") && | ||
| 351 | strrcmp(s, "include/linux/kconfig.h") && | ||
| 352 | strrcmp(s, ".ver")) { | ||
| 353 | /* | ||
| 354 | * Do not list the source file as dependency, | ||
| 355 | * so that kbuild is not confused if a .c file | ||
| 356 | * is rewritten into .S or vice versa. Storing | ||
| 357 | * it in source_* is needed for modpost to | ||
| 358 | * compute srcversions. | ||
| 359 | */ | ||
| 360 | if (is_first_dep) { | ||
| 361 | /* | ||
| 362 | * If processing the concatenation of | ||
| 363 | * multiple dependency files, only | ||
| 364 | * process the first target name, which | ||
| 365 | * will be the original source name, | ||
| 366 | * and ignore any other target names, | ||
| 367 | * which will be intermediate temporary | ||
| 368 | * files. | ||
| 369 | */ | ||
| 370 | if (!saw_any_target) { | ||
| 371 | saw_any_target = 1; | ||
| 372 | printf("source_%s := %s\n\n", | ||
| 373 | target, s); | ||
| 374 | printf("deps_%s := \\\n", | ||
| 375 | target); | ||
| 376 | } | ||
| 377 | is_first_dep = 0; | ||
| 378 | } else | ||
| 379 | printf(" %s \\\n", s); | ||
| 380 | do_config_file(s); | ||
| 381 | } | ||
| 344 | } | 382 | } |
| 345 | memcpy(s, m, p-m); s[p-m] = 0; | 383 | /* |
| 346 | if (strrcmp(s, "include/generated/autoconf.h") && | 384 | * Start searching for next token immediately after the first |
| 347 | strrcmp(s, "arch/um/include/uml-config.h") && | 385 | * "whitespace" character that follows this token. |
| 348 | strrcmp(s, "include/linux/kconfig.h") && | 386 | */ |
| 349 | strrcmp(s, ".ver")) { | ||
| 350 | /* | ||
| 351 | * Do not list the source file as dependency, so that | ||
| 352 | * kbuild is not confused if a .c file is rewritten | ||
| 353 | * into .S or vice versa. Storing it in source_* is | ||
| 354 | * needed for modpost to compute srcversions. | ||
| 355 | */ | ||
| 356 | if (first) { | ||
| 357 | printf("source_%s := %s\n\n", target, s); | ||
| 358 | printf("deps_%s := \\\n", target); | ||
| 359 | } else | ||
| 360 | printf(" %s \\\n", s); | ||
| 361 | do_config_file(s); | ||
| 362 | } | ||
| 363 | first = 0; | ||
| 364 | m = p + 1; | 387 | m = p + 1; |
| 365 | } | 388 | } |
| 389 | |||
| 390 | if (!saw_any_target) { | ||
| 391 | fprintf(stderr, "fixdep: parse error; no targets found\n"); | ||
| 392 | exit(1); | ||
| 393 | } | ||
| 394 | |||
| 366 | printf("\n%s: $(deps_%s)\n\n", target, target); | 395 | printf("\n%s: $(deps_%s)\n\n", target, target); |
| 367 | printf("$(deps_%s):\n", target); | 396 | printf("$(deps_%s):\n", target); |
| 368 | } | 397 | } |
