diff --git a/board/MAI/AmigaOneG3SE/enet.c b/board/MAI/AmigaOneG3SE/enet.c
index ac969a9..b9df55c 100644
--- a/board/MAI/AmigaOneG3SE/enet.c
+++ b/board/MAI/AmigaOneG3SE/enet.c
@@ -297,50 +297,50 @@
 
 static inline int ETH_INL(struct eth_device* dev, u_long addr)
 {
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 	return le32_to_cpu(*(volatile u32 *)io_to_phys(addr + dev->iobase));
 }
 
 static inline int ETH_INW(struct eth_device* dev, u_long addr)
 {
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 	return le16_to_cpu(*(volatile u16 *)io_to_phys(addr + dev->iobase));
 }
 
 static inline int ETH_INB(struct eth_device* dev, u_long addr)
 {
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 	return *(volatile u8 *)io_to_phys(addr + dev->iobase);
 }
 
 static inline void ETH_OUTB(struct eth_device* dev, int command, u_long addr)
 {
 	*(volatile u8 *)io_to_phys(addr + dev->iobase) = command;
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 }
 
 static inline void ETH_OUTW(struct eth_device* dev, int command, u_long addr)
 {
 	*(volatile u16 *)io_to_phys(addr + dev->iobase) = cpu_to_le16(command);
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 }
 
 static inline void ETH_OUTL(struct eth_device* dev, int command, u_long addr)
 {
 	*(volatile u32 *)io_to_phys(addr + dev->iobase) = cpu_to_le32(command);
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 }
 
 static inline int ETH_STATUS(struct eth_device* dev)
 {
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 	return le16_to_cpu(*(volatile u16 *)io_to_phys(EL3_STATUS + dev->iobase));
 }
 
 static inline void ETH_CMD(struct eth_device* dev, int command)
 {
 	*(volatile u16 *)io_to_phys(EL3_CMD + dev->iobase) = cpu_to_le16(command);
-    __asm volatile ("eieio");
+	__asm__ volatile ("eieio");
 }
 
 /* Command register is always in the same spot in all the register windows */
diff --git a/board/MAI/AmigaOneG3SE/flash_new.c b/board/MAI/AmigaOneG3SE/flash_new.c
index 7b7ea16..9beb048 100644
--- a/board/MAI/AmigaOneG3SE/flash_new.c
+++ b/board/MAI/AmigaOneG3SE/flash_new.c
@@ -153,14 +153,14 @@
 
 	/* Write auto select command: read Manufacturer ID */
 	x[0x0555] =  0xAA;
-	__asm volatile ("sync\n eieio");
+	__asm__ volatile ("sync\n eieio");
 	x[0x02AA] =  0x55;
-	__asm volatile ("sync\n eieio");
+	__asm__ volatile ("sync\n eieio");
 	x[0x0555] =  0x90;
-	__asm volatile ("sync\n eieio");
+	__asm__ volatile ("sync\n eieio");
 
 	value = x[0];
-	__asm volatile ("sync\n eieio");
+	__asm__ volatile ("sync\n eieio");
 
 	DEBUGF("Manuf. ID @ 0x%08lx: 0x%08x\n", (ulong)addr, value);
 
@@ -186,7 +186,7 @@
 	}
 
 	value = x[1];
-	__asm volatile ("sync\n eieio");
+	__asm__ volatile ("sync\n eieio");
 
 	DEBUGF("Device ID @ 0x%08lx: 0x%08x\n", addr+1, value);
 
diff --git a/board/MAI/AmigaOneG3SE/serial.c b/board/MAI/AmigaOneG3SE/serial.c
index 88039f3..84a913e 100644
--- a/board/MAI/AmigaOneG3SE/serial.c
+++ b/board/MAI/AmigaOneG3SE/serial.c
@@ -75,17 +75,17 @@
 	/* COM_WRITE_BYTE(LINE_CONTROL, 0x83); */
 	/* COM_WRITE_BYTE(DIVISOR_LATCH_LSB, (uint8)(clock_divisor & 0xFF)); */
 	/* COM_WRITE_BYTE(DIVISOR_LATCH_MSB, (uint8)(clock_divisor >> 8)); */
-	/* __asm("eieio"); */
+	/* __asm__("eieio"); */
 
 	/*  Set 8-N-1 */
 	COM_WRITE_BYTE (LINE_CONTROL, 0x03);
-	__asm ("eieio");
+	__asm__ ("eieio");
 
 	/*  Disable FIFO */
 	COM_WRITE_BYTE (MODEM_CONTROL, 0x03);
 	COM_WRITE_BYTE (FIFO_CONTROL, 0x07);
 
-	__asm ("eieio");
+	__asm__ ("eieio");
 	serial_init_done = 1;
 }
 
diff --git a/board/MAI/AmigaOneG3SE/via686.c b/board/MAI/AmigaOneG3SE/via686.c
index 2427ce5..752a464 100644
--- a/board/MAI/AmigaOneG3SE/via686.c
+++ b/board/MAI/AmigaOneG3SE/via686.c
@@ -211,7 +211,7 @@
     }
 }
 
-__asm         ("    .globl via_calibrate_time_base \n"
+__asm__       ("    .globl via_calibrate_time_base \n"
 	       "via_calibrate_time_base:	   \n"
 	       "   lis     9, 0xfe00		   \n"
 	       "   li      0, 0x00		   \n"
diff --git a/board/trab/vfd.c b/board/trab/vfd.c
index eb506f3..37d3aa4 100644
--- a/board/trab/vfd.c
+++ b/board/trab/vfd.c
@@ -369,7 +369,7 @@
 	gpio->PCCON = (gpio->PCCON & 0xFFFFFF00);	/* configure GPC0...GPC3 as inputs */
 	/* allow signals to settle */
 	for (i=0; i<10000; i++)	/* udelay isn't working yet at this point! */
-		__asm("NOP");
+		__asm__("NOP");
 	vfd_board_id = (~gpio->PCDAT) & 0x000F;	/* read GPC0...GPC3 port pins */
 
 	VFD_DISABLE;				/* activate blank for the vfd */
