On Fri 25 May 09:08 PDT 2018, Arnd Bergmann wrote: > 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: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Regards, Bjorn > --- > drivers/soc/qcom/Kconfig | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig > index 9dc02f390ba3..5856e792d09c 100644 > --- a/drivers/soc/qcom/Kconfig > +++ b/drivers/soc/qcom/Kconfig > @@ -5,7 +5,8 @@ menu "Qualcomm SoC drivers" > > config QCOM_COMMAND_DB > bool "Qualcomm Command DB" > - depends on (ARCH_QCOM && OF) || COMPILE_TEST > + depends on ARCH_QCOM || COMPILE_TEST > + depends on OF_RESERVED_MEM > help > Command DB queries shared memory by key string for shared system > resources. Platform drivers that require to set state of a shared > -- > 2.9.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html