Lines Matching refs:sbridge

53 	struct simple_bridge *sbridge = drm_connector_to_simple_bridge(connector);
57 if (sbridge->next_bridge->ops & DRM_BRIDGE_OP_EDID) {
58 drm_edid = drm_bridge_edid_read(sbridge->next_bridge, connector);
91 struct simple_bridge *sbridge = drm_connector_to_simple_bridge(connector);
93 return drm_bridge_detect(sbridge->next_bridge);
108 struct simple_bridge *sbridge = drm_bridge_to_simple_bridge(bridge);
111 ret = drm_bridge_attach(bridge->encoder, sbridge->next_bridge, bridge,
124 drm_connector_helper_add(&sbridge->connector,
126 ret = drm_connector_init_with_ddc(bridge->dev, &sbridge->connector,
128 sbridge->info->connector_type,
129 sbridge->next_bridge->ddc);
135 drm_connector_attach_encoder(&sbridge->connector, bridge->encoder);
142 struct simple_bridge *sbridge = drm_bridge_to_simple_bridge(bridge);
145 if (sbridge->vdd) {
146 ret = regulator_enable(sbridge->vdd);
151 gpiod_set_value_cansleep(sbridge->enable, 1);
156 struct simple_bridge *sbridge = drm_bridge_to_simple_bridge(bridge);
158 gpiod_set_value_cansleep(sbridge->enable, 0);
160 if (sbridge->vdd)
161 regulator_disable(sbridge->vdd);
172 struct simple_bridge *sbridge;
175 sbridge = devm_kzalloc(&pdev->dev, sizeof(*sbridge), GFP_KERNEL);
176 if (!sbridge)
178 platform_set_drvdata(pdev, sbridge);
180 sbridge->info = of_device_get_match_data(&pdev->dev);
187 sbridge->next_bridge = of_drm_find_bridge(remote);
190 if (!sbridge->next_bridge) {
196 sbridge->vdd = devm_regulator_get_optional(&pdev->dev, "vdd");
197 if (IS_ERR(sbridge->vdd)) {
198 int ret = PTR_ERR(sbridge->vdd);
201 sbridge->vdd = NULL;
205 sbridge->enable = devm_gpiod_get_optional(&pdev->dev, "enable",
207 if (IS_ERR(sbridge->enable))
208 return dev_err_probe(&pdev->dev, PTR_ERR(sbridge->enable),
212 sbridge->bridge.funcs = &simple_bridge_bridge_funcs;
213 sbridge->bridge.of_node = pdev->dev.of_node;
214 sbridge->bridge.timings = sbridge->info->timings;
216 drm_bridge_add(&sbridge->bridge);
223 struct simple_bridge *sbridge = platform_get_drvdata(pdev);
225 drm_bridge_remove(&sbridge->bridge);