struct device_node *np = spi_nor_get_flash_node(nor);
 
        params->quad_enable = spi_nor_sr2_bit1_quad_enable;
-       params->otp.org = &info->otp_org;
+       params->otp.org = info->otp;
 
        /* Default to 16-bit Write Status (01h) Command */
        nor->flags |= SNOR_F_HAS_16BIT_SR;
 
 
        u8 mfr_flags;
 
-       const struct spi_nor_otp_organization otp_org;
+       const struct spi_nor_otp_organization *otp;
        const struct spi_nor_fixups *fixups;
 };
 
                .flags = SPI_NOR_NO_ERASE | SPI_NOR_NO_FR,              \
 
 #define OTP_INFO(_len, _n_regions, _base, _offset)                     \
-               .otp_org = {                                            \
+               .otp = &(const struct spi_nor_otp_organization){        \
                        .len = (_len),                                  \
                        .base = (_base),                                \
                        .offset = (_offset),                            \
 
 {
        struct spi_nor_flash_parameter *params = nor->params;
 
-       if (params->otp.org->n_regions)
+       if (params->otp.org)
                params->otp.ops = &winbond_nor_otp_ops;
 
        /*