// SPDX-License-Identifier: GPL-2.0-only
 /* Copyright (c) 2020 Facebook */
 
+#include <linux/bits.h>
 #include <linux/err.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #define TOD_CTRL_DISABLE_FMT_A BIT(17)
 #define TOD_CTRL_DISABLE_FMT_B BIT(16)
 #define TOD_CTRL_ENABLE                BIT(0)
-#define TOD_CTRL_GNSS_MASK     ((1U << 4) - 1)
+#define TOD_CTRL_GNSS_MASK     GENMASK(3, 0)
 #define TOD_CTRL_GNSS_SHIFT    24
 
-#define TOD_STATUS_UTC_MASK            0xff
+#define TOD_STATUS_UTC_MASK            GENMASK(7, 0)
 #define TOD_STATUS_UTC_VALID           BIT(8)
 #define TOD_STATUS_LEAP_ANNOUNCE       BIT(12)
 #define TOD_STATUS_LEAP_VALID          BIT(16)
 #define FREQ_STATUS_VALID      BIT(31)
 #define FREQ_STATUS_ERROR      BIT(30)
 #define FREQ_STATUS_OVERRUN    BIT(29)
-#define FREQ_STATUS_MASK       (BIT(24) - 1)
+#define FREQ_STATUS_MASK       GENMASK(23, 0)
 
 struct ptp_ocp_flash_info {
        const char *name;
        { }
 };
 
+#define SMA_DISABLE            BIT(16)
 #define SMA_ENABLE             BIT(15)
-#define SMA_SELECT_MASK                ((1U << 15) - 1)
-#define SMA_DISABLE            0x10000
+#define SMA_SELECT_MASK                GENMASK(14, 0)
 
 static const struct ocp_selector ptp_ocp_sma_in[] = {
        { .name = "10Mhz",      .value = 0x0000 },
 
        val = ioread32(&bp->tod->utc_status);
        seq_printf(s, "UTC status register: 0x%08X\n", val);
-       seq_printf(s, "UTC offset: %d  valid:%d\n",
+       seq_printf(s, "UTC offset: %ld  valid:%d\n",
                val & TOD_STATUS_UTC_MASK, val & TOD_STATUS_UTC_VALID ? 1 : 0);
        seq_printf(s, "Leap second info valid:%d, Leap second announce %d\n",
                val & TOD_STATUS_LEAP_VALID ? 1 : 0,