drm crtc_helper: use list_for_each_entry
list_for_each_entry_safe is for walking a list safe against removal of entries. Here, no entries are removed, so use list_for_each_entry. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Родитель
b20f38679f
Коммит
a1178ca062
|
@ -44,12 +44,12 @@ module_param_named(poll, drm_kms_helper_poll, bool, 0600);
|
||||||
static void drm_mode_validate_flag(struct drm_connector *connector,
|
static void drm_mode_validate_flag(struct drm_connector *connector,
|
||||||
int flags)
|
int flags)
|
||||||
{
|
{
|
||||||
struct drm_display_mode *mode, *t;
|
struct drm_display_mode *mode;
|
||||||
|
|
||||||
if (flags == (DRM_MODE_FLAG_DBLSCAN | DRM_MODE_FLAG_INTERLACE))
|
if (flags == (DRM_MODE_FLAG_DBLSCAN | DRM_MODE_FLAG_INTERLACE))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
list_for_each_entry_safe(mode, t, &connector->modes, head) {
|
list_for_each_entry(mode, &connector->modes, head) {
|
||||||
if ((mode->flags & DRM_MODE_FLAG_INTERLACE) &&
|
if ((mode->flags & DRM_MODE_FLAG_INTERLACE) &&
|
||||||
!(flags & DRM_MODE_FLAG_INTERLACE))
|
!(flags & DRM_MODE_FLAG_INTERLACE))
|
||||||
mode->status = MODE_NO_INTERLACE;
|
mode->status = MODE_NO_INTERLACE;
|
||||||
|
@ -87,7 +87,7 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
|
||||||
uint32_t maxX, uint32_t maxY)
|
uint32_t maxX, uint32_t maxY)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = connector->dev;
|
struct drm_device *dev = connector->dev;
|
||||||
struct drm_display_mode *mode, *t;
|
struct drm_display_mode *mode;
|
||||||
struct drm_connector_helper_funcs *connector_funcs =
|
struct drm_connector_helper_funcs *connector_funcs =
|
||||||
connector->helper_private;
|
connector->helper_private;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
@ -96,7 +96,7 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
|
||||||
DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id,
|
DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id,
|
||||||
drm_get_connector_name(connector));
|
drm_get_connector_name(connector));
|
||||||
/* set all modes to the unverified state */
|
/* set all modes to the unverified state */
|
||||||
list_for_each_entry_safe(mode, t, &connector->modes, head)
|
list_for_each_entry(mode, &connector->modes, head)
|
||||||
mode->status = MODE_UNVERIFIED;
|
mode->status = MODE_UNVERIFIED;
|
||||||
|
|
||||||
if (connector->force) {
|
if (connector->force) {
|
||||||
|
@ -136,7 +136,7 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
|
||||||
mode_flags |= DRM_MODE_FLAG_DBLSCAN;
|
mode_flags |= DRM_MODE_FLAG_DBLSCAN;
|
||||||
drm_mode_validate_flag(connector, mode_flags);
|
drm_mode_validate_flag(connector, mode_flags);
|
||||||
|
|
||||||
list_for_each_entry_safe(mode, t, &connector->modes, head) {
|
list_for_each_entry(mode, &connector->modes, head) {
|
||||||
if (mode->status == MODE_OK)
|
if (mode->status == MODE_OK)
|
||||||
mode->status = connector_funcs->mode_valid(connector,
|
mode->status = connector_funcs->mode_valid(connector,
|
||||||
mode);
|
mode);
|
||||||
|
@ -152,7 +152,7 @@ prune:
|
||||||
|
|
||||||
DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed modes :\n", connector->base.id,
|
DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed modes :\n", connector->base.id,
|
||||||
drm_get_connector_name(connector));
|
drm_get_connector_name(connector));
|
||||||
list_for_each_entry_safe(mode, t, &connector->modes, head) {
|
list_for_each_entry(mode, &connector->modes, head) {
|
||||||
mode->vrefresh = drm_mode_vrefresh(mode);
|
mode->vrefresh = drm_mode_vrefresh(mode);
|
||||||
|
|
||||||
drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
|
drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче