/* Useful subroutines to manage the Ethernet controller Read bytes from the on-board RAM. Why does inlining this function make it fail?  */
static void obram_read(unsigned long ioaddr, u16 o, u8 *b, int n)
/* Useful subroutines to manage the Ethernet controller Read bytes from the on-board RAM. Why does inlining this function make it fail?  */
static void obram_read(unsigned long ioaddr, u16 o, u8 *b, int n)
{
	outw(o, PIOR1(ioaddr));
	insw(PIOP1(ioaddr), (unsigned short *) b, (n + 1) >> 1);
}