[PATCH] Restore gcc check in mips asm/unroll.h

2020-07-09 Thread Cesar Eduardo Barros
While raising the gcc version requirement to 4.9, the compile-time check
in the unroll macro was accidentally changed from being used on gcc and
clang to being used on clang only.

Restore the gcc check, changing it from "gcc >= 4.7" to "all gcc".

Fixes: 6ec4476ac825 ("Raise gcc version requirement to 4.9")
Signed-off-by: Cesar Eduardo Barros 
---
 arch/mips/include/asm/unroll.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/mips/include/asm/unroll.h b/arch/mips/include/asm/unroll.h
index 8ed660adc84f..49009319ac2c 100644
--- a/arch/mips/include/asm/unroll.h
+++ b/arch/mips/include/asm/unroll.h
@@ -25,7 +25,8 @@
 * generate reasonable code for the switch statement,   \
 * so we skip the sanity check for those compilers. \
 */ \
-   BUILD_BUG_ON((CONFIG_CLANG_VERSION >= 8) && \
+   BUILD_BUG_ON((CONFIG_CC_IS_GCC ||   \
+ CONFIG_CLANG_VERSION >= 8) && \
 !__builtin_constant_p(times)); \
\
switch (times) {\
-- 
2.26.2



Re: Potential data race in SyS_swapon

2015-08-07 Thread Cesar Eduardo Barros

Em 07-08-2015 13:14, Andrey Konovalov escreveu:

Hi!

We are working on a dynamic data race detector for the Linux kernel
called KernelThreadSanitizer (ktsan)
(https://github.com/google/ktsan/wiki).

While running ktsan on the upstream revision 21bdb584af8c with trinity
we got a few reports from SyS_swapon, here is one of them:


[...]


The race is happening when accessing the swap_file field of a
swap_info_struct struct.

2392 for (i = 0; i < nr_swapfiles; i++) {
2393 struct swap_info_struct *q = swap_info[i];
2394
2395 if (q == p || !q->swap_file)
2396 continue;
2397 if (mapping == q->swap_file->f_mapping) {
2398 error = -EBUSY;
2399 goto bad_swap;
2400 }
2401 }

2539 spin_lock(_lock);
2540 p->swap_file = NULL;
2541 p->flags = 0;
2542 spin_unlock(_lock);


There's another (more important) place which sets the swap_file field to 
NULL, it's within swapoff. It's also protected by swap_lock.



Since the swap_lock lock is not taken in the first snippet, it's
possible for q->swap_file to be assigned to NULL and reloaded between
executing lines 2395 and 2397, which might lead to a null pointer
dereference.


I agree with that analysis. It should be possible to hit by racing 
swapon of a file with swapoff of another.



Looks like the swap_lock should be taken when iterating through the
swap_info array on lines 2392 - 2401.


I'd take that lock a couple of lines earlier, so that every place that 
sets the swap_file field on a swap_info_struct is behind swap_lock, for 
simplicity.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Potential data race in SyS_swapon

2015-08-07 Thread Cesar Eduardo Barros

Em 07-08-2015 13:14, Andrey Konovalov escreveu:

Hi!

We are working on a dynamic data race detector for the Linux kernel
called KernelThreadSanitizer (ktsan)
(https://github.com/google/ktsan/wiki).

While running ktsan on the upstream revision 21bdb584af8c with trinity
we got a few reports from SyS_swapon, here is one of them:


[...]


The race is happening when accessing the swap_file field of a
swap_info_struct struct.

2392 for (i = 0; i  nr_swapfiles; i++) {
2393 struct swap_info_struct *q = swap_info[i];
2394
2395 if (q == p || !q-swap_file)
2396 continue;
2397 if (mapping == q-swap_file-f_mapping) {
2398 error = -EBUSY;
2399 goto bad_swap;
2400 }
2401 }

2539 spin_lock(swap_lock);
2540 p-swap_file = NULL;
2541 p-flags = 0;
2542 spin_unlock(swap_lock);


There's another (more important) place which sets the swap_file field to 
NULL, it's within swapoff. It's also protected by swap_lock.



Since the swap_lock lock is not taken in the first snippet, it's
possible for q-swap_file to be assigned to NULL and reloaded between
executing lines 2395 and 2397, which might lead to a null pointer
dereference.


I agree with that analysis. It should be possible to hit by racing 
swapon of a file with swapoff of another.



Looks like the swap_lock should be taken when iterating through the
swap_info array on lines 2392 - 2401.


I'd take that lock a couple of lines earlier, so that every place that 
sets the swap_file field on a swap_info_struct is behind swap_lock, for 
simplicity.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [BUG/PATCH] kernel RNG and its secrets

2015-03-18 Thread Cesar Eduardo Barros

On 18-03-2015 14:14, mancha wrote:

On Wed, Mar 18, 2015 at 05:02:01PM +0100, Stephan Mueller wrote:

Am Mittwoch, 18. März 2015, 16:09:34 schrieb Hannes Frederic Sowa:

Seems like just using barrier() is the best and easiest option.


However, if the idea is to use barrier() instead of OPTIMIZER_HIDE_VAR()
in crypto_memneq() as well, then patch 0002 is the one to use. Please
review and keep in mind my analysis was limited to memzero_explicit().

Cesar, were there reasons you didn't use the gcc version of barrier()
for crypto_memneq()?


Yes. Two reasons.

Take a look at how barrier() is defined:

#define barrier() __asm__ __volatile__("": : :"memory")

It tells gcc that the dummy assembly "instruction" touches memory (so 
the compiler can't assume anything about the memory), and that nothing 
should be moved from before to after the barrier and vice versa.


It mentions nothing about registers. Therefore, as far as I know gcc can 
assume that the dummy "instruction" touches no integer registers (or 
restores their values). I can imagine a sufficiently perverse compiler 
using that fact to introduce timing-dependent computations. For 
instance, it could load the values using more than one register and 
combine them at the end, after the barriers; there, it could exit early 
in case one of the registers is all-ones. My definition of 
OPTIMIZER_HIDE_VAR introduces a data dependency to prevent that:


#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))

The second reason is that barrier() is too strong. For crypto_memneq, 
only the or-chain is critical; the order or width of the loads makes no 
difference. The compiler could, if it wishes, do all the loads and xors 
first and do the or-chain at the end, or whenever it can see a pipeline 
bubble; it doesn't matter as long as it does *all* the "or" operations, 
in sequence.


I would be comfortable with a stronger OPTIMIZER_HIDE_VAR (adding 
"memory" or volatile), even though it could limit optimization 
opportunities, but I wouldn't be comfortable with a weaker 
OPTIMIZER_HIDE_VAR (removing the data dependency), unless the gcc and 
clang guys promise that our definition of barrier() will always prevent 
undesired optimization of register-only operations.


There was a third reason for the exact definition of OPTIMIZER_HIDE_VAR: 
it was copied from RELOC_HIDE, which is a longstanding "hide this 
variable from gcc" operation, and thus known to work as expected.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [BUG/PATCH] kernel RNG and its secrets

2015-03-18 Thread Cesar Eduardo Barros

On 18-03-2015 14:14, mancha wrote:

On Wed, Mar 18, 2015 at 05:02:01PM +0100, Stephan Mueller wrote:

Am Mittwoch, 18. März 2015, 16:09:34 schrieb Hannes Frederic Sowa:

Seems like just using barrier() is the best and easiest option.


However, if the idea is to use barrier() instead of OPTIMIZER_HIDE_VAR()
in crypto_memneq() as well, then patch 0002 is the one to use. Please
review and keep in mind my analysis was limited to memzero_explicit().

Cesar, were there reasons you didn't use the gcc version of barrier()
for crypto_memneq()?


Yes. Two reasons.

Take a look at how barrier() is defined:

#define barrier() __asm__ __volatile__(: : :memory)

It tells gcc that the dummy assembly instruction touches memory (so 
the compiler can't assume anything about the memory), and that nothing 
should be moved from before to after the barrier and vice versa.


It mentions nothing about registers. Therefore, as far as I know gcc can 
assume that the dummy instruction touches no integer registers (or 
restores their values). I can imagine a sufficiently perverse compiler 
using that fact to introduce timing-dependent computations. For 
instance, it could load the values using more than one register and 
combine them at the end, after the barriers; there, it could exit early 
in case one of the registers is all-ones. My definition of 
OPTIMIZER_HIDE_VAR introduces a data dependency to prevent that:


#define OPTIMIZER_HIDE_VAR(var) __asm__ ( : =r (var) : 0 (var))

The second reason is that barrier() is too strong. For crypto_memneq, 
only the or-chain is critical; the order or width of the loads makes no 
difference. The compiler could, if it wishes, do all the loads and xors 
first and do the or-chain at the end, or whenever it can see a pipeline 
bubble; it doesn't matter as long as it does *all* the or operations, 
in sequence.


I would be comfortable with a stronger OPTIMIZER_HIDE_VAR (adding 
memory or volatile), even though it could limit optimization 
opportunities, but I wouldn't be comfortable with a weaker 
OPTIMIZER_HIDE_VAR (removing the data dependency), unless the gcc and 
clang guys promise that our definition of barrier() will always prevent 
undesired optimization of register-only operations.


There was a third reason for the exact definition of OPTIMIZER_HIDE_VAR: 
it was copied from RELOC_HIDE, which is a longstanding hide this 
variable from gcc operation, and thus known to work as expected.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v4] crypto: more robust crypto_memneq

2013-12-05 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Acked-by: Daniel Borkmann 
Signed-off-by: Cesar Eduardo Barros 
---

v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel
Borkmann.
v3: Thinking better about it, barrier() is a saner default for the
"unknown compiler" case.
v4: Compile fix for archs without efficient aligned access.

 crypto/Makefile|  5 ---
 crypto/memneq.c| 80 +-
 include/linux/compiler-gcc.h   |  3 ++
 include/linux/compiler-intel.h |  7 
 include/linux/compiler.h   |  4 +++
 5 files changed, 69 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..afed1bd 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size >= sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size > 0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +91,61 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsi

[PATCH v4] crypto: more robust crypto_memneq

2013-12-05 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Acked-by: Daniel Borkmann dbork...@redhat.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br
---

v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel
Borkmann.
v3: Thinking better about it, barrier() is a saner default for the
unknown compiler case.
v4: Compile fix for archs without efficient aligned access.

 crypto/Makefile|  5 ---
 crypto/memneq.c| 80 +-
 include/linux/compiler-gcc.h   |  3 ++
 include/linux/compiler-intel.h |  7 
 include/linux/compiler.h   |  4 +++
 5 files changed, 69 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..afed1bd 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size = sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size  0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +91,61 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3

Re: [PATCH v3] crypto: more robust crypto_memneq

2013-11-26 Thread Cesar Eduardo Barros

Em 26-11-2013 17:27, Daniel Borkmann escreveu:

On 11/26/2013 01:00 AM, Cesar Eduardo Barros wrote:

Compile-tested on x86_64.


Actually with yet another version, I hoped that the "compile-tested"-only
statement would eventually disappear, ohh well. ;)


I did compile test each version ;-) including verifying (with "make 
crypto/memneq.i") that the macro was really generating the expected 
inline assembly (with these #ifdef chains, one has to be careful with 
typos).


(Actually, I compile tested with "make crypto/memneq.o crypto/memneq.s 
crypto/memneq.i". I took a peek at the assembly to see if it made sense.)



Resolving the OPTIMIZER_HIDE_VAR() macro for others than GCC jnto a
barrier() seems a bit suboptimal, but assuming 99% of people will use
GCC anyway, then for the minority of the remaining, they will worst case
have a clever compiler and eventually mimic memcmp() in some situations,
or have a not-so-clever compiler and execute the full code as is.


I do not think any compiler other than gcc and icc can compile 
unmodified upstream kernel code. LLVM's clang would be the one which 
comes closest, but it has gcc-compatible inline assembly, as does icc AFAIK.


The #define to barrier() within compiler-intel.h is for some compiler 
called ECC (not icc). From what I could find about it on a quick search, 
it appears to be some kind of Itanium compiler.


That part of the header was added back in 2003, and I do not believe it 
is still relevant. A comment within that #ifdef block says "Intel ECC 
compiler doesn't support gcc specific asm stmts", but there are many 
uses of unprotected inline assembly all over the kernel (including on 
the ia64 headers), so if that comment is true, the kernel will not 
compile with that compiler. It is probably a piece of leftover dead 
code. I only added to it because I am following RELOC_HIDE's example, 
and RELOC_HIDE is there.



Anyway, I think still better than the rather ugly Makefile workaround
imho, so I'm generally fine with this.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3] crypto: more robust crypto_memneq

2013-11-26 Thread Cesar Eduardo Barros

Em 26-11-2013 17:27, Daniel Borkmann escreveu:

On 11/26/2013 01:00 AM, Cesar Eduardo Barros wrote:

Compile-tested on x86_64.


Actually with yet another version, I hoped that the compile-tested-only
statement would eventually disappear, ohh well. ;)


I did compile test each version ;-) including verifying (with make 
crypto/memneq.i) that the macro was really generating the expected 
inline assembly (with these #ifdef chains, one has to be careful with 
typos).


(Actually, I compile tested with make crypto/memneq.o crypto/memneq.s 
crypto/memneq.i. I took a peek at the assembly to see if it made sense.)



Resolving the OPTIMIZER_HIDE_VAR() macro for others than GCC jnto a
barrier() seems a bit suboptimal, but assuming 99% of people will use
GCC anyway, then for the minority of the remaining, they will worst case
have a clever compiler and eventually mimic memcmp() in some situations,
or have a not-so-clever compiler and execute the full code as is.


I do not think any compiler other than gcc and icc can compile 
unmodified upstream kernel code. LLVM's clang would be the one which 
comes closest, but it has gcc-compatible inline assembly, as does icc AFAIK.


The #define to barrier() within compiler-intel.h is for some compiler 
called ECC (not icc). From what I could find about it on a quick search, 
it appears to be some kind of Itanium compiler.


That part of the header was added back in 2003, and I do not believe it 
is still relevant. A comment within that #ifdef block says Intel ECC 
compiler doesn't support gcc specific asm stmts, but there are many 
uses of unprotected inline assembly all over the kernel (including on 
the ia64 headers), so if that comment is true, the kernel will not 
compile with that compiler. It is probably a piece of leftover dead 
code. I only added to it because I am following RELOC_HIDE's example, 
and RELOC_HIDE is there.



Anyway, I think still better than the rather ugly Makefile workaround
imho, so I'm generally fine with this.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v3] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros 
---

v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel
Borkmann.
v3: Thinking better about it, barrier() is a saner default for the
"unknown compiler" case.

 crypto/Makefile|  5 ---
 crypto/memneq.c| 79 +-
 include/linux/compiler-gcc.h   |  3 ++
 include/linux/compiler-intel.h |  7 
 include/linux/compiler.h   |  4 +++
 5 files changed, 68 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..570f6f3 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size >= sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size > 0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else {
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsigned char *)(a+4)  ^ *(unsigned char *)(b+4))
- | (*(unsigned char *)(a+

[PATCH v2] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros 
---

v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel
Borkmann.

 crypto/Makefile|  5 ---
 crypto/memneq.c| 79 +-
 include/linux/compiler-gcc.h   |  3 ++
 include/linux/compiler-intel.h |  7 
 include/linux/compiler.h   |  4 +++
 5 files changed, 68 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..570f6f3 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size >= sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size > 0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else {
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsigned char *)(a+4)  ^ *(unsigned char *)(b+4))
- | (*(unsigned char *)(a+5)  ^ *(unsigned char *)(b+5))
- | (*(unsigned char *)(a+6)  ^ *(unsigned char 

Re: [PATCH] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros

Em 25-11-2013 14:26, Daniel Borkmann escreveu:

On 11/25/2013 04:59 PM, James Yonan wrote:

This approach using __asm__ ("" : "=r" (var) : "0" (var)) to try to
prevent compiler optimizations of var is interesting.

I like the fact that it's finer-grained than -Os and doesn't preclude
inlining.


Agreed. This looks much better than the Makefile workaround. Do we have
a hard guarantee that in future, this will not be detected and optimized
away by the compiler?


That guarantee is something only the compiler people can give you. But 
given that RELOC_HIDE will break if that ever changes, and there are 
other constructs depending on the optimization-blocking behavior of 
inline assembly (like the many kinds of barriers in the kernel), I am 
not worried about that.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros

Em 25-11-2013 13:59, James Yonan escreveu:

On 24/11/2013 14:12, Cesar Eduardo Barros wrote:

Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros 


This approach using __asm__ ("" : "=r" (var) : "0" (var)) to try to
prevent compiler optimizations of var is interesting.


It is not novel; I copied it from RELOC_HIDE.


I like the fact that it's finer-grained than -Os and doesn't preclude
inlining.

One concern would be that __asm__ could be optimized out unless
__volatile__ is present.


It cannot be optimized out, because the __asm__'s output is used. Of 
course, if the __asm__ output is never used, it could be optimized out, 
but that is the desired result in this case (it means the result of 
crypto_memneq is being ignored, so the whole function should be elided).


AFAIK, __volatile__ also has the side effect that it forces ordering 
with everything (this fact is used in the definition of the barrier() 
macro). This level of barrier is not needed for crypto_memneq; ordering 
on "neq" is more than enough.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros

Em 25-11-2013 13:59, James Yonan escreveu:

On 24/11/2013 14:12, Cesar Eduardo Barros wrote:

Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br


This approach using __asm__ ( : =r (var) : 0 (var)) to try to
prevent compiler optimizations of var is interesting.


It is not novel; I copied it from RELOC_HIDE.


I like the fact that it's finer-grained than -Os and doesn't preclude
inlining.

One concern would be that __asm__ could be optimized out unless
__volatile__ is present.


It cannot be optimized out, because the __asm__'s output is used. Of 
course, if the __asm__ output is never used, it could be optimized out, 
but that is the desired result in this case (it means the result of 
crypto_memneq is being ignored, so the whole function should be elided).


AFAIK, __volatile__ also has the side effect that it forces ordering 
with everything (this fact is used in the definition of the barrier() 
macro). This level of barrier is not needed for crypto_memneq; ordering 
on neq is more than enough.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros

Em 25-11-2013 14:26, Daniel Borkmann escreveu:

On 11/25/2013 04:59 PM, James Yonan wrote:

This approach using __asm__ ( : =r (var) : 0 (var)) to try to
prevent compiler optimizations of var is interesting.

I like the fact that it's finer-grained than -Os and doesn't preclude
inlining.


Agreed. This looks much better than the Makefile workaround. Do we have
a hard guarantee that in future, this will not be detected and optimized
away by the compiler?


That guarantee is something only the compiler people can give you. But 
given that RELOC_HIDE will break if that ever changes, and there are 
other constructs depending on the optimization-blocking behavior of 
inline assembly (like the many kinds of barriers in the kernel), I am 
not worried about that.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br
---

v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel
Borkmann.

 crypto/Makefile|  5 ---
 crypto/memneq.c| 79 +-
 include/linux/compiler-gcc.h   |  3 ++
 include/linux/compiler-intel.h |  7 
 include/linux/compiler.h   |  4 +++
 5 files changed, 68 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..570f6f3 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size = sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size  0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else {
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsigned char *)(a+4)  ^ *(unsigned char *)(b+4))
- | (*(unsigned char *)(a+5)  ^ *(unsigned char *)(b+5))
- | (*(unsigned char *)(a+6

[PATCH v3] crypto: more robust crypto_memneq

2013-11-25 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br
---

v2: Moved the macro to include/linux/compiler*.h as suggested by Daniel
Borkmann.
v3: Thinking better about it, barrier() is a saner default for the
unknown compiler case.

 crypto/Makefile|  5 ---
 crypto/memneq.c| 79 +-
 include/linux/compiler-gcc.h   |  3 ++
 include/linux/compiler-intel.h |  7 
 include/linux/compiler.h   |  4 +++
 5 files changed, 68 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..570f6f3 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -72,6 +72,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size = sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +80,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size  0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +91,60 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else {
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsigned char *)(a+4)  ^ *(unsigned char *)(b+4))
- | (*(unsigned char

[PATCH] crypto: more robust crypto_memneq

2013-11-24 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros 
---
 crypto/Makefile |  5 
 crypto/memneq.c | 82 +++--
 2 files changed, 57 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..fce066c 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -63,6 +63,9 @@
 
 #ifndef __HAVE_ARCH_CRYPTO_MEMNEQ
 
+/* Make the optimizer believe the variable can be manipulated arbitrarily. */
+#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
+
 /* Generic path for arbitrary size */
 static inline unsigned long
 __crypto_memneq_generic(const void *a, const void *b, size_t size)
@@ -72,6 +75,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size >= sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +83,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size > 0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +94,60 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else {
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsigned ch

[PATCH] crypto: more robust crypto_memneq

2013-11-24 Thread Cesar Eduardo Barros
Disabling compiler optimizations can be fragile, since a new
optimization could be added to -O0 or -Os that breaks the assumptions
the code is making.

Instead of disabling compiler optimizations, use a dummy inline assembly
(based on RELOC_HIDE) to block the problematic kinds of optimization,
while still allowing other optimizations to be applied to the code.

The dummy inline assembly is added after every OR, and has the
accumulator variable as its input and output. The compiler is forced to
assume that the dummy inline assembly could both depend on the
accumulator variable and change the accumulator variable, so it is
forced to compute the value correctly before the inline assembly, and
cannot assume anything about its value after the inline assembly.

This change should be enough to make crypto_memneq work correctly (with
data-independent timing) even if it is inlined at its call sites. That
can be done later in a followup patch.

Compile-tested on x86_64.

Signed-off-by: Cesar Eduardo Barros ces...@cesarb.eti.br
---
 crypto/Makefile |  5 
 crypto/memneq.c | 82 +++--
 2 files changed, 57 insertions(+), 30 deletions(-)

diff --git a/crypto/Makefile b/crypto/Makefile
index 989c510..b29402a 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,6 @@
 # Cryptographic API
 #
 
-# memneq MUST be built with -Os or -O0 to prevent early-return optimizations
-# that will defeat memneq's actual purpose to prevent timing attacks.
-CFLAGS_REMOVE_memneq.o := -O1 -O2 -O3
-CFLAGS_memneq.o := -Os
-
 obj-$(CONFIG_CRYPTO) += crypto.o
 crypto-y := api.o cipher.o compress.o memneq.o
 
diff --git a/crypto/memneq.c b/crypto/memneq.c
index cd01622..fce066c 100644
--- a/crypto/memneq.c
+++ b/crypto/memneq.c
@@ -63,6 +63,9 @@
 
 #ifndef __HAVE_ARCH_CRYPTO_MEMNEQ
 
+/* Make the optimizer believe the variable can be manipulated arbitrarily. */
+#define OPTIMIZER_HIDE_VAR(var) __asm__ ( : =r (var) : 0 (var))
+
 /* Generic path for arbitrary size */
 static inline unsigned long
 __crypto_memneq_generic(const void *a, const void *b, size_t size)
@@ -72,6 +75,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
while (size = sizeof(unsigned long)) {
neq |= *(unsigned long *)a ^ *(unsigned long *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += sizeof(unsigned long);
b += sizeof(unsigned long);
size -= sizeof(unsigned long);
@@ -79,6 +83,7 @@ __crypto_memneq_generic(const void *a, const void *b, size_t 
size)
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
while (size  0) {
neq |= *(unsigned char *)a ^ *(unsigned char *)b;
+   OPTIMIZER_HIDE_VAR(neq);
a += 1;
b += 1;
size -= 1;
@@ -89,33 +94,60 @@ __crypto_memneq_generic(const void *a, const void *b, 
size_t size)
 /* Loop-free fast-path for frequently used 16-byte size */
 static inline unsigned long __crypto_memneq_16(const void *a, const void *b)
 {
+   unsigned long neq = 0;
+
 #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
-   if (sizeof(unsigned long) == 8)
-   return ((*(unsigned long *)(a)   ^ *(unsigned long *)(b))
- | (*(unsigned long *)(a+8) ^ *(unsigned long *)(b+8)));
-   else if (sizeof(unsigned int) == 4)
-   return ((*(unsigned int *)(a)^ *(unsigned int *)(b))
-  | (*(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4))
- | (*(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8))
- | (*(unsigned int *)(a+12) ^ *(unsigned int *)(b+12)));
-   else
+   if (sizeof(unsigned long) == 8) {
+   neq |= *(unsigned long *)(a)   ^ *(unsigned long *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned long *)(a+8) ^ *(unsigned long *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else if (sizeof(unsigned int) == 4) {
+   neq |= *(unsigned int *)(a)^ *(unsigned int *)(b);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+4)  ^ *(unsigned int *)(b+4);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+8)  ^ *(unsigned int *)(b+8);
+   OPTIMIZER_HIDE_VAR(neq);
+   neq |= *(unsigned int *)(a+12) ^ *(unsigned int *)(b+12);
+   OPTIMIZER_HIDE_VAR(neq);
+   } else {
 #endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-   return ((*(unsigned char *)(a)^ *(unsigned char *)(b))
- | (*(unsigned char *)(a+1)  ^ *(unsigned char *)(b+1))
- | (*(unsigned char *)(a+2)  ^ *(unsigned char *)(b+2))
- | (*(unsigned char *)(a+3)  ^ *(unsigned char *)(b+3))
- | (*(unsigned char *)(a+4)  ^ *(unsigned char *)(b+4

Re: [PATCH 03/18] MAINTAINERS: OMAP POWERDOMAIN, update patterns

2013-07-22 Thread Cesar Eduardo Barros

Em 22-07-2013 02:32, Paul Walmsley escreveu:

On Sun, 21 Jul 2013, Joe Perches wrote:


I certainly don't object at all if Andrew picks
up the patches you mentioned and drops these 2.

Andrew, here are links to Cesar's original patches
https://patchwork.kernel.org/project/LKML/list/?submitter=3513
https://lkml.org/lkml/2013/3/2/185

It seems a few are similar/duplicated to these 18.

Cesar, maybe you should resend yours.  I thought
they were applied and forgot all about them.


Another possibility, assuming that there are some fixes from your series
that Cesar didn't have, would be for you to take his patches into the
series that you're sending to Andrew, assuming that you agree with them.
Then we'd benefit from the superset of fixes.


I don't care whose patches are applied or who gets the credit. They are 
just trivial changes to a text file. What matters is that the patterns 
are correct enough that get_maintainer.pl does the right thing.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 03/18] MAINTAINERS: OMAP POWERDOMAIN, update patterns

2013-07-22 Thread Cesar Eduardo Barros

Em 22-07-2013 02:32, Paul Walmsley escreveu:

On Sun, 21 Jul 2013, Joe Perches wrote:


I certainly don't object at all if Andrew picks
up the patches you mentioned and drops these 2.

Andrew, here are links to Cesar's original patches
https://patchwork.kernel.org/project/LKML/list/?submitter=3513
https://lkml.org/lkml/2013/3/2/185

It seems a few are similar/duplicated to these 18.

Cesar, maybe you should resend yours.  I thought
they were applied and forgot all about them.


Another possibility, assuming that there are some fixes from your series
that Cesar didn't have, would be for you to take his patches into the
series that you're sending to Andrew, assuming that you agree with them.
Then we'd benefit from the superset of fixes.


I don't care whose patches are applied or who gets the credit. They are 
just trivial changes to a text file. What matters is that the patterns 
are correct enough that get_maintainer.pl does the right thing.


--
Cesar Eduardo Barros
ces...@cesarb.eti.br
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 06/14] MAINTAINERS: fix drivers/edac/ghes-edac.c

2013-03-02 Thread Cesar Eduardo Barros
Cc: Mauro Carvalho Chehab 
Cc: linux-e...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index e909cd3..2e1443c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2899,7 +2899,7 @@ M:Mauro Carvalho Chehab 
 L: linux-e...@vger.kernel.org
 W: bluesmoke.sourceforge.net
 S: Maintained
-F: drivers/edac/ghes-edac.c
+F: drivers/edac/ghes_edac.c
 
 EDAC-I82443BXGX
 M: Tim Small 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 07/14] MAINTAINERS: remove eexpress

2013-03-02 Thread Cesar Eduardo Barros
This driver was removed by commit f84932d (drivers/net: delete ISA intel
eexpress and eepro i825xx drivers).

Cc: Paul Gortmaker 
Cc: Philip Blundell 
Cc: net...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 2e1443c..92718d8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3057,12 +3057,6 @@ T:   git 
git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
 F: drivers/video/s1d13xxxfb.c
 F: include/video/s1d13xxxfb.h
 
-ETHEREXPRESS-16 NETWORK DRIVER
-M: Philip Blundell 
-L: net...@vger.kernel.org
-S: Maintained
-F: drivers/net/ethernet/i825xx/eexpress.*
-
 ETHERNET BRIDGE
 M: Stephen Hemminger 
 L: bri...@lists.linux-foundation.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/14] MAINTAINERS: remove drivers/net/wan/cycx*

2013-03-02 Thread Cesar Eduardo Barros
This driver was removed by commit 6fcdf4f (wanrouter: delete now
orphaned header content, files/drivers).

Cc: Paul Gortmaker 
Cc: Arnaldo Carvalho de Melo 
Cc: net...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 261b245..e909cd3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2357,12 +2357,6 @@ W:   http://www.arm.linux.org.uk/
 S: Maintained
 F: drivers/video/cyber2000fb.*
 
-CYCLADES 2X SYNC CARD DRIVER
-M: Arnaldo Carvalho de Melo 
-W: http://oops.ghostprotocols.net:81/blog
-S: Maintained
-F: drivers/net/wan/cycx*
-
 CYCLADES ASYNC MUX DRIVER
 W: http://www.cyclades.com/
 S: Orphan
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 04/14] MAINTAINERS: fix drivers/media/i2c/cx2341x.c

2013-03-02 Thread Cesar Eduardo Barros
This file was moved to drivers/media/common/ by commit 6259582 ([media]
cx2341x: move from media/i2c to media/common).

Cc: Hans Verkuil 
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5af82f9..261b245 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2286,7 +2286,7 @@ L:linux-me...@vger.kernel.org
 T: git git://linuxtv.org/media_tree.git
 W: http://linuxtv.org
 S: Maintained
-F: drivers/media/i2c/cx2341x*
+F: drivers/media/common/cx2341x*
 F: include/media/cx2341x*
 
 CX88 VIDEO4LINUX DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 08/14] MAINTAINERS: fix mach-omap2 clockdomain/powerdomain

2013-03-02 Thread Cesar Eduardo Barros
The code in these files was moved to cm*.[ch] and prm*.[ch] in the same
directory by commits 4981539 (ARM: OMAP2+: powerdomain/PRM: move the
low-level powerdomain functions into PRM) and 4bd5259 (ARM: OMAP2/3:
clockdomain/PRM/CM: move the low-level clockdomain functions into
PRM/CM).

I am not sure if this fix is correct, since there are other things in
these files. Please NAK this patch (and propose a better one) if it is
wrong.

Cc: Paul Walmsley 
Cc: Rajendra Nayak 
Cc: Russ Dill 
Cc: Santosh Shilimkar 
Cc: linux-o...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 92718d8..46c1288 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5651,10 +5651,8 @@ M:   Rajendra Nayak 
 M: Paul Walmsley 
 L: linux-o...@vger.kernel.org
 S: Maintained
-F: arch/arm/mach-omap2/powerdomain2xxx_3xxx.c
-F: arch/arm/mach-omap2/powerdomain44xx.c
-F: arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
-F: arch/arm/mach-omap2/clockdomain44xx.c
+F: arch/arm/mach-omap2/cm*.[ch]
+F: arch/arm/mach-omap2/prm*.[ch]
 
 OMAP AUDIO SUPPORT
 M: Peter Ujfalusi 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 09/14] MAINTAINERS: fix Documentation/video4linux/saa7134/

2013-03-02 Thread Cesar Eduardo Barros
That directory never existed. The intention was probably to match
CARDLIST.saa7134 and README.saa7134.

Cc: Mauro Carvalho Chehab 
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 46c1288..44b9f69 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6741,7 +6741,7 @@ L:linux-me...@vger.kernel.org
 W: http://linuxtv.org
 T: git git://linuxtv.org/media_tree.git
 S: Odd fixes
-F: Documentation/video4linux/saa7134/
+F: Documentation/video4linux/*.saa7134
 F: drivers/media/pci/saa7134/
 
 SAA7146 VIDEO4LINUX-2 DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 10/14] MAINTAINERS: remove include/media/sh_veu.h

2013-03-02 Thread Cesar Eduardo Barros
Apparently a copy-paste mistake; the similar sh_vou.h exists, and both
were added to MAINTAINERS by commit b618b69 ([media] MAINTAINERS: add
entries for sh_veu and sh_vou V4L2 drivers).

Cc: Guennadi Liakhovetski 
Cc: Mauro Carvalho Chehab 
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 44b9f69..5cb888a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7088,7 +7088,6 @@ M:Guennadi Liakhovetski 
 L: linux-me...@vger.kernel.org
 S: Maintained
 F: drivers/media/platform/sh_veu.c
-F: include/media/sh_veu.h
 
 SH_VOU V4L2 OUTPUT DRIVER
 M: Guennadi Liakhovetski 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 01/14] MAINTAINERS: remove 3c505

2013-03-02 Thread Cesar Eduardo Barros
This driver was removed by commit 0e245db (drivers/net: delete the 3Com
3c505/3c507 intel i825xx support).

Cc: Paul Gortmaker 
Cc: Philip Blundell 
Cc: net...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index aea0adf..5b64aa5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -114,12 +114,6 @@ Maintainers List (try to look for most precise areas first)
 
---
 
-3C505 NETWORK DRIVER
-M: Philip Blundell 
-L: net...@vger.kernel.org
-S: Maintained
-F: drivers/net/ethernet/i825xx/3c505*
-
 3C59X NETWORK DRIVER
 M: Steffen Klassert 
 L: net...@vger.kernel.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 13/14] scripts: add checkmaintainers.py

2013-03-02 Thread Cesar Eduardo Barros
This small script checks the file patterns in the MAINTAINERS file.

For every file pattern, it checks if the pattern matches any file or
directory in the kernel tree, printing the patterns which do not have a
match.

It also checks for any file pattern pointing to any of the include
directories which does not have a corresponding UAPI file pattern, but
only if the UAPI file pattern would have a match. It also does the same
in the opposite direction.

The script is written in Python; I found its glob function more
well-behaved than Perl's. It should work on both Python 2 and Python 3
without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and
3.3.

I do not think such a short script should have a copyright. But to avoid
any problems, I arbitrarily used the "GNU All-Permissive License" (found
in FSF's GPL-compatible list). If needed, feel free to relicense it as
GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0.

Cc: David Howells 
Cc: Joe Perches 
Signed-off-by: Cesar Eduardo Barros 
---
 scripts/checkmaintainers.py | 35 +++
 1 file changed, 35 insertions(+)
 create mode 100755 scripts/checkmaintainers.py

diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py
new file mode 100755
index 000..99740e3
--- /dev/null
+++ b/scripts/checkmaintainers.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# Quick check for missing file patterns in the MAINTAINERS file.
+#
+# Copyright (C) 2012 Cesar Eduardo Barros 
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+
+from __future__ import print_function, unicode_literals, with_statement
+from glob import glob
+
+seen = set()
+
+with open('MAINTAINERS', 'rb') as f:
+for line in f:
+line = line.decode('utf-8')
+if line.startswith('F:'):
+pattern = line.partition(':')[2].strip()
+seen.add(pattern)
+
+if not glob(pattern):
+print('No match for F: {0}'.format(pattern))
+
+# Check for missing uapi/ pattern
+for pattern in seen:
+if 'include/' in pattern:
+if 'include/uapi/' in pattern:
+other = pattern.replace('include/uapi/', 'include/')
+else:
+other = pattern.replace('include/', 'include/uapi/')
+
+if other not in seen and glob(other):
+print('Missing {0} for {1}'.format(other, pattern))
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 11/14] MAINTAINERS: fix BAST

2013-03-02 Thread Cesar Eduardo Barros
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move
mach-s3c2410/* into mach-s3c24xx/).

Cc: Ben Dooks 
Cc: Vincent Sanders 
Cc: Simtec Linux Team 
Cc: Paul Bolle 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5cb888a..b73c00d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7119,9 +7119,9 @@ P:Vincent Sanders 
 M: Simtec Linux Team 
 W: http://www.simtec.co.uk/products/EB2410ITX/
 S: Supported
-F: arch/arm/mach-s3c2410/mach-bast.c
-F: arch/arm/mach-s3c2410/bast-ide.c
-F: arch/arm/mach-s3c2410/bast-irq.c
+F: arch/arm/mach-s3c24xx/mach-bast.c
+F: arch/arm/mach-s3c24xx/bast-ide.c
+F: arch/arm/mach-s3c24xx/bast-irq.c
 
 TI DAVINCI MACHINE SUPPORT
 M: Sekhar Nori 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 14/14] MAINTAINERS: use same pattern for firewire in uapi

2013-03-02 Thread Cesar Eduardo Barros
This avoids a false positive in the checkmaintainers.py script.

Cc: Stefan Richter 
Cc: linux1394-de...@lists.sourceforge.net
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 772da4f..022317b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3236,7 +3236,7 @@ W:http://ieee1394.wiki.kernel.org/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git
 S: Maintained
 F: drivers/firewire/
-F: include/linux/firewire.h
+F: include/linux/firewire*.h
 F: include/uapi/linux/firewire*.h
 F: tools/firewire/
 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 12/14] MAINTAINERS: adjust for UAPI (part 2)

2013-03-02 Thread Cesar Eduardo Barros
More headers were moved or split to uapi/ since the last patch was
created.

Cc: David Howells 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 24 
 1 file changed, 24 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index b73c00d..772da4f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -474,6 +474,7 @@ L:  linux-...@kvack.org
 S: Supported
 F: fs/aio.c
 F: include/linux/*aio*.h
+F: include/uapi/linux/*aio*.h
 
 ALCATEL SPEEDTOUCH USB DRIVER
 M: Duncan Sands 
@@ -2178,6 +2179,7 @@ L:cgro...@vger.kernel.org
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
 S: Maintained
 F: include/linux/cgroup*
+F: include/uapi/linux/cgroup*
 F: kernel/cgroup*
 F: mm/*cgroup*
 
@@ -2493,6 +2495,7 @@ F:drivers/md/dm*
 F: drivers/md/persistent-data/
 F: include/linux/device-mapper.h
 F: include/linux/dm-*.h
+F: include/uapi/linux/dm-*.h
 
 DIOLAN U2C-12 I2C DRIVER
 M: Guenter Roeck 
@@ -3064,6 +3067,7 @@ L:net...@vger.kernel.org
 W: http://www.linuxfoundation.org/en/Net:Bridge
 S: Maintained
 F: include/linux/netfilter_bridge/
+F: include/uapi/linux/netfilter_bridge/
 F: net/bridge/
 
 EXT2 FILE SYSTEM
@@ -4557,6 +4561,7 @@ S:Supported
 F: Documentation/*/kvm.txt
 F: arch/*/kvm/
 F: arch/*/include/asm/kvm*
+F: arch/*/include/uapi/asm/kvm*
 F: include/linux/kvm*
 F: include/uapi/linux/kvm*
 F: virt/kvm/
@@ -4567,6 +4572,7 @@ L:k...@vger.kernel.org
 W: http://kvm.qumranet.com
 S: Maintained
 F: arch/x86/include/asm/svm.h
+F: arch/x86/include/uapi/asm/svm.h
 F: arch/x86/kvm/svm.c
 
 KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
@@ -4576,6 +4582,7 @@ W:http://kvm.qumranet.com
 T: git git://github.com/agraf/linux-2.6.git
 S: Supported
 F: arch/powerpc/include/asm/kvm*
+F: arch/powerpc/include/uapi/asm/kvm*
 F: arch/powerpc/kvm/
 
 KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
@@ -4585,6 +4592,7 @@ W:http://kvm.qumranet.com
 S: Supported
 F: Documentation/ia64/kvm.txt
 F: arch/ia64/include/asm/kvm*
+F: arch/ia64/include/uapi/asm/kvm*
 F: arch/ia64/kvm/
 
 KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
@@ -4596,6 +4604,7 @@ W:
http://www.ibm.com/developerworks/linux/linux390/
 S: Supported
 F: Documentation/s390/kvm.txt
 F: arch/s390/include/asm/kvm*
+F: arch/s390/include/uapi/asm/kvm*
 F: arch/s390/kvm/
 F: drivers/s390/kvm/
 
@@ -5122,6 +5131,7 @@ F:Documentation/DocBook/media/
 F: drivers/media/
 F: drivers/staging/media/
 F: include/media/
+F: include/linux/videodev2.h
 F: include/uapi/linux/dvb/
 F: include/uapi/linux/videodev2.h
 F: include/uapi/linux/media.h
@@ -5223,6 +5233,7 @@ MODULE SUPPORT
 M: Rusty Russell 
 S: Maintained
 F: include/linux/module.h
+F: include/uapi/linux/module.h
 F: kernel/module.c
 
 MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
@@ -5907,6 +5918,7 @@ L:linux-parp...@lists.infradead.org 
(subscribers-only)
 S: Orphan
 F: drivers/parport/
 F: include/linux/parport*.h
+F: include/uapi/linux/parport*.h
 F: drivers/char/ppdev.c
 F: include/uapi/linux/ppdev.h
 
@@ -5992,6 +6004,7 @@ S:Supported
 F: Documentation/PCI/
 F: drivers/pci/
 F: include/linux/pci*
+F: include/uapi/linux/pci*
 
 PCMCIA SUBSYSTEM
 P: Linux PCMCIA Team
@@ -6208,6 +6221,7 @@ S:Maintained
 F: Documentation/pps/
 F: drivers/pps/
 F: include/linux/pps*.h
+F: include/uapi/linux/pps*.h
 
 PPTP DRIVER
 M: Dmitry Kozlov 
@@ -6252,6 +6266,7 @@ S:Maintained
 F: arch/powerpc/boot/ps3*
 F: arch/powerpc/include/asm/lv1call.h
 F: arch/powerpc/include/asm/ps3*.h
+F: arch/powerpc/include/uapi/asm/ps3*.h
 F: arch/powerpc/platforms/ps3/
 F: drivers/*/ps3*
 F: drivers/ps3/
@@ -6287,6 +6302,7 @@ F:drivers/net/ethernet/freescale/gianfar_ptp.c
 F: drivers/net/phy/dp83640*
 F: drivers/ptp/*
 F: include/linux/ptp_cl*
+F: include/uapi/linux/ptp_cl*
 
 PTRACE SUPPORT
 M: Roland McGrath 
@@ -6894,6 +6910,7 @@ T:git 
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
 S: Maintained
 F: drivers/scsi/
 F: include/scsi/
+F: include/uapi/scsi/
 
 SCSI TAPE DRIVER
 M: Kai Mäkisara 
@@ -6990,6 +7007,7 @@ W:http://selinuxproject.org
 T: git git://git.infradead.org/users/eparis/selinux.git
 S: Supported
 F: include/linux/selinux*
+F: include/uapi/linux/selinux*
 F: security/selinux/
 F: scripts/selinux/
 
@@ -7693,6 +7711,7 @@ M:Balbir Singh 
 S: Maintained
 F: Documentation/accounting/taskstats*
 F: include/linux/taskstats*
+F: include/uapi/linux/taskstats*
 F: kernel/taskstats.c
 
 TC CLASSIFIER
@@ -8258,6 +8277,7 @@ T:git 
git://git.kernel.org/pub/scm

[PATCH 02/14] MAINTAINERS: remove arch/arm/plat-nomadik/

2013-03-02 Thread Cesar Eduardo Barros
The files within that directory were moved to other places over the
course of several commits. I only added the ones moved in the patch
series which finally removed the directory; untangling the rest will
take more work, since some seem to be shared with ux500.

In fact, the ARM/Ux500 ARM ARCHITECTURE block has patterns for files
named "nomadik" too. The patterns in this pair of MAINTAINER blocks
really need a review from the respective maintainters.

Cc: Alessandro Rubini 
Cc: Srinidhi Kasagar 
Cc: Linus Walleij 
Cc: STEricsson 
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5b64aa5..3c074d5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1009,8 +1009,11 @@ M:   STEricsson 

 L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
 S: Maintained
 F: arch/arm/mach-nomadik/
-F: arch/arm/plat-nomadik/
+F: drivers/clocksource/nomadik-mtu.c
 F: drivers/i2c/busses/i2c-nomadik.c
+F: include/linux/platform_data/clocksource-nomadik-mtu.h
+F: include/linux/platform_data/dma-ste-dma40.h
+F: include/linux/platform_data/pinctrl-nomadik.h
 T: git 
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
 
 ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 00/14] MAINTAINERS: fix file patterns (part 2)

2013-03-02 Thread Cesar Eduardo Barros
This patch series attempts to fix the remaining F: patterns on the
MAINTAINERS file which point to non-existing files or directories.

Several more problems with the F: patterns appeared since the previous
patch series was sent. This patch series fixes all of them, except for
the removal of drivers/rtc/rtc-sec.c (which was NAKed). It also has a
copy of the single patch from the previous series which was not applied
(fix BAST).

Patch 12 also attempts to add matching uapi/ patterns to all include
directory patterns where this was not yet done, if applicable.

The last two patches in this series are optional. They add the small
script which I used to find the broken patterns, and change one pattern
to avoid a false positive from the script.

Cesar Eduardo Barros (14):
  MAINTAINERS: remove 3c505
  MAINTAINERS: remove arch/arm/plat-nomadik/
  MAINTAINERS: remove arch/arm/plat-s3c24xx/
  MAINTAINERS: fix drivers/media/i2c/cx2341x.c
  MAINTAINERS: remove drivers/net/wan/cycx*
  MAINTAINERS: fix drivers/edac/ghes-edac.c
  MAINTAINERS: remove eexpress
  MAINTAINERS: fix mach-omap2 clockdomain/powerdomain
  MAINTAINERS: fix Documentation/video4linux/saa7134/
  MAINTAINERS: remove include/media/sh_veu.h
  MAINTAINERS: fix BAST
  MAINTAINERS: adjust for UAPI (part 2)
  scripts: add checkmaintainers.py
  MAINTAINERS: use same pattern for firewire in uapi

 MAINTAINERS | 69 -
 scripts/checkmaintainers.py | 35 +++
 2 files changed, 72 insertions(+), 32 deletions(-)
 create mode 100755 scripts/checkmaintainers.py

-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 03/14] MAINTAINERS: remove arch/arm/plat-s3c24xx/

2013-03-02 Thread Cesar Eduardo Barros
This directory was removed by commit 09ec1d7 (ARM: S3C24XX: Remove
plat-s3c24xx directory in arch/arm/).

Cc: Kukjin Kim 
Cc: Ben Dooks 
Cc: Russell King 
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3c074d5..5af82f9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1119,7 +1119,6 @@ L:linux-samsung-...@vger.kernel.org (moderated 
for non-subscribers)
 W: http://www.fluff.org/ben/linux/
 S: Maintained
 F: arch/arm/plat-samsung/
-F: arch/arm/plat-s3c24xx/
 F: arch/arm/mach-s3c24*/
 F: arch/arm/mach-s3c64xx/
 F: drivers/*/*s3c2410*
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH V2] MAINTAINERS: Update SIMTEC file patterns, remove Vincent Sanders

2013-03-02 Thread Cesar Eduardo Barros

Em 01-03-2013 17:37, Joe Perches escreveu:

On Fri, 2013-03-01 at 21:20 +0100, Paul Bolle wrote:

On Fri, 2013-03-01 at 12:02 -0800, Joe Perches wrote:

commit 85fd6d6 ("ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/")
moved the files, update the F: patterns.


The BAST MAINTAINER entry has come up a few times already. I commented
on the last time that happened in https://lkml.org/lkml/2012/11/24/96 .
Nothing has changed. I suggest to remove this entry entirely.


Seems sensible to me.  Ben?

I'm a bit surprised that all of Cesar Eduardo Barros' patches
to MAINTAINERS weren't applied.  I thought they were.  It
seems that only some of them are in.

https://lkml.org/lkml/2012/11/23/439

Cesar?  Can you please resend whatever scraps weren't applied
and make sure you cc Andrew Morton?


I just checked on my local tree, and it is only the BAST one. For some 
reason, Andrew Morton did not add that one to his tree (probably because 
there was discussion about removing the whole block instead of fixing 
it, so he prefered to take the uncontroversial ones only).


The ones which were not in Andrew's tree all went in via other trees.

It might be best for me to make a new series instead. My 
checkmaintainers.py already gives me 15 lines of output, and that is on 
top of what I have pending (BAST and part 2 of the uapi mess) rebased 
over the Linus tree. On the Linus tree, it gives me 42 lines of output.


--
Cesar Eduardo Barros
ces...@cesarb.net
cesar.bar...@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH V2] MAINTAINERS: Update SIMTEC file patterns, remove Vincent Sanders

2013-03-02 Thread Cesar Eduardo Barros

Em 01-03-2013 17:37, Joe Perches escreveu:

On Fri, 2013-03-01 at 21:20 +0100, Paul Bolle wrote:

On Fri, 2013-03-01 at 12:02 -0800, Joe Perches wrote:

commit 85fd6d6 (ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/)
moved the files, update the F: patterns.


The BAST MAINTAINER entry has come up a few times already. I commented
on the last time that happened in https://lkml.org/lkml/2012/11/24/96 .
Nothing has changed. I suggest to remove this entry entirely.


Seems sensible to me.  Ben?

I'm a bit surprised that all of Cesar Eduardo Barros' patches
to MAINTAINERS weren't applied.  I thought they were.  It
seems that only some of them are in.

https://lkml.org/lkml/2012/11/23/439

Cesar?  Can you please resend whatever scraps weren't applied
and make sure you cc Andrew Morton?


I just checked on my local tree, and it is only the BAST one. For some 
reason, Andrew Morton did not add that one to his tree (probably because 
there was discussion about removing the whole block instead of fixing 
it, so he prefered to take the uncontroversial ones only).


The ones which were not in Andrew's tree all went in via other trees.

It might be best for me to make a new series instead. My 
checkmaintainers.py already gives me 15 lines of output, and that is on 
top of what I have pending (BAST and part 2 of the uapi mess) rebased 
over the Linus tree. On the Linus tree, it gives me 42 lines of output.


--
Cesar Eduardo Barros
ces...@cesarb.net
cesar.bar...@gmail.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 03/14] MAINTAINERS: remove arch/arm/plat-s3c24xx/

2013-03-02 Thread Cesar Eduardo Barros
This directory was removed by commit 09ec1d7 (ARM: S3C24XX: Remove
plat-s3c24xx directory in arch/arm/).

Cc: Kukjin Kim kgene@samsung.com
Cc: Ben Dooks ben-li...@fluff.org
Cc: Russell King rmk+ker...@arm.linux.org.uk
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3c074d5..5af82f9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1119,7 +1119,6 @@ L:linux-samsung-...@vger.kernel.org (moderated 
for non-subscribers)
 W: http://www.fluff.org/ben/linux/
 S: Maintained
 F: arch/arm/plat-samsung/
-F: arch/arm/plat-s3c24xx/
 F: arch/arm/mach-s3c24*/
 F: arch/arm/mach-s3c64xx/
 F: drivers/*/*s3c2410*
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 02/14] MAINTAINERS: remove arch/arm/plat-nomadik/

2013-03-02 Thread Cesar Eduardo Barros
The files within that directory were moved to other places over the
course of several commits. I only added the ones moved in the patch
series which finally removed the directory; untangling the rest will
take more work, since some seem to be shared with ux500.

In fact, the ARM/Ux500 ARM ARCHITECTURE block has patterns for files
named nomadik too. The patterns in this pair of MAINTAINER blocks
really need a review from the respective maintainters.

Cc: Alessandro Rubini rub...@unipv.it
Cc: Srinidhi Kasagar srinidhi.kasa...@stericsson.com
Cc: Linus Walleij linus.wall...@linaro.org
Cc: STEricsson stericsson_nomadik_li...@list.st.com
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5b64aa5..3c074d5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1009,8 +1009,11 @@ M:   STEricsson 
stericsson_nomadik_li...@list.st.com
 L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
 S: Maintained
 F: arch/arm/mach-nomadik/
-F: arch/arm/plat-nomadik/
+F: drivers/clocksource/nomadik-mtu.c
 F: drivers/i2c/busses/i2c-nomadik.c
+F: include/linux/platform_data/clocksource-nomadik-mtu.h
+F: include/linux/platform_data/dma-ste-dma40.h
+F: include/linux/platform_data/pinctrl-nomadik.h
 T: git 
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
 
 ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 00/14] MAINTAINERS: fix file patterns (part 2)

2013-03-02 Thread Cesar Eduardo Barros
This patch series attempts to fix the remaining F: patterns on the
MAINTAINERS file which point to non-existing files or directories.

Several more problems with the F: patterns appeared since the previous
patch series was sent. This patch series fixes all of them, except for
the removal of drivers/rtc/rtc-sec.c (which was NAKed). It also has a
copy of the single patch from the previous series which was not applied
(fix BAST).

Patch 12 also attempts to add matching uapi/ patterns to all include
directory patterns where this was not yet done, if applicable.

The last two patches in this series are optional. They add the small
script which I used to find the broken patterns, and change one pattern
to avoid a false positive from the script.

Cesar Eduardo Barros (14):
  MAINTAINERS: remove 3c505
  MAINTAINERS: remove arch/arm/plat-nomadik/
  MAINTAINERS: remove arch/arm/plat-s3c24xx/
  MAINTAINERS: fix drivers/media/i2c/cx2341x.c
  MAINTAINERS: remove drivers/net/wan/cycx*
  MAINTAINERS: fix drivers/edac/ghes-edac.c
  MAINTAINERS: remove eexpress
  MAINTAINERS: fix mach-omap2 clockdomain/powerdomain
  MAINTAINERS: fix Documentation/video4linux/saa7134/
  MAINTAINERS: remove include/media/sh_veu.h
  MAINTAINERS: fix BAST
  MAINTAINERS: adjust for UAPI (part 2)
  scripts: add checkmaintainers.py
  MAINTAINERS: use same pattern for firewire in uapi

 MAINTAINERS | 69 -
 scripts/checkmaintainers.py | 35 +++
 2 files changed, 72 insertions(+), 32 deletions(-)
 create mode 100755 scripts/checkmaintainers.py

-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 14/14] MAINTAINERS: use same pattern for firewire in uapi

2013-03-02 Thread Cesar Eduardo Barros
This avoids a false positive in the checkmaintainers.py script.

Cc: Stefan Richter stef...@s5r6.in-berlin.de
Cc: linux1394-de...@lists.sourceforge.net
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 772da4f..022317b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3236,7 +3236,7 @@ W:http://ieee1394.wiki.kernel.org/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git
 S: Maintained
 F: drivers/firewire/
-F: include/linux/firewire.h
+F: include/linux/firewire*.h
 F: include/uapi/linux/firewire*.h
 F: tools/firewire/
 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 12/14] MAINTAINERS: adjust for UAPI (part 2)

2013-03-02 Thread Cesar Eduardo Barros
More headers were moved or split to uapi/ since the last patch was
created.

Cc: David Howells dhowe...@redhat.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 24 
 1 file changed, 24 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index b73c00d..772da4f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -474,6 +474,7 @@ L:  linux-...@kvack.org
 S: Supported
 F: fs/aio.c
 F: include/linux/*aio*.h
+F: include/uapi/linux/*aio*.h
 
 ALCATEL SPEEDTOUCH USB DRIVER
 M: Duncan Sands duncan.sa...@free.fr
@@ -2178,6 +2179,7 @@ L:cgro...@vger.kernel.org
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
 S: Maintained
 F: include/linux/cgroup*
+F: include/uapi/linux/cgroup*
 F: kernel/cgroup*
 F: mm/*cgroup*
 
@@ -2493,6 +2495,7 @@ F:drivers/md/dm*
 F: drivers/md/persistent-data/
 F: include/linux/device-mapper.h
 F: include/linux/dm-*.h
+F: include/uapi/linux/dm-*.h
 
 DIOLAN U2C-12 I2C DRIVER
 M: Guenter Roeck li...@roeck-us.net
@@ -3064,6 +3067,7 @@ L:net...@vger.kernel.org
 W: http://www.linuxfoundation.org/en/Net:Bridge
 S: Maintained
 F: include/linux/netfilter_bridge/
+F: include/uapi/linux/netfilter_bridge/
 F: net/bridge/
 
 EXT2 FILE SYSTEM
@@ -4557,6 +4561,7 @@ S:Supported
 F: Documentation/*/kvm.txt
 F: arch/*/kvm/
 F: arch/*/include/asm/kvm*
+F: arch/*/include/uapi/asm/kvm*
 F: include/linux/kvm*
 F: include/uapi/linux/kvm*
 F: virt/kvm/
@@ -4567,6 +4572,7 @@ L:k...@vger.kernel.org
 W: http://kvm.qumranet.com
 S: Maintained
 F: arch/x86/include/asm/svm.h
+F: arch/x86/include/uapi/asm/svm.h
 F: arch/x86/kvm/svm.c
 
 KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
@@ -4576,6 +4582,7 @@ W:http://kvm.qumranet.com
 T: git git://github.com/agraf/linux-2.6.git
 S: Supported
 F: arch/powerpc/include/asm/kvm*
+F: arch/powerpc/include/uapi/asm/kvm*
 F: arch/powerpc/kvm/
 
 KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
@@ -4585,6 +4592,7 @@ W:http://kvm.qumranet.com
 S: Supported
 F: Documentation/ia64/kvm.txt
 F: arch/ia64/include/asm/kvm*
+F: arch/ia64/include/uapi/asm/kvm*
 F: arch/ia64/kvm/
 
 KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
@@ -4596,6 +4604,7 @@ W:
http://www.ibm.com/developerworks/linux/linux390/
 S: Supported
 F: Documentation/s390/kvm.txt
 F: arch/s390/include/asm/kvm*
+F: arch/s390/include/uapi/asm/kvm*
 F: arch/s390/kvm/
 F: drivers/s390/kvm/
 
@@ -5122,6 +5131,7 @@ F:Documentation/DocBook/media/
 F: drivers/media/
 F: drivers/staging/media/
 F: include/media/
+F: include/linux/videodev2.h
 F: include/uapi/linux/dvb/
 F: include/uapi/linux/videodev2.h
 F: include/uapi/linux/media.h
@@ -5223,6 +5233,7 @@ MODULE SUPPORT
 M: Rusty Russell ru...@rustcorp.com.au
 S: Maintained
 F: include/linux/module.h
+F: include/uapi/linux/module.h
 F: kernel/module.c
 
 MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
@@ -5907,6 +5918,7 @@ L:linux-parp...@lists.infradead.org 
(subscribers-only)
 S: Orphan
 F: drivers/parport/
 F: include/linux/parport*.h
+F: include/uapi/linux/parport*.h
 F: drivers/char/ppdev.c
 F: include/uapi/linux/ppdev.h
 
@@ -5992,6 +6004,7 @@ S:Supported
 F: Documentation/PCI/
 F: drivers/pci/
 F: include/linux/pci*
+F: include/uapi/linux/pci*
 
 PCMCIA SUBSYSTEM
 P: Linux PCMCIA Team
@@ -6208,6 +6221,7 @@ S:Maintained
 F: Documentation/pps/
 F: drivers/pps/
 F: include/linux/pps*.h
+F: include/uapi/linux/pps*.h
 
 PPTP DRIVER
 M: Dmitry Kozlov x...@mail.ru
@@ -6252,6 +6266,7 @@ S:Maintained
 F: arch/powerpc/boot/ps3*
 F: arch/powerpc/include/asm/lv1call.h
 F: arch/powerpc/include/asm/ps3*.h
+F: arch/powerpc/include/uapi/asm/ps3*.h
 F: arch/powerpc/platforms/ps3/
 F: drivers/*/ps3*
 F: drivers/ps3/
@@ -6287,6 +6302,7 @@ F:drivers/net/ethernet/freescale/gianfar_ptp.c
 F: drivers/net/phy/dp83640*
 F: drivers/ptp/*
 F: include/linux/ptp_cl*
+F: include/uapi/linux/ptp_cl*
 
 PTRACE SUPPORT
 M: Roland McGrath rol...@redhat.com
@@ -6894,6 +6910,7 @@ T:git 
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
 S: Maintained
 F: drivers/scsi/
 F: include/scsi/
+F: include/uapi/scsi/
 
 SCSI TAPE DRIVER
 M: Kai Mäkisara kai.makis...@kolumbus.fi
@@ -6990,6 +7007,7 @@ W:http://selinuxproject.org
 T: git git://git.infradead.org/users/eparis/selinux.git
 S: Supported
 F: include/linux/selinux*
+F: include/uapi/linux/selinux*
 F: security/selinux/
 F: scripts/selinux/
 
@@ -7693,6 +7711,7 @@ M:Balbir Singh bsinghar...@gmail.com
 S: Maintained
 F: Documentation/accounting/taskstats*
 F

[PATCH 13/14] scripts: add checkmaintainers.py

2013-03-02 Thread Cesar Eduardo Barros
This small script checks the file patterns in the MAINTAINERS file.

For every file pattern, it checks if the pattern matches any file or
directory in the kernel tree, printing the patterns which do not have a
match.

It also checks for any file pattern pointing to any of the include
directories which does not have a corresponding UAPI file pattern, but
only if the UAPI file pattern would have a match. It also does the same
in the opposite direction.

The script is written in Python; I found its glob function more
well-behaved than Perl's. It should work on both Python 2 and Python 3
without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and
3.3.

I do not think such a short script should have a copyright. But to avoid
any problems, I arbitrarily used the GNU All-Permissive License (found
in FSF's GPL-compatible list). If needed, feel free to relicense it as
GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0.

Cc: David Howells dhowe...@redhat.com
Cc: Joe Perches j...@perches.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 scripts/checkmaintainers.py | 35 +++
 1 file changed, 35 insertions(+)
 create mode 100755 scripts/checkmaintainers.py

diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py
new file mode 100755
index 000..99740e3
--- /dev/null
+++ b/scripts/checkmaintainers.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# Quick check for missing file patterns in the MAINTAINERS file.
+#
+# Copyright (C) 2012 Cesar Eduardo Barros ces...@cesarb.net
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+
+from __future__ import print_function, unicode_literals, with_statement
+from glob import glob
+
+seen = set()
+
+with open('MAINTAINERS', 'rb') as f:
+for line in f:
+line = line.decode('utf-8')
+if line.startswith('F:'):
+pattern = line.partition(':')[2].strip()
+seen.add(pattern)
+
+if not glob(pattern):
+print('No match for F: {0}'.format(pattern))
+
+# Check for missing uapi/ pattern
+for pattern in seen:
+if 'include/' in pattern:
+if 'include/uapi/' in pattern:
+other = pattern.replace('include/uapi/', 'include/')
+else:
+other = pattern.replace('include/', 'include/uapi/')
+
+if other not in seen and glob(other):
+print('Missing {0} for {1}'.format(other, pattern))
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 11/14] MAINTAINERS: fix BAST

2013-03-02 Thread Cesar Eduardo Barros
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move
mach-s3c2410/* into mach-s3c24xx/).

Cc: Ben Dooks ben-li...@fluff.org
Cc: Vincent Sanders vi...@simtec.co.uk
Cc: Simtec Linux Team li...@simtec.co.uk
Cc: Paul Bolle pebo...@tiscali.nl
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5cb888a..b73c00d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7119,9 +7119,9 @@ P:Vincent Sanders vi...@simtec.co.uk
 M: Simtec Linux Team li...@simtec.co.uk
 W: http://www.simtec.co.uk/products/EB2410ITX/
 S: Supported
-F: arch/arm/mach-s3c2410/mach-bast.c
-F: arch/arm/mach-s3c2410/bast-ide.c
-F: arch/arm/mach-s3c2410/bast-irq.c
+F: arch/arm/mach-s3c24xx/mach-bast.c
+F: arch/arm/mach-s3c24xx/bast-ide.c
+F: arch/arm/mach-s3c24xx/bast-irq.c
 
 TI DAVINCI MACHINE SUPPORT
 M: Sekhar Nori nsek...@ti.com
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 01/14] MAINTAINERS: remove 3c505

2013-03-02 Thread Cesar Eduardo Barros
This driver was removed by commit 0e245db (drivers/net: delete the 3Com
3c505/3c507 intel i825xx support).

Cc: Paul Gortmaker paul.gortma...@windriver.com
Cc: Philip Blundell ph...@gnu.org
Cc: net...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index aea0adf..5b64aa5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -114,12 +114,6 @@ Maintainers List (try to look for most precise areas first)
 
---
 
-3C505 NETWORK DRIVER
-M: Philip Blundell ph...@gnu.org
-L: net...@vger.kernel.org
-S: Maintained
-F: drivers/net/ethernet/i825xx/3c505*
-
 3C59X NETWORK DRIVER
 M: Steffen Klassert klass...@mathematik.tu-chemnitz.de
 L: net...@vger.kernel.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 10/14] MAINTAINERS: remove include/media/sh_veu.h

2013-03-02 Thread Cesar Eduardo Barros
Apparently a copy-paste mistake; the similar sh_vou.h exists, and both
were added to MAINTAINERS by commit b618b69 ([media] MAINTAINERS: add
entries for sh_veu and sh_vou V4L2 drivers).

Cc: Guennadi Liakhovetski g.liakhovet...@gmx.de
Cc: Mauro Carvalho Chehab mche...@redhat.com
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 44b9f69..5cb888a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7088,7 +7088,6 @@ M:Guennadi Liakhovetski g.liakhovet...@gmx.de
 L: linux-me...@vger.kernel.org
 S: Maintained
 F: drivers/media/platform/sh_veu.c
-F: include/media/sh_veu.h
 
 SH_VOU V4L2 OUTPUT DRIVER
 M: Guennadi Liakhovetski g.liakhovet...@gmx.de
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 09/14] MAINTAINERS: fix Documentation/video4linux/saa7134/

2013-03-02 Thread Cesar Eduardo Barros
That directory never existed. The intention was probably to match
CARDLIST.saa7134 and README.saa7134.

Cc: Mauro Carvalho Chehab mche...@redhat.com
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 46c1288..44b9f69 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6741,7 +6741,7 @@ L:linux-me...@vger.kernel.org
 W: http://linuxtv.org
 T: git git://linuxtv.org/media_tree.git
 S: Odd fixes
-F: Documentation/video4linux/saa7134/
+F: Documentation/video4linux/*.saa7134
 F: drivers/media/pci/saa7134/
 
 SAA7146 VIDEO4LINUX-2 DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 04/14] MAINTAINERS: fix drivers/media/i2c/cx2341x.c

2013-03-02 Thread Cesar Eduardo Barros
This file was moved to drivers/media/common/ by commit 6259582 ([media]
cx2341x: move from media/i2c to media/common).

Cc: Hans Verkuil hverk...@xs4all.nl
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5af82f9..261b245 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2286,7 +2286,7 @@ L:linux-me...@vger.kernel.org
 T: git git://linuxtv.org/media_tree.git
 W: http://linuxtv.org
 S: Maintained
-F: drivers/media/i2c/cx2341x*
+F: drivers/media/common/cx2341x*
 F: include/media/cx2341x*
 
 CX88 VIDEO4LINUX DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/14] MAINTAINERS: remove drivers/net/wan/cycx*

2013-03-02 Thread Cesar Eduardo Barros
This driver was removed by commit 6fcdf4f (wanrouter: delete now
orphaned header content, files/drivers).

Cc: Paul Gortmaker paul.gortma...@windriver.com
Cc: Arnaldo Carvalho de Melo a...@redhat.com
Cc: net...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 261b245..e909cd3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2357,12 +2357,6 @@ W:   http://www.arm.linux.org.uk/
 S: Maintained
 F: drivers/video/cyber2000fb.*
 
-CYCLADES 2X SYNC CARD DRIVER
-M: Arnaldo Carvalho de Melo a...@ghostprotocols.net
-W: http://oops.ghostprotocols.net:81/blog
-S: Maintained
-F: drivers/net/wan/cycx*
-
 CYCLADES ASYNC MUX DRIVER
 W: http://www.cyclades.com/
 S: Orphan
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 08/14] MAINTAINERS: fix mach-omap2 clockdomain/powerdomain

2013-03-02 Thread Cesar Eduardo Barros
The code in these files was moved to cm*.[ch] and prm*.[ch] in the same
directory by commits 4981539 (ARM: OMAP2+: powerdomain/PRM: move the
low-level powerdomain functions into PRM) and 4bd5259 (ARM: OMAP2/3:
clockdomain/PRM/CM: move the low-level clockdomain functions into
PRM/CM).

I am not sure if this fix is correct, since there are other things in
these files. Please NAK this patch (and propose a better one) if it is
wrong.

Cc: Paul Walmsley p...@pwsan.com
Cc: Rajendra Nayak rna...@ti.com
Cc: Russ Dill russ.d...@ti.com
Cc: Santosh Shilimkar santosh.shilim...@ti.com
Cc: linux-o...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 92718d8..46c1288 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5651,10 +5651,8 @@ M:   Rajendra Nayak rna...@ti.com
 M: Paul Walmsley p...@pwsan.com
 L: linux-o...@vger.kernel.org
 S: Maintained
-F: arch/arm/mach-omap2/powerdomain2xxx_3xxx.c
-F: arch/arm/mach-omap2/powerdomain44xx.c
-F: arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
-F: arch/arm/mach-omap2/clockdomain44xx.c
+F: arch/arm/mach-omap2/cm*.[ch]
+F: arch/arm/mach-omap2/prm*.[ch]
 
 OMAP AUDIO SUPPORT
 M: Peter Ujfalusi peter.ujfal...@ti.com
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 07/14] MAINTAINERS: remove eexpress

2013-03-02 Thread Cesar Eduardo Barros
This driver was removed by commit f84932d (drivers/net: delete ISA intel
eexpress and eepro i825xx drivers).

Cc: Paul Gortmaker paul.gortma...@windriver.com
Cc: Philip Blundell ph...@gnu.org
Cc: net...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 2e1443c..92718d8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3057,12 +3057,6 @@ T:   git 
git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
 F: drivers/video/s1d13xxxfb.c
 F: include/video/s1d13xxxfb.h
 
-ETHEREXPRESS-16 NETWORK DRIVER
-M: Philip Blundell ph...@gnu.org
-L: net...@vger.kernel.org
-S: Maintained
-F: drivers/net/ethernet/i825xx/eexpress.*
-
 ETHERNET BRIDGE
 M: Stephen Hemminger step...@networkplumber.org
 L: bri...@lists.linux-foundation.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 06/14] MAINTAINERS: fix drivers/edac/ghes-edac.c

2013-03-02 Thread Cesar Eduardo Barros
Cc: Mauro Carvalho Chehab mche...@redhat.com
Cc: linux-e...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index e909cd3..2e1443c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2899,7 +2899,7 @@ M:Mauro Carvalho Chehab mche...@redhat.com
 L: linux-e...@vger.kernel.org
 W: bluesmoke.sourceforge.net
 S: Maintained
-F: drivers/edac/ghes-edac.c
+F: drivers/edac/ghes_edac.c
 
 EDAC-I82443BXGX
 M: Tim Small t...@buttersideup.com
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: add checkmaintainers.py

2012-12-17 Thread Cesar Eduardo Barros

Em 17-12-2012 15:00, Borislav Petkov escreveu:

On Mon, Dec 17, 2012 at 07:35:44AM -0800, Joe Perches wrote:

Perhaps Cesar can use his script as a starting point to find those
pattern invalidating commits or maybe add the capability (or a
--strict check) to checkpatch.


Or that, I don't have a strict preference.

So, yeah, I can see how checkpatch saying: "you've just renamed a
file and thusly invalidated a pattern in MAINTAINERS. Pls, consider
correcting the pattern" could make sense. And I would even add it to
default functionality since the MAINTAINERS patterns are something we
want to always have up-to-date, IMO.


Good idea, but a standalone MAINTAINERS checker is still useful, to 
check for things checkpatch did not catch, either because it was not 
run, or because it did not have enough information.


For instance, consider the case of a patch removing the last file in a 
directory going in via one branch, while a patch adding a file pattern 
for that same directory goes in via a separate branch. There is no way 
checkpatch can catch that.


As for finding the pattern invalidating commits, it is usually not that 
hard, a simple "git log -- " or similar usually does the trick, 
except in the cases where the pattern addition itself was wrong. The 
hard part can be interpreting it and the surrounding commits to find out 
the committer's intention, how it should affect the MAINTAINERS entry, 
and who should get a Cc: of the fix.


--
Cesar Eduardo Barros
ces...@cesarb.net
cesar.bar...@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] scripts: add checkmaintainers.py

2012-12-17 Thread Cesar Eduardo Barros

Em 17-12-2012 15:00, Borislav Petkov escreveu:

On Mon, Dec 17, 2012 at 07:35:44AM -0800, Joe Perches wrote:

Perhaps Cesar can use his script as a starting point to find those
pattern invalidating commits or maybe add the capability (or a
--strict check) to checkpatch.


Or that, I don't have a strict preference.

So, yeah, I can see how checkpatch saying: you've just renamed a
file and thusly invalidated a pattern in MAINTAINERS. Pls, consider
correcting the pattern could make sense. And I would even add it to
default functionality since the MAINTAINERS patterns are something we
want to always have up-to-date, IMO.


Good idea, but a standalone MAINTAINERS checker is still useful, to 
check for things checkpatch did not catch, either because it was not 
run, or because it did not have enough information.


For instance, consider the case of a patch removing the last file in a 
directory going in via one branch, while a patch adding a file pattern 
for that same directory goes in via a separate branch. There is no way 
checkpatch can catch that.


As for finding the pattern invalidating commits, it is usually not that 
hard, a simple git log -- pattern or similar usually does the trick, 
except in the cases where the pattern addition itself was wrong. The 
hard part can be interpreting it and the surrounding commits to find out 
the committer's intention, how it should affect the MAINTAINERS entry, 
and who should get a Cc: of the fix.


--
Cesar Eduardo Barros
ces...@cesarb.net
cesar.bar...@gmail.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] scripts: add checkmaintainers.py

2012-12-14 Thread Cesar Eduardo Barros
This small script checks the file patterns in the MAINTAINERS file.

For every file pattern, it checks if the pattern matches any file or
directory in the kernel tree, printing the patterns which do not have a
match.

It also checks for any file pattern pointing to any of the include
directories which does not have a corresponding UAPI file pattern, but
only if the UAPI file pattern would have a match. It also does the same
in the opposite direction.

The script is written in Python; I found its glob function more
well-behaved than Perl's. It should work on both Python 2 and Python 3
without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and
3.3.

I do not think such a short script should have a copyright. But to avoid
any problems, I arbitrarily used the "GNU All-Permissive License" (found
in FSF's GPL-compatible list). If needed, feel free to relicense it as
GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0.

Cc: David Howells 
Cc: Joe Perches 
Signed-off-by: Cesar Eduardo Barros 
---
 scripts/checkmaintainers.py | 35 +++
 1 file changed, 35 insertions(+)
 create mode 100755 scripts/checkmaintainers.py

diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py
new file mode 100755
index 000..99740e3
--- /dev/null
+++ b/scripts/checkmaintainers.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# Quick check for missing file patterns in the MAINTAINERS file.
+#
+# Copyright (C) 2012 Cesar Eduardo Barros 
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+
+from __future__ import print_function, unicode_literals, with_statement
+from glob import glob
+
+seen = set()
+
+with open('MAINTAINERS', 'rb') as f:
+for line in f:
+line = line.decode('utf-8')
+if line.startswith('F:'):
+pattern = line.partition(':')[2].strip()
+seen.add(pattern)
+
+if not glob(pattern):
+print('No match for F: {0}'.format(pattern))
+
+# Check for missing uapi/ pattern
+for pattern in seen:
+if 'include/' in pattern:
+if 'include/uapi/' in pattern:
+other = pattern.replace('include/uapi/', 'include/')
+else:
+other = pattern.replace('include/', 'include/uapi/')
+
+if other not in seen and glob(other):
+print('Missing {0} for {1}'.format(other, pattern))
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] scripts: add checkmaintainers.py

2012-12-14 Thread Cesar Eduardo Barros
This small script checks the file patterns in the MAINTAINERS file.

For every file pattern, it checks if the pattern matches any file or
directory in the kernel tree, printing the patterns which do not have a
match.

It also checks for any file pattern pointing to any of the include
directories which does not have a corresponding UAPI file pattern, but
only if the UAPI file pattern would have a match. It also does the same
in the opposite direction.

The script is written in Python; I found its glob function more
well-behaved than Perl's. It should work on both Python 2 and Python 3
without any changes (not even 2to3 is needed); tested on 2.7, 3.2, and
3.3.

I do not think such a short script should have a copyright. But to avoid
any problems, I arbitrarily used the GNU All-Permissive License (found
in FSF's GPL-compatible list). If needed, feel free to relicense it as
GPLv2+, 3-clause BSD, or even WTFPLv2 or CC0.

Cc: David Howells dhowe...@redhat.com
Cc: Joe Perches j...@perches.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 scripts/checkmaintainers.py | 35 +++
 1 file changed, 35 insertions(+)
 create mode 100755 scripts/checkmaintainers.py

diff --git a/scripts/checkmaintainers.py b/scripts/checkmaintainers.py
new file mode 100755
index 000..99740e3
--- /dev/null
+++ b/scripts/checkmaintainers.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# Quick check for missing file patterns in the MAINTAINERS file.
+#
+# Copyright (C) 2012 Cesar Eduardo Barros ces...@cesarb.net
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+
+from __future__ import print_function, unicode_literals, with_statement
+from glob import glob
+
+seen = set()
+
+with open('MAINTAINERS', 'rb') as f:
+for line in f:
+line = line.decode('utf-8')
+if line.startswith('F:'):
+pattern = line.partition(':')[2].strip()
+seen.add(pattern)
+
+if not glob(pattern):
+print('No match for F: {0}'.format(pattern))
+
+# Check for missing uapi/ pattern
+for pattern in seen:
+if 'include/' in pattern:
+if 'include/uapi/' in pattern:
+other = pattern.replace('include/uapi/', 'include/')
+else:
+other = pattern.replace('include/', 'include/uapi/')
+
+if other not in seen and glob(other):
+print('Missing {0} for {1}'.format(other, pattern))
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 06/19] MAINTAINERS: fix drivers/media/platform/atmel-isi.c

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to drivers/media/platform/soc_camera/atmel-isi.c by
commit b47ff4a ([media] move soc_camera to its own directory).

Cc: Mauro Carvalho Chehab 
Cc: Josh Wu 
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 1fb780e..efbdf54 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1395,7 +1395,7 @@ ATMEL ISI DRIVER
 M: Josh Wu 
 L: linux-me...@vger.kernel.org
 S: Supported
-F: drivers/media/platform/atmel-isi.c
+F: drivers/media/platform/soc_camera/atmel-isi.c
 F: include/media/atmel-isi.h
 
 ATMEL LCDFB DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 01/19] MAINTAINERS: remove drivers/platform/msm/

2012-12-11 Thread Cesar Eduardo Barros
Added by commit 8a5700c (add drivers/platform/msm to MSM subsystem) in
2011, but I could not find any trace of that directory being ever added
to the repository.

Acked-by: David Brown 
Acked-by: Bryan Huntsman 
Cc: Kenneth Heitke 
Cc: Daniel Walker 
Cc: linux-arm-...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9386a63..217630e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -987,7 +987,6 @@ F:  drivers/mmc/host/msm_sdcc.c
 F: drivers/mmc/host/msm_sdcc.h
 F: drivers/tty/serial/msm_serial.h
 F: drivers/tty/serial/msm_serial.c
-F: drivers/platform/msm/
 F: drivers/*/pm8???-*
 F: include/linux/mfd/pm8xxx/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 08/19] MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*

2012-12-11 Thread Cesar Eduardo Barros
This driver was never at dvb-usb-v2, as far as I could see.

Cc: Michael Krufky 
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8265764..b8dfc72 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2594,7 +2594,7 @@ W:http://github.com/mkrufky
 Q: http://patchwork.linuxtv.org/project/linux-media/list/
 T: git git://linuxtv.org/media_tree.git
 S: Maintained
-F: drivers/media/usb/dvb-usb-v2/cxusb*
+F: drivers/media/usb/dvb-usb/cxusb*
 
 DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER
 M: Antti Palosaari 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 07/19] MAINTAINERS: adjust for UAPI

2012-12-11 Thread Cesar Eduardo Barros
Several headers were moved or split to uapi/.

Acked-by: David Howells 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 160 
 1 file changed, 118 insertions(+), 42 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index efbdf54..8265764 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -442,6 +442,7 @@ T:  git 
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
 S: Maintained
 F: drivers/char/agp/
 F: include/linux/agp*
+F: include/uapi/linux/agp*
 
 AHA152X SCSI DRIVER
 M: "Juergen E. Fischer" 
@@ -582,6 +583,7 @@ M:  Jiri Kosina 
 S: Odd fixes
 F: arch/x86/kernel/apm_32.c
 F: include/linux/apm_bios.h
+F: include/uapi/linux/apm_bios.h
 F: drivers/char/apm-emulation.c
 
 APPLE BCM5974 MULTITOUCH DRIVER
@@ -1363,6 +1365,7 @@ W:http://linux-atm.sourceforge.net
 S: Maintained
 F: drivers/atm/
 F: include/linux/atm*
+F: include/uapi/linux/atm*
 
 ATMEL AT91 MCI DRIVER
 M: Ludovic Desroches 
@@ -1450,6 +1453,7 @@ W:http://people.redhat.com/sgrubb/audit/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
 S: Maintained
 F: include/linux/audit.h
+F: include/uapi/linux/audit.h
 F: kernel/audit*
 
 AUXILIARY DISPLAY DRIVERS
@@ -1480,7 +1484,7 @@ M:Ralf Baechle 
 L: linux-h...@vger.kernel.org
 W: http://www.linux-ax25.org/
 S: Maintained
-F: include/linux/ax25.h
+F: include/uapi/linux/ax25.h
 F: include/net/ax25.h
 F: net/ax25/
 
@@ -1533,7 +1537,7 @@ M:"Tigran A. Aivazian" 

 S: Maintained
 F: Documentation/filesystems/bfs.txt
 F: fs/bfs/
-F: include/linux/bfs_fs.h
+F: include/uapi/linux/bfs_fs.h
 
 BLACKFIN ARCHITECTURE
 M: Mike Frysinger 
@@ -1630,7 +1634,7 @@ L:net...@vger.kernel.org
 W: http://sourceforge.net/projects/bonding/
 S: Supported
 F: drivers/net/bonding/
-F: include/linux/if_bonding.h
+F: include/uapi/linux/if_bonding.h
 
 BROADCOM B44 10/100 ETHERNET DRIVER
 M: Gary Zambrano 
@@ -1710,6 +1714,7 @@ L:linux-s...@vger.kernel.org
 S: Supported
 F: block/bsg.c
 F: include/linux/bsg.h
+F: include/uapi/linux/bsg.h
 
 BT87X AUDIO DRIVER
 M: Clemens Ladisch 
@@ -1780,7 +1785,7 @@ L:net...@vger.kernel.org
 S: Supported
 F: Documentation/networking/caif/
 F: drivers/net/caif/
-F: include/linux/caif/
+F: include/uapi/linux/caif/
 F: include/net/caif/
 F: net/caif/
 
@@ -1801,11 +1806,11 @@ W:  http://gitorious.org/linux-can
 T: git git://gitorious.org/linux-can/linux-can-next.git
 S: Maintained
 F: net/can/
-F: include/linux/can.h
 F: include/linux/can/core.h
-F: include/linux/can/bcm.h
-F: include/linux/can/raw.h
-F: include/linux/can/gw.h
+F: include/uapi/linux/can.h
+F: include/uapi/linux/can/bcm.h
+F: include/uapi/linux/can/raw.h
+F: include/uapi/linux/can/gw.h
 
 CAN NETWORK DRIVERS
 M: Wolfgang Grandegger 
@@ -1816,15 +1821,16 @@ T:  git 
git://gitorious.org/linux-can/linux-can-next.git
 S: Maintained
 F: drivers/net/can/
 F: include/linux/can/dev.h
-F: include/linux/can/error.h
-F: include/linux/can/netlink.h
 F: include/linux/can/platform/
+F: include/uapi/linux/can/error.h
+F: include/uapi/linux/can/netlink.h
 
 CAPABILITIES
 M: Serge Hallyn 
 L: linux-security-mod...@vger.kernel.org
 S: Supported
 F: include/linux/capability.h
+F: include/uapi/linux/capability.h
 F: security/capability.c
 F: security/commoncap.c
 F: kernel/capability.c
@@ -1837,6 +1843,7 @@ W:http://www.ibm.com/developerworks/power/cell/
 S: Supported
 F: arch/powerpc/include/asm/cell*.h
 F: arch/powerpc/include/asm/spu*.h
+F: arch/powerpc/include/uapi/asm/spu*.h
 F: arch/powerpc/oprofile/*cell*
 F: arch/powerpc/platforms/cell/
 
@@ -1885,7 +1892,7 @@ W:http://wireless.kernel.org/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 T: git 
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 S: Maintained
-F: include/linux/nl80211.h
+F: include/uapi/linux/nl80211.h
 F: include/net/cfg80211.h
 F: net/wireless/*
 X: net/wireless/wext*
@@ -1988,6 +1995,7 @@ S:Maintained
 F: Documentation/filesystems/coda.txt
 F: fs/coda/
 F: include/linux/coda*.h
+F: include/uapi/linux/coda*.h
 
 COMMON CLK FRAMEWORK
 M: Mike Turquette 
@@ -2233,6 +2241,7 @@ W:http://www.cyclades.com/
 S: Orphan
 F: drivers/tty/cyclades.c
 F: include/linux/cyclades.h
+F: include/uapi/linux/cyclades.h
 
 CYCLADES PC300 DRIVER
 W: http://www.cyclades.com/
@@ -2290,6 +2299,7 @@ L:d...@vger.kernel.org
 W: http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp
 S: Maintained
 

[PATCH 11/19] MAINTAINERS: fix drivers/ieee802154/

2012-12-11 Thread Cesar Eduardo Barros
This directory was moved to drivers/net/ieee802154/ by commit 31d178b
(drivers/ieee802154: move ieee802154 drivers to net folder).

Cc: Alexander Smirnov 
Cc: Dmitry Eremin-Solenikov 
Cc: linux-zigbee-de...@lists.sourceforge.net
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9bc4861d..6e54716 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3800,7 +3800,7 @@ T:git 
git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
 S: Maintained
 F: net/ieee802154/
 F: net/mac802154/
-F: drivers/ieee802154/
+F: drivers/net/ieee802154/
 
 IIO SUBSYSTEM AND DRIVERS
 M: Jonathan Cameron 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 09/19] MAINTAINERS: remove drivers/video/epson1355fb.c

2012-12-11 Thread Cesar Eduardo Barros
This driver was removed by commit 1c3a918 (ARM: clps711x: Remove board
support for CEIVA).

Cc: Christopher Hoover 
Cc: Christopher Hoover 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b8dfc72..3bf84d4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2889,12 +2889,6 @@ M:   Maxim Levitsky 
 S: Maintained
 F: drivers/media/rc/ene_ir.*
 
-EPSON 1355 FRAMEBUFFER DRIVER
-M: Christopher Hoover 
-M: Christopher Hoover 
-S: Maintained
-F: drivers/video/epson1355fb.c
-
 EPSON S1D13XXX FRAMEBUFFER DRIVER
 M: Kristoffer Ericson 
 S: Maintained
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 10/19] MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to include/linux/platform_data/video-imxfb.h by
commit 82906b1 (ARM: imx: move platform_data definitions).

Acked-by: Sascha Hauer 
Cc: linux-fb...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3bf84d4..9bc4861d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3138,7 +3138,7 @@ M:Sascha Hauer 
 L: linux-fb...@vger.kernel.org
 L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
 S: Maintained
-F: arch/arm/plat-mxc/include/mach/imxfb.h
+F: include/linux/platform_data/video-imxfb.h
 F: drivers/video/imxfb.c
 
 FREESCALE SOC FS_ENET DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 12/19] MAINTAINERS: remove firmware/isci/

2012-12-11 Thread Cesar Eduardo Barros
This directory was removed by commit 7d99b3a (isci, firmware: Remove
isci fallback parameter blob and generator).

Cc: Ben Hutchings 
Cc: Dan Williams 
Cc: James Bottomley 
Cc: Intel SCU Linux support 
Cc: Lukasz Dorau 
Cc: Maciej Patelczyk 
Cc: Dave Jiang 
Cc: linux-s...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6e54716..78d07f5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3878,7 +3878,6 @@ L:linux-s...@vger.kernel.org
 T: git git://git.code.sf.net/p/intel-sas/isci
 S: Supported
 F: drivers/scsi/isci/
-F: firmware/isci/
 
 INTEL IDLE DRIVER
 M: Len Brown 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 13/19] MAINTAINERS: remove arch/x86/platform/mrst/pmu.*

2012-12-11 Thread Cesar Eduardo Barros
These files were removed by commit 1a8359e (x86/mid: Remove Intel
Moorestown).

Cc: Alan Cox 
Cc: Len Brown 
Cc: linux...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 78d07f5..fbb9c06 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3970,12 +3970,6 @@ F:   Documentation/networking/ixgbe.txt
 F: Documentation/networking/ixgbevf.txt
 F: drivers/net/ethernet/intel/
 
-INTEL MRST PMU DRIVER
-M: Len Brown 
-L: linux...@vger.kernel.org
-S: Supported
-F: arch/x86/platform/mrst/pmu.*
-
 INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
 M: Stanislav Yakovlev 
 L: linux-wirel...@vger.kernel.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 03/19] MAINTAINERS: remove arch/arm/plat-s5p/

2012-12-11 Thread Cesar Eduardo Barros
These files were merged into plat-samsung.

Acked-by: Kukjin Kim 
Cc: Ben Dooks 
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f4890a3..e013f00 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1074,7 +1074,6 @@ W:http://www.fluff.org/ben/linux/
 S: Maintained
 F: arch/arm/plat-samsung/
 F: arch/arm/plat-s3c24xx/
-F: arch/arm/plat-s5p/
 F: arch/arm/mach-s3c24*/
 F: arch/arm/mach-s3c64xx/
 F: drivers/*/*s3c2410*
@@ -1105,7 +1104,6 @@ M:Sylwester Nawrocki 
 L: linux-arm-ker...@lists.infradead.org
 L: linux-me...@vger.kernel.org
 S: Maintained
-F: arch/arm/plat-s5p/dev-fimc*
 F: arch/arm/plat-samsung/include/plat/*fimc*
 F: drivers/media/platform/s5p-fimc/
 
@@ -1116,7 +1114,7 @@ M:Jeongtae Park 
 L: linux-arm-ker...@lists.infradead.org
 L: linux-me...@vger.kernel.org
 S: Maintained
-F: arch/arm/plat-s5p/dev-mfc.c
+F: arch/arm/plat-samsung/s5p-dev-mfc.c
 F: drivers/media/platform/s5p-mfc/
 
 ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 00/19] MAINTAINERS: fix file patterns

2012-12-11 Thread Cesar Eduardo Barros
I could not find the maintainer for the MAINTAINERS file, so sending
directly to Linus. Sorry if I am mistaken.

This patch series attempts to fix F: patterns on the MAINTAINERS file
which point to non-existing files or directories.

Patch 7 also attempts to add matching uapi/ patterns to all include
directory patterns, if applicable.

The only changes since my previous posting of this patch series to
linux-kernel are: removed one NAKed patch, removed patches which are
going in via their respective subsystem trees, and added all the ACKs I
received for these patches.

Cesar Eduardo Barros (19):
  MAINTAINERS: remove drivers/platform/msm/
  MAINTAINERS: remove arch/arm/common/time-acorn.c
  MAINTAINERS: remove arch/arm/plat-s5p/
  MAINTAINERS: fix drivers/rtc/rtc-vt8500.c
  MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h
  MAINTAINERS: fix drivers/media/platform/atmel-isi.c
  MAINTAINERS: adjust for UAPI
  MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*
  MAINTAINERS: remove drivers/video/epson1355fb.c
  MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h
  MAINTAINERS: fix drivers/ieee802154/
  MAINTAINERS: remove firmware/isci/
  MAINTAINERS: remove arch/x86/platform/mrst/pmu.*
  MAINTAINERS: fix Documentation/mei/
  MAINTAINERS: remove drivers/mmc/host/imxmmc.*
  MAINTAINERS: remove arch/*/lib/perf_event*.c
  MAINTAINERS: remove include/linux/of_pwm.h
  MAINTAINERS: fix BAST
  MAINTAINERS: fix drivers/staging/sm7xx/

 MAINTAINERS | 209 +---
 1 file changed, 130 insertions(+), 79 deletions(-)

-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 15/19] MAINTAINERS: remove drivers/mmc/host/imxmmc.*

2012-12-11 Thread Cesar Eduardo Barros
This driver was removed by commit 6187fee (mmc: remove imxmmc driver).

Acked-by: Pavel Pisa 
Cc: Sascha Hauer 
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6b9fc9e..eb0cc18 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4908,12 +4908,6 @@ F:   Documentation/video4linux/meye.txt
 F: drivers/media/pci/meye/
 F: include/uapi/linux/meye.h
 
-MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
-M: Pavel Pisa 
-L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
-S: Maintained
-F: drivers/mmc/host/imxmmc.*
-
 MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 M: Jiri Slaby 
 S: Maintained
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 14/19] MAINTAINERS: fix Documentation/mei/

2012-12-11 Thread Cesar Eduardo Barros
The documentation was moved to Documentation/misc-devices/mei/ instead.

Acked-by: "Winkler, Tomas" 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index fbb9c06..6b9fc9e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4022,7 +4022,7 @@ L:linux-kernel@vger.kernel.org
 S: Supported
 F: include/uapi/linux/mei.h
 F: drivers/misc/mei/*
-F: Documentation/mei/*
+F: Documentation/misc-devices/mei/*
 
 IOC3 ETHERNET DRIVER
 M: Ralf Baechle 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 04/19] MAINTAINERS: fix drivers/rtc/rtc-vt8500.c

2012-12-11 Thread Cesar Eduardo Barros
Cc: Tony Prisk 
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index e013f00..f5df323 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1232,7 +1232,7 @@ F:drivers/video/vt8500lcdfb.*
 F: drivers/video/wm8505fb*
 F: drivers/video/wmt_ge_rops.*
 F: drivers/tty/serial/vt8500_serial.c
-F: drivers/rtc/rtc-vt8500-c
+F: drivers/rtc/rtc-vt8500.c
 
 ARM/ZIPIT Z2 SUPPORT
 M: Marek Vasut 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 16/19] MAINTAINERS: remove arch/*/lib/perf_event*.c

2012-12-11 Thread Cesar Eduardo Barros
This pattern only matched arch/frv/lib/perf_event.c, which was removed
by commit e360adb (irq_work: Add generic hardirq context callbacks).

Cc: Peter Zijlstra 
Cc: Paul Mackerras 
Cc: Ingo Molnar 
Cc: Arnaldo Carvalho de Melo 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index eb0cc18..670db8e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5682,7 +5682,6 @@ F:arch/*/kernel/perf_event*.c
 F: arch/*/kernel/*/perf_event*.c
 F: arch/*/kernel/*/*/perf_event*.c
 F: arch/*/include/asm/perf_event.h
-F: arch/*/lib/perf_event*.c
 F: arch/*/kernel/perf_callchain.c
 F: tools/perf/
 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 17/19] MAINTAINERS: remove include/linux/of_pwm.h

2012-12-11 Thread Cesar Eduardo Barros
Added by commit 200efed (pwm: Take over maintainership of the PWM
subsystem), but I could not find any trace of that file being ever added
to the repository.

Acked-by: Thierry Reding 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 670db8e..26363fd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5949,7 +5949,6 @@ T:git git://gitorious.org/linux-pwm/linux-pwm.git
 F: Documentation/pwm.txt
 F: Documentation/devicetree/bindings/pwm/
 F: include/linux/pwm.h
-F: include/linux/of_pwm.h
 F: drivers/pwm/
 F: drivers/video/backlight/pwm_bl.c
 F: include/linux/pwm_backlight.h
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 18/19] MAINTAINERS: fix BAST

2012-12-11 Thread Cesar Eduardo Barros
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move
mach-s3c2410/* into mach-s3c24xx/).

Cc: Ben Dooks 
Cc: Vincent Sanders 
Cc: Simtec Linux Team 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 26363fd..f900562 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6642,9 +6642,9 @@ P:Vincent Sanders 
 M: Simtec Linux Team 
 W: http://www.simtec.co.uk/products/EB2410ITX/
 S: Supported
-F: arch/arm/mach-s3c2410/mach-bast.c
-F: arch/arm/mach-s3c2410/bast-ide.c
-F: arch/arm/mach-s3c2410/bast-irq.c
+F: arch/arm/mach-s3c24xx/mach-bast.c
+F: arch/arm/mach-s3c24xx/bast-ide.c
+F: arch/arm/mach-s3c24xx/bast-irq.c
 
 TI DAVINCI MACHINE SUPPORT
 M: Sekhar Nori 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 19/19] MAINTAINERS: fix drivers/staging/sm7xx/

2012-12-11 Thread Cesar Eduardo Barros
This directory was moved to drivers/staging/sm7xxfb/ by commit 925aa66
(staging: sm7xxfb: sm7xx becomes sm7xxfb).

Acked-by: Javier Muñoz 
Cc: Teddy Wang 
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f900562..6bcc044 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7076,7 +7076,7 @@ F:drivers/staging/rtl8712/
 STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
 M: Teddy Wang 
 S: Odd Fixes
-F: drivers/staging/sm7xx/
+F: drivers/staging/sm7xxfb/
 
 STAGING - SOFTLOGIC 6x10 MPEG CODEC
 M: Ben Collins 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 02/19] MAINTAINERS: remove arch/arm/common/time-acorn.c

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to arch/arm/mach-rpc/time.c by commit a1be5d6 (ARM:
riscpc: move time-acorn.c to mach-rpc), and the pattern for
arch/arm/mach-rpc/ already exists.

Cc: Russell King 
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 217630e..f4890a3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1050,7 +1050,6 @@ M:Russell King 
 L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
 W: http://www.arm.linux.org.uk/
 S: Maintained
-F: arch/arm/common/time-acorn.c
 F: arch/arm/include/asm/hardware/entry-macro-iomd.S
 F: arch/arm/include/asm/hardware/ioc.h
 F: arch/arm/include/asm/hardware/iomd.h
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/19] MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to include/linux/platform_data/dma-atmel.h by commit
7cdc39e (ARM: at91: move platform_data definitions).

Cc: Nicolas Ferre 
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros 
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f5df323..1fb780e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1389,7 +1389,7 @@ L:linux-arm-ker...@lists.infradead.org (moderated 
for non-subscribers)
 S: Supported
 F: drivers/dma/at_hdmac.c
 F: drivers/dma/at_hdmac_regs.h
-F: arch/arm/mach-at91/include/mach/at_hdmac.h
+F: include/linux/platform_data/dma-atmel.h
 
 ATMEL ISI DRIVER
 M: Josh Wu 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/19] MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to include/linux/platform_data/dma-atmel.h by commit
7cdc39e (ARM: at91: move platform_data definitions).

Cc: Nicolas Ferre nicolas.fe...@atmel.com
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f5df323..1fb780e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1389,7 +1389,7 @@ L:linux-arm-ker...@lists.infradead.org (moderated 
for non-subscribers)
 S: Supported
 F: drivers/dma/at_hdmac.c
 F: drivers/dma/at_hdmac_regs.h
-F: arch/arm/mach-at91/include/mach/at_hdmac.h
+F: include/linux/platform_data/dma-atmel.h
 
 ATMEL ISI DRIVER
 M: Josh Wu josh...@atmel.com
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 02/19] MAINTAINERS: remove arch/arm/common/time-acorn.c

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to arch/arm/mach-rpc/time.c by commit a1be5d6 (ARM:
riscpc: move time-acorn.c to mach-rpc), and the pattern for
arch/arm/mach-rpc/ already exists.

Cc: Russell King li...@arm.linux.org.uk
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 217630e..f4890a3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1050,7 +1050,6 @@ M:Russell King li...@arm.linux.org.uk
 L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
 W: http://www.arm.linux.org.uk/
 S: Maintained
-F: arch/arm/common/time-acorn.c
 F: arch/arm/include/asm/hardware/entry-macro-iomd.S
 F: arch/arm/include/asm/hardware/ioc.h
 F: arch/arm/include/asm/hardware/iomd.h
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 19/19] MAINTAINERS: fix drivers/staging/sm7xx/

2012-12-11 Thread Cesar Eduardo Barros
This directory was moved to drivers/staging/sm7xxfb/ by commit 925aa66
(staging: sm7xxfb: sm7xx becomes sm7xxfb).

Acked-by: Javier Muñoz jmun...@igalia.com
Cc: Teddy Wang teddy.w...@siliconmotion.com.cn
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f900562..6bcc044 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7076,7 +7076,7 @@ F:drivers/staging/rtl8712/
 STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
 M: Teddy Wang teddy.w...@siliconmotion.com.cn
 S: Odd Fixes
-F: drivers/staging/sm7xx/
+F: drivers/staging/sm7xxfb/
 
 STAGING - SOFTLOGIC 6x10 MPEG CODEC
 M: Ben Collins bcoll...@bluecherry.net
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 18/19] MAINTAINERS: fix BAST

2012-12-11 Thread Cesar Eduardo Barros
These files were renamed by commit 85fd6d6 (ARM: S3C2410: move
mach-s3c2410/* into mach-s3c24xx/).

Cc: Ben Dooks ben-li...@fluff.org
Cc: Vincent Sanders vi...@simtec.co.uk
Cc: Simtec Linux Team li...@simtec.co.uk
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 26363fd..f900562 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6642,9 +6642,9 @@ P:Vincent Sanders vi...@simtec.co.uk
 M: Simtec Linux Team li...@simtec.co.uk
 W: http://www.simtec.co.uk/products/EB2410ITX/
 S: Supported
-F: arch/arm/mach-s3c2410/mach-bast.c
-F: arch/arm/mach-s3c2410/bast-ide.c
-F: arch/arm/mach-s3c2410/bast-irq.c
+F: arch/arm/mach-s3c24xx/mach-bast.c
+F: arch/arm/mach-s3c24xx/bast-ide.c
+F: arch/arm/mach-s3c24xx/bast-irq.c
 
 TI DAVINCI MACHINE SUPPORT
 M: Sekhar Nori nsek...@ti.com
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 17/19] MAINTAINERS: remove include/linux/of_pwm.h

2012-12-11 Thread Cesar Eduardo Barros
Added by commit 200efed (pwm: Take over maintainership of the PWM
subsystem), but I could not find any trace of that file being ever added
to the repository.

Acked-by: Thierry Reding thierry.red...@avionic-design.de
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 670db8e..26363fd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5949,7 +5949,6 @@ T:git git://gitorious.org/linux-pwm/linux-pwm.git
 F: Documentation/pwm.txt
 F: Documentation/devicetree/bindings/pwm/
 F: include/linux/pwm.h
-F: include/linux/of_pwm.h
 F: drivers/pwm/
 F: drivers/video/backlight/pwm_bl.c
 F: include/linux/pwm_backlight.h
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 04/19] MAINTAINERS: fix drivers/rtc/rtc-vt8500.c

2012-12-11 Thread Cesar Eduardo Barros
Cc: Tony Prisk li...@prisktech.co.nz
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index e013f00..f5df323 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1232,7 +1232,7 @@ F:drivers/video/vt8500lcdfb.*
 F: drivers/video/wm8505fb*
 F: drivers/video/wmt_ge_rops.*
 F: drivers/tty/serial/vt8500_serial.c
-F: drivers/rtc/rtc-vt8500-c
+F: drivers/rtc/rtc-vt8500.c
 
 ARM/ZIPIT Z2 SUPPORT
 M: Marek Vasut marek.va...@gmail.com
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 16/19] MAINTAINERS: remove arch/*/lib/perf_event*.c

2012-12-11 Thread Cesar Eduardo Barros
This pattern only matched arch/frv/lib/perf_event.c, which was removed
by commit e360adb (irq_work: Add generic hardirq context callbacks).

Cc: Peter Zijlstra a.p.zijls...@chello.nl
Cc: Paul Mackerras pau...@samba.org
Cc: Ingo Molnar mi...@redhat.com
Cc: Arnaldo Carvalho de Melo a...@ghostprotocols.net
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index eb0cc18..670db8e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5682,7 +5682,6 @@ F:arch/*/kernel/perf_event*.c
 F: arch/*/kernel/*/perf_event*.c
 F: arch/*/kernel/*/*/perf_event*.c
 F: arch/*/include/asm/perf_event.h
-F: arch/*/lib/perf_event*.c
 F: arch/*/kernel/perf_callchain.c
 F: tools/perf/
 
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 15/19] MAINTAINERS: remove drivers/mmc/host/imxmmc.*

2012-12-11 Thread Cesar Eduardo Barros
This driver was removed by commit 6187fee (mmc: remove imxmmc driver).

Acked-by: Pavel Pisa p...@cmp.felk.cvut.cz
Cc: Sascha Hauer s.ha...@pengutronix.de
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6b9fc9e..eb0cc18 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4908,12 +4908,6 @@ F:   Documentation/video4linux/meye.txt
 F: drivers/media/pci/meye/
 F: include/uapi/linux/meye.h
 
-MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
-M: Pavel Pisa pp...@pikron.com
-L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
-S: Maintained
-F: drivers/mmc/host/imxmmc.*
-
 MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 M: Jiri Slaby jirisl...@gmail.com
 S: Maintained
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 14/19] MAINTAINERS: fix Documentation/mei/

2012-12-11 Thread Cesar Eduardo Barros
The documentation was moved to Documentation/misc-devices/mei/ instead.

Acked-by: Winkler, Tomas tomas.wink...@intel.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index fbb9c06..6b9fc9e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4022,7 +4022,7 @@ L:linux-kernel@vger.kernel.org
 S: Supported
 F: include/uapi/linux/mei.h
 F: drivers/misc/mei/*
-F: Documentation/mei/*
+F: Documentation/misc-devices/mei/*
 
 IOC3 ETHERNET DRIVER
 M: Ralf Baechle r...@linux-mips.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 00/19] MAINTAINERS: fix file patterns

2012-12-11 Thread Cesar Eduardo Barros
I could not find the maintainer for the MAINTAINERS file, so sending
directly to Linus. Sorry if I am mistaken.

This patch series attempts to fix F: patterns on the MAINTAINERS file
which point to non-existing files or directories.

Patch 7 also attempts to add matching uapi/ patterns to all include
directory patterns, if applicable.

The only changes since my previous posting of this patch series to
linux-kernel are: removed one NAKed patch, removed patches which are
going in via their respective subsystem trees, and added all the ACKs I
received for these patches.

Cesar Eduardo Barros (19):
  MAINTAINERS: remove drivers/platform/msm/
  MAINTAINERS: remove arch/arm/common/time-acorn.c
  MAINTAINERS: remove arch/arm/plat-s5p/
  MAINTAINERS: fix drivers/rtc/rtc-vt8500.c
  MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h
  MAINTAINERS: fix drivers/media/platform/atmel-isi.c
  MAINTAINERS: adjust for UAPI
  MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*
  MAINTAINERS: remove drivers/video/epson1355fb.c
  MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h
  MAINTAINERS: fix drivers/ieee802154/
  MAINTAINERS: remove firmware/isci/
  MAINTAINERS: remove arch/x86/platform/mrst/pmu.*
  MAINTAINERS: fix Documentation/mei/
  MAINTAINERS: remove drivers/mmc/host/imxmmc.*
  MAINTAINERS: remove arch/*/lib/perf_event*.c
  MAINTAINERS: remove include/linux/of_pwm.h
  MAINTAINERS: fix BAST
  MAINTAINERS: fix drivers/staging/sm7xx/

 MAINTAINERS | 209 +---
 1 file changed, 130 insertions(+), 79 deletions(-)

-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 03/19] MAINTAINERS: remove arch/arm/plat-s5p/

2012-12-11 Thread Cesar Eduardo Barros
These files were merged into plat-samsung.

Acked-by: Kukjin Kim kgene@samsung.com
Cc: Ben Dooks ben-li...@fluff.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f4890a3..e013f00 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1074,7 +1074,6 @@ W:http://www.fluff.org/ben/linux/
 S: Maintained
 F: arch/arm/plat-samsung/
 F: arch/arm/plat-s3c24xx/
-F: arch/arm/plat-s5p/
 F: arch/arm/mach-s3c24*/
 F: arch/arm/mach-s3c64xx/
 F: drivers/*/*s3c2410*
@@ -1105,7 +1104,6 @@ M:Sylwester Nawrocki s.nawro...@samsung.com
 L: linux-arm-ker...@lists.infradead.org
 L: linux-me...@vger.kernel.org
 S: Maintained
-F: arch/arm/plat-s5p/dev-fimc*
 F: arch/arm/plat-samsung/include/plat/*fimc*
 F: drivers/media/platform/s5p-fimc/
 
@@ -1116,7 +1114,7 @@ M:Jeongtae Park jtp.p...@samsung.com
 L: linux-arm-ker...@lists.infradead.org
 L: linux-me...@vger.kernel.org
 S: Maintained
-F: arch/arm/plat-s5p/dev-mfc.c
+F: arch/arm/plat-samsung/s5p-dev-mfc.c
 F: drivers/media/platform/s5p-mfc/
 
 ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 13/19] MAINTAINERS: remove arch/x86/platform/mrst/pmu.*

2012-12-11 Thread Cesar Eduardo Barros
These files were removed by commit 1a8359e (x86/mid: Remove Intel
Moorestown).

Cc: Alan Cox a...@linux.intel.com
Cc: Len Brown len.br...@intel.com
Cc: linux...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 78d07f5..fbb9c06 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3970,12 +3970,6 @@ F:   Documentation/networking/ixgbe.txt
 F: Documentation/networking/ixgbevf.txt
 F: drivers/net/ethernet/intel/
 
-INTEL MRST PMU DRIVER
-M: Len Brown len.br...@intel.com
-L: linux...@vger.kernel.org
-S: Supported
-F: arch/x86/platform/mrst/pmu.*
-
 INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
 M: Stanislav Yakovlev stas.yakov...@gmail.com
 L: linux-wirel...@vger.kernel.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 12/19] MAINTAINERS: remove firmware/isci/

2012-12-11 Thread Cesar Eduardo Barros
This directory was removed by commit 7d99b3a (isci, firmware: Remove
isci fallback parameter blob and generator).

Cc: Ben Hutchings b...@decadent.org.uk
Cc: Dan Williams dan.j.willi...@intel.com
Cc: James Bottomley jbottom...@parallels.com
Cc: Intel SCU Linux support intel-linux-...@intel.com
Cc: Lukasz Dorau lukasz.do...@intel.com
Cc: Maciej Patelczyk maciej.patelc...@intel.com
Cc: Dave Jiang dave.ji...@intel.com
Cc: linux-s...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 6e54716..78d07f5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3878,7 +3878,6 @@ L:linux-s...@vger.kernel.org
 T: git git://git.code.sf.net/p/intel-sas/isci
 S: Supported
 F: drivers/scsi/isci/
-F: firmware/isci/
 
 INTEL IDLE DRIVER
 M: Len Brown l...@kernel.org
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 10/19] MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to include/linux/platform_data/video-imxfb.h by
commit 82906b1 (ARM: imx: move platform_data definitions).

Acked-by: Sascha Hauer s.ha...@pengutronix.de
Cc: linux-fb...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3bf84d4..9bc4861d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3138,7 +3138,7 @@ M:Sascha Hauer ker...@pengutronix.de
 L: linux-fb...@vger.kernel.org
 L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
 S: Maintained
-F: arch/arm/plat-mxc/include/mach/imxfb.h
+F: include/linux/platform_data/video-imxfb.h
 F: drivers/video/imxfb.c
 
 FREESCALE SOC FS_ENET DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 11/19] MAINTAINERS: fix drivers/ieee802154/

2012-12-11 Thread Cesar Eduardo Barros
This directory was moved to drivers/net/ieee802154/ by commit 31d178b
(drivers/ieee802154: move ieee802154 drivers to net folder).

Cc: Alexander Smirnov alex.bluesman.smir...@gmail.com
Cc: Dmitry Eremin-Solenikov dbarysh...@gmail.com
Cc: linux-zigbee-de...@lists.sourceforge.net
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9bc4861d..6e54716 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3800,7 +3800,7 @@ T:git 
git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
 S: Maintained
 F: net/ieee802154/
 F: net/mac802154/
-F: drivers/ieee802154/
+F: drivers/net/ieee802154/
 
 IIO SUBSYSTEM AND DRIVERS
 M: Jonathan Cameron ji...@cam.ac.uk
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 09/19] MAINTAINERS: remove drivers/video/epson1355fb.c

2012-12-11 Thread Cesar Eduardo Barros
This driver was removed by commit 1c3a918 (ARM: clps711x: Remove board
support for CEIVA).

Cc: Christopher Hoover c...@murgatroid.com
Cc: Christopher Hoover c...@hpl.hp.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b8dfc72..3bf84d4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2889,12 +2889,6 @@ M:   Maxim Levitsky maximlevit...@gmail.com
 S: Maintained
 F: drivers/media/rc/ene_ir.*
 
-EPSON 1355 FRAMEBUFFER DRIVER
-M: Christopher Hoover c...@murgatroid.com
-M: Christopher Hoover c...@hpl.hp.com
-S: Maintained
-F: drivers/video/epson1355fb.c
-
 EPSON S1D13XXX FRAMEBUFFER DRIVER
 M: Kristoffer Ericson kristoffer.eric...@gmail.com
 S: Maintained
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 08/19] MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*

2012-12-11 Thread Cesar Eduardo Barros
This driver was never at dvb-usb-v2, as far as I could see.

Cc: Michael Krufky mkru...@linuxtv.org
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8265764..b8dfc72 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2594,7 +2594,7 @@ W:http://github.com/mkrufky
 Q: http://patchwork.linuxtv.org/project/linux-media/list/
 T: git git://linuxtv.org/media_tree.git
 S: Maintained
-F: drivers/media/usb/dvb-usb-v2/cxusb*
+F: drivers/media/usb/dvb-usb/cxusb*
 
 DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER
 M: Antti Palosaari cr...@iki.fi
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 07/19] MAINTAINERS: adjust for UAPI

2012-12-11 Thread Cesar Eduardo Barros
Several headers were moved or split to uapi/.

Acked-by: David Howells dhowe...@redhat.com
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 160 
 1 file changed, 118 insertions(+), 42 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index efbdf54..8265764 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -442,6 +442,7 @@ T:  git 
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
 S: Maintained
 F: drivers/char/agp/
 F: include/linux/agp*
+F: include/uapi/linux/agp*
 
 AHA152X SCSI DRIVER
 M: Juergen E. Fischer fisc...@norbit.de
@@ -582,6 +583,7 @@ M:  Jiri Kosina jkos...@suse.cz
 S: Odd fixes
 F: arch/x86/kernel/apm_32.c
 F: include/linux/apm_bios.h
+F: include/uapi/linux/apm_bios.h
 F: drivers/char/apm-emulation.c
 
 APPLE BCM5974 MULTITOUCH DRIVER
@@ -1363,6 +1365,7 @@ W:http://linux-atm.sourceforge.net
 S: Maintained
 F: drivers/atm/
 F: include/linux/atm*
+F: include/uapi/linux/atm*
 
 ATMEL AT91 MCI DRIVER
 M: Ludovic Desroches ludovic.desroc...@atmel.com
@@ -1450,6 +1453,7 @@ W:http://people.redhat.com/sgrubb/audit/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
 S: Maintained
 F: include/linux/audit.h
+F: include/uapi/linux/audit.h
 F: kernel/audit*
 
 AUXILIARY DISPLAY DRIVERS
@@ -1480,7 +1484,7 @@ M:Ralf Baechle r...@linux-mips.org
 L: linux-h...@vger.kernel.org
 W: http://www.linux-ax25.org/
 S: Maintained
-F: include/linux/ax25.h
+F: include/uapi/linux/ax25.h
 F: include/net/ax25.h
 F: net/ax25/
 
@@ -1533,7 +1537,7 @@ M:Tigran A. Aivazian 
tig...@aivazian.fsnet.co.uk
 S: Maintained
 F: Documentation/filesystems/bfs.txt
 F: fs/bfs/
-F: include/linux/bfs_fs.h
+F: include/uapi/linux/bfs_fs.h
 
 BLACKFIN ARCHITECTURE
 M: Mike Frysinger vap...@gentoo.org
@@ -1630,7 +1634,7 @@ L:net...@vger.kernel.org
 W: http://sourceforge.net/projects/bonding/
 S: Supported
 F: drivers/net/bonding/
-F: include/linux/if_bonding.h
+F: include/uapi/linux/if_bonding.h
 
 BROADCOM B44 10/100 ETHERNET DRIVER
 M: Gary Zambrano zambr...@broadcom.com
@@ -1710,6 +1714,7 @@ L:linux-s...@vger.kernel.org
 S: Supported
 F: block/bsg.c
 F: include/linux/bsg.h
+F: include/uapi/linux/bsg.h
 
 BT87X AUDIO DRIVER
 M: Clemens Ladisch clem...@ladisch.de
@@ -1780,7 +1785,7 @@ L:net...@vger.kernel.org
 S: Supported
 F: Documentation/networking/caif/
 F: drivers/net/caif/
-F: include/linux/caif/
+F: include/uapi/linux/caif/
 F: include/net/caif/
 F: net/caif/
 
@@ -1801,11 +1806,11 @@ W:  http://gitorious.org/linux-can
 T: git git://gitorious.org/linux-can/linux-can-next.git
 S: Maintained
 F: net/can/
-F: include/linux/can.h
 F: include/linux/can/core.h
-F: include/linux/can/bcm.h
-F: include/linux/can/raw.h
-F: include/linux/can/gw.h
+F: include/uapi/linux/can.h
+F: include/uapi/linux/can/bcm.h
+F: include/uapi/linux/can/raw.h
+F: include/uapi/linux/can/gw.h
 
 CAN NETWORK DRIVERS
 M: Wolfgang Grandegger w...@grandegger.com
@@ -1816,15 +1821,16 @@ T:  git 
git://gitorious.org/linux-can/linux-can-next.git
 S: Maintained
 F: drivers/net/can/
 F: include/linux/can/dev.h
-F: include/linux/can/error.h
-F: include/linux/can/netlink.h
 F: include/linux/can/platform/
+F: include/uapi/linux/can/error.h
+F: include/uapi/linux/can/netlink.h
 
 CAPABILITIES
 M: Serge Hallyn serge.hal...@canonical.com
 L: linux-security-mod...@vger.kernel.org
 S: Supported
 F: include/linux/capability.h
+F: include/uapi/linux/capability.h
 F: security/capability.c
 F: security/commoncap.c
 F: kernel/capability.c
@@ -1837,6 +1843,7 @@ W:http://www.ibm.com/developerworks/power/cell/
 S: Supported
 F: arch/powerpc/include/asm/cell*.h
 F: arch/powerpc/include/asm/spu*.h
+F: arch/powerpc/include/uapi/asm/spu*.h
 F: arch/powerpc/oprofile/*cell*
 F: arch/powerpc/platforms/cell/
 
@@ -1885,7 +1892,7 @@ W:http://wireless.kernel.org/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 T: git 
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 S: Maintained
-F: include/linux/nl80211.h
+F: include/uapi/linux/nl80211.h
 F: include/net/cfg80211.h
 F: net/wireless/*
 X: net/wireless/wext*
@@ -1988,6 +1995,7 @@ S:Maintained
 F: Documentation/filesystems/coda.txt
 F: fs/coda/
 F: include/linux/coda*.h
+F: include/uapi/linux/coda*.h
 
 COMMON CLK FRAMEWORK
 M: Mike Turquette mturque...@ti.com
@@ -2233,6 +2241,7 @@ W:http://www.cyclades.com/
 S: Orphan
 F: drivers/tty/cyclades.c
 F: include/linux/cyclades.h
+F

[PATCH 01/19] MAINTAINERS: remove drivers/platform/msm/

2012-12-11 Thread Cesar Eduardo Barros
Added by commit 8a5700c (add drivers/platform/msm to MSM subsystem) in
2011, but I could not find any trace of that directory being ever added
to the repository.

Acked-by: David Brown dav...@codeaurora.org
Acked-by: Bryan Huntsman bry...@codeaurora.org
Cc: Kenneth Heitke khei...@codeaurora.org
Cc: Daniel Walker dwal...@fifo99.com
Cc: linux-arm-...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9386a63..217630e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -987,7 +987,6 @@ F:  drivers/mmc/host/msm_sdcc.c
 F: drivers/mmc/host/msm_sdcc.h
 F: drivers/tty/serial/msm_serial.h
 F: drivers/tty/serial/msm_serial.c
-F: drivers/platform/msm/
 F: drivers/*/pm8???-*
 F: include/linux/mfd/pm8xxx/
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 06/19] MAINTAINERS: fix drivers/media/platform/atmel-isi.c

2012-12-11 Thread Cesar Eduardo Barros
This file was moved to drivers/media/platform/soc_camera/atmel-isi.c by
commit b47ff4a ([media] move soc_camera to its own directory).

Cc: Mauro Carvalho Chehab mche...@redhat.com
Cc: Josh Wu josh...@atmel.com
Cc: linux-me...@vger.kernel.org
Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 1fb780e..efbdf54 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1395,7 +1395,7 @@ ATMEL ISI DRIVER
 M: Josh Wu josh...@atmel.com
 L: linux-me...@vger.kernel.org
 S: Supported
-F: drivers/media/platform/atmel-isi.c
+F: drivers/media/platform/soc_camera/atmel-isi.c
 F: include/media/atmel-isi.h
 
 ATMEL LCDFB DRIVER
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mv-otg: use to_delayed_work instead of cast

2012-12-04 Thread Cesar Eduardo Barros
Directly casting a work_struct pointer to a delayed_work is risky if the
work member of struct delayed_work is ever moved from being the first
member.

Instead, use the inline function to_delayed_work(), which does the same
cast in a safer way (using container_of).

Signed-off-by: Cesar Eduardo Barros 
---
 drivers/usb/otg/mv_otg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/otg/mv_otg.c b/drivers/usb/otg/mv_otg.c
index 3f124e8..156e1d9 100644
--- a/drivers/usb/otg/mv_otg.c
+++ b/drivers/usb/otg/mv_otg.c
@@ -420,7 +420,7 @@ static void mv_otg_work(struct work_struct *work)
struct usb_otg *otg;
int old_state;
 
-   mvotg = container_of((struct delayed_work *)work, struct mv_otg, work);
+   mvotg = container_of(to_delayed_work(work), struct mv_otg, work);
 
 run:
/* work queue is single thread, or we need spin_lock to protect */
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] mv-otg: use to_delayed_work instead of cast

2012-12-04 Thread Cesar Eduardo Barros
Directly casting a work_struct pointer to a delayed_work is risky if the
work member of struct delayed_work is ever moved from being the first
member.

Instead, use the inline function to_delayed_work(), which does the same
cast in a safer way (using container_of).

Signed-off-by: Cesar Eduardo Barros ces...@cesarb.net
---
 drivers/usb/otg/mv_otg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/otg/mv_otg.c b/drivers/usb/otg/mv_otg.c
index 3f124e8..156e1d9 100644
--- a/drivers/usb/otg/mv_otg.c
+++ b/drivers/usb/otg/mv_otg.c
@@ -420,7 +420,7 @@ static void mv_otg_work(struct work_struct *work)
struct usb_otg *otg;
int old_state;
 
-   mvotg = container_of((struct delayed_work *)work, struct mv_otg, work);
+   mvotg = container_of(to_delayed_work(work), struct mv_otg, work);
 
 run:
/* work queue is single thread, or we need spin_lock to protect */
-- 
1.7.11.7

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 07/24] MAINTAINERS: adjust for UAPI

2012-11-28 Thread Cesar Eduardo Barros

Em 28-11-2012 20:30, David Howells escreveu:

Cesar Eduardo Barros  wrote:


I think I will wait for your patch. Since you probably created it with the
same scripts used for the original move to uapi/, it should have less chance
of mistakes than my ad-hoc shell scripting.


I haven't scripted it.


Oh well, I will keep my patch then, and any mistakes can be fixed later.

--
Cesar Eduardo Barros
ces...@cesarb.net
cesar.bar...@gmail.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   3   >