Commit 979da355 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Miquel Raynal

mtd: rawnand: denali: remove DENALI_NR_BANKS macro

Use the runtime-detected denali->nbanks instead of hard-coded
DENALI_NR_BANKS (=4).

The actual number of banks depends on the IP configuration, and
can be less than DENALI_NR_BANKS. It is pointless to touch
registers of unsupported banks.
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent d8e8fd0e
...@@ -40,7 +40,6 @@ ...@@ -40,7 +40,6 @@
#define DENALI_BANK(denali) ((denali)->active_bank << 24) #define DENALI_BANK(denali) ((denali)->active_bank << 24)
#define DENALI_INVALID_BANK -1 #define DENALI_INVALID_BANK -1
#define DENALI_NR_BANKS 4
static struct denali_chip *to_denali_chip(struct nand_chip *chip) static struct denali_chip *to_denali_chip(struct nand_chip *chip)
{ {
...@@ -92,7 +91,7 @@ static void denali_enable_irq(struct denali_controller *denali) ...@@ -92,7 +91,7 @@ static void denali_enable_irq(struct denali_controller *denali)
{ {
int i; int i;
for (i = 0; i < DENALI_NR_BANKS; i++) for (i = 0; i < denali->nbanks; i++)
iowrite32(U32_MAX, denali->reg + INTR_EN(i)); iowrite32(U32_MAX, denali->reg + INTR_EN(i));
iowrite32(GLOBAL_INT_EN_FLAG, denali->reg + GLOBAL_INT_ENABLE); iowrite32(GLOBAL_INT_EN_FLAG, denali->reg + GLOBAL_INT_ENABLE);
} }
...@@ -101,7 +100,7 @@ static void denali_disable_irq(struct denali_controller *denali) ...@@ -101,7 +100,7 @@ static void denali_disable_irq(struct denali_controller *denali)
{ {
int i; int i;
for (i = 0; i < DENALI_NR_BANKS; i++) for (i = 0; i < denali->nbanks; i++)
iowrite32(0, denali->reg + INTR_EN(i)); iowrite32(0, denali->reg + INTR_EN(i));
iowrite32(0, denali->reg + GLOBAL_INT_ENABLE); iowrite32(0, denali->reg + GLOBAL_INT_ENABLE);
} }
...@@ -117,7 +116,7 @@ static void denali_clear_irq_all(struct denali_controller *denali) ...@@ -117,7 +116,7 @@ static void denali_clear_irq_all(struct denali_controller *denali)
{ {
int i; int i;
for (i = 0; i < DENALI_NR_BANKS; i++) for (i = 0; i < denali->nbanks; i++)
denali_clear_irq(denali, i, U32_MAX); denali_clear_irq(denali, i, U32_MAX);
} }
...@@ -130,7 +129,7 @@ static irqreturn_t denali_isr(int irq, void *dev_id) ...@@ -130,7 +129,7 @@ static irqreturn_t denali_isr(int irq, void *dev_id)
spin_lock(&denali->irq_lock); spin_lock(&denali->irq_lock);
for (i = 0; i < DENALI_NR_BANKS; i++) { for (i = 0; i < denali->nbanks; i++) {
irq_status = ioread32(denali->reg + INTR_STATUS(i)); irq_status = ioread32(denali->reg + INTR_STATUS(i));
if (irq_status) if (irq_status)
ret = IRQ_HANDLED; ret = IRQ_HANDLED;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment