* [PATCH 0/4] Series short description
@ 2006-11-23 23:16 Yann Dirson
2006-11-24 15:37 ` Catalin Marinas
0 siblings, 1 reply; 27+ messages in thread
From: Yann Dirson @ 2006-11-23 23:16 UTC (permalink / raw)
To: Catalin Marinas; +Cc: GIT list
The following adds a --patch flag to "stg refresh". I mainly needed it to
edit the log message in patches down the stack, but with some work it could
be used to record changes in another file and come back.
That would require to pop patches with --keep, and if we ask to only record
a subset of the changes, we would need to implement "push --keep" first.
This patch is not perfect, since it reverses a list twice, but I did not
find an elegant way to make it better. Python gurus, feel free to improve
this :)
While I was at it, I noticed that "stg goto" need not revert the applied list
if we're going to an unapplied patch (sorta compensate my extraneous revert above ;),
and I noticed a DWIM behaviour on the (should-be)-erroneous "refresh --ack --sign".
--
Yann Dirson <ydirson@altern.org> |
Debian-related: <dirson@debian.org> | Support Debian GNU/Linux:
| Freedom, Power, Stability, Gratis
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/4] Series short description
2006-11-23 23:16 Yann Dirson
@ 2006-11-24 15:37 ` Catalin Marinas
0 siblings, 0 replies; 27+ messages in thread
From: Catalin Marinas @ 2006-11-24 15:37 UTC (permalink / raw)
To: Yann Dirson; +Cc: GIT list
On 23/11/06, Yann Dirson <ydirson@altern.org> wrote:
> The following adds a --patch flag to "stg refresh". I mainly needed it to
> edit the log message in patches down the stack, but with some work it could
> be used to record changes in another file and come back.
>
> That would require to pop patches with --keep,
pop_patches(keep=True) allows this (I already added it to your patch).
This option actually applies the reverse of the patch between the
current index and the bottom of the last patch to be popped. If it
fails, it doesn't affect the current tree and reports an error.
> and if we ask to only record
> a subset of the changes, we would need to implement "push --keep" first.
The "push --keep" is a bit more complicated to implement since it
would usually have to generate commits (pop doesn't need to) since
usually the base of the pushed patches might have changed (especially
with the refresh --patch). It is even more complicated if the changes
you want to preserve affect a file modified by the pushed patches.
A solution I see is to generate a temporary diff, push the patches you
want and fold this temporary diff (the diff can be temporarily written
to a local file so that you don't lose them in case of an error or
Ctrl-C). If the push fails (conflicts) or the diff no longer applies,
just undo the push and re-apply the diff. There is no way to simply
check whether all the patches apply (git-apply --check) since you
can't generate a single diff for all the pushed patches (which might
not be in the committed order).
--
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2007-07-19 18:34 grant.likely
0 siblings, 0 replies; 27+ messages in thread
From: grant.likely @ 2007-07-19 18:34 UTC (permalink / raw)
To: linuxppc-dev
The following series makes the mpc8349emitx* cuImage work 'out of the box'
Major changes are adding the linux,network-index property to the Ethernet
nodes and adding a default linux,stdout-path to the .dts files. With
these changes, a cuImage created by 'make mpc834x_itx_defconfig; make zImage'
should boot without changes.
Cheers,
g.
--
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2008-10-20 22:25 ` Eric Paris
0 siblings, 0 replies; 27+ messages in thread
From: Eric Paris @ 2008-10-20 22:25 UTC (permalink / raw)
To: linux-kernel, linux-audit; +Cc: viro, morgan
The following series implements...
---
Eric Paris (4):
AUDIT: emit new record type showing all capset information
AUDIT: audit when fcaps increase the permitted or inheritable capabilities
AUDIT: output permitted and inheritable fcaps in PATH records
CAPABILITIES: add cpu endian vfs caps structure
include/linux/audit.h | 22 +++++
include/linux/capability.h | 12 +++
kernel/auditsc.c | 201 +++++++++++++++++++++++++++++++++++++++++++-
kernel/capability.c | 3 +
security/commoncap.c | 131 ++++++++++++++++-------------
5 files changed, 308 insertions(+), 61 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2008-10-20 22:25 ` Eric Paris
0 siblings, 0 replies; 27+ messages in thread
From: Eric Paris @ 2008-10-20 22:25 UTC (permalink / raw)
To: linux-kernel, linux-audit; +Cc: viro, sgrubb, serue, morgan
The following series implements...
---
Eric Paris (4):
AUDIT: emit new record type showing all capset information
AUDIT: audit when fcaps increase the permitted or inheritable capabilities
AUDIT: output permitted and inheritable fcaps in PATH records
CAPABILITIES: add cpu endian vfs caps structure
include/linux/audit.h | 22 +++++
include/linux/capability.h | 12 +++
kernel/auditsc.c | 201 +++++++++++++++++++++++++++++++++++++++++++-
kernel/capability.c | 3 +
security/commoncap.c | 131 ++++++++++++++++-------------
5 files changed, 308 insertions(+), 61 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2009-05-06 16:08 Alan Cox
2009-05-11 17:21 ` Jeff Garzik
0 siblings, 1 reply; 27+ messages in thread
From: Alan Cox @ 2009-05-06 16:08 UTC (permalink / raw)
To: linux-ide, jeff
A quick batch of PIIX updates
---
Alan Cox (4):
ata_piix: Remove stale comment
ata_piix: Turn on hotplugging support for older chips
ata_piix: The Sony TZ90 needs the cable type hardcoding
ata_piix: ICH7 does not support correct MWDMA timings
drivers/ata/ata_piix.c | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/4] Series short description
2009-05-06 16:08 Alan Cox
@ 2009-05-11 17:21 ` Jeff Garzik
2009-05-11 17:25 ` Alan Cox
0 siblings, 1 reply; 27+ messages in thread
From: Jeff Garzik @ 2009-05-11 17:21 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-ide
Alan Cox wrote:
> A quick batch of PIIX updates
> ---
>
> Alan Cox (4):
> ata_piix: Remove stale comment
> ata_piix: Turn on hotplugging support for older chips
> ata_piix: The Sony TZ90 needs the cable type hardcoding
> ata_piix: ICH7 does not support correct MWDMA timings
I guess 1 & 2 are #upstream-fixes material, and 3 & 4 are #upstream ?
Jeff
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/4] Series short description
2009-05-11 17:21 ` Jeff Garzik
@ 2009-05-11 17:25 ` Alan Cox
2009-05-11 17:33 ` Jeff Garzik
0 siblings, 1 reply; 27+ messages in thread
From: Alan Cox @ 2009-05-11 17:25 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-ide
On Mon, 11 May 2009 13:21:43 -0400
Jeff Garzik <jeff@garzik.org> wrote:
> Alan Cox wrote:
> > A quick batch of PIIX updates
> > ---
> >
> > Alan Cox (4):
> > ata_piix: Remove stale comment
> > ata_piix: Turn on hotplugging support for older chips
> > ata_piix: The Sony TZ90 needs the cable type hardcoding
> > ata_piix: ICH7 does not support correct MWDMA timings
>
> I guess 1 & 2 are #upstream-fixes material, and 3 & 4 are #upstream ?
I'd say they are all fixes. In terms of urgency #4 hasn't been reported
by anyone it was found when checking errata, #3 is a real problem
encountered by users #2 affects only fairly obscure hardware and isn't a
regression, #1 is a comment.
I've also now confirmed with the Intel hardware folks that there isn't
any reason we can't turn on parallel probing in ata_piix.
Alan
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/4] Series short description
2009-05-11 17:25 ` Alan Cox
@ 2009-05-11 17:33 ` Jeff Garzik
2009-05-11 17:58 ` Alan Cox
0 siblings, 1 reply; 27+ messages in thread
From: Jeff Garzik @ 2009-05-11 17:33 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-ide
Alan Cox wrote:
> On Mon, 11 May 2009 13:21:43 -0400
> Jeff Garzik <jeff@garzik.org> wrote:
>
>> Alan Cox wrote:
>>> A quick batch of PIIX updates
>>> ---
>>>
>>> Alan Cox (4):
>>> ata_piix: Remove stale comment
>>> ata_piix: Turn on hotplugging support for older chips
>>> ata_piix: The Sony TZ90 needs the cable type hardcoding
>>> ata_piix: ICH7 does not support correct MWDMA timings
>> I guess 1 & 2 are #upstream-fixes material, and 3 & 4 are #upstream ?
>
> I'd say they are all fixes. In terms of urgency #4 hasn't been reported
> by anyone it was found when checking errata, #3 is a real problem
> encountered by users #2 affects only fairly obscure hardware and isn't a
> regression, #1 is a comment.
I was referring to the patch numbering provided by you, in your
submission, which is the reverse of the order listed above:
patch #1: ICH7 MWDMA timings
patch #2: TZ90
patch #3: turn on hotplugging
patch #4: fix comment
patch #3 is a behavior change IMO very late in -rc cycle, and patch #4
is not urgent.
Jeff
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/4] Series short description
2009-05-11 17:33 ` Jeff Garzik
@ 2009-05-11 17:58 ` Alan Cox
0 siblings, 0 replies; 27+ messages in thread
From: Alan Cox @ 2009-05-11 17:58 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-ide
> I was referring to the patch numbering provided by you, in your
> submission, which is the reverse of the order listed above:
>
> patch #1: ICH7 MWDMA timings
> patch #2: TZ90
> patch #3: turn on hotplugging
> patch #4: fix comment
>
> patch #3 is a behavior change IMO very late in -rc cycle, and patch #4
> is not urgent.
Agreed - sorry I'd forgotten that stgit is quite creative with its
ordering.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2009-11-17 14:44 Alan Cox
0 siblings, 0 replies; 27+ messages in thread
From: Alan Cox @ 2009-11-17 14:44 UTC (permalink / raw)
To: linux-kernel, linux-ide
The following series implements...
---
Alan Cox (4):
pata: Update experimental tags
cmd64x: implement serialization as per notes
pata_sis: Implement MWDMA for the UDMA 133 capable chips
pata_via: Blacklist some combinations of Transcend Flash and via
drivers/ata/Kconfig | 8 +--
drivers/ata/pata_cmd64x.c | 132 ++++++++++++++++++++++++++++++++++++++++++---
drivers/ata/pata_sis.c | 88 +++++++++++++++++++++++-------
drivers/ata/pata_via.c | 27 +++++++++
4 files changed, 222 insertions(+), 33 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2010-06-17 7:58 Benjamin Zores
0 siblings, 0 replies; 27+ messages in thread
From: Benjamin Zores @ 2010-06-17 7:58 UTC (permalink / raw)
To: linux-arm-kernel
The following series implements support for Marvell 88F6282 SoC.
It should take into account all previously made comments.
---
Benjamin Zores (4):
arch/arm/mach-kirkwood: update MPP definition.
arch/arm/mach-kirkwood: add support for 88F6282-A0 revision
arch/arm/mach-kirkwood: add support for 2nd PCIe port on 88f6282.
arch/arm/mach-kirkwood: add support for 2nd TWSI controller on 88f6282.
arch/arm/mach-kirkwood/addr-map.c | 21 +
arch/arm/mach-kirkwood/common.c | 90 +++
arch/arm/mach-kirkwood/common.h | 10
arch/arm/mach-kirkwood/db88f6281-bp-setup.c | 2
arch/arm/mach-kirkwood/include/mach/bridge-regs.h | 3
arch/arm/mach-kirkwood/include/mach/irqs.h | 4
arch/arm/mach-kirkwood/include/mach/kirkwood.h | 43 +-
arch/arm/mach-kirkwood/mpp.c | 2
arch/arm/mach-kirkwood/mpp.h | 595 +++++++++++----------
arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c | 2
arch/arm/mach-kirkwood/netspace_v2-setup.c | 6
arch/arm/mach-kirkwood/netxbig_v2-setup.c | 34 +
arch/arm/mach-kirkwood/openrd-setup.c | 4
arch/arm/mach-kirkwood/pcie.c | 204 +++++--
arch/arm/mach-kirkwood/rd88f6192-nas-setup.c | 2
arch/arm/mach-kirkwood/rd88f6281-setup.c | 2
arch/arm/mach-kirkwood/ts219-setup.c | 8
arch/arm/mach-kirkwood/ts41x-setup.c | 32 +
18 files changed, 663 insertions(+), 401 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2010-10-20 21:44 John Bonesio
0 siblings, 0 replies; 27+ messages in thread
From: John Bonesio @ 2010-10-20 21:44 UTC (permalink / raw)
To: Grant Likely, David Gibson; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
The following series implements...
1) new patch to update error messaging
2) new patch to remove existing nodes
3) patch to reference nodes by path or label/path at the root level
I chose the following syntax:
&{/path/to/a/node} [existing syntax, now is allowed at the root level]
&label [existing syntax]
&{label} [new syntax]
&{label/path/to/subnode} [new syntax]
4) patch to undefine properties
- John
---
John Bonesio (4):
Create new and use new print_error that uses printf style formatting.
Implements new features for updating existing device tree nodes.
Allow nodes at the root to be specified by path as well as by label.
Create a new property value that means 'undefined'.
dtc-lexer.l | 34 ++++++++++++++++++++++++--
dtc-parser.y | 47 +++++++++++++++++++++++++++---------
dtc.h | 8 ++++++
flattree.c | 3 ++
livetree.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
srcpos.c | 21 ++++++++++------
srcpos.h | 2 ++
7 files changed, 163 insertions(+), 28 deletions(-)
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2010-11-02 22:54 John Bonesio
2010-11-02 22:55 ` [PATCH 1/4] Allow nodes to be refrenced by path at the top level John Bonesio
` (3 more replies)
0 siblings, 4 replies; 27+ messages in thread
From: John Bonesio @ 2010-11-02 22:54 UTC (permalink / raw)
To: glikely-s3s/WqlpOiPyB63q8FvJNQ,
david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
The following series implements various changes for merging and modifiying
device trees.
The last one is a first stab at making labels from aliases. This way we can
have a consistent syntax for paths from alias and label references:
&{alias/path/from/alias}
&{label/path/from/label}
There might be a better approach to implementing this. Once of the constraints
I ended up following was to provide line information when there is an attempt
to re-use a label from a deleted or modified node. This constraint (or
requirement) might not be viewed as important like I think. Removing this might
make the changes easier to implemnt but may make it harder for dts writers to
discover the source of errors.
This last patch doesn't include a test case, though I have tested basic
functionality.
---
John Bonesio (4):
Allow nodes to be refrenced by path at the top level.
Implements a new feature for deleting existing device tree nodes.
Implements a new feature for deleting existing properties in device tree nodes.
Allow nodes at the root to be specified by path as well as by label.
Makefile.dtc | 1
checks.c | 20 +++++++
dtc-lexer.l | 38 ++++++++++++-
dtc-parser.y | 86 +++++++++++++++++++++++++++-
dtc.h | 10 +++
flattree.c | 3 +
livetree.c | 118 +++++++++++++++++++++++++++++++++++++--
tests/dtc-checkfails.sh | 2 -
tests/run_tests.sh | 6 ++
tests/test_tree1_merge_path.dts | 41 ++++++++++++++
util.h | 10 +++
11 files changed, 324 insertions(+), 11 deletions(-)
create mode 100644 tests/test_tree1_merge_path.dts
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 1/4] Allow nodes to be refrenced by path at the top level.
2010-11-02 22:54 [PATCH 0/4] Series short description John Bonesio
@ 2010-11-02 22:55 ` John Bonesio
2010-11-04 0:15 ` David Gibson
2010-11-02 22:55 ` [PATCH 2/4] Implements a new feature for deleting existing device tree nodes John Bonesio
` (2 subsequent siblings)
3 siblings, 1 reply; 27+ messages in thread
From: John Bonesio @ 2010-11-02 22:55 UTC (permalink / raw)
To: glikely-s3s/WqlpOiPyB63q8FvJNQ,
david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
When nodes are modified by merging device trees, nodes to be updated/merged can
be specified by a label. Specifying nodes by full path (instead of label)
doesn't quite work. This patch fixes that.
Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
---
dtc-lexer.l | 2 +-
dtc-parser.y | 5 ++---
tests/run_tests.sh | 2 ++
tests/test_tree1_merge_path.dts | 41 +++++++++++++++++++++++++++++++++++++++
4 files changed, 46 insertions(+), 4 deletions(-)
create mode 100644 tests/test_tree1_merge_path.dts
diff --git a/dtc-lexer.l b/dtc-lexer.l
index 081e13a..e866ea5 100644
--- a/dtc-lexer.l
+++ b/dtc-lexer.l
@@ -115,7 +115,7 @@ static int pop_input_file(void);
return DT_REF;
}
-"&{/"{PATHCHAR}+\} { /* new-style path reference */
+<*>"&{/"{PATHCHAR}+\} { /* new-style path reference */
yytext[yyleng-1] = '\0';
DPRINT("Ref: %s\n", yytext+2);
yylval.labelref = xstrdup(yytext+2);
diff --git a/dtc-parser.y b/dtc-parser.y
index b58ba8e..5e84a67 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -131,13 +131,12 @@ devicetree:
}
| devicetree DT_REF nodedef
{
- struct node *target;
+ struct node *target = get_node_by_ref($1, $2);
- target = get_node_by_label($1, $2);
if (target)
merge_nodes(target, $3);
else
- print_error("label, '%s' not found", $2);
+ print_error("label or path, '%s', not found", $2);
$$ = $1;
}
;
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 77ce80d..a887254 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -305,6 +305,8 @@ dtc_tests () {
run_dtc_test -I dts -O dtb -o multilabel_merge.test.dtb multilabel_merge.dts
run_test references multilabel.test.dtb
run_test dtbs_equal_ordered multilabel.test.dtb multilabel_merge.test.dtb
+ run_dtc_test -I dts -O dtb -o dtc_tree1_merge_path.test.dtb test_tree1_merge_path.dts
+ tree1_tests dtc_tree1_merge_path.test.dtb test_tree1.dtb
# Check some checks
check_tests dup-nodename.dts duplicate_node_names
diff --git a/tests/test_tree1_merge_path.dts b/tests/test_tree1_merge_path.dts
new file mode 100644
index 0000000..d68713b
--- /dev/null
+++ b/tests/test_tree1_merge_path.dts
@@ -0,0 +1,41 @@
+/dts-v1/;
+
+/memreserve/ 0xdeadbeef00000000 0x100000;
+/memreserve/ 123456789 010000;
+
+/ {
+ compatible = "test_tree1";
+ prop-int = <0xdeadbeef>;
+ prop-str = "hello world";
+
+ subnode@1 {
+ compatible = "subnode1";
+ prop-int = [deadbeef];
+
+ subsubnode {
+ compatible = "subsubnode1", "subsubnode";
+ prop-int = <0xdeadbeef>;
+ };
+
+ ss1 {
+ };
+ };
+
+ subnode@2 {
+ linux,phandle = <0x2000>;
+ prop-int = <123456789>;
+
+ ssn0: subsubnode@0 {
+ phandle = <0x2001>;
+ prop-int = <0xbad>;
+ };
+
+ ss2 {
+ };
+ };
+};
+
+&{/subnode@2/subsubnode@0} {
+ compatible = "subsubnode2", "subsubnode";
+ prop-int = <0726746425>;
+};
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/4] Implements a new feature for deleting existing device tree nodes.
2010-11-02 22:54 [PATCH 0/4] Series short description John Bonesio
2010-11-02 22:55 ` [PATCH 1/4] Allow nodes to be refrenced by path at the top level John Bonesio
@ 2010-11-02 22:55 ` John Bonesio
2010-11-02 22:55 ` [PATCH 3/4] Implements a new feature for deleting existing properties in " John Bonesio
2010-11-02 22:55 ` [PATCH 4/4] Allow nodes at the root to be specified by path as well as by label John Bonesio
3 siblings, 0 replies; 27+ messages in thread
From: John Bonesio @ 2010-11-02 22:55 UTC (permalink / raw)
To: glikely-s3s/WqlpOiPyB63q8FvJNQ,
david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
This is interesting when the /include/ "<filename>" feature is used. This way
we can create base device tree source files for a family of systems and modify
the device tree for a specific system.
The current sytem allows an existing node to be extended with new properties
and subnodes.
The new features allow an existing node to be replaced completely by the new
properties and subnodes. The new features also allow an existing node to be
deleted.
Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
---
Makefile.dtc | 1 +
checks.c | 20 ++++++++++++++++++++
dtc-lexer.l | 6 ++++++
dtc-parser.y | 15 +++++++++++++++
dtc.h | 5 +++++
livetree.c | 39 +++++++++++++++++++++++++++++++++++++++
tests/run_tests.sh | 2 ++
util.h | 10 ++++++++++
8 files changed, 98 insertions(+), 0 deletions(-)
diff --git a/Makefile.dtc b/Makefile.dtc
index bece49b..0fe3186 100644
--- a/Makefile.dtc
+++ b/Makefile.dtc
@@ -12,6 +12,7 @@ DTC_SRCS = \
livetree.c \
srcpos.c \
treesource.c \
+ strtbl.c \
util.c
DTC_GEN_SRCS = dtc-lexer.lex.c dtc-parser.tab.c
diff --git a/checks.c b/checks.c
index a662a00..56e8817 100644
--- a/checks.c
+++ b/checks.c
@@ -19,6 +19,7 @@
*/
#include "dtc.h"
+#include "srcpos.h"
#ifdef TRACE_CHECKS
#define TRACE(c, ...) \
@@ -292,6 +293,25 @@ static void check_duplicate_label(struct check *c, struct node *dt,
struct node *othernode = NULL;
struct property *otherprop = NULL;
struct marker *othermark = NULL;
+ struct srcpos *pos;
+
+ pos = strtbl_str_data(removed_labels, label);
+
+ if (pos) {
+ /* Then the label did exist, but the node it's in was removed */
+ if (pos->file)
+ FAIL(c, "Duplicate label '%s' on " DESCLABEL_FMT
+ " and removed node defined at line %d in file %s",
+ label, DESCLABEL_ARGS(node, prop, mark),
+ pos->first_line, pos->file->name);
+ else
+ FAIL(c, "Duplicate label '%s' on " DESCLABEL_FMT
+ " and removed node defined at line %d",
+ label, DESCLABEL_ARGS(node, prop, mark),
+ pos->first_line);
+ } else {
+ /* Check to see if the label is already in another node */
+ }
othernode = get_node_by_label(dt, label);
diff --git a/dtc-lexer.l b/dtc-lexer.l
index e866ea5..bcabbfe 100644
--- a/dtc-lexer.l
+++ b/dtc-lexer.l
@@ -96,6 +96,12 @@ static int pop_input_file(void);
return DT_MEMRESERVE;
}
+<*>"/remove-node/" {
+ DPRINT("Keyword: /remove-node/\n");
+ BEGIN_DEFAULT();
+ return DT_REMOVENODE;
+ }
+
<*>{LABEL}: {
DPRINT("Label: %s\n", yytext);
yylval.labelref = xstrdup(yytext);
diff --git a/dtc-parser.y b/dtc-parser.y
index 5e84a67..4814d34 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -33,6 +33,8 @@ extern void yyerror(char const *s);
extern struct boot_info *the_boot_info;
extern int treesource_error;
+strtbl label_table = NULL;
+
static unsigned long long eval_literal(const char *s, int base, int bits);
%}
@@ -55,6 +57,7 @@ static unsigned long long eval_literal(const char *s, int base, int bits);
%token DT_V1
%token DT_MEMRESERVE
+%token DT_REMOVENODE
%token <propnodename> DT_PROPNODENAME
%token <literal> DT_LITERAL
%token <cbase> DT_BASE
@@ -108,6 +111,7 @@ memreserve:
}
| DT_LABEL memreserve
{
+ strtbl_insert(&label_table, $1, srcpos_copy(&yylloc));
add_label(&$2->labels, $1);
$$ = $2;
}
@@ -139,6 +143,15 @@ devicetree:
print_error("label or path, '%s', not found", $2);
$$ = $1;
}
+ | devicetree DT_REMOVENODE DT_REF ';'
+ {
+ struct node *target = get_node_by_ref($1, $3);
+
+ if (target)
+ remove_child(target->parent, target);
+ else
+ print_error("label or path, '%s', not found", $3);
+ }
;
nodedef:
@@ -170,6 +183,7 @@ propdef:
}
| DT_LABEL propdef
{
+ strtbl_insert(&label_table, $1, srcpos_copy(&yylloc));
add_label(&$2->labels, $1);
$$ = $2;
}
@@ -305,6 +319,7 @@ subnode:
}
| DT_LABEL subnode
{
+ strtbl_insert(&label_table, $1, srcpos_copy(&yylloc));
add_label(&$2->labels, $1);
$$ = $2;
}
diff --git a/dtc.h b/dtc.h
index b36ac5d..95e3bd1 100644
--- a/dtc.h
+++ b/dtc.h
@@ -35,6 +35,7 @@
#include <fdt.h>
#include "util.h"
+#include "strtbl.h"
#ifdef DEBUG
#define debug(fmt,args...) printf(fmt, ##args)
@@ -178,6 +179,7 @@ struct node *merge_nodes(struct node *old_node, struct node *new_node);
void add_property(struct node *node, struct property *prop);
void add_child(struct node *parent, struct node *child);
+void remove_child(struct node *parent, struct node *child);
const char *get_unitname(struct node *node);
struct property *get_property(struct node *node, const char *propname);
@@ -221,6 +223,9 @@ struct boot_info {
struct boot_info *build_boot_info(struct reserve_info *reservelist,
struct node *tree, uint32_t boot_cpuid_phys);
+extern strtbl label_table;
+extern strtbl removed_labels;
+
/* Checks */
void process_checks(int force, struct boot_info *bi);
diff --git a/livetree.c b/livetree.c
index 13c5f10..88de3c3 100644
--- a/livetree.c
+++ b/livetree.c
@@ -20,6 +20,8 @@
#include "dtc.h"
+strtbl removed_labels = NULL;
+
/*
* Tree building functions
*/
@@ -202,6 +204,43 @@ void add_child(struct node *parent, struct node *child)
*p = child;
}
+void remove_child(struct node *parent, struct node *child)
+{
+ struct node **p;
+ struct property *prop;
+ struct label *l;
+ void *data;
+
+ /* Make sure we've got a consistent tree here */
+ assert(child->parent == parent);
+
+ /* Keep track of removed node labels, maintaining the original
+ * data associated with the label collected by the parser */
+ for_each_label(child->labels, l) {
+ data = strtbl_str_data(label_table, l->label);
+ strtbl_insert(&removed_labels, l->label, data);
+ }
+
+ /* Keep track of removed property labels, maintaining the original
+ * data associated with the label collected by the parser */
+ for_each_property(child, prop) {
+ for_each_label(prop->labels, l) {
+ data = strtbl_str_data(label_table, l->label);
+ strtbl_insert(&removed_labels, l->label, data);
+ }
+ }
+
+ p = &parent->children;
+ while (*p) {
+ if (*p == child) {
+ *p = (*p)->next_sibling;
+ break;
+ }
+ p = &((*p)->next_sibling);
+ }
+ child->parent = NULL;
+}
+
struct reserve_info *build_reserve_entry(uint64_t address, uint64_t size)
{
struct reserve_info *new = xmalloc(sizeof(*new));
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index a887254..495e759 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -307,6 +307,8 @@ dtc_tests () {
run_test dtbs_equal_ordered multilabel.test.dtb multilabel_merge.test.dtb
run_dtc_test -I dts -O dtb -o dtc_tree1_merge_path.test.dtb test_tree1_merge_path.dts
tree1_tests dtc_tree1_merge_path.test.dtb test_tree1.dtb
+ run_dtc_test -I dts -O dtb -o dtc_tree1_merge_remove.test.dtb test_tree1_merge_remove.dts
+ tree1_tests dtc_tree1_merge_remove.test.dtb test_tree1.dtb
# Check some checks
check_tests dup-nodename.dts duplicate_node_names
diff --git a/util.h b/util.h
index 9cead84..b544cbc 100644
--- a/util.h
+++ b/util.h
@@ -40,6 +40,16 @@ static inline void *xmalloc(size_t len)
return new;
}
+static inline void *xcalloc(size_t nmemb, size_t len) {
+ void *new = calloc(nmemb, len);
+
+ if (!new)
+ die("calloc() failed\n");
+
+ return new;
+}
+
+
static inline void *xrealloc(void *p, size_t len)
{
void *new = realloc(p, len);
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 3/4] Implements a new feature for deleting existing properties in device tree nodes.
2010-11-02 22:54 [PATCH 0/4] Series short description John Bonesio
2010-11-02 22:55 ` [PATCH 1/4] Allow nodes to be refrenced by path at the top level John Bonesio
2010-11-02 22:55 ` [PATCH 2/4] Implements a new feature for deleting existing device tree nodes John Bonesio
@ 2010-11-02 22:55 ` John Bonesio
2010-11-02 22:55 ` [PATCH 4/4] Allow nodes at the root to be specified by path as well as by label John Bonesio
3 siblings, 0 replies; 27+ messages in thread
From: John Bonesio @ 2010-11-02 22:55 UTC (permalink / raw)
To: glikely-s3s/WqlpOiPyB63q8FvJNQ,
david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
When updating existing nodes in a device tree merge operation, properties
can be removed by using
/remove-prop/ <property>;
If a property has been removed, it is treated the same as if it had not been
declared.
Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
---
dtc-lexer.l | 6 ++++++
dtc-parser.y | 6 ++++++
dtc.h | 3 +++
flattree.c | 3 +++
livetree.c | 31 ++++++++++++++++++++++++++-----
tests/dtc-checkfails.sh | 2 +-
tests/run_tests.sh | 2 ++
7 files changed, 47 insertions(+), 6 deletions(-)
diff --git a/dtc-lexer.l b/dtc-lexer.l
index bcabbfe..4b07236 100644
--- a/dtc-lexer.l
+++ b/dtc-lexer.l
@@ -102,6 +102,12 @@ static int pop_input_file(void);
return DT_REMOVENODE;
}
+<*>"/remove-prop/" {
+ DPRINT("Keyword: /undef-prop/\n");
+ BEGIN(PROPNODENAME);
+ return DT_REMOVEPROP;
+ }
+
<*>{LABEL}: {
DPRINT("Label: %s\n", yytext);
yylval.labelref = xstrdup(yytext);
diff --git a/dtc-parser.y b/dtc-parser.y
index 4814d34..2a9736a 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -58,6 +58,7 @@ static unsigned long long eval_literal(const char *s, int base, int bits);
%token DT_V1
%token DT_MEMRESERVE
%token DT_REMOVENODE
+%token <propnodename> DT_REMOVEPROP
%token <propnodename> DT_PROPNODENAME
%token <literal> DT_LITERAL
%token <cbase> DT_BASE
@@ -181,6 +182,11 @@ propdef:
{
$$ = build_property($1, empty_data);
}
+ | DT_REMOVEPROP propdef
+ {
+ $2->undefined = 1;
+ $$ = $2;
+ }
| DT_LABEL propdef
{
strtbl_insert(&label_table, $1, srcpos_copy(&yylloc));
diff --git a/dtc.h b/dtc.h
index 95e3bd1..764b3a9 100644
--- a/dtc.h
+++ b/dtc.h
@@ -132,6 +132,8 @@ struct label {
};
struct property {
+ int undefined; /* when this feild is set to 1, the property is to be
+ treated as undefined */
char *name;
struct data val;
@@ -178,6 +180,7 @@ struct node *chain_node(struct node *first, struct node *list);
struct node *merge_nodes(struct node *old_node, struct node *new_node);
void add_property(struct node *node, struct property *prop);
+void remove_property(struct node *node, struct property *prop);
void add_child(struct node *parent, struct node *child);
void remove_child(struct node *parent, struct node *child);
diff --git a/flattree.c b/flattree.c
index ead0332..00439e9 100644
--- a/flattree.c
+++ b/flattree.c
@@ -275,6 +275,9 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
for_each_property(tree, prop) {
int nameoff;
+ if (prop->undefined)
+ continue;
+
if (streq(prop->name, "name"))
seen_name_prop = 1;
diff --git a/livetree.c b/livetree.c
index 88de3c3..f1b235c 100644
--- a/livetree.c
+++ b/livetree.c
@@ -123,11 +123,15 @@ struct node *merge_nodes(struct node *old_node, struct node *new_node)
/* Look for a collision, set new value if there is */
for_each_property(old_node, old_prop) {
if (streq(old_prop->name, new_prop->name)) {
- /* Add new labels to old property */
- for_each_label(new_prop->labels, l)
- add_label(&old_prop->labels, l->label);
-
- old_prop->val = new_prop->val;
+ if (new_prop->undefined) {
+ remove_property(old_node, old_prop);
+ } else {
+ /* Add new labels to old property */
+ for_each_label(new_prop->labels, l)
+ add_label(&old_prop->labels, l->label);
+
+ old_prop->val = new_prop->val;
+ }
free(new_prop);
new_prop = NULL;
break;
@@ -190,6 +194,23 @@ void add_property(struct node *node, struct property *prop)
*p = prop;
}
+void remove_property(struct node *node, struct property *prop)
+{
+ struct property **p;
+
+ p = &node->proplist;
+ while (*p) {
+ if (*p == prop) {
+ *p = (*p)->next;
+ return;
+ }
+ p = &((*p)->next);
+ }
+ /* property not in the node? it's probably an error, so flag it. */
+ assert(0);
+}
+
+
void add_child(struct node *parent, struct node *child)
{
struct node **p;
diff --git a/tests/dtc-checkfails.sh b/tests/dtc-checkfails.sh
index c58694f..a13eb28 100755
--- a/tests/dtc-checkfails.sh
+++ b/tests/dtc-checkfails.sh
@@ -23,7 +23,7 @@ if [ "$ret" -gt 127 ]; then
fi
for c in $CHECKS; do
- if ! grep -E "^(ERROR)|(Warning) \($c\):" $LOG > /dev/null; then
+ if ! grep -E "^(ERROR)|(Error)|(Warning) \($c\):" $LOG > /dev/null; then
FAIL "Failed to trigger check \"$c\""
fi
done
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 495e759..912a19b 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -309,6 +309,8 @@ dtc_tests () {
tree1_tests dtc_tree1_merge_path.test.dtb test_tree1.dtb
run_dtc_test -I dts -O dtb -o dtc_tree1_merge_remove.test.dtb test_tree1_merge_remove.dts
tree1_tests dtc_tree1_merge_remove.test.dtb test_tree1.dtb
+ run_dtc_test -I dts -O dtb -o dtc_tree1_merge_remove_prop.test.dtb test_tree1_merge_remove_prop.dts
+ tree1_tests dtc_tree1_merge_remove_prop.test.dtb test_tree1.dtb
# Check some checks
check_tests dup-nodename.dts duplicate_node_names
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 4/4] Allow nodes at the root to be specified by path as well as by label.
2010-11-02 22:54 [PATCH 0/4] Series short description John Bonesio
` (2 preceding siblings ...)
2010-11-02 22:55 ` [PATCH 3/4] Implements a new feature for deleting existing properties in " John Bonesio
@ 2010-11-02 22:55 ` John Bonesio
3 siblings, 0 replies; 27+ messages in thread
From: John Bonesio @ 2010-11-02 22:55 UTC (permalink / raw)
To: glikely-s3s/WqlpOiPyB63q8FvJNQ,
david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
Changes to allow us to specify a node by it's path. A path can be used in
place of a label.
This is particularly useful when overriding existing nodes.
This way we don't have to label every possible node in a device tree we know
is a base device tree for a class of systems, and we know the tree will be
modified for the specific systems.
Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
---
dtc-lexer.l | 24 +++++++++++++++++++++++
dtc-parser.y | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dtc.h | 2 ++
livetree.c | 48 +++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 133 insertions(+), 1 deletions(-)
diff --git a/dtc-lexer.l b/dtc-lexer.l
index 4b07236..087a51f 100644
--- a/dtc-lexer.l
+++ b/dtc-lexer.l
@@ -127,6 +127,23 @@ static int pop_input_file(void);
return DT_REF;
}
+<*>"&{"{LABEL}{PATHCHAR}*\} { /* label and/or path refererence with braces */
+ /*
+ * Possibly this could be parsed by the parser rather
+ * than as a lexical element.
+ *
+ * What is intended here is to support the following
+ * type of references:
+ * a) &{/path/to/the/node/reference}
+ * b) &{label}
+ * c) &{label/path/from/labeled/node/to/reference}
+ */
+ yytext[yyleng-1] = '\0';
+ DPRINT("Ref: %s\n", yytext+2);
+ yylval.labelref = xstrdup(yytext+2);
+ return DT_REF;
+ }
+
<*>"&{/"{PATHCHAR}+\} { /* new-style path reference */
yytext[yyleng-1] = '\0';
DPRINT("Ref: %s\n", yytext+2);
@@ -146,6 +163,13 @@ static int pop_input_file(void);
return ']';
}
+<PROPNODENAME>"aliases" {
+ DPRINT("Aliases: %s\n", yytext);
+ yylval.propnodename = xstrdup(yytext);
+ BEGIN_DEFAULT();
+ return DT_ALIASES;
+ }
+
<PROPNODENAME>{PROPNODECHAR}+ {
DPRINT("PropNodeName: %s\n", yytext);
yylval.propnodename = xstrdup(yytext);
diff --git a/dtc-parser.y b/dtc-parser.y
index 2a9736a..8718f07 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -60,6 +60,7 @@ static unsigned long long eval_literal(const char *s, int base, int bits);
%token DT_REMOVENODE
%token <propnodename> DT_REMOVEPROP
%token <propnodename> DT_PROPNODENAME
+%token <propnodename> DT_ALIASES
%token <literal> DT_LITERAL
%token <cbase> DT_BASE
%token <byte> DT_BYTE
@@ -77,10 +78,13 @@ static unsigned long long eval_literal(const char *s, int base, int bits);
%type <cell> cellval
%type <data> bytestring
%type <prop> propdef
+%type <prop> aliasespropdef
%type <proplist> proplist
+%type <proplist> aliasesproplist
%type <node> devicetree
%type <node> nodedef
+%type <node> aliasesnodedef
%type <node> subnode
%type <nodelist> subnodes
@@ -128,11 +132,33 @@ addr:
devicetree:
'/' nodedef
{
+ /*
+ * We need to wait until the whole tree is parsed so we
+ * can assign aliases as labels on forward reference
+ * nodes.
+ */
+ struct node *aliases_node = get_node_by_ref($2, "/aliases");
+
+ if (aliases_node) {
+ make_aliases_labels($2, aliases_node);
+ }
+
$$ = name_node($2, "");
}
| devicetree '/' nodedef
{
$$ = merge_nodes($1, $3);
+
+ /*
+ * We need to wait until the whole tree is parsed so we
+ * can assign aliases as labels on forward reference
+ * nodes.
+ */
+ struct node *aliases_node = get_node_by_ref($$, "/aliases");
+
+ if (aliases_node) {
+ make_aliases_labels($$, aliases_node);
+ }
}
| devicetree DT_REF nodedef
{
@@ -162,6 +188,13 @@ nodedef:
}
;
+aliasesnodedef:
+ '{' aliasesproplist '}' ';'
+ {
+ $$ = build_node($2, NULL);
+ }
+ ;
+
proplist:
/* empty */
{
@@ -173,6 +206,17 @@ proplist:
}
;
+aliasesproplist:
+ /* empty */
+ {
+ $$ = NULL;
+ }
+ | aliasesproplist aliasespropdef
+ {
+ $$ = chain_property($2, $1);
+ }
+ ;
+
propdef:
DT_PROPNODENAME '=' propdata ';'
{
@@ -195,6 +239,18 @@ propdef:
}
;
+aliasespropdef:
+ DT_PROPNODENAME '=' DT_REF ';'
+ {
+ struct data d = empty_data;
+
+ d = data_add_marker(d, REF_PATH, $3);
+ $$ = build_property($1, d);
+
+ strtbl_insert(&label_table, $1, srcpos_copy(&yylloc));
+ }
+ ;
+
propdata:
propdataprefix DT_STRING
{
@@ -323,6 +379,10 @@ subnode:
{
$$ = name_node($2, $1);
}
+ | DT_ALIASES aliasesnodedef
+ {
+ $$ = name_node($2, "aliases");
+ }
| DT_LABEL subnode
{
strtbl_insert(&label_table, $1, srcpos_copy(&yylloc));
diff --git a/dtc.h b/dtc.h
index 764b3a9..1c3632c 100644
--- a/dtc.h
+++ b/dtc.h
@@ -179,6 +179,8 @@ struct node *name_node(struct node *node, char *name);
struct node *chain_node(struct node *first, struct node *list);
struct node *merge_nodes(struct node *old_node, struct node *new_node);
+void make_aliases_labels(struct node *root, struct node *aliases);
+
void add_property(struct node *node, struct property *prop);
void remove_property(struct node *node, struct property *prop);
void add_child(struct node *parent, struct node *child);
diff --git a/livetree.c b/livetree.c
index f1b235c..357d762 100644
--- a/livetree.c
+++ b/livetree.c
@@ -473,8 +473,54 @@ struct node *get_node_by_ref(struct node *tree, const char *ref)
{
if (ref[0] == '/')
return get_node_by_path(tree, ref);
- else
+ else {
+ /*
+ * Support finding a node reference that is rooted by
+ * a label reference.
+ *
+ * References rooted by a label have a '/' in them.
+ */
+ char *ref_cpy = xstrdup(ref);
+ char *p = strchr(ref_cpy, '/');
+ struct node *node;
+
+ if (p) {
+ *p = '\0';
+ node = get_node_by_label(tree, ref_cpy);
+ *p = '/';
+ node = get_node_by_path(node, p+1);
+
+ free(ref_cpy);
+
+ return node;
+ }
+
return get_node_by_label(tree, ref);
+ }
+}
+
+void make_aliases_labels(struct node *root, struct node *aliases) {
+ struct property *prop;
+
+ for_each_property(aliases, prop) {
+ struct marker *m = prop->val.markers;
+ struct node *refnode;
+
+ for_each_marker_of_type(m, REF_PATH) {
+ refnode = get_node_by_ref(root, m->ref);
+ if (refnode)
+ /*
+ * Right here we might be insertting labels
+ * with illegal characters, but we won't be
+ * able to reference them in the dts file
+ * (sytnax error).
+ *
+ * We could possibly check for this and spit
+ * out a warning.
+ */
+ add_label(&refnode->labels, prop->name);
+ }
+ }
}
cell_t get_node_phandle(struct node *root, struct node *node)
^ permalink raw reply related [flat|nested] 27+ messages in thread
* Re: [PATCH 1/4] Allow nodes to be refrenced by path at the top level.
2010-11-02 22:55 ` [PATCH 1/4] Allow nodes to be refrenced by path at the top level John Bonesio
@ 2010-11-04 0:15 ` David Gibson
2010-11-09 16:33 ` Jon Loeliger
0 siblings, 1 reply; 27+ messages in thread
From: David Gibson @ 2010-11-04 0:15 UTC (permalink / raw)
To: John Bonesio
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
glikely-s3s/WqlpOiPyB63q8FvJNQ
On Tue, Nov 02, 2010 at 03:55:04PM -0700, John Bonesio wrote:
> When nodes are modified by merging device trees, nodes to be updated/merged can
> be specified by a label. Specifying nodes by full path (instead of label)
> doesn't quite work. This patch fixes that.
>
> Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Acked-by: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
If we go where I'm beginning to suspect we want to with deprecating
some existing syntax, this may become moot. However as long as we're
using reference like syntax for the merging, we should accept all the
references that are valid elsewhere.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/4] Allow nodes to be refrenced by path at the top level.
2010-11-04 0:15 ` David Gibson
@ 2010-11-09 16:33 ` Jon Loeliger
[not found] ` <E1PFr8Q-0003CF-52-CYoMK+44s/E@public.gmane.org>
0 siblings, 1 reply; 27+ messages in thread
From: Jon Loeliger @ 2010-11-09 16:33 UTC (permalink / raw)
To: David Gibson
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
glikely-s3s/WqlpOiPyB63q8FvJNQ
> On Tue, Nov 02, 2010 at 03:55:04PM -0700, John Bonesio wrote:
> > When nodes are modified by merging device trees, nodes to be updated/merged
> can
> > be specified by a label. Specifying nodes by full path (instead of label)
> > doesn't quite work. This patch fixes that.
> >
> > Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
>
> Acked-by: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
>
> If we go where I'm beginning to suspect we want to with deprecating
> some existing syntax, this may become moot. However as long as we're
> using reference like syntax for the merging, we should accept all the
> references that are valid elsewhere.
Are we read for just this patch, or the series?
I didn't see any more commentary about the remaining 3 patches.
Thanks,
jdl
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/4] Allow nodes to be refrenced by path at the top level.
[not found] ` <E1PFr8Q-0003CF-52-CYoMK+44s/E@public.gmane.org>
@ 2010-11-09 16:44 ` Grant Likely
[not found] ` <AANLkTim3TopcXUcdJ1kGBwHYTNjL=SdhBaaZgnrWQG-a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 27+ messages in thread
From: Grant Likely @ 2010-11-09 16:44 UTC (permalink / raw)
To: Jon Loeliger; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
On Tue, Nov 9, 2010 at 9:33 AM, Jon Loeliger <jdl-CYoMK+44s/E@public.gmane.org> wrote:
>> On Tue, Nov 02, 2010 at 03:55:04PM -0700, John Bonesio wrote:
>> > When nodes are modified by merging device trees, nodes to be updated/merged
>> can
>> > be specified by a label. Specifying nodes by full path (instead of label)
>> > doesn't quite work. This patch fixes that.
>> >
>> > Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
>>
>> Acked-by: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
>>
>> If we go where I'm beginning to suspect we want to with deprecating
>> some existing syntax, this may become moot. However as long as we're
>> using reference like syntax for the merging, we should accept all the
>> references that are valid elsewhere.
>
> Are we read for just this patch, or the series?
> I didn't see any more commentary about the remaining 3 patches.
Hold off on the remaining three. Also, this patch is based on the
commits currently in my tree which have also been acked:
git://git.secretlab.ca/git/dtc.git master
g.
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/4] Allow nodes to be refrenced by path at the top level.
[not found] ` <AANLkTim3TopcXUcdJ1kGBwHYTNjL=SdhBaaZgnrWQG-a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-11-09 22:42 ` David Gibson
2010-11-13 20:49 ` Jon Loeliger
1 sibling, 0 replies; 27+ messages in thread
From: David Gibson @ 2010-11-09 22:42 UTC (permalink / raw)
To: Grant Likely; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
On Tue, Nov 09, 2010 at 09:44:22AM -0700, Grant Likely wrote:
> On Tue, Nov 9, 2010 at 9:33 AM, Jon Loeliger <jdl-CYoMK+44s/E@public.gmane.org> wrote:
> >> On Tue, Nov 02, 2010 at 03:55:04PM -0700, John Bonesio wrote:
> >> > When nodes are modified by merging device trees, nodes to be updated/merged
> >> can
> >> > be specified by a label. Specifying nodes by full path (instead of label)
> >> > doesn't quite work. This patch fixes that.
> >> >
> >> > Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> >>
> >> Acked-by: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
> >>
> >> If we go where I'm beginning to suspect we want to with deprecating
> >> some existing syntax, this may become moot. However as long as we're
> >> using reference like syntax for the merging, we should accept all the
> >> references that are valid elsewhere.
> >
> > Are we read for just this patch, or the series?
> > I didn't see any more commentary about the remaining 3 patches.
>
> Hold off on the remaining three. Also, this patch is based on the
> commits currently in my tree which have also been acked:
>
> git://git.secretlab.ca/git/dtc.git master
Yeah, what Grant said. I'm happy with patch 1/4, but the others need
more discussion / work.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/4] Allow nodes to be refrenced by path at the top level.
[not found] ` <AANLkTim3TopcXUcdJ1kGBwHYTNjL=SdhBaaZgnrWQG-a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-09 22:42 ` David Gibson
@ 2010-11-13 20:49 ` Jon Loeliger
1 sibling, 0 replies; 27+ messages in thread
From: Jon Loeliger @ 2010-11-13 20:49 UTC (permalink / raw)
To: Grant Likely; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
> On Tue, Nov 9, 2010 at 9:33 AM, Jon Loeliger <jdl-CYoMK+44s/E@public.gmane.org> wrote:
> >> On Tue, Nov 02, 2010 at 03:55:04PM -0700, John Bonesio wrote:
> >> > When nodes are modified by merging device trees, nodes to be updated/m=
> erged
> >> =A0can
> >> > be specified by a label. Specifying nodes by full path (instead of lab=
> el)
> >> > doesn't quite work. This patch fixes that.
> >> >
> >> > Signed-off-by: John Bonesio <bones-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> >>
> >> Acked-by: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
> >>
> >> If we go where I'm beginning to suspect we want to with deprecating
> >> some existing syntax, this may become moot. =A0However as long as we're
> >> using reference like syntax for the merging, we should accept all the
> >> references that are valid elsewhere.
> >
> > Are we read for just this patch, or the series?
> > I didn't see any more commentary about the remaining 3 patches.
>
> Hold off on the remaining three. Also, this patch is based on the
> commits currently in my tree which have also been acked:
>
> git://git.secretlab.ca/git/dtc.git master
>
> g.
Patch 1/4 in this series applied and pushed out
along with Patch 1/4 from the previous series:
Create new and use new print_error that uses printf style formatting.
Thanks,
jdl
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2010-11-22 0:31 Alexey Zaytsev
0 siblings, 0 replies; 27+ messages in thread
From: Alexey Zaytsev @ 2010-11-22 0:31 UTC (permalink / raw)
To: Eric Paris
Cc: Scott Hassan, Jan Kara, agruen, linux-kernel, stefan, Al Viro,
linux-fsdevel, Tvrtko Ursulin
Hi.
So, it's time for the second version of the the fanotify
range patches.
The patch adds modification ranges to fsnotify events. Fanotify
is made to pass the range to the users.
This is useful for backup programs that work on huge files,
so that only a part of a modified file needs to be scanned
for changes.
changed. This is particularly useful for backup utilities that
work on huge files, so that only a part of the modified file
needs to be scanned for changes.
The series is split into 4 patches. The first one breaks the
ABI (but not API), and should get in before the .37 release,
or not at all. The last patch extends the ABI to handle event-
specific data ('options') in a backwards-compatible way.
You can also get the patchies from
git://git.zaytsev.su/git/linux-2.6.git branch fsnotify
A modified fanotify-example is available from
git://git.zaytsev.su/git/fanotify-example.git branch range
Changes since the first RFC:
1) Reworked the user interface, see the last patch.
2) Handle event merges properly.
3) Pass the range to fsnotify_parent().
3) Various small cleanups and fixes.
---
Alexey Zaytsev (4):
fanotify: Shrink struct fanotify_event_metadata by 32 bits
VFS: Tell fsnotify what part of the file might have changed
fsnotify: Handle the file change ranges
fanotify: Expose the file changes to the user
fs/compat.c | 2 -
fs/nfsd/vfs.c | 2 -
fs/notify/fanotify/fanotify.c | 19 +++++
fs/notify/fanotify/fanotify_user.c | 132 +++++++++++++++++++++++++++++++-----
fs/notify/fsnotify.c | 24 ++++---
fs/notify/inode_mark.c | 2 -
fs/notify/inotify/inotify_user.c | 2 -
fs/notify/notification.c | 18 ++++-
fs/open.c | 4 +
fs/read_write.c | 4 +
include/linux/fanotify.h | 88 +++++++++++++++++++++---
include/linux/fs.h | 14 ++++
include/linux/fsnotify.h | 68 +++++++++++--------
include/linux/fsnotify_backend.h | 31 +++++++-
14 files changed, 330 insertions(+), 80 deletions(-)
--
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2011-08-08 15:37 Bernd Schubert
0 siblings, 0 replies; 27+ messages in thread
From: Bernd Schubert @ 2011-08-08 15:37 UTC (permalink / raw)
To: linux-nfs, linux-ext4; +Cc: hch, yong.fan, linux-fsdevel, tytso, adilger
With the ext3/ext4 directory index implementation hashes are used to specify
offsets for llseek(). For compatibility with NFSv2 and 32-bit user space
on 64-bit systems (kernel space) ext3/ext4 currently only return 32-bit
hashes and therefore the probability of hash collisions for larger directories
is rather high. As recently reported on the NFS mailing list that theoretical
problem also happens on real systems:
http://comments.gmane.org/gmane.linux.nfs/40863
The following series adds two new f_mode flags to tell ext4
to use 32-bit or 64-bit hash values for llseek() calls.
These flags can then used by network file systems, such as NFS, to
request 32-bit or 64-bit offsets (hashes).
Version 2:
- use f_mode instead of O_* flags and also in a separate patch
- introduce EXT4_HTREE_EOF_32BIT and EXT4_HTREE_EOF_64BIT
- fix SEEK_END in ext4_dir_llseek()
- set f_mode flags in NFS code as early as possible and introduce a new
NFSD_MAY_64BIT_COOKIE flag for that
--
Bernd Schubert
Fraunhofer ITWM
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2012-09-01 0:26 ` Tony Lindgren
0 siblings, 0 replies; 27+ messages in thread
From: Tony Lindgren @ 2012-09-01 0:26 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap
Hi all,
Here are the changes needed to make hardware.h local for mach-omap2.
These patches are based on v3.6-rc3 and the following patches:
- Arnd's patch "ARM: omap: move platform_data definitions"
- Igor's series "ARM: OMAP: cleanup plat/board.h file"
- Afzal's series "Prepare for GPMC driver conversion (w.r.t MTD)"
- My series "Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ,
plaform_data/gpio-omap.h"
Regards,
Tony
---
Tony Lindgren (4):
ARM: OMAP: Remove unused old gpio-switch.h
ARM: OMAP: Split plat/hardware.h, introduce local hardware.h and soc.h for omap2+
ARM: OMAP2+ Move SoC specific headers to be local to mach-omap2
ARM: OMAP1: Move SoC specific headers from plat to mach for omap1
arch/arm/mach-omap1/board-htcherald.c | 4
arch/arm/mach-omap1/devices.c | 2
arch/arm/mach-omap1/include/mach/hardware.h | 285 +++++++++++++++++++++++
arch/arm/mach-omap1/include/mach/omap1510.h | 3
arch/arm/mach-omap1/include/mach/omap16xx.h | 3
arch/arm/mach-omap1/include/mach/omap7xx.h | 3
arch/arm/mach-omap2/am33xx.h | 0
arch/arm/mach-omap2/board-2430sdp.c | 2
arch/arm/mach-omap2/board-3430sdp.c | 9 -
arch/arm/mach-omap2/board-4430sdp.c | 9 -
arch/arm/mach-omap2/board-am3517crane.c | 1
arch/arm/mach-omap2/board-am3517evm.c | 1
arch/arm/mach-omap2/board-apollon.c | 3
arch/arm/mach-omap2/board-cm-t35.c | 2
arch/arm/mach-omap2/board-cm-t3517.c | 3
arch/arm/mach-omap2/board-devkit8000.c | 22 +-
arch/arm/mach-omap2/board-flash.c | 6
arch/arm/mach-omap2/board-generic.c | 1
arch/arm/mach-omap2/board-h4.c | 3
arch/arm/mach-omap2/board-igep0020.c | 1
arch/arm/mach-omap2/board-ldp.c | 10 -
arch/arm/mach-omap2/board-n8x0.c | 10 -
arch/arm/mach-omap2/board-omap3beagle.c | 12 -
arch/arm/mach-omap2/board-omap3evm.c | 11 -
arch/arm/mach-omap2/board-omap3logic.c | 16 -
arch/arm/mach-omap2/board-omap3pandora.c | 9 -
arch/arm/mach-omap2/board-omap3stalker.c | 20 +-
arch/arm/mach-omap2/board-omap3touchbook.c | 9 -
arch/arm/mach-omap2/board-omap4panda.c | 7 -
arch/arm/mach-omap2/board-overo.c | 14 -
arch/arm/mach-omap2/board-rm680.c | 1
arch/arm/mach-omap2/board-rx51.c | 5
arch/arm/mach-omap2/board-ti8168evm.c | 2
arch/arm/mach-omap2/board-zoom-debugboard.c | 4
arch/arm/mach-omap2/board-zoom-display.c | 4
arch/arm/mach-omap2/board-zoom-peripherals.c | 1
arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 2
arch/arm/mach-omap2/clkt_dpll.c | 2
arch/arm/mach-omap2/clock.c | 8 -
arch/arm/mach-omap2/clock2420_data.c | 2
arch/arm/mach-omap2/clock2430.c | 2
arch/arm/mach-omap2/clock2430_data.c | 2
arch/arm/mach-omap2/clock2xxx.c | 2
arch/arm/mach-omap2/clock33xx_data.c | 2
arch/arm/mach-omap2/clock3xxx.c | 2
arch/arm/mach-omap2/clock3xxx_data.c | 3
arch/arm/mach-omap2/clock44xx_data.c | 3
arch/arm/mach-omap2/cm2xxx_3xxx.c | 3
arch/arm/mach-omap2/common.c | 2
arch/arm/mach-omap2/common.h | 6
arch/arm/mach-omap2/control.c | 2
arch/arm/mach-omap2/control.h | 2
arch/arm/mach-omap2/devices.c | 1
arch/arm/mach-omap2/dpll3xxx.c | 2
arch/arm/mach-omap2/dpll44xx.c | 2
arch/arm/mach-omap2/emu.c | 2
arch/arm/mach-omap2/gpmc-nand.c | 5
arch/arm/mach-omap2/gpmc-onenand.c | 5
arch/arm/mach-omap2/gpmc-smc91x.c | 3
arch/arm/mach-omap2/gpmc.c | 4
arch/arm/mach-omap2/hardware.h | 6
arch/arm/mach-omap2/hsmmc.c | 2
arch/arm/mach-omap2/i2c.c | 1
arch/arm/mach-omap2/id.c | 2
arch/arm/mach-omap2/include/mach/hardware.h | 2
arch/arm/mach-omap2/io.c | 3
arch/arm/mach-omap2/irq.c | 3
arch/arm/mach-omap2/mailbox.c | 3
arch/arm/mach-omap2/mcbsp.c | 5
arch/arm/mach-omap2/omap-mpuss-lowpower.c | 3
arch/arm/mach-omap2/omap-smp.c | 2
arch/arm/mach-omap2/omap-wakeupgen.c | 2
arch/arm/mach-omap2/omap24xx.h | 2
arch/arm/mach-omap2/omap34xx.h | 2
arch/arm/mach-omap2/omap4-common.c | 2
arch/arm/mach-omap2/omap44xx.h | 1
arch/arm/mach-omap2/omap54xx.h | 0
arch/arm/mach-omap2/omap_hwmod.c | 8 -
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 5
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 5
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 3
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 1
arch/arm/mach-omap2/omap_l3_noc.c | 3
arch/arm/mach-omap2/omap_phy_internal.c | 3
arch/arm/mach-omap2/opp2420_data.c | 2
arch/arm/mach-omap2/opp2430_data.c | 2
arch/arm/mach-omap2/opp3xxx_data.c | 2
arch/arm/mach-omap2/opp4xxx_data.c | 3
arch/arm/mach-omap2/powerdomain.c | 6
arch/arm/mach-omap2/powerdomains3xxx_data.c | 4
arch/arm/mach-omap2/prm2xxx_3xxx.c | 4
arch/arm/mach-omap2/prm44xx.c | 4
arch/arm/mach-omap2/sdrc2xxx.c | 2
arch/arm/mach-omap2/sleep24xx.S | 3
arch/arm/mach-omap2/sleep34xx.S | 2
arch/arm/mach-omap2/sleep44xx.S | 2
arch/arm/mach-omap2/soc.h | 1
arch/arm/mach-omap2/sram242x.S | 3
arch/arm/mach-omap2/sram243x.S | 3
arch/arm/mach-omap2/sram34xx.S | 3
arch/arm/mach-omap2/ti81xx.h | 0
arch/arm/mach-omap2/timer.c | 3
arch/arm/mach-omap2/twl-common.c | 2
arch/arm/mach-omap2/usb-host.c | 1
arch/arm/mach-omap2/usb-musb.c | 6
arch/arm/mach-omap2/vc.c | 3
arch/arm/mach-omap2/voltagedomains3xxx_data.c | 3
arch/arm/plat-omap/Makefile | 3
arch/arm/plat-omap/counter_32k.c | 2
arch/arm/plat-omap/devices.c | 91 -------
arch/arm/plat-omap/dma.c | 3
arch/arm/plat-omap/include/plat/gpio-switch.h | 54 ----
arch/arm/plat-omap/include/plat/hardware.h | 293 ------------------------
arch/arm/plat-omap/include/plat/omap4-keypad.h | 2
drivers/spi/spi-omap-uwire.c | 3
drivers/watchdog/omap_wdt.c | 5
sound/soc/omap/omap-abe-twl6040.c | 4
sound/soc/omap/omap-mcpdm.c | 2
118 files changed, 475 insertions(+), 687 deletions(-)
rename arch/arm/{plat-omap/include/plat/omap1510.h => mach-omap1/include/mach/omap1510.h} (97%)
rename arch/arm/{plat-omap/include/plat/omap16xx.h => mach-omap1/include/mach/omap16xx.h} (99%)
rename arch/arm/{plat-omap/include/plat/omap7xx.h => mach-omap1/include/mach/omap7xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/am33xx.h => mach-omap2/am33xx.h} (100%)
create mode 100644 arch/arm/mach-omap2/hardware.h
rename arch/arm/{plat-omap/include/plat/omap24xx.h => mach-omap2/omap24xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/omap34xx.h => mach-omap2/omap34xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/omap44xx.h => mach-omap2/omap44xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/omap54xx.h => mach-omap2/omap54xx.h} (100%)
create mode 100644 arch/arm/mach-omap2/soc.h
rename arch/arm/{plat-omap/include/plat/ti81xx.h => mach-omap2/ti81xx.h} (100%)
delete mode 100644 arch/arm/plat-omap/devices.c
delete mode 100644 arch/arm/plat-omap/include/plat/gpio-switch.h
delete mode 100644 arch/arm/plat-omap/include/plat/hardware.h
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 0/4] Series short description
@ 2012-09-01 0:26 ` Tony Lindgren
0 siblings, 0 replies; 27+ messages in thread
From: Tony Lindgren @ 2012-09-01 0:26 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
Here are the changes needed to make hardware.h local for mach-omap2.
These patches are based on v3.6-rc3 and the following patches:
- Arnd's patch "ARM: omap: move platform_data definitions"
- Igor's series "ARM: OMAP: cleanup plat/board.h file"
- Afzal's series "Prepare for GPMC driver conversion (w.r.t MTD)"
- My series "Clean up hardcoded IRQs for mach-omap2, enable SPARSE_IRQ,
plaform_data/gpio-omap.h"
Regards,
Tony
---
Tony Lindgren (4):
ARM: OMAP: Remove unused old gpio-switch.h
ARM: OMAP: Split plat/hardware.h, introduce local hardware.h and soc.h for omap2+
ARM: OMAP2+ Move SoC specific headers to be local to mach-omap2
ARM: OMAP1: Move SoC specific headers from plat to mach for omap1
arch/arm/mach-omap1/board-htcherald.c | 4
arch/arm/mach-omap1/devices.c | 2
arch/arm/mach-omap1/include/mach/hardware.h | 285 +++++++++++++++++++++++
arch/arm/mach-omap1/include/mach/omap1510.h | 3
arch/arm/mach-omap1/include/mach/omap16xx.h | 3
arch/arm/mach-omap1/include/mach/omap7xx.h | 3
arch/arm/mach-omap2/am33xx.h | 0
arch/arm/mach-omap2/board-2430sdp.c | 2
arch/arm/mach-omap2/board-3430sdp.c | 9 -
arch/arm/mach-omap2/board-4430sdp.c | 9 -
arch/arm/mach-omap2/board-am3517crane.c | 1
arch/arm/mach-omap2/board-am3517evm.c | 1
arch/arm/mach-omap2/board-apollon.c | 3
arch/arm/mach-omap2/board-cm-t35.c | 2
arch/arm/mach-omap2/board-cm-t3517.c | 3
arch/arm/mach-omap2/board-devkit8000.c | 22 +-
arch/arm/mach-omap2/board-flash.c | 6
arch/arm/mach-omap2/board-generic.c | 1
arch/arm/mach-omap2/board-h4.c | 3
arch/arm/mach-omap2/board-igep0020.c | 1
arch/arm/mach-omap2/board-ldp.c | 10 -
arch/arm/mach-omap2/board-n8x0.c | 10 -
arch/arm/mach-omap2/board-omap3beagle.c | 12 -
arch/arm/mach-omap2/board-omap3evm.c | 11 -
arch/arm/mach-omap2/board-omap3logic.c | 16 -
arch/arm/mach-omap2/board-omap3pandora.c | 9 -
arch/arm/mach-omap2/board-omap3stalker.c | 20 +-
arch/arm/mach-omap2/board-omap3touchbook.c | 9 -
arch/arm/mach-omap2/board-omap4panda.c | 7 -
arch/arm/mach-omap2/board-overo.c | 14 -
arch/arm/mach-omap2/board-rm680.c | 1
arch/arm/mach-omap2/board-rx51.c | 5
arch/arm/mach-omap2/board-ti8168evm.c | 2
arch/arm/mach-omap2/board-zoom-debugboard.c | 4
arch/arm/mach-omap2/board-zoom-display.c | 4
arch/arm/mach-omap2/board-zoom-peripherals.c | 1
arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 2
arch/arm/mach-omap2/clkt_dpll.c | 2
arch/arm/mach-omap2/clock.c | 8 -
arch/arm/mach-omap2/clock2420_data.c | 2
arch/arm/mach-omap2/clock2430.c | 2
arch/arm/mach-omap2/clock2430_data.c | 2
arch/arm/mach-omap2/clock2xxx.c | 2
arch/arm/mach-omap2/clock33xx_data.c | 2
arch/arm/mach-omap2/clock3xxx.c | 2
arch/arm/mach-omap2/clock3xxx_data.c | 3
arch/arm/mach-omap2/clock44xx_data.c | 3
arch/arm/mach-omap2/cm2xxx_3xxx.c | 3
arch/arm/mach-omap2/common.c | 2
arch/arm/mach-omap2/common.h | 6
arch/arm/mach-omap2/control.c | 2
arch/arm/mach-omap2/control.h | 2
arch/arm/mach-omap2/devices.c | 1
arch/arm/mach-omap2/dpll3xxx.c | 2
arch/arm/mach-omap2/dpll44xx.c | 2
arch/arm/mach-omap2/emu.c | 2
arch/arm/mach-omap2/gpmc-nand.c | 5
arch/arm/mach-omap2/gpmc-onenand.c | 5
arch/arm/mach-omap2/gpmc-smc91x.c | 3
arch/arm/mach-omap2/gpmc.c | 4
arch/arm/mach-omap2/hardware.h | 6
arch/arm/mach-omap2/hsmmc.c | 2
arch/arm/mach-omap2/i2c.c | 1
arch/arm/mach-omap2/id.c | 2
arch/arm/mach-omap2/include/mach/hardware.h | 2
arch/arm/mach-omap2/io.c | 3
arch/arm/mach-omap2/irq.c | 3
arch/arm/mach-omap2/mailbox.c | 3
arch/arm/mach-omap2/mcbsp.c | 5
arch/arm/mach-omap2/omap-mpuss-lowpower.c | 3
arch/arm/mach-omap2/omap-smp.c | 2
arch/arm/mach-omap2/omap-wakeupgen.c | 2
arch/arm/mach-omap2/omap24xx.h | 2
arch/arm/mach-omap2/omap34xx.h | 2
arch/arm/mach-omap2/omap4-common.c | 2
arch/arm/mach-omap2/omap44xx.h | 1
arch/arm/mach-omap2/omap54xx.h | 0
arch/arm/mach-omap2/omap_hwmod.c | 8 -
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 5
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 5
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 3
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 1
arch/arm/mach-omap2/omap_l3_noc.c | 3
arch/arm/mach-omap2/omap_phy_internal.c | 3
arch/arm/mach-omap2/opp2420_data.c | 2
arch/arm/mach-omap2/opp2430_data.c | 2
arch/arm/mach-omap2/opp3xxx_data.c | 2
arch/arm/mach-omap2/opp4xxx_data.c | 3
arch/arm/mach-omap2/powerdomain.c | 6
arch/arm/mach-omap2/powerdomains3xxx_data.c | 4
arch/arm/mach-omap2/prm2xxx_3xxx.c | 4
arch/arm/mach-omap2/prm44xx.c | 4
arch/arm/mach-omap2/sdrc2xxx.c | 2
arch/arm/mach-omap2/sleep24xx.S | 3
arch/arm/mach-omap2/sleep34xx.S | 2
arch/arm/mach-omap2/sleep44xx.S | 2
arch/arm/mach-omap2/soc.h | 1
arch/arm/mach-omap2/sram242x.S | 3
arch/arm/mach-omap2/sram243x.S | 3
arch/arm/mach-omap2/sram34xx.S | 3
arch/arm/mach-omap2/ti81xx.h | 0
arch/arm/mach-omap2/timer.c | 3
arch/arm/mach-omap2/twl-common.c | 2
arch/arm/mach-omap2/usb-host.c | 1
arch/arm/mach-omap2/usb-musb.c | 6
arch/arm/mach-omap2/vc.c | 3
arch/arm/mach-omap2/voltagedomains3xxx_data.c | 3
arch/arm/plat-omap/Makefile | 3
arch/arm/plat-omap/counter_32k.c | 2
arch/arm/plat-omap/devices.c | 91 -------
arch/arm/plat-omap/dma.c | 3
arch/arm/plat-omap/include/plat/gpio-switch.h | 54 ----
arch/arm/plat-omap/include/plat/hardware.h | 293 ------------------------
arch/arm/plat-omap/include/plat/omap4-keypad.h | 2
drivers/spi/spi-omap-uwire.c | 3
drivers/watchdog/omap_wdt.c | 5
sound/soc/omap/omap-abe-twl6040.c | 4
sound/soc/omap/omap-mcpdm.c | 2
118 files changed, 475 insertions(+), 687 deletions(-)
rename arch/arm/{plat-omap/include/plat/omap1510.h => mach-omap1/include/mach/omap1510.h} (97%)
rename arch/arm/{plat-omap/include/plat/omap16xx.h => mach-omap1/include/mach/omap16xx.h} (99%)
rename arch/arm/{plat-omap/include/plat/omap7xx.h => mach-omap1/include/mach/omap7xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/am33xx.h => mach-omap2/am33xx.h} (100%)
create mode 100644 arch/arm/mach-omap2/hardware.h
rename arch/arm/{plat-omap/include/plat/omap24xx.h => mach-omap2/omap24xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/omap34xx.h => mach-omap2/omap34xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/omap44xx.h => mach-omap2/omap44xx.h} (98%)
rename arch/arm/{plat-omap/include/plat/omap54xx.h => mach-omap2/omap54xx.h} (100%)
create mode 100644 arch/arm/mach-omap2/soc.h
rename arch/arm/{plat-omap/include/plat/ti81xx.h => mach-omap2/ti81xx.h} (100%)
delete mode 100644 arch/arm/plat-omap/devices.c
delete mode 100644 arch/arm/plat-omap/include/plat/gpio-switch.h
delete mode 100644 arch/arm/plat-omap/include/plat/hardware.h
--
Signature
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2012-09-01 0:26 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-02 22:54 [PATCH 0/4] Series short description John Bonesio
2010-11-02 22:55 ` [PATCH 1/4] Allow nodes to be refrenced by path at the top level John Bonesio
2010-11-04 0:15 ` David Gibson
2010-11-09 16:33 ` Jon Loeliger
[not found] ` <E1PFr8Q-0003CF-52-CYoMK+44s/E@public.gmane.org>
2010-11-09 16:44 ` Grant Likely
[not found] ` <AANLkTim3TopcXUcdJ1kGBwHYTNjL=SdhBaaZgnrWQG-a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-11-09 22:42 ` David Gibson
2010-11-13 20:49 ` Jon Loeliger
2010-11-02 22:55 ` [PATCH 2/4] Implements a new feature for deleting existing device tree nodes John Bonesio
2010-11-02 22:55 ` [PATCH 3/4] Implements a new feature for deleting existing properties in " John Bonesio
2010-11-02 22:55 ` [PATCH 4/4] Allow nodes at the root to be specified by path as well as by label John Bonesio
-- strict thread matches above, loose matches on Subject: below --
2012-09-01 0:26 [PATCH 0/4] Series short description Tony Lindgren
2012-09-01 0:26 ` Tony Lindgren
2011-08-08 15:37 Bernd Schubert
2010-11-22 0:31 Alexey Zaytsev
2010-10-20 21:44 John Bonesio
2010-06-17 7:58 Benjamin Zores
2009-11-17 14:44 Alan Cox
2009-05-06 16:08 Alan Cox
2009-05-11 17:21 ` Jeff Garzik
2009-05-11 17:25 ` Alan Cox
2009-05-11 17:33 ` Jeff Garzik
2009-05-11 17:58 ` Alan Cox
2008-10-20 22:25 Eric Paris
2008-10-20 22:25 ` Eric Paris
2007-07-19 18:34 grant.likely
2006-11-23 23:16 Yann Dirson
2006-11-24 15:37 ` Catalin Marinas
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.