enc_init_data.transmitter =
                translate_encoder_to_transmitter(enc_init_data.encoder);
        link->link_enc =
-               link->dc->res_pool->funcs->link_enc_create(&enc_init_data);
+               link->dc->res_pool->funcs->link_enc_create(dc_ctx, &enc_init_data);
 
        if (!link->link_enc) {
                DC_ERROR("Failed to create link encoder!\n");
 
 };
 
 static struct link_encoder *dce100_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
 
 };
 
 static struct link_encoder *dce110_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
 
 };
 
 static struct link_encoder *dce112_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
 
 };
 
 static struct link_encoder *dce120_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
 
 };
 
 static struct link_encoder *dce60_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
 
 };
 
 static struct link_encoder *dce80_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dce110_link_encoder *enc110 =
 
 };
 
 static struct link_encoder *dcn10_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn10_link_encoder *enc10 =
 
 };
 
 struct link_encoder *dcn20_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
                struct dc *dc);
 
 struct link_encoder *dcn20_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data);
 
 unsigned int dcn20_calc_max_scaled_time(
 
 };
 
 static struct link_encoder *dcn201_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 }
 
 static struct link_encoder *dcn21_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn21_link_encoder *enc21 =
 
 };
 
 static struct link_encoder *dcn30_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 };
 
 static struct link_encoder *dcn301_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
                hpd_regs(4)
 };
 
-static struct link_encoder *dcn302_link_encoder_create(const struct encoder_init_data *enc_init_data)
+static struct link_encoder *dcn302_link_encoder_create(
+       struct dc_context *ctx,
+       const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
 
 
                hpd_regs(1)
 };
 
-static struct link_encoder *dcn303_link_encoder_create(const struct encoder_init_data *enc_init_data)
+static struct link_encoder *dcn303_link_encoder_create(
+       struct dc_context *ctx,
+       const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 = kzalloc(sizeof(struct dcn20_link_encoder), GFP_KERNEL);
 
 
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 };
 
 static struct link_encoder *dcn31_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 };
 
 static struct link_encoder *dcn32_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
 };
 
 static struct link_encoder *dcn321_link_encoder_create(
+       struct dc_context *ctx,
        const struct encoder_init_data *enc_init_data)
 {
        struct dcn20_link_encoder *enc20 =
 
        struct panel_cntl*(*panel_cntl_create)(
                const struct panel_cntl_init_data *panel_cntl_init_data);
        struct link_encoder *(*link_enc_create)(
+                       struct dc_context *ctx,
                        const struct encoder_init_data *init);
        /* Create a minimal link encoder object with no dc_link object
         * associated with it. */