forked from luck/tmp_suning_uos_patched
Pb1200/DBAu1200: fix bad IDE resource size
The header files for the Pb1200/DBAu1200 boards have wrong definition for the IDE interface's decoded range length -- it should be 512 bytes according to what the IDE driver does. In addition, the IDE platform device claims 1 byte too many for its memory resource -- fix the platform code and the IDE driver in accordance. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
fabd3a223a
commit
b4dcaea36b
|
@ -189,7 +189,7 @@ static struct resource au1200_lcd_resources[] = {
|
|||
static struct resource au1200_ide0_resources[] = {
|
||||
[0] = {
|
||||
.start = AU1XXX_ATA_PHYS_ADDR,
|
||||
.end = AU1XXX_ATA_PHYS_ADDR + AU1XXX_ATA_PHYS_LEN,
|
||||
.end = AU1XXX_ATA_PHYS_ADDR + AU1XXX_ATA_PHYS_LEN - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
|
|
|
@ -586,13 +586,14 @@ static int au_ide_probe(struct device *dev)
|
|||
goto out;
|
||||
}
|
||||
|
||||
if (!request_mem_region (res->start, res->end-res->start, pdev->name)) {
|
||||
if (!request_mem_region(res->start, res->end - res->start + 1,
|
||||
pdev->name)) {
|
||||
pr_debug("%s: request_mem_region failed\n", DRV_NAME);
|
||||
ret = -EBUSY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ahwif->regbase = (u32)ioremap(res->start, res->end-res->start);
|
||||
ahwif->regbase = (u32)ioremap(res->start, res->end - res->start + 1);
|
||||
if (ahwif->regbase == 0) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
|
@ -677,7 +678,7 @@ static int au_ide_remove(struct device *dev)
|
|||
iounmap((void *)ahwif->regbase);
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
release_mem_region(res->start, res->end - res->start);
|
||||
release_mem_region(res->start, res->end - res->start + 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -173,8 +173,8 @@ static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
|
|||
#define AU1XXX_SMC91111_IRQ DB1200_ETH_INT
|
||||
|
||||
#define AU1XXX_ATA_PHYS_ADDR (0x18800000)
|
||||
#define AU1XXX_ATA_PHYS_LEN (0x100)
|
||||
#define AU1XXX_ATA_REG_OFFSET (5)
|
||||
#define AU1XXX_ATA_REG_OFFSET (5)
|
||||
#define AU1XXX_ATA_PHYS_LEN (16 << AU1XXX_ATA_REG_OFFSET)
|
||||
#define AU1XXX_ATA_INT DB1200_IDE_INT
|
||||
#define AU1XXX_ATA_DDMA_REQ DSCR_CMD0_DMA_REQ1;
|
||||
#define AU1XXX_ATA_RQSIZE 128
|
||||
|
|
|
@ -186,8 +186,8 @@ static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
|
|||
#define AU1XXX_SMC91111_IRQ PB1200_ETH_INT
|
||||
|
||||
#define AU1XXX_ATA_PHYS_ADDR (0x0C800000)
|
||||
#define AU1XXX_ATA_PHYS_LEN (0x100)
|
||||
#define AU1XXX_ATA_REG_OFFSET (5)
|
||||
#define AU1XXX_ATA_REG_OFFSET (5)
|
||||
#define AU1XXX_ATA_PHYS_LEN (16 << AU1XXX_ATA_REG_OFFSET)
|
||||
#define AU1XXX_ATA_INT PB1200_IDE_INT
|
||||
#define AU1XXX_ATA_DDMA_REQ DSCR_CMD0_DMA_REQ1;
|
||||
#define AU1XXX_ATA_RQSIZE 128
|
||||
|
|
Loading…
Reference in New Issue
Block a user