j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Author: blueswirl Date: Thu May 27 22:11:56 2010 New Revision: 782 URL: http://tracker.coreboot.org/trac/openbios/changeset/782
Log: ide: fix property data size
Signed-off-by: Igor V. Kovalenko igor.v.kovalenko@gmail.com Signed-off-by: Blue Swirl blauwirbel@gmail.com
Modified: trunk/openbios-devel/drivers/ide.c
Modified: trunk/openbios-devel/drivers/ide.c ============================================================================== --- trunk/openbios-devel/drivers/ide.c Thu May 27 22:11:53 2010 (r781) +++ trunk/openbios-devel/drivers/ide.c Thu May 27 22:11:56 2010 (r782) @@ -1369,7 +1369,7 @@ struct ide_channel *chan; int io_ports[IDE_MAX_CHANNELS]; int ctl_ports[IDE_MAX_CHANNELS]; - cell props[6]; + u32 props[6];
io_ports[0] = io_port0; ctl_ports[0] = ctl_port0 + 2; @@ -1428,17 +1428,17 @@
dnode = find_dev(nodebuff);
-#ifndef CONFIG_PPC +#if !defined(CONFIG_PPC) && !defined(CONFIG_SPARC64) props[0]=14; props[1]=0; set_property(dnode, "interrupts", - (char *)&props, 2*sizeof(cell)); + (char *)&props, 2*sizeof(props[0])); #endif
props[0] = __cpu_to_be32(chan->io_regs[0]); props[1] = __cpu_to_be32(1); props[2] = __cpu_to_be32(8); props[3] = __cpu_to_be32(chan->io_regs[8]); props[4] = __cpu_to_be32(1); props[5] = __cpu_to_be32(2); - set_property(dnode, "reg", (char *)&props, 6*sizeof(cell)); + set_property(dnode, "reg", (char *)&props, 6*sizeof(props[0]));
IDE_DPRINTF(DEV_NAME": [io ports 0x%x-0x%x,0x%x]\n", current_channel, chan->io_regs[0], @@ -1523,7 +1523,7 @@ int i, j; char nodebuff[128]; phandle_t dnode; - cell props[8]; + u32 props[8]; struct ide_channel *chan;
for (i = 0; i < nb_channels; i++, current_channel++) { @@ -1585,7 +1585,7 @@ props[6] = 0x00000000; props[7] = 0x00000000; OLDWORLD(set_property(dnode, "AAPL,pio-timing", - (char *)&props, 8*sizeof(cell))); + (char *)&props, 8*sizeof(props[0])));
/* The first interrupt entry is the ide interrupt, the second the dbdma interrupt */ @@ -1610,25 +1610,25 @@ props[1] = 0x00000000; /* XXX level triggered on real hw */ props[3] = 0x00000000; set_property(dnode, "interrupts", - (char *)&props, 4*sizeof(cell)); + (char *)&props, 4*sizeof(props[0])); set_int_property(dnode, "#interrupt-cells", 2); OLDWORLD(set_property(dnode, "AAPL,interrupts", - (char *)&props, 2*sizeof(cell))); + (char *)&props, 2*sizeof(props[0])));
props[0] = MACIO_IDE_OFFSET + i * MACIO_IDE_SIZE; props[1] = MACIO_IDE_SIZE; props[2] = 0x00008b00 + i * 0x0200; props[3] = 0x0200; - set_property(dnode, "reg", (char *)&props, 4*sizeof(cell)); + set_property(dnode, "reg", (char *)&props, 4*sizeof(props[0]));
props[0] = addr + MACIO_IDE_OFFSET + i * MACIO_IDE_SIZE; props[1] = addr + 0x00008b00 + i * 0x0200; OLDWORLD(set_property(dnode, "AAPL,address", - (char *)&props, 2*sizeof(cell))); + (char *)&props, 2*sizeof(props[0])));
props[0] = 0; OLDWORLD(set_property(dnode, "AAPL,bus-id", (char*)props, - 1 * sizeof(cell))); + 1 * sizeof(props[0]))); IDE_DPRINTF(DEV_NAME": [io ports 0x%lx]\n", current_channel, chan->mmio);