提交 5559bca8 编写于 作者: R Russell King 提交者: Russell King

[ARM] ecard: Convert card type enum to a flag

'type' in the struct expansion_card is only used to indicate
whether this card is an EASI card or not.  Therefore, having
it as an enum is wasteful (and introduces additional noise
when we come to remove the enum.)  Convert it to a mere flag
instead.
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 c0b04d1b
...@@ -126,7 +126,7 @@ static void ecard_task_reset(struct ecard_request *req) ...@@ -126,7 +126,7 @@ static void ecard_task_reset(struct ecard_request *req)
res = ec->slot_no == 8 res = ec->slot_no == 8
? &ec->resource[ECARD_RES_MEMC] ? &ec->resource[ECARD_RES_MEMC]
: ec->type == ECARD_EASI : ec->easi
? &ec->resource[ECARD_RES_EASI] ? &ec->resource[ECARD_RES_EASI]
: &ec->resource[ECARD_RES_IOCSYNC]; : &ec->resource[ECARD_RES_IOCSYNC];
...@@ -181,7 +181,7 @@ static void ecard_task_readbytes(struct ecard_request *req) ...@@ -181,7 +181,7 @@ static void ecard_task_readbytes(struct ecard_request *req)
index += 1; index += 1;
} }
} else { } else {
unsigned long base = (ec->type == ECARD_EASI unsigned long base = (ec->easi
? &ec->resource[ECARD_RES_EASI] ? &ec->resource[ECARD_RES_EASI]
: &ec->resource[ECARD_RES_IOCSYNC])->start; : &ec->resource[ECARD_RES_IOCSYNC])->start;
void __iomem *pbase = (void __iomem *)base; void __iomem *pbase = (void __iomem *)base;
...@@ -728,7 +728,7 @@ static int ecard_prints(char *buffer, ecard_t *ec) ...@@ -728,7 +728,7 @@ static int ecard_prints(char *buffer, ecard_t *ec)
char *start = buffer; char *start = buffer;
buffer += sprintf(buffer, " %d: %s ", ec->slot_no, buffer += sprintf(buffer, " %d: %s ", ec->slot_no,
ec->type == ECARD_EASI ? "EASI" : " "); ec->easi ? "EASI" : " ");
if (ec->cid.id == 0) { if (ec->cid.id == 0) {
struct in_chunk_dir incd; struct in_chunk_dir incd;
...@@ -815,7 +815,7 @@ static struct expansion_card *__init ecard_alloc_card(int type, int slot) ...@@ -815,7 +815,7 @@ static struct expansion_card *__init ecard_alloc_card(int type, int slot)
} }
ec->slot_no = slot; ec->slot_no = slot;
ec->type = type; ec->easi = type == ECARD_EASI;
ec->irq = NO_IRQ; ec->irq = NO_IRQ;
ec->fiq = NO_IRQ; ec->fiq = NO_IRQ;
ec->dma = NO_DMA; ec->dma = NO_DMA;
...@@ -909,7 +909,7 @@ static ssize_t ecard_show_device(struct device *dev, struct device_attribute *at ...@@ -909,7 +909,7 @@ static ssize_t ecard_show_device(struct device *dev, struct device_attribute *at
static ssize_t ecard_show_type(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t ecard_show_type(struct device *dev, struct device_attribute *attr, char *buf)
{ {
struct expansion_card *ec = ECARD_DEV(dev); struct expansion_card *ec = ECARD_DEV(dev);
return sprintf(buf, "%s\n", ec->type == ECARD_EASI ? "EASI" : "IOC"); return sprintf(buf, "%s\n", ec->easi ? "EASI" : "IOC");
} }
static struct device_attribute ecard_dev_attrs[] = { static struct device_attribute ecard_dev_attrs[] = {
......
...@@ -160,6 +160,7 @@ struct expansion_card { ...@@ -160,6 +160,7 @@ struct expansion_card {
unsigned char irqmask; /* IRQ mask */ unsigned char irqmask; /* IRQ mask */
unsigned char fiqmask; /* FIQ mask */ unsigned char fiqmask; /* FIQ mask */
unsigned char claimed; /* Card claimed? */ unsigned char claimed; /* Card claimed? */
unsigned char easi; /* EASI card */
void *irq_data; /* Data for use for IRQ by card */ void *irq_data; /* Data for use for IRQ by card */
void *fiq_data; /* Data for use for FIQ by card */ void *fiq_data; /* Data for use for FIQ by card */
...@@ -169,7 +170,6 @@ struct expansion_card { ...@@ -169,7 +170,6 @@ struct expansion_card {
CONST unsigned int dma; /* DMA number (for request_dma) */ CONST unsigned int dma; /* DMA number (for request_dma) */
CONST unsigned int irq; /* IRQ number (for request_irq) */ CONST unsigned int irq; /* IRQ number (for request_irq) */
CONST unsigned int fiq; /* FIQ number (for request_irq) */ CONST unsigned int fiq; /* FIQ number (for request_irq) */
CONST card_type_t type; /* Type of card */
CONST struct in_ecid cid; /* Card Identification */ CONST struct in_ecid cid; /* Card Identification */
/* Private internal data */ /* Private internal data */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册