Subject: [PATCH] avr32: fix build failures from mis-naming of atmel_nand.h

From: [email-masked] (Paul Gortmaker)
Date: Thu, 22 Mar 2012 01:18:40 -0400

[Re: [PATCH] avr32: fix build failures from mis-naming of atmel_nand.h] On 21/03/2012 (Wed 09:26) Nicolas Ferre wrote:

> On 03/21/2012 08:26 AM, Hans-Christian Egtvedt :
> > Around Tue 20 Mar 2012 22:15:28 -0400 or thereabout, Paul Gortmaker wrote:
> >> Commit bf4289cba02b8cf770ecd7959ca70839f0dd9d3c (linux-next)
> >>
> >>     "ATMEL: fix nand ecc support"
> >>
> >> indicated that it wanted to "Move platform data to a common
> >> header include/linux/platform_data/atmel_nand.h" and the new
> >> header even had re-include protectors with:
> >>
> >>     #ifndef __ATMEL_NAND_H__
> >>
> >> However, the file that was added was simply called atmel.h
> >> and this caused avr32 defconfig to fail with:
> >>
> >>   In file included from arch/avr32/boards/atstk1000/setup.c:22:
> >>   arch/avr32/mach-at32ap/include/mach/board.h:10:44: error: linux/platform_data/atmel_nand.h: No such file or directory
> >>   In file included from arch/avr32/boards/atstk1000/setup.c:22:
> >>   arch/avr32/mach-at32ap/include/mach/board.h:121: warning: 'struct atmel_nand_data' declared inside parameter list
> >>   arch/avr32/mach-at32ap/include/mach/board.h:121: warning: its scope is only this definition or declaration, which is probably not what you want
> >>   make[2]: *** [arch/avr32/boards/atstk1000/setup.o] Error 1
> >>
> >> Rename the file to match the original intention, and fix up the
> >> users who reference the bad name without the _nand suffix.
> > 
> > Thanks fixing this.
> 
> 
> Yes, we need to fix this. But I would not like to see this
> "platform_data/atmel.h" renamed: I think that this file was designed to
> collect several common platform data (ie: not just NAND related).
> 
> So maybe we should just rename the entry that exists in
> mach-at32ap/include/mach/board.h
> and remove all occurrences of platform_data/atmel_nand.h

Funny, since this is what I did 1st before I re-read the original commit
log in more detail. :)  Oh well.  Here is the alternate solution.  You
guys can pick whichever one you like best.  I compile tested this one
as well.

Thanks,
Paul.
---

>>From 73c01b7ed8fd2732661fa1ca726c48096f4651f2 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <[email-masked]>
Date: Tue, 20 Mar 2012 21:55:46 -0400
Subject: [PATCH] avr32: fix build failures from mis-naming of atmel_nand.h

Commit bf4289cba02b8cf770ecd7959ca70839f0dd9d3c (linux-next)

    "ATMEL: fix nand ecc support"

indicated that it wanted to "Move platform data to a common
header include/linux/platform_data/atmel_nand.h" and the new
header even had re-include protectors with:

    #ifndef __ATMEL_NAND_H__

However, the file that was added was simply called atmel.h
and this caused avr32 defconfig to fail with:

  In file included from arch/avr32/boards/atstk1000/setup.c:22:
  arch/avr32/mach-at32ap/include/mach/board.h:10:44: error: linux/platform_data/atmel_nand.h: No such file or directory
  In file included from arch/avr32/boards/atstk1000/setup.c:22:
  arch/avr32/mach-at32ap/include/mach/board.h:121: warning: 'struct atmel_nand_data' declared inside parameter list
  arch/avr32/mach-at32ap/include/mach/board.h:121: warning: its scope is only this definition or declaration, which is probably not what you want
  make[2]: *** [arch/avr32/boards/atstk1000/setup.o] Error 1

It seems the scope of the file contents will expand beyond
just nand, so ignore the original intention, and fix up the
users who reference the bad name with the _nand suffix.

Signed-off-by: Paul Gortmaker <[email-masked]>
CC: Jean-Christophe PLAGNIOL-VILLARD <[email-masked]>
CC: Hans-Christian Egtvedt <[email-masked]>
CC: David Woodhouse <[email-masked]>

diff --git a/arch/avr32/mach-at32ap/include/mach/board.h b/arch/avr32/mach-at32ap/include/mach/board.h
index 7173386..70742ec 100644
--- a/arch/avr32/mach-at32ap/include/mach/board.h
+++ b/arch/avr32/mach-at32ap/include/mach/board.h
@@ -7,7 +7,7 @@
 #include <linux/types.h>
 #include <linux/serial.h>
 #include <linux/platform_data/macb.h>
-#include <linux/platform_data/atmel_nand.h>
+#include <linux/platform_data/atmel.h>
 
 #define GPIO_PIN_NONE	(-1)
 
diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h
index d056263..b0f2c56 100644
--- a/include/linux/platform_data/atmel.h
+++ b/include/linux/platform_data/atmel.h
@@ -4,8 +4,8 @@
  * GPL v2 Only
  */
 
-#ifndef __ATMEL_NAND_H__
-#define __ATMEL_NAND_H__
+#ifndef __ATMEL_H__
+#define __ATMEL_H__
 
 #include <linux/mtd/nand.h>
 
@@ -24,4 +24,4 @@ struct atmel_nand_data {
 	unsigned int	num_parts;
 };
 
-#endif /* __ATMEL_NAND_H__ */
+#endif /* __ATMEL_H__ */
-- 
1.7.9.1