Index: uspace/drv/bus/usb/ehci/ehci_regs.h
===================================================================
--- uspace/drv/bus/usb/ehci/ehci_regs.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/bus/usb/ehci/ehci_regs.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -48,5 +48,5 @@
 typedef struct ehci_cap_regs {
 	const ioport8_t caplength;
-	PADD8;
+	PADD8(1);
 	const ioport16_t hciversion;
 	const ioport32_t hcsparams;
@@ -126,5 +126,5 @@
 #define USB_ASYNCLIST_MASK   0xfffffff0
 
-	PADD32[9];
+	PADD32(9);
 
 	ioport32_t configflag;
Index: uspace/drv/bus/usb/ohci/hw_struct/hcca.h
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/hcca.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/bus/usb/ohci/hw_struct/hcca.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -54,9 +54,9 @@
 	/** Frame number. */
 	uint16_t frame_number;
-	PADD16;
+	PADD16(1);
 	/** Pointer to the last completed TD. (useless) */
 	uint32_t done_head;
 	/** Padding to make the size 256B */
-	PADD32[30];
+	PADD32(30);
 } hcca_t;
 
Index: uspace/drv/bus/usb/uhci/hc.h
===================================================================
--- uspace/drv/bus/usb/uhci/hc.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/bus/usb/uhci/hc.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -91,5 +91,5 @@
 	ioport8_t sofmod;
 
-	PADD8[3];
+	PADD8(3);
 	ioport16_t ports[];
 } uhci_regs_t;
Index: uspace/drv/bus/usb/xhci/hw_struct/regs.h
===================================================================
--- uspace/drv/bus/usb/xhci/hw_struct/regs.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/bus/usb/xhci/hw_struct/regs.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -140,5 +140,5 @@
 	const ioport8_t caplength;
 
-	const PADD8;
+	const PADD8(1);
 
 	/* BCD of specification version */
@@ -360,5 +360,5 @@
 	ioport32_t pagesize;
 
-	PADD32[2];
+	PADD32(2);
 
 	/*
@@ -373,5 +373,5 @@
 	ioport64_t crcr;
 
-	PADD32[4];
+	PADD32(4);
 
 	ioport64_t dcbaap;
@@ -385,5 +385,5 @@
 
 	/* Offset of portrs from op_regs addr is 0x400. */
-	PADD32[241];
+	PADD32(241);
 
 	/*
@@ -452,5 +452,5 @@
 	ioport32_t erstsz;
 
-	PADD32;
+	PADD32(1);
 
 	ioport64_t erstba;
@@ -480,5 +480,5 @@
 	ioport32_t mfindex;
 
-	PADD32 [7];
+	PADD32(7);
 
 	xhci_interrupter_regs_t ir [];
Index: uspace/drv/fb/amdm37x_dispc/amdm37x_dispc_regs.h
===================================================================
--- uspace/drv/fb/amdm37x_dispc/amdm37x_dispc_regs.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/fb/amdm37x_dispc/amdm37x_dispc_regs.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -47,5 +47,5 @@
 #define AMDM37X_DISPC_REVISION_MASK  0xff
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t sysconfig;
 #define AMDM37X_DISPC_SYSCONFIG_AUTOIDLE_FLAG  (1 << 0)
@@ -82,5 +82,5 @@
 #define AMDM37X_DISPC_IRQ_WAKEUP_FLAG  (1 << 16)
 
-	PADD32[8];
+	PADD32(8);
 	ioport32_t control;
 #define AMDM37X_DISPC_CONTROL_LCD_ENABLE_FLAG  (1 << 0)
@@ -145,5 +145,5 @@
 #define AMDM37X_DISPC_CONFIG_TVALPHABLENDERENABLE_FLAG  (1 << 19)
 
-	PADD32[1];
+	PADD32(1);
 	ioport32_t default_color[2];
 	ioport32_t trans_color[2];
@@ -211,5 +211,5 @@
 #define AMDM37X_DISPC_SIZE_HEIGHT_SHIFT  16
 
-		PADD32[4];
+		PADD32(4);
 		ioport32_t attributes;
 #define AMDM37X_DISPC_GFX_ATTRIBUTES_ENABLE_FLAG  (1 << 0)
@@ -262,5 +262,5 @@
 		} fir_coef[8];
 		ioport32_t conv_coef[5];
-		PADD32[2];
+		PADD32(2);
 	} vid[2];
 	/* 0x1d4 */
@@ -269,5 +269,5 @@
 	ioport32_t vid_fir_coef_v[8];
 	/* 0x200 */
-	PADD32[8];
+	PADD32(8);
 	/* 0x220 */
 	ioport32_t cpr_coef_r;
Index: uspace/drv/platform/amdm37x/cm/clock_control.h
===================================================================
--- uspace/drv/platform/amdm37x/cm/clock_control.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/cm/clock_control.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -74,5 +74,5 @@
 #define CLOCK_CONTROL_CM_CLKEN2_PLL_EN_PERIPH2_DPLL_LOCK   (0x7)
 
-	PADD32[6];
+	PADD32(6);
 
 	const ioport32_t idlest_ckgen;
@@ -95,5 +95,5 @@
 #define CLOCK_CONTROL_CM_IDLEST2_CKGEN_ST_PERIPH2_CLK_FLAG   (1 << 0)
 
-	PADD32[2];
+	PADD32(2);
 
 	ioport32_t autoidle_pll;
@@ -111,5 +111,5 @@
 #define CLOCK_CONTROL_CM_AUTOIDLE2_PLL_AUTO_PERIPH2_DPLL_AUTOMATIC   (0x1)
 
-	PADD32[2];
+	PADD32(2);
 
 	ioport32_t clksel1_pll;
Index: uspace/drv/platform/amdm37x/cm/core.h
===================================================================
--- uspace/drv/platform/amdm37x/cm/core.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/cm/core.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -63,10 +63,10 @@
 #define CORE_CM_FCLKEN1_EN_MMC3_FLAG  (1 << 30)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t fclken3;
 #define CORE_CM_FCLKEN3_EN_TS_FLAG  (1 << 1)
 #define CORE_CM_FCLKEN3_EN_USBTLL_FLAG  (1 << 2)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t iclken1;
 #define CORE_CM_ICLKEN1_EN_SDRC_FLAG  (1 << 1)
@@ -97,5 +97,5 @@
 #define CORE_CM_ICLKEN3_EN_USBTLL_FLAG  (1 << 2)
 
-	PADD32;
+	PADD32(1);
 	const ioport32_t idlest1;
 #define CORE_CM_IDLEST1_ST_SDRC_FLAG  (1 << 1)
@@ -128,5 +128,5 @@
 #define CORE_CM_IDLEST3_ST_USBTLL_FLAG  (1 << 2)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t autoidle1;
 #define CORE_CM_AUTOIDLE1_AUTO_HSOTGUSB_FLAG  (1 << 4)
@@ -156,5 +156,5 @@
 #define CORE_CM_AUTOIDLE3_AUTO_USBTLL_FLAG  (1 << 2)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t clksel;
 #define CORE_CM_CLKSEL_CLKSEL_L3_MASK  (0x3 << 0)
@@ -170,5 +170,5 @@
 #define CORE_CM_CLKSEL_CLKSEL_GPT11_FLAG (1 << 7)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t clkstctrl;
 #define CORE_CM_CLKCTRL_CLKCTRL_L3_MASK  (0x3 << 0)
Index: uspace/drv/platform/amdm37x/cm/iva2.h
===================================================================
--- uspace/drv/platform/amdm37x/cm/iva2.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/cm/iva2.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -55,5 +55,5 @@
 #define IVA2_CM_CLKEN_PLL_EN_IVA2_DPLL_EN_IVA2_DPLL_LOCKED   (0x7)
 
-	PADD32[6];
+	PADD32(6);
 	const ioport32_t idlest;
 #define IVA2_CM_IDLEST_ST_IVA2_STANDBY_FLAG   (1 << 0)
@@ -62,5 +62,5 @@
 #define IVA2_CM_IDLEST_PLL_ST_IVA2_CLK_LOCKED_FLAG   (1 << 0)
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t autoidle_pll;
 #define IVA2_CM_AUTOIDLE_PLL_AUTO_IVA2_DPLL_MASK   (0x7)
@@ -68,5 +68,5 @@
 #define IVA2_CM_AUTOIDLE_PLL_AUTO_IVA2_DPLL_ENABLED   (0x1)
 
-	PADD32[2];
+	PADD32(2);
 	ioport32_t clksel1_pll;
 #define IVA2_CM_CLKSEL1_PLL_IVA2_CLK_SRC_MASK   (0x7 << 19)
