static int adv7511_init_regulators(struct adv7511 *adv)
 {
+       const char * const *supply_names = adv->info->supply_names;
+       unsigned int num_supplies = adv->info->num_supplies;
        struct device *dev = &adv->i2c_main->dev;
-       const char * const *supply_names;
        unsigned int i;
        int ret;
 
-       if (adv->info->type == ADV7511) {
-               supply_names = adv7511_supply_names;
-               adv->num_supplies = ARRAY_SIZE(adv7511_supply_names);
-       } else {
-               supply_names = adv7533_supply_names;
-               adv->num_supplies = ARRAY_SIZE(adv7533_supply_names);
-       }
-
-       adv->supplies = devm_kcalloc(dev, adv->num_supplies,
+       adv->supplies = devm_kcalloc(dev, num_supplies,
                                     sizeof(*adv->supplies), GFP_KERNEL);
        if (!adv->supplies)
                return -ENOMEM;
 
-       for (i = 0; i < adv->num_supplies; i++)
+       for (i = 0; i < num_supplies; i++)
                adv->supplies[i].supply = supply_names[i];
 
-       ret = devm_regulator_bulk_get(dev, adv->num_supplies, adv->supplies);
+       ret = devm_regulator_bulk_get(dev, num_supplies, adv->supplies);
        if (ret)
                return ret;
 
-       return regulator_bulk_enable(adv->num_supplies, adv->supplies);
+       return regulator_bulk_enable(num_supplies, adv->supplies);
 }
 
 static void adv7511_uninit_regulators(struct adv7511 *adv)
 {
-       regulator_bulk_disable(adv->num_supplies, adv->supplies);
+       regulator_bulk_disable(adv->info->num_supplies, adv->supplies);
 }
 
 static bool adv7511_cec_register_volatile(struct device *dev, unsigned int reg)
 
 static const struct adv7511_chip_info adv7511_chip_info = {
        .type = ADV7511,
+       .supply_names = adv7511_supply_names,
+       .num_supplies = ARRAY_SIZE(adv7511_supply_names),
 };
 
 static const struct adv7511_chip_info adv7533_chip_info = {
        .type = ADV7533,
        .max_mode_clock_khz = 80000,
        .max_lane_freq_khz = 800000,
+       .supply_names = adv7533_supply_names,
+       .num_supplies = ARRAY_SIZE(adv7533_supply_names),
 };
 
 static const struct adv7511_chip_info adv7535_chip_info = {
        .type = ADV7535,
        .max_mode_clock_khz = 148500,
        .max_lane_freq_khz = 891000,
+       .supply_names = adv7533_supply_names,
+       .num_supplies = ARRAY_SIZE(adv7533_supply_names),
 };
 
 static const struct i2c_device_id adv7511_i2c_ids[] = {