drm: adv7511: Add hpd_override_enable variable to struct adv7511_chip_info
[linux-2.6-microblaze.git] / drivers / gpu / drm / bridge / adv7511 / adv7511_drv.c
index d076cee..8be2351 100644 (file)
@@ -354,7 +354,7 @@ static void __adv7511_power_on(struct adv7511 *adv7511)
         * first few seconds after enabling the output. On the other hand
         * adv7535 require to enable HPD Override bit for proper HPD.
         */
-       if (adv7511->info->type == ADV7535)
+       if (adv7511->info->hpd_override_enable)
                regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
                                   ADV7535_REG_POWER2_HPD_OVERRIDE,
                                   ADV7535_REG_POWER2_HPD_OVERRIDE);
@@ -381,7 +381,7 @@ static void adv7511_power_on(struct adv7511 *adv7511)
 static void __adv7511_power_off(struct adv7511 *adv7511)
 {
        /* TODO: setup additional power down modes */
-       if (adv7511->info->type == ADV7535)
+       if (adv7511->info->hpd_override_enable)
                regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
                                   ADV7535_REG_POWER2_HPD_OVERRIDE, 0);
 
@@ -682,7 +682,7 @@ adv7511_detect(struct adv7511 *adv7511, struct drm_connector *connector)
                        status = connector_status_disconnected;
        } else {
                /* Renable HPD sensing */
-               if (adv7511->info->type == ADV7535)
+               if (adv7511->info->hpd_override_enable)
                        regmap_update_bits(adv7511->regmap, ADV7511_REG_POWER2,
                                           ADV7535_REG_POWER2_HPD_OVERRIDE,
                                           ADV7535_REG_POWER2_HPD_OVERRIDE);
@@ -1379,6 +1379,7 @@ static const struct adv7511_chip_info adv7535_chip_info = {
        .num_supplies = ARRAY_SIZE(adv7533_supply_names),
        .reg_cec_offset = ADV7533_REG_CEC_OFFSET,
        .has_dsi = true,
+       .hpd_override_enable = true,
 };
 
 static const struct i2c_device_id adv7511_i2c_ids[] = {