• A
    drm/i915: Make intel_crtc->config a pointer · 6e3c9717
    Ander Conselvan de Oliveira 提交于
    To match the semantics of drm_crtc->state, which this will eventually
    become. The allocation of the memory for config will be fixed in a
    followup patch. By adding the extra _config field to intel_crtc it was
    possible to generate this entire patch with the cocci script below.
    
    @@ @@
    struct intel_crtc {
    ...
    -struct intel_crtc_state config;
    +struct intel_crtc_state _config;
    +struct intel_crtc_state *config;
    ...
    }
    @@ struct intel_crtc *crtc; @@
    -memset(&crtc->config, 0, sizeof(crtc->config));
    +memset(crtc->config, 0, sizeof(*crtc->config));
    @@ @@
    __intel_set_mode(...) {
    <...
    -to_intel_crtc(crtc)->config = *pipe_config;
    +(*(to_intel_crtc(crtc)->config)) = *pipe_config;
    ...>
    }
    @@ @@
    intel_crtc_init(...) {
    ...
    WARN_ON(drm_crtc_index(&intel_crtc->base) != intel_crtc->pipe);
    +intel_crtc->config = &intel_crtc->_config;
    return;
    ...
    }
    @@ struct intel_crtc *crtc; @@
    -&crtc->config
    +crtc->config
    @@ struct intel_crtc *crtc; identifier member; @@
    -crtc->config.member
    +crtc->config->member
    @@ expression E; @@
    -&(to_intel_crtc(E)->config)
    +to_intel_crtc(E)->config
    @@ expression E; identifier member; @@
    -to_intel_crtc(E)->config.member
    +to_intel_crtc(E)->config->member
    
    v2: Clarify manual changes by splitting them into another patch. (Matt)
        Improve cocci script to generate even more of the changes. (Ander)
    Signed-off-by: NAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
    Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    6e3c9717
intel_drv.h 40.9 KB