Patchwork [U-Boot,V3,1/2] nand: Add common functions to linux/mtd/nand.h

login
register
mail settings
Submitter Simon Schwarz
Date Oct. 31, 2011, 4:34 p.m.
Message ID <1320078885-383-2-git-send-email-simonschwarzcor@gmail.com>
Download mbox | patch
Permalink /patch/122885/
State Accepted
Delegated to: Albert ARIBAUD
Headers show

Comments

Simon Schwarz - Oct. 31, 2011, 4:34 p.m.
Functions often used in SPL are now part of linux/mtd/nand.h.
Static modifiers are removed from these functions in
drivers/mtd/nand/nand_base.c.

Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com>
Cc: scottwood@freescale.com
Cc: s-paulraj@ti.com
Cc: albert.u.boot@aribaud.net
---
Changes V2:
CHG moved function definiton from nand.h to linux/mtd/nand.h because of:
	http://article.gmane.org/gmane.comp.boot-loaders.u-boot/110219

Changes V3:
CHG moved the definitions before double inculsion detection end
CHG combined function definition and prototype in one patch as advised here:
	http://article.gmane.org/gmane.comp.boot-loaders.u-boot/114558
---
 drivers/mtd/nand/nand_base.c |    6 +++---
 include/linux/mtd/nand.h     |    7 +++++++
 include/nand.h               |    3 ---
 3 files changed, 10 insertions(+), 6 deletions(-)
Scott Wood - Oct. 31, 2011, 5:52 p.m.
On 10/31/2011 11:34 AM, Simon Schwarz wrote:
> Functions often used in SPL are now part of linux/mtd/nand.h.
> Static modifiers are removed from these functions in
> drivers/mtd/nand/nand_base.c.
> 
> Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com>
> Cc: scottwood@freescale.com
> Cc: s-paulraj@ti.com
> Cc: albert.u.boot@aribaud.net

Acked-by: Scott Wood <scottwood@freescale.com>

-Scott
Albert ARIBAUD - Nov. 25, 2011, 7:05 p.m.
Hi Simon, Scott,

Le 31/10/2011 18:52, Scott Wood a écrit :
> On 10/31/2011 11:34 AM, Simon Schwarz wrote:
>> Functions often used in SPL are now part of linux/mtd/nand.h.
>> Static modifiers are removed from these functions in
>> drivers/mtd/nand/nand_base.c.
>>
>> Signed-off-by: Simon Schwarz<simonschwarzcor@gmail.com>
>> Cc: scottwood@freescale.com
>> Cc: s-paulraj@ti.com
>> Cc: albert.u.boot@aribaud.net
>
> Acked-by: Scott Wood<scottwood@freescale.com>
>
> -Scott

Uhm... Why was this delegated to me? It doesn't seem ARM related, does  it?

Amicalement,
Albert ARIBAUD - Nov. 25, 2011, 7:12 p.m.
Le 25/11/2011 20:05, Albert ARIBAUD a écrit :
> Hi Simon, Scott,
>
> Le 31/10/2011 18:52, Scott Wood a écrit :
>> On 10/31/2011 11:34 AM, Simon Schwarz wrote:
>>> Functions often used in SPL are now part of linux/mtd/nand.h.
>>> Static modifiers are removed from these functions in
>>> drivers/mtd/nand/nand_base.c.
>>>
>>> Signed-off-by: Simon Schwarz<simonschwarzcor@gmail.com>
>>> Cc: scottwood@freescale.com
>>> Cc: s-paulraj@ti.com
>>> Cc: albert.u.boot@aribaud.net
>>
>> Acked-by: Scott Wood<scottwood@freescale.com>
>>
>> -Scott
>
> Uhm... Why was this delegated to me? It doesn't seem ARM related, does it?

Never mind. Got it.

> Amicalement,

Amicalement,

Patch

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index e7dfcb1..109d2cf 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -133,7 +133,7 @@  static void nand_release_device (struct mtd_info *mtd)
  *
  * Default read function for 8bit buswith
  */
-static uint8_t nand_read_byte(struct mtd_info *mtd)
+uint8_t nand_read_byte(struct mtd_info *mtd)
 {
 	struct nand_chip *chip = mtd->priv;
 	return readb(chip->IO_ADDR_R);
@@ -196,7 +196,7 @@  static void nand_select_chip(struct mtd_info *mtd, int chipnr)
  *
  * Default write function for 8bit buswith
  */
-static void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
+void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
 {
 	int i;
 	struct nand_chip *chip = mtd->priv;
@@ -249,7 +249,7 @@  static int nand_verify_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
  *
  * Default write function for 16bit buswith
  */
-static void nand_write_buf16(struct mtd_info *mtd, const uint8_t *buf, int len)
+void nand_write_buf16(struct mtd_info *mtd, const uint8_t *buf, int len)
 {
 	int i;
 	struct nand_chip *chip = mtd->priv;
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 987a2ec..1cdc7ae 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -623,4 +623,11 @@  struct platform_nand_chip *get_platform_nandchip(struct mtd_info *mtd)
 	return chip->priv;
 }
 
+/* Standard NAND functions from nand_base.c */
+void nand_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len);
+void nand_write_buf16(struct mtd_info *mtd, const uint8_t *buf, int len);
+void nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len);
+void nand_read_buf16(struct mtd_info *mtd, uint8_t *buf, int len);
+uint8_t nand_read_byte(struct mtd_info *mtd);
+
 #endif /* __LINUX_MTD_NAND_H */
diff --git a/include/nand.h b/include/nand.h
index b4140794..d444ddc 100644
--- a/include/nand.h
+++ b/include/nand.h
@@ -135,9 +135,6 @@  int nand_get_lock_status(nand_info_t *meminfo, loff_t offset);
 int nand_spl_load_image(uint32_t offs, unsigned int size, void *dst);
 void nand_deselect(void);
 
-void nand_read_buf16(struct mtd_info *mtd, uint8_t *buf, int len);
-void nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len);
-
 #ifdef CONFIG_SYS_NAND_SELECT_DEVICE
 void board_nand_select_device(struct nand_chip *nand, int chip);
 #endif