Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'omap-gpmc-fixes-for-v3.10' of git://github.com/jonhunter/linux into fixes

+54 -68
+14 -14
Documentation/devicetree/bindings/mtd/gpmc-nand.txt
··· 56 56 nand-bus-width = <16>; 57 57 ti,nand-ecc-opt = "bch8"; 58 58 59 - gpmc,sync-clk = <0>; 60 - gpmc,cs-on = <0>; 61 - gpmc,cs-rd-off = <44>; 62 - gpmc,cs-wr-off = <44>; 63 - gpmc,adv-on = <6>; 64 - gpmc,adv-rd-off = <34>; 65 - gpmc,adv-wr-off = <44>; 66 - gpmc,we-off = <40>; 67 - gpmc,oe-off = <54>; 68 - gpmc,access = <64>; 69 - gpmc,rd-cycle = <82>; 70 - gpmc,wr-cycle = <82>; 71 - gpmc,wr-access = <40>; 72 - gpmc,wr-data-mux-bus = <0>; 59 + gpmc,sync-clk-ps = <0>; 60 + gpmc,cs-on-ns = <0>; 61 + gpmc,cs-rd-off-ns = <44>; 62 + gpmc,cs-wr-off-ns = <44>; 63 + gpmc,adv-on-ns = <6>; 64 + gpmc,adv-rd-off-ns = <34>; 65 + gpmc,adv-wr-off-ns = <44>; 66 + gpmc,we-off-ns = <40>; 67 + gpmc,oe-off-ns = <54>; 68 + gpmc,access-ns = <64>; 69 + gpmc,rd-cycle-ns = <82>; 70 + gpmc,wr-cycle-ns = <82>; 71 + gpmc,wr-access-ns = <40>; 72 + gpmc,wr-data-mux-bus-ns = <0>; 73 73 74 74 #address-cells = <1>; 75 75 #size-cells = <1>;
+28 -28
Documentation/devicetree/bindings/net/gpmc-eth.txt
··· 26 26 - bank-width: Address width of the device in bytes. GPMC supports 8-bit 27 27 and 16-bit devices and so must be either 1 or 2 bytes. 28 28 - compatible: Compatible string property for the ethernet child device. 29 - - gpmc,cs-on: Chip-select assertion time 30 - - gpmc,cs-rd-off: Chip-select de-assertion time for reads 31 - - gpmc,cs-wr-off: Chip-select de-assertion time for writes 32 - - gpmc,oe-on: Output-enable assertion time 33 - - gpmc,oe-off Output-enable de-assertion time 34 - - gpmc,we-on: Write-enable assertion time 35 - - gpmc,we-off: Write-enable de-assertion time 36 - - gpmc,access: Start cycle to first data capture (read access) 37 - - gpmc,rd-cycle: Total read cycle time 38 - - gpmc,wr-cycle: Total write cycle time 29 + - gpmc,cs-on-ns: Chip-select assertion time 30 + - gpmc,cs-rd-off-ns: Chip-select de-assertion time for reads 31 + - gpmc,cs-wr-off-ns: Chip-select de-assertion time for writes 32 + - gpmc,oe-on-ns: Output-enable assertion time 33 + - gpmc,oe-off-ns: Output-enable de-assertion time 34 + - gpmc,we-on-ns: Write-enable assertion time 35 + - gpmc,we-off-ns: Write-enable de-assertion time 36 + - gpmc,access-ns: Start cycle to first data capture (read access) 37 + - gpmc,rd-cycle-ns: Total read cycle time 38 + - gpmc,wr-cycle-ns: Total write cycle time 39 39 - reg: Chip-select, base address (relative to chip-select) 40 40 and size of the memory mapped for the device. 41 41 Note that base address will be typically 0 as this ··· 65 65 bank-width = <2>; 66 66 67 67 gpmc,mux-add-data; 68 - gpmc,cs-on = <0>; 69 - gpmc,cs-rd-off = <186>; 70 - gpmc,cs-wr-off = <186>; 71 - gpmc,adv-on = <12>; 72 - gpmc,adv-rd-off = <48>; 73 - gpmc,adv-wr-off = <48>; 74 - gpmc,oe-on = <54>; 75 - gpmc,oe-off = <168>; 76 - gpmc,we-on = <54>; 77 - gpmc,we-off = <168>; 78 - gpmc,rd-cycle = <186>; 79 - gpmc,wr-cycle = <186>; 80 - gpmc,access = <114>; 81 - gpmc,page-burst-access = <6>; 82 - gpmc,bus-turnaround = <12>; 83 - gpmc,cycle2cycle-delay = <18>; 84 - gpmc,wr-data-mux-bus = <90>; 85 - gpmc,wr-access = <186>; 68 + gpmc,cs-on-ns = <0>; 69 + gpmc,cs-rd-off-ns = <186>; 70 + gpmc,cs-wr-off-ns = <186>; 71 + gpmc,adv-on-ns = <12>; 72 + gpmc,adv-rd-off-ns = <48>; 73 + gpmc,adv-wr-off-ns = <48>; 74 + gpmc,oe-on-ns = <54>; 75 + gpmc,oe-off-ns = <168>; 76 + gpmc,we-on-ns = <54>; 77 + gpmc,we-off-ns = <168>; 78 + gpmc,rd-cycle-ns = <186>; 79 + gpmc,wr-cycle-ns = <186>; 80 + gpmc,access-ns = <114>; 81 + gpmc,page-burst-access-ns = <6>; 82 + gpmc,bus-turnaround-ns = <12>; 83 + gpmc,cycle2cycle-delay-ns = <18>; 84 + gpmc,wr-data-mux-bus-ns = <90>; 85 + gpmc,wr-access-ns = <186>; 86 86 gpmc,cycle2cycle-samecsen; 87 87 gpmc,cycle2cycle-diffcsen; 88 88
+12 -26
arch/arm/mach-omap2/gpmc.c
··· 1520 1520 return ret; 1521 1521 } 1522 1522 1523 - for_each_node_by_name(child, "nand") { 1524 - ret = gpmc_probe_nand_child(pdev, child); 1525 - if (ret < 0) { 1526 - of_node_put(child); 1527 - return ret; 1528 - } 1529 - } 1523 + for_each_child_of_node(pdev->dev.of_node, child) { 1530 1524 1531 - for_each_node_by_name(child, "onenand") { 1532 - ret = gpmc_probe_onenand_child(pdev, child); 1533 - if (ret < 0) { 1534 - of_node_put(child); 1535 - return ret; 1536 - } 1537 - } 1525 + if (!child->name) 1526 + continue; 1538 1527 1539 - for_each_node_by_name(child, "nor") { 1540 - ret = gpmc_probe_generic_child(pdev, child); 1541 - if (ret < 0) { 1542 - of_node_put(child); 1543 - return ret; 1544 - } 1545 - } 1528 + if (of_node_cmp(child->name, "nand") == 0) 1529 + ret = gpmc_probe_nand_child(pdev, child); 1530 + else if (of_node_cmp(child->name, "onenand") == 0) 1531 + ret = gpmc_probe_onenand_child(pdev, child); 1532 + else if (of_node_cmp(child->name, "ethernet") == 0 || 1533 + of_node_cmp(child->name, "nor") == 0) 1534 + ret = gpmc_probe_generic_child(pdev, child); 1546 1535 1547 - for_each_node_by_name(child, "ethernet") { 1548 - ret = gpmc_probe_generic_child(pdev, child); 1549 - if (ret < 0) { 1536 + if (WARN(ret < 0, "%s: probing gpmc child %s failed\n", 1537 + __func__, child->full_name)) 1550 1538 of_node_put(child); 1551 - return ret; 1552 - } 1553 1539 } 1554 1540 1555 1541 return 0;