Lines Matching full:adv
843 struct adv7511 *adv = connector_to_adv7511(connector); in adv7511_connector_get_modes() local
845 return adv7511_get_modes(adv, connector); in adv7511_connector_get_modes()
852 struct adv7511 *adv = connector_to_adv7511(connector); in adv7511_connector_mode_valid() local
854 return adv7511_mode_valid(adv, mode); in adv7511_connector_mode_valid()
865 struct adv7511 *adv = connector_to_adv7511(connector); in adv7511_connector_detect() local
867 return adv7511_detect(adv, connector); in adv7511_connector_detect()
879 static int adv7511_connector_init(struct adv7511 *adv) in adv7511_connector_init() argument
881 struct drm_bridge *bridge = &adv->bridge; in adv7511_connector_init()
884 if (adv->i2c_main->irq) in adv7511_connector_init()
885 adv->connector.polled = DRM_CONNECTOR_POLL_HPD; in adv7511_connector_init()
887 adv->connector.polled = DRM_CONNECTOR_POLL_CONNECT | in adv7511_connector_init()
890 ret = drm_connector_init(bridge->dev, &adv->connector, in adv7511_connector_init()
897 drm_connector_helper_add(&adv->connector, in adv7511_connector_init()
899 drm_connector_attach_encoder(&adv->connector, bridge->encoder); in adv7511_connector_init()
915 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_enable() local
917 adv7511_power_on(adv); in adv7511_bridge_enable()
922 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_disable() local
924 adv7511_power_off(adv); in adv7511_bridge_disable()
931 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_mode_set() local
933 adv7511_mode_set(adv, mode, adj_mode); in adv7511_bridge_mode_set()
940 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_mode_valid() local
942 if (adv->info->has_dsi) in adv7511_bridge_mode_valid()
943 return adv7533_mode_valid(adv, mode); in adv7511_bridge_mode_valid()
945 return adv7511_mode_valid(adv, mode); in adv7511_bridge_mode_valid()
951 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_attach() local
954 if (adv->next_bridge) { in adv7511_bridge_attach()
955 ret = drm_bridge_attach(bridge->encoder, adv->next_bridge, bridge, in adv7511_bridge_attach()
962 ret = adv7511_connector_init(adv); in adv7511_bridge_attach()
967 if (adv->i2c_main->irq) in adv7511_bridge_attach()
968 regmap_write(adv->regmap, ADV7511_REG_INT_ENABLE(0), in adv7511_bridge_attach()
976 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_detect() local
978 return adv7511_detect(adv, NULL); in adv7511_bridge_detect()
984 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_edid_read() local
986 return adv7511_edid_read(adv, connector); in adv7511_bridge_edid_read()
992 struct adv7511 *adv = bridge_to_adv7511(bridge); in adv7511_bridge_hpd_notify() local
995 cec_phys_addr_invalidate(adv->cec_adap); in adv7511_bridge_hpd_notify()
1030 static int adv7511_init_regulators(struct adv7511 *adv) in adv7511_init_regulators() argument
1032 const char * const *supply_names = adv->info->supply_names; in adv7511_init_regulators()
1033 unsigned int num_supplies = adv->info->num_supplies; in adv7511_init_regulators()
1034 struct device *dev = &adv->i2c_main->dev; in adv7511_init_regulators()
1038 adv->supplies = devm_kcalloc(dev, num_supplies, in adv7511_init_regulators()
1039 sizeof(*adv->supplies), GFP_KERNEL); in adv7511_init_regulators()
1040 if (!adv->supplies) in adv7511_init_regulators()
1044 adv->supplies[i].supply = supply_names[i]; in adv7511_init_regulators()
1046 ret = devm_regulator_bulk_get(dev, num_supplies, adv->supplies); in adv7511_init_regulators()
1050 return regulator_bulk_enable(num_supplies, adv->supplies); in adv7511_init_regulators()
1053 static void adv7511_uninit_regulators(struct adv7511 *adv) in adv7511_uninit_regulators() argument
1055 regulator_bulk_disable(adv->info->num_supplies, adv->supplies); in adv7511_uninit_regulators()
1093 static int adv7511_init_cec_regmap(struct adv7511 *adv) in adv7511_init_cec_regmap() argument
1097 adv->i2c_cec = i2c_new_ancillary_device(adv->i2c_main, "cec", in adv7511_init_cec_regmap()
1099 if (IS_ERR(adv->i2c_cec)) in adv7511_init_cec_regmap()
1100 return PTR_ERR(adv->i2c_cec); in adv7511_init_cec_regmap()
1102 regmap_write(adv->regmap, ADV7511_REG_CEC_I2C_ADDR, in adv7511_init_cec_regmap()
1103 adv->i2c_cec->addr << 1); in adv7511_init_cec_regmap()
1105 i2c_set_clientdata(adv->i2c_cec, adv); in adv7511_init_cec_regmap()
1107 adv->regmap_cec = devm_regmap_init_i2c(adv->i2c_cec, in adv7511_init_cec_regmap()
1109 if (IS_ERR(adv->regmap_cec)) { in adv7511_init_cec_regmap()
1110 ret = PTR_ERR(adv->regmap_cec); in adv7511_init_cec_regmap()
1114 if (adv->info->reg_cec_offset == ADV7533_REG_CEC_OFFSET) { in adv7511_init_cec_regmap()
1115 ret = adv7533_patch_cec_registers(adv); in adv7511_init_cec_regmap()
1122 i2c_unregister_device(adv->i2c_cec); in adv7511_init_cec_regmap()