Every c-file which includes your header file has the line
const struct dsm_config DEFAULT_DSM_CONFIG = { AUTO_UNMAP, NO_ENABLE_COA };
So each of these c files defines a variable dsm_config. If you want only one variable dsm_config you need to change the declaration in the header file to
extern const struct dsm_config DEFAULT_DSM_CONFIG;
and add the definition
const struct dsm_config DEFAULT_DSM_CONFIG = { AUTO_UNMAP, NO_ENABLE_COA };
in only one c file.
Another, not so good solution is to make change the header file to
static const struct dsm_config DEFAULT_DSM_CONFIG = { AUTO_UNMAP, NO_ENABLE_COA };
Then each c-file defines it's own dsm_config which is not visible to other translation units during link time.