mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
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: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
d8e8fd0ebf
commit
979da35536
@ -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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
|
|
||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user