>+static void st_get_satinize_powerup_voltage(struct st_vsense *vsense)This looks like a very complicated way of writing
>+{
>+ void __iomem *ioaddr = vsense->ioaddr;
>+ u32 value = readl_relaxed(ioaddr);
>+
>+ dev_dbg(vsense->dev, "Initial start-up value: (0x%08x)\n", value);
>+
>+ /* Sanitize voltage values forcing what is provided from start-up */
>+ if (value & TOP_VSENSE_CONFIG_LATCHED_PSW_EMMC)
>+ value |= TOP_VSENSE_CONFIG_REG_PSW_EMMC;
>+ else
>+ value &= ~TOP_VSENSE_CONFIG_REG_PSW_EMMC;
>+
>+ if (value & TOP_VSENSE_CONFIG_LATCHED_PSW_NAND)
>+ value |= TOP_VSENSE_CONFIG_REG_PSW_NAND;
>+ else
>+ value &= ~TOP_VSENSE_CONFIG_REG_PSW_NAND;
>+
>+ if (value & TOP_VSENSE_CONFIG_LATCHED_PSW_SPI)
>+ value |= TOP_VSENSE_CONFIG_REG_PSW_SPI;
>+ else
>+ value &= ~TOP_VSENSE_CONFIG_REG_PSW_SPI;
value &= TOP_VSENSE_CONFIG_LATCHED_PSW_SPI |
TOP_VSENSE_CONFIG_LATCHED_PSW_NAND |
TOP_VSENSE_CONFIG_REG_PSW_EMMC
or am I missing something? Why do we need to do this anyway, it's very
surprsing?