mirror of https://gitee.com/openkylin/linux.git
mtd: unify status enum from three headers
nand.h, onenand.h and flashchip.h defined enumeration types for chip status using the same symbolic names. This prevented a board file to include more than one of them. In particular, no nand and onenand platform devices could live in the same file. This patch augments flashchip.h with a few status values in order to cover all cases, so nand.h and onenand.h can use flstate_t without declaring their own status enum. Signed-off-by: Alessandro Rubini <rubini@unipv.it> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
c62d81bcfe
commit
30631cb82d
|
@ -38,6 +38,13 @@ typedef enum {
|
||||||
FL_XIP_WHILE_ERASING,
|
FL_XIP_WHILE_ERASING,
|
||||||
FL_XIP_WHILE_WRITING,
|
FL_XIP_WHILE_WRITING,
|
||||||
FL_SHUTDOWN,
|
FL_SHUTDOWN,
|
||||||
|
/* These 2 come from nand_state_t, which has been unified here */
|
||||||
|
FL_READING,
|
||||||
|
FL_CACHEDPRG,
|
||||||
|
/* These 2 come from onenand_state_t, which has been unified here */
|
||||||
|
FL_RESETING,
|
||||||
|
FL_OTPING,
|
||||||
|
|
||||||
FL_UNKNOWN
|
FL_UNKNOWN
|
||||||
} flstate_t;
|
} flstate_t;
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/mtd/mtd.h>
|
#include <linux/mtd/mtd.h>
|
||||||
|
#include <linux/mtd/flashchip.h>
|
||||||
#include <linux/mtd/bbm.h>
|
#include <linux/mtd/bbm.h>
|
||||||
|
|
||||||
struct mtd_info;
|
struct mtd_info;
|
||||||
|
@ -203,20 +204,6 @@ typedef enum {
|
||||||
#define NAND_CI_CHIPNR_MSK 0x03
|
#define NAND_CI_CHIPNR_MSK 0x03
|
||||||
#define NAND_CI_CELLTYPE_MSK 0x0C
|
#define NAND_CI_CELLTYPE_MSK 0x0C
|
||||||
|
|
||||||
/*
|
|
||||||
* nand_state_t - chip states
|
|
||||||
* Enumeration for NAND flash chip state
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
FL_READY,
|
|
||||||
FL_READING,
|
|
||||||
FL_WRITING,
|
|
||||||
FL_ERASING,
|
|
||||||
FL_SYNCING,
|
|
||||||
FL_CACHEDPRG,
|
|
||||||
FL_PM_SUSPENDED,
|
|
||||||
} nand_state_t;
|
|
||||||
|
|
||||||
/* Keep gcc happy */
|
/* Keep gcc happy */
|
||||||
struct nand_chip;
|
struct nand_chip;
|
||||||
|
|
||||||
|
@ -403,7 +390,7 @@ struct nand_chip {
|
||||||
uint8_t cellinfo;
|
uint8_t cellinfo;
|
||||||
int badblockpos;
|
int badblockpos;
|
||||||
|
|
||||||
nand_state_t state;
|
flstate_t state;
|
||||||
|
|
||||||
uint8_t *oob_poi;
|
uint8_t *oob_poi;
|
||||||
struct nand_hw_control *controller;
|
struct nand_hw_control *controller;
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
#include <linux/completion.h>
|
#include <linux/completion.h>
|
||||||
|
#include <linux/mtd/flashchip.h>
|
||||||
#include <linux/mtd/onenand_regs.h>
|
#include <linux/mtd/onenand_regs.h>
|
||||||
#include <linux/mtd/bbm.h>
|
#include <linux/mtd/bbm.h>
|
||||||
|
|
||||||
|
@ -25,22 +26,6 @@ extern int onenand_scan(struct mtd_info *mtd, int max_chips);
|
||||||
/* Free resources held by the OneNAND device */
|
/* Free resources held by the OneNAND device */
|
||||||
extern void onenand_release(struct mtd_info *mtd);
|
extern void onenand_release(struct mtd_info *mtd);
|
||||||
|
|
||||||
/*
|
|
||||||
* onenand_state_t - chip states
|
|
||||||
* Enumeration for OneNAND flash chip state
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
FL_READY,
|
|
||||||
FL_READING,
|
|
||||||
FL_WRITING,
|
|
||||||
FL_ERASING,
|
|
||||||
FL_SYNCING,
|
|
||||||
FL_LOCKING,
|
|
||||||
FL_RESETING,
|
|
||||||
FL_OTPING,
|
|
||||||
FL_PM_SUSPENDED,
|
|
||||||
} onenand_state_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct onenand_bufferram - OneNAND BufferRAM Data
|
* struct onenand_bufferram - OneNAND BufferRAM Data
|
||||||
* @blockpage: block & page address in BufferRAM
|
* @blockpage: block & page address in BufferRAM
|
||||||
|
@ -137,7 +122,7 @@ struct onenand_chip {
|
||||||
|
|
||||||
spinlock_t chip_lock;
|
spinlock_t chip_lock;
|
||||||
wait_queue_head_t wq;
|
wait_queue_head_t wq;
|
||||||
onenand_state_t state;
|
flstate_t state;
|
||||||
unsigned char *page_buf;
|
unsigned char *page_buf;
|
||||||
unsigned char *oob_buf;
|
unsigned char *oob_buf;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue