• Arnd Bergmann's avatar
    qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency · 0ea3fa15
    Arnd Bergmann authored
    Without CONFIG_OF_RESERVED_MEM, gcc sees that the global cmd_db_header
    variable is never initialized, and through code optimization concludes
    that a lot of other code cannot possibly work after that:
    
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_addr':
    drivers/soc/qcom/cmd-db.c:197:21: error: 'ent.addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return ret < 0 ? 0 : le32_to_cpu(ent.addr);
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_aux_data':
    drivers/soc/qcom/cmd-db.c:224:10: error: 'ent.len' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ent_len = le16_to_cpu(ent.len);
    drivers/soc/qcom/cmd-db.c:115:6: error: 'rsc_hdr.data_offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      u16 offset = le16_to_cpu(hdr->data_offset);
          ^~~~~~
    drivers/soc/qcom/cmd-db.c:116:6: error: 'ent.offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      u16 loffset = le16_to_cpu(ent->offset);
          ^~~~~~~
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_aux_data_len':
    drivers/soc/qcom/cmd-db.c:250:38: error: 'ent.len' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return ret < 0 ? 0 : le16_to_cpu(ent.len);
                                          ^
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_slave_id':
    drivers/soc/qcom/cmd-db.c:272:7: error: 'ent.addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    Using a hard CONFIG_OF_RESERVED_MEM dependency avoids this warning,
    and we can remove the CONFIG_OF dependency.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
    0ea3fa15
Kconfig 4.27 KB