| .. | .. |
|---|
| 265 | 265 | } |
|---|
| 266 | 266 | |
|---|
| 267 | 267 | static void rk618_scaler_bridge_mode_set(struct drm_bridge *bridge, |
|---|
| 268 | | - struct drm_display_mode *mode, |
|---|
| 269 | | - struct drm_display_mode *adjusted) |
|---|
| 268 | + const struct drm_display_mode *mode, |
|---|
| 269 | + const struct drm_display_mode *adjusted) |
|---|
| 270 | 270 | { |
|---|
| 271 | 271 | struct rk618_scaler *scl = bridge_to_scaler(bridge); |
|---|
| 272 | 272 | struct drm_connector *connector; |
|---|
| .. | .. |
|---|
| 285 | 285 | if (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA) |
|---|
| 286 | 286 | continue; |
|---|
| 287 | 287 | |
|---|
| 288 | | - if (connector->encoder_ids[0] != bridge->encoder->base.id) |
|---|
| 288 | + if (!drm_connector_has_possible_encoder(connector, bridge->encoder)) |
|---|
| 289 | 289 | continue; |
|---|
| 290 | 290 | |
|---|
| 291 | 291 | list_for_each_entry(mode, &connector->modes, head) { |
|---|
| .. | .. |
|---|
| 310 | 310 | dclk_rate, sclk_rate); |
|---|
| 311 | 311 | } |
|---|
| 312 | 312 | |
|---|
| 313 | | -static int rk618_scaler_bridge_attach(struct drm_bridge *bridge) |
|---|
| 313 | +static int rk618_scaler_bridge_attach(struct drm_bridge *bridge, |
|---|
| 314 | + enum drm_bridge_attach_flags flags) |
|---|
| 314 | 315 | { |
|---|
| 315 | 316 | struct rk618_scaler *scl = bridge_to_scaler(bridge); |
|---|
| 316 | 317 | struct device *dev = scl->dev; |
|---|
| .. | .. |
|---|
| 331 | 332 | if (!scl->bridge) |
|---|
| 332 | 333 | return -EPROBE_DEFER; |
|---|
| 333 | 334 | |
|---|
| 334 | | - ret = drm_bridge_attach(bridge->encoder, scl->bridge, bridge); |
|---|
| 335 | + ret = drm_bridge_attach(bridge->encoder, scl->bridge, bridge, 0); |
|---|
| 335 | 336 | if (ret) { |
|---|
| 336 | 337 | dev_err(dev, "failed to attach bridge\n"); |
|---|
| 337 | 338 | return ret; |
|---|