Index: uspace/drv/platform/amdm37x/cm/mpu.h
===================================================================
--- uspace/drv/platform/amdm37x/cm/mpu.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/cm/mpu.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -44,5 +44,5 @@
 
 typedef struct {
-	PADD32;
+	PADD32(1);
 	ioport32_t clken_pll;
 #define MPU_CM_CLKEN_PLL_EN_MPU_DPLL_LP_MODE_FLAG   (1 << 10)
@@ -52,5 +52,5 @@
 #define MPU_CM_CLKEN_PLL_EN_MPU_DPLL_EN_MPU_DPLL_LOCKED   (0x7)
 
-	PADD32[6];
+	PADD32(6);
 	const ioport32_t idlest;
 #define MPU_CM_IDLEST_ST_MPU_STANDBY_FLAG   (1 << 0)
@@ -59,5 +59,5 @@
 #define MPU_CM_IDLEST_PLL_ST_MPU_CLK_LOCKED_FLAG   (1 << 0)
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t autoidle_pll;
 #define MPU_CM_AUTOIDLE_PLL_AUTO_MPU_DPLL_MASK   (0x7)
@@ -65,5 +65,5 @@
 #define MPU_CM_AUTOIDLE_PLL_AUTO_MPU_DPLL_ENABLED   (0x1)
 
-	PADD32[2];
+	PADD32(2);
 	ioport32_t clksel1_pll;
 #define MPU_CM_CLKSEL1_PLL_MPU_CLK_SRC_MASK   (0x7 << 19)
Index: uspace/drv/platform/amdm37x/cm/usbhost.h
===================================================================
--- uspace/drv/platform/amdm37x/cm/usbhost.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/cm/usbhost.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -48,18 +48,18 @@
 #define USBHOST_CM_FCLKEN_EN_USBHOST2_FLAG  (1 << 1)
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t iclken;
 #define USBHOST_CM_ICLKEN_EN_USBHOST  (1 << 0)
 
-	PADD32[3];
+	PADD32(3);
 	const ioport32_t idlest;
 #define USBHOST_CM_IDLEST_ST_USBHOST_STDBY_FLAG  (1 << 0)
 #define USBHOST_CM_IDLEST_ST_USBHOST_IDLE_FLAG  (1 << 1)
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t autoidle;
 #define USBHOST_CM_AUTOIDLE_AUTO_USBHOST_FLAG  (1 << 0)
 
-	PADD32[4];
+	PADD32(4);
 	ioport32_t sleepdep;
 #define USBHOST_CM_SLEEPDEP_EN_MPU_FLAG  (1 << 1)
Index: uspace/drv/platform/amdm37x/prm/clock_control.h
===================================================================
--- uspace/drv/platform/amdm37x/prm/clock_control.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/prm/clock_control.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -46,5 +46,5 @@
  */
 typedef struct {
-	PADD32[16];
+	PADD32(16);
 	ioport32_t clksel;
 #define CLOCK_CONTROL_PRM_CLKSEL_SYS_CLKIN_MASK   (0x7)
@@ -56,5 +56,5 @@
 #define CLOCK_CONTROL_PRM_CLKSEL_SYS_CLKIN_16_8M   (0x5)
 
-	PADD32[12];
+	PADD32(12);
 	ioport32_t clkout_ctrl;
 #define CLOCK_CONTROL_PRM_CLKOUT_CTRL_CLKOUOUT_EN_FLAG   (1 << 7)
Index: uspace/drv/platform/amdm37x/prm/global_reg.h
===================================================================
--- uspace/drv/platform/amdm37x/prm/global_reg.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/prm/global_reg.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -46,5 +46,5 @@
  */
 typedef struct {
-	PADD32[8];
+	PADD32(8);
 	struct {
 		ioport32_t smps_sa;
@@ -133,5 +133,5 @@
 	} vc;
 
-	PADD32[4];
+	PADD32(4);
 	ioport32_t rstctrl;
 #define GLOBAL_REG_PRM_RSTCTRL_RST_DPLL3_FLAG   (1 << 2)
@@ -156,5 +156,5 @@
 #define GLOBAL_REG_PRM_RSTST_GLOABL_COLD_RST_FLAG   (1 << 0)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t volctrl;
 #define GLOBAL_REG_PRM_VOLCTRL_SEL_VMODE_FLAG   (1 << 4)
@@ -169,5 +169,5 @@
 #define GLOBAL_REG_PRM_SRAM_PCHARGE_PCHARGE_TIME_GET(r)   ((r) & 0xff)
 
-	PADD32[2];
+	PADD32(2);
 	ioport32_t clksrc_ctrl;
 #define GLOBAL_REG_PRM_CLKSRC_CTRL_DPLL4_CLKINP_DIV_65_FLAG   (1 << 8)
@@ -188,9 +188,9 @@
 #define GLOBAL_REG_PRM_CLKSRC_CTRL_SYSCLKSEL_GET(r)   (((r) >> 0) & 0x3)
 
-	PADD32[3];
+	PADD32(3);
 	const ioport32_t obs;
 #define GLOBAL_REG_PRM_OBS_OBS_BUS_MASK   (0x3ff)
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t voltsetup1;
 #define GLOBAL_REG_PRM_VOLTSETUP1_SETUPTIME2_MASK   (0xff << 16)
@@ -222,5 +222,5 @@
 #define GLOBAL_REG_PRM_VOLTSETUP2_OFFMODESETUPTIME_GET(r)   (((r) >> 0) & 0xffff)
 
-	PADD32[3];
+	PADD32(3);
 	struct {
 		ioport32_t config;
@@ -273,5 +273,5 @@
 #define GLOBAL_REG_PRM_VP_STATUS_VPINIDLE_FLAG   (1 << 0)
 
-		PADD32[2];
+		PADD32(2);
 	} vp[2];
 
Index: uspace/drv/platform/amdm37x/prm/usbhost.h
===================================================================
--- uspace/drv/platform/amdm37x/prm/usbhost.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/prm/usbhost.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -49,5 +49,5 @@
  */
 typedef struct {
-	PADD32[22];
+	PADD32(22);
 	ioport32_t rm_rstst;
 #define USBHOST_PRM_RM_RSTST_COREDOMAINWKUP_RST_FLAG   (1 << 3)
@@ -56,5 +56,5 @@
 #define USBHOST_PRM_RM_RSTST_GLOBALCOLD_RST_FLAG   (1 << 0)
 
-	PADD32[18];
+	PADD32(18);
 	ioport32_t pm_wken;
 #define USBHOST_PRM_PM_WKEN_EN_USBHOST_FLAG   (1 << 0)
@@ -66,9 +66,9 @@
 #define USBHOST_PRM_PM_IVA2GRPSEL_GRPSEL_USBHOST_FLAG   (1 << 0)
 
-	PADD32;
+	PADD32(1);
 	ioport32_t pm_wkst;
 #define USBHOST_PRM_PM_WKST_ST_USBHOST_FLAG   (1 << 0)
 
-	PADD32[5];
+	PADD32(5);
 	ioport32_t pm_wkdep;
 #define USBHOST_PRM_PM_WKDEP_EN_WKUP_FLAG   (1 << 4)
@@ -77,5 +77,5 @@
 #define USBHOST_PRM_PM_WKDEP_EN_CORE_FLAG   (1 << 0)
 
-	PADD32[5];
+	PADD32(5);
 	ioport32_t pm_pwstctrl;
 #define USBHOST_PRM_PM_PWSTCTRL_MEMONSTATE_MASK   (0x3 << 16)
Index: uspace/drv/platform/amdm37x/uhh.h
===================================================================
--- uspace/drv/platform/amdm37x/uhh.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/uhh.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -47,5 +47,5 @@
 #define UHH_REVISION_MAJOR_MASK  0xf0
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t sysconfig;
 #define UHH_SYSCONFIG_AUTOIDLE_FLAG  (1 << 0)
@@ -67,5 +67,5 @@
 #define UHH_SYSSTATUS_EHCI_RESETDONE_FLAG  (1 << 2)
 
-	PADD32[10];
+	PADD32(10);
 	ioport32_t hostconfig;
 #define UHH_HOSTCONFIG_P1_ULPI_BYPASS_FLAG  (1 << 0)
Index: uspace/drv/platform/amdm37x/usbtll.h
===================================================================
--- uspace/drv/platform/amdm37x/usbtll.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/drv/platform/amdm37x/usbtll.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -47,5 +47,5 @@
 #define TLL_REVISION_MAJOR_MASK  0xf0
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t sysconfig;
 #define TLL_SYSCONFIG_AUTOIDLE_FLAG  (1 << 0)
@@ -71,5 +71,5 @@
 #define TLL_IRQSTATUS_ACCESS_ERROR_EN_FLAG  (1 << 2)
 
-	PADD32[4];
+	PADD32(4);
 	ioport32_t shared_conf;
 #define TLL_SHARED_CONF_FCLK_IS_ON_FLAG  (1 << 0)
@@ -80,5 +80,5 @@
 #define TLL_SHARED_CONF_USB_90D_DDR_EN_FLAG  (1 << 6)
 
-	PADD32[3];
+	PADD32(3);
 	ioport32_t channel_conf[3];
 #define TLL_CHANNEL_CONF_CHANEN_FLAG  (1 << 0)
Index: uspace/lib/c/include/macros.h
===================================================================
--- uspace/lib/c/include/macros.h	(revision b752a317bb5dfb454cb227f59a1be5d52d10947d)
+++ uspace/lib/c/include/macros.h	(revision af604092e35e8e60ad875a2e327638358cf3caf1)
@@ -60,9 +60,9 @@
 
 #define _paddname(line)     PADD_ ## line ## __
-#define _padd(width, line)  uint ## width ## _t _paddname(line)
+#define _padd(width, line, n)  uint ## width ## _t _paddname(line) [n]
 
-#define PADD32  _padd(32, __LINE__)
-#define PADD16  _padd(16, __LINE__)
-#define PADD8   _padd(8, __LINE__)
+#define PADD32(n)  _padd(32, __LINE__, n)
+#define PADD16(n)  _padd(16, __LINE__, n)
+#define PADD8(n)   _padd(8, __LINE__, n)
 
 #endif
