Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4dcaea3 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Bartlomiej Zolnierkiewicz
Browse files

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: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent fabd3a22
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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] = {
+4 −3
Original line number Diff line number Diff line
@@ -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;
}
+2 −2
Original line number Diff line number Diff line
@@ -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_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
+2 −2
Original line number Diff line number Diff line
@@ -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_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