soc_and_ip_translator
dc->soc_and_ip_translator = dc_create_soc_and_ip_translator(dc_ctx->dce_version);
if (!dc->soc_and_ip_translator)
dc_destroy_soc_and_ip_translator(&dc->soc_and_ip_translator);
struct soc_and_ip_translator *soc_and_ip_translator;
in_dc->soc_and_ip_translator->translator_funcs->get_soc_bb(&dml_init->soc_bb, in_dc, config);
in_dc->soc_and_ip_translator->translator_funcs->get_ip_caps(&dml_init->ip_caps);
struct soc_and_ip_translator *dc_create_soc_and_ip_translator(enum dce_version dc_version);
void dc_destroy_soc_and_ip_translator(struct soc_and_ip_translator **soc_and_ip_translator);
void dcn401_construct_soc_and_ip_translator(struct soc_and_ip_translator *soc_and_ip_translator)
soc_and_ip_translator->translator_funcs = &dcn401_translator_funcs;
void dcn401_construct_soc_and_ip_translator(struct soc_and_ip_translator *soc_and_ip_translator);
void dcn42_construct_soc_and_ip_translator(struct soc_and_ip_translator *soc_and_ip_translator)
soc_and_ip_translator->translator_funcs = &dcn42_translator_funcs;
void dcn42_construct_soc_and_ip_translator(struct soc_and_ip_translator *soc_and_ip_translator);
dcn401_construct_soc_and_ip_translator(soc_and_ip_translator);
struct soc_and_ip_translator *dc_create_soc_and_ip_translator(enum dce_version dc_version)
struct soc_and_ip_translator *soc_and_ip_translator;
soc_and_ip_translator = kzalloc_obj(*soc_and_ip_translator);
if (!soc_and_ip_translator)
dc_construct_soc_and_ip_translator(soc_and_ip_translator, dc_version);
return soc_and_ip_translator;
void dc_destroy_soc_and_ip_translator(struct soc_and_ip_translator **soc_and_ip_translator)
kfree(*soc_and_ip_translator);
*soc_and_ip_translator = NULL;
static void dc_construct_soc_and_ip_translator(struct soc_and_ip_translator *soc_and_ip_translator,