Skip to content

Commit

Permalink
mtd: unify status enum from three headers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Alessandro Rubini authored and David Woodhouse committed Sep 24, 2009
1 parent c62d81b commit 30631cb
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 32 deletions.
7 changes: 7 additions & 0 deletions include/linux/mtd/flashchip.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ typedef enum {
FL_XIP_WHILE_ERASING,
FL_XIP_WHILE_WRITING,
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
} flstate_t;

Expand Down
17 changes: 2 additions & 15 deletions include/linux/mtd/nand.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/wait.h>
#include <linux/spinlock.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/flashchip.h>
#include <linux/mtd/bbm.h>

struct mtd_info;
Expand Down Expand Up @@ -203,20 +204,6 @@ typedef enum {
#define NAND_CI_CHIPNR_MSK 0x03
#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 */
struct nand_chip;

Expand Down Expand Up @@ -403,7 +390,7 @@ struct nand_chip {
uint8_t cellinfo;
int badblockpos;

nand_state_t state;
flstate_t state;

uint8_t *oob_poi;
struct nand_hw_control *controller;
Expand Down
19 changes: 2 additions & 17 deletions include/linux/mtd/onenand.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

#include <linux/spinlock.h>
#include <linux/completion.h>
#include <linux/mtd/flashchip.h>
#include <linux/mtd/onenand_regs.h>
#include <linux/mtd/bbm.h>

Expand All @@ -25,22 +26,6 @@ extern int onenand_scan(struct mtd_info *mtd, int max_chips);
/* Free resources held by the OneNAND device */
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
* @blockpage: block & page address in BufferRAM
Expand Down Expand Up @@ -137,7 +122,7 @@ struct onenand_chip {

spinlock_t chip_lock;
wait_queue_head_t wq;
onenand_state_t state;
flstate_t state;
unsigned char *page_buf;
unsigned char *oob_buf;

Expand Down

0 comments on commit 30631cb

Please sign in to comment.