marvell: drivers: use anonymous union in I2C driver

The I2C controller found in Marvell A8K SoCs (and some older SoCs) mux
status and baudrate registers into the same address, however, it's a
vendor customization, and the original IP core by Mentor Graphics uses
two different addresses for the two registers.

Use anonymous union in the driver, in order to ease code sharing for
other SoC vendors that use this IP core (Allwinner SoCs that are newly
introduced to mainline ATF use this core).

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
diff --git a/drivers/marvell/i2c/a8k_i2c.c b/drivers/marvell/i2c/a8k_i2c.c
index 72a7731..fe8bc52 100644
--- a/drivers/marvell/i2c/a8k_i2c.c
+++ b/drivers/marvell/i2c/a8k_i2c.c
@@ -50,6 +50,7 @@
 #define I2C_UNSTUCK_TRIGGER			0x1
 #define I2C_UNSTUCK_ONGOING			0x2
 #define I2C_UNSTUCK_ERROR			0x4
+
 struct  marvell_i2c_regs {
 	uint32_t slave_address;
 	uint32_t data;
@@ -57,7 +58,7 @@
 	union {
 		uint32_t status;	/* when reading */
 		uint32_t baudrate;	/* when writing */
-	} u;
+	};
 	uint32_t xtnd_slave_addr;
 	uint32_t reserved[2];
 	uint32_t soft_reset;
@@ -69,7 +70,7 @@
 
 static int marvell_i2c_lost_arbitration(uint32_t *status)
 {
-	*status = mmio_read_32((uintptr_t)&base->u.status);
+	*status = mmio_read_32((uintptr_t)&base->status);
 	if ((*status == I2C_STATUS_LOST_ARB_DATA_ADDR_TRANSFER) ||
 	    (*status == I2C_STATUS_LOST_ARB_GENERAL_CALL))
 		return -EAGAIN;
@@ -271,7 +272,7 @@
 	VERBOSE("%s: actual_n = %u, actual_m = %u\n",
 		__func__, actual_n, actual_m);
 	/* Set the baud rate */
-	mmio_write_32((uintptr_t)&base->u.baudrate, (actual_m << 3) | actual_n);
+	mmio_write_32((uintptr_t)&base->baudrate, (actual_m << 3) | actual_n);
 
 	return 0;
 }