Hi Daniel,

[auto build test ERROR on drm/drm-next]
[also build test ERROR on next-20161215]
[cannot apply to v4.9]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Daniel-Vetter/drm-Convert-all-helpers-to-drm_connector_list_iter/20161216-061508
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-x003-201650 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/drm_crtc_helper.c: In function 'drm_helper_encoder_in_use':
>> drivers/gpu/drm/drm_crtc_helper.c:91:33: error: storage size of 'conn_iter' 
>> isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
>> drivers/gpu/drm/drm_crtc_helper.c:104:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_get' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_get(dev, &conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_crtc_helper.c:105:2: error: implicit declaration of 
>> function 'drm_for_each_connector_iter' 
>> [-Werror=implicit-function-declaration]
     drm_for_each_connector_iter(connector, &conn_iter) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_crtc_helper.c:105:53: error: expected ';' before '{' 
>> token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_crtc_helper.c:91:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c: In function 'drm_crtc_helper_disable':
   drivers/gpu/drm/drm_crtc_helper.c:446:34: error: storage size of 'conn_iter' 
isn't known
      struct drm_connector_list_iter conn_iter;
                                     ^~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c:452:54: error: expected ';' before '{' 
token
      drm_for_each_connector_iter(connector, &conn_iter) {
                                                         ^
   drivers/gpu/drm/drm_crtc_helper.c:446:34: warning: unused variable 
'conn_iter' [-Wunused-variable]
      struct drm_connector_list_iter conn_iter;
                                     ^~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c: In function 'drm_crtc_helper_set_config':
   drivers/gpu/drm/drm_crtc_helper.c:521:33: error: storage size of 'conn_iter' 
isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
>> drivers/gpu/drm/drm_crtc_helper.c:588:3: error: expected ';' before 
>> 'save_connector_encoders'
      save_connector_encoders[count++] = connector->encoder;
      ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_crtc_helper.c:589:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_put' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_put(&conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c:633:53: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_crtc_helper.c:675:53: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
>> drivers/gpu/drm/drm_crtc_helper.c:767:3: error: expected ';' before 
>> 'connector'
      connector->encoder = save_connector_encoders[count++];
      ^~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c:521:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c:517:49: warning: unused variable 
'new_encoder' [-Wunused-variable]
     struct drm_encoder **save_connector_encoders, *new_encoder, *encoder;
                                                    ^~~~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c:516:41: warning: unused variable 
'new_crtc' [-Wunused-variable]
     struct drm_crtc **save_encoder_crtcs, *new_crtc;
                                            ^~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c: In function 
'drm_helper_choose_encoder_dpms':
   drivers/gpu/drm/drm_crtc_helper.c:795:33: error: storage size of 'conn_iter' 
isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   In file included from include/linux/linkage.h:4:0,
                    from include/linux/kernel.h:6,
                    from drivers/gpu/drm/drm_crtc_helper.c:32:
>> include/linux/compiler.h:149:2: error: expected ';' before 'if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
     ^
   include/linux/compiler.h:147:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
>> drivers/gpu/drm/drm_crtc_helper.c:800:3: note: in expansion of macro 'if'
      if (connector->encoder == encoder)
      ^~
   drivers/gpu/drm/drm_crtc_helper.c:795:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c: In function 'drm_helper_choose_crtc_dpms':
   drivers/gpu/drm/drm_crtc_helper.c:836:33: error: storage size of 'conn_iter' 
isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   In file included from include/linux/linkage.h:4:0,
                    from include/linux/kernel.h:6,
                    from drivers/gpu/drm/drm_crtc_helper.c:32:
>> include/linux/compiler.h:149:2: error: expected ';' before 'if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
     ^
   include/linux/compiler.h:147:23: note: in expansion of macro '__trace_if'
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                          ^~~~~~~~~~
   drivers/gpu/drm/drm_crtc_helper.c:841:3: note: in expansion of macro 'if'
      if (connector->encoder && connector->encoder->crtc == crtc)
      ^~
   drivers/gpu/drm/drm_crtc_helper.c:836:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm/drm_probe_helper.c: In function 
'drm_kms_helper_poll_enable_locked':
>> drivers/gpu/drm/drm_probe_helper.c:132:33: error: storage size of 
>> 'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
>> drivers/gpu/drm/drm_probe_helper.c:140:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_get' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_get(dev, &conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_probe_helper.c:141:2: error: implicit declaration of 
>> function 'drm_for_each_connector_iter' 
>> [-Werror=implicit-function-declaration]
     drm_for_each_connector_iter(connector, &conn_iter) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_probe_helper.c:141:53: error: expected ';' before '{' 
>> token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_probe_helper.c:132:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_probe_helper.c: In function 'output_poll_execute':
   drivers/gpu/drm/drm_probe_helper.c:388:33: error: storage size of 
'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_probe_helper.c:405:53: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_probe_helper.c:389:28: warning: unused variable 
'old_status' [-Wunused-variable]
     enum drm_connector_status old_status;
                               ^~~~~~~~~~
   drivers/gpu/drm/drm_probe_helper.c:388:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_probe_helper.c: In function 'drm_helper_hpd_irq_event':
   drivers/gpu/drm/drm_probe_helper.c:570:33: error: storage size of 
'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_probe_helper.c:579:53: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_probe_helper.c:571:28: warning: unused variable 
'old_status' [-Wunused-variable]
     enum drm_connector_status old_status;
                               ^~~~~~~~~~
   drivers/gpu/drm/drm_probe_helper.c:570:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm/drm_plane_helper.c: In function 'get_connectors_for_crtc':
>> drivers/gpu/drm/drm_plane_helper.c:77:33: error: storage size of 'conn_iter' 
>> isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
>> drivers/gpu/drm/drm_plane_helper.c:87:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_get' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_get(dev, &conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_plane_helper.c:88:2: error: implicit declaration of 
>> function 'drm_for_each_connector_iter' 
>> [-Werror=implicit-function-declaration]
     drm_for_each_connector_iter(connector, &conn_iter) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_plane_helper.c:88:53: error: expected ';' before '{' 
>> token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_plane_helper.c:77:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm/drm_atomic_helper.c: In function 
'handle_conflicting_encoders':
>> drivers/gpu/drm/drm_atomic_helper.c:97:33: error: storage size of 
>> 'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
>> drivers/gpu/drm/drm_atomic_helper.c:148:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_get' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_get(state->dev, &conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_atomic_helper.c:149:2: error: implicit declaration of 
>> function 'drm_for_each_connector_iter' 
>> [-Werror=implicit-function-declaration]
     drm_for_each_connector_iter(connector, &conn_iter) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_atomic_helper.c:149:53: error: expected ';' before '{' 
>> token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
   drivers/gpu/drm/drm_atomic_helper.c:98:22: warning: unused variable 
'encoder' [-Wunused-variable]
     struct drm_encoder *encoder;
                         ^~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c:97:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c: In function 
'drm_atomic_helper_disable_all':
   drivers/gpu/drm/drm_atomic_helper.c:2452:33: error: storage size of 
'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c:2462:48: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(conn, &conn_iter) {
                                                   ^
>> drivers/gpu/drm/drm_atomic_helper.c:2480:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_put' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_put(&conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c:2479:1: warning: label 'free' defined 
but not used [-Wunused-label]
    free:
    ^~~~
   drivers/gpu/drm/drm_atomic_helper.c:2452:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c: In function 
'drm_atomic_helper_connector_dpms':
   drivers/gpu/drm/drm_atomic_helper.c:2853:33: error: storage size of 
'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c:2882:57: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(tmp_connector, &conn_iter) {
                                                            ^
   drivers/gpu/drm/drm_atomic_helper.c:2853:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c: In function 
'drm_atomic_helper_duplicate_state':
   drivers/gpu/drm/drm_atomic_helper.c:3269:33: error: storage size of 
'conn_iter' isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   drivers/gpu/drm/drm_atomic_helper.c:3301:48: error: expected ';' before '{' 
token
     drm_for_each_connector_iter(conn, &conn_iter) {
                                                   ^
   drivers/gpu/drm/drm_atomic_helper.c:3269:33: warning: unused variable 
'conn_iter' [-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm/drm_modeset_helper.c: In function 
'drm_helper_move_panel_connectors_to_head':
>> drivers/gpu/drm/drm_modeset_helper.c:51:33: error: 'struct drm_mode_config' 
>> has no member named 'connector_list_lock'; did you mean 'connector_list'?
     spin_lock_irq(&dev->mode_config.connector_list_lock);
                                    ^
   drivers/gpu/drm/drm_modeset_helper.c:61:35: error: 'struct drm_mode_config' 
has no member named 'connector_list_lock'; did you mean 'connector_list'?
     spin_unlock_irq(&dev->mode_config.connector_list_lock);
                                      ^
--
   drivers/gpu/drm/drm_fb_helper.c: In function 
'drm_fb_helper_single_add_all_connectors':
>> drivers/gpu/drm/drm_fb_helper.c:123:33: error: storage size of 'conn_iter' 
>> isn't known
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
>> drivers/gpu/drm/drm_fb_helper.c:130:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_get' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_get(dev, &conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_fb_helper.c:131:2: error: implicit declaration of 
>> function 'drm_for_each_connector_iter' 
>> [-Werror=implicit-function-declaration]
     drm_for_each_connector_iter(connector, &conn_iter) {
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_fb_helper.c:131:53: error: expected ';' before '{' token
     drm_for_each_connector_iter(connector, &conn_iter) {
                                                        ^
>> drivers/gpu/drm/drm_fb_helper.c:151:2: error: implicit declaration of 
>> function 'drm_connector_list_iter_put' 
>> [-Werror=implicit-function-declaration]
     drm_connector_list_iter_put(&conn_iter);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_fb_helper.c:150:1: warning: label 'out' defined but not 
used [-Wunused-label]
    out:
    ^~~
   drivers/gpu/drm/drm_fb_helper.c:139:1: warning: label 'fail' defined but not 
used [-Wunused-label]
    fail:
    ^~~~
   drivers/gpu/drm/drm_fb_helper.c:123:33: warning: unused variable 'conn_iter' 
[-Wunused-variable]
     struct drm_connector_list_iter conn_iter;
                                    ^~~~~~~~~
   cc1: some warnings being treated as errors

vim +91 drivers/gpu/drm/drm_crtc_helper.c

    26   *      Keith Packard
    27   *      Eric Anholt <e...@anholt.net>
    28   *      Dave Airlie <airl...@linux.ie>
    29   *      Jesse Barnes <jesse.bar...@intel.com>
    30   */
    31  
  > 32  #include <linux/kernel.h>
    33  #include <linux/export.h>
    34  #include <linux/moduleparam.h>
    35  
    36  #include <drm/drmP.h>
    37  #include <drm/drm_atomic.h>
    38  #include <drm/drm_crtc.h>
    39  #include <drm/drm_fourcc.h>
    40  #include <drm/drm_crtc_helper.h>
    41  #include <drm/drm_fb_helper.h>
    42  #include <drm/drm_plane_helper.h>
    43  #include <drm/drm_atomic_helper.h>
    44  #include <drm/drm_edid.h>
    45  
    46  /**
    47   * DOC: overview
    48   *
    49   * The CRTC modeset helper library provides a default set_config 
implementation
    50   * in drm_crtc_helper_set_config(). Plus a few other convenience 
functions using
    51   * the same callbacks which drivers can use to e.g. restore the modeset
    52   * configuration on resume with drm_helper_resume_force_mode().
    53   *
    54   * Note that this helper library doesn't track the current power state 
of CRTCs
    55   * and encoders. It can call callbacks like ->dpms() even though the 
hardware is
    56   * already in the desired state. This deficiency has been fixed in the 
atomic
    57   * helpers.
    58   *
    59   * The driver callbacks are mostly compatible with the atomic modeset 
helpers,
    60   * except for the handling of the primary plane: Atomic helpers require 
that the
    61   * primary plane is implemented as a real standalone plane and not 
directly tied
    62   * to the CRTC state. For easier transition this library provides 
functions to
    63   * implement the old semantics required by the CRTC helpers using the 
new plane
    64   * and atomic helper callbacks.
    65   *
    66   * Drivers are strongly urged to convert to the atomic helpers (by way 
of first
    67   * converting to the plane helpers). New drivers must not use these 
functions
    68   * but need to implement the atomic interface instead, potentially 
using the
    69   * atomic helpers for that.
    70   *
    71   * These legacy modeset helpers use the same function table structures 
as
    72   * all other modesetting helpers. See the documentation for struct
    73   * &drm_crtc_helper_funcs, struct &drm_encoder_helper_funcs and struct
    74   * &drm_connector_helper_funcs.
    75   */
    76  
    77  /**
    78   * drm_helper_encoder_in_use - check if a given encoder is in use
    79   * @encoder: encoder to check
    80   *
    81   * Checks whether @encoder is with the current mode setting output 
configuration
    82   * in use by any connector. This doesn't mean that it is actually 
enabled since
    83   * the DPMS state is tracked separately.
    84   *
    85   * Returns:
    86   * True if @encoder is used, false otherwise.
    87   */
    88  bool drm_helper_encoder_in_use(struct drm_encoder *encoder)
    89  {
    90          struct drm_connector *connector;
  > 91          struct drm_connector_list_iter conn_iter;
    92          struct drm_device *dev = encoder->dev;
    93  
    94          /*
    95           * We can expect this mutex to be locked if we are not 
panicking.
    96           * Locking is currently fubar in the panic handler.
    97           */
    98          if (!oops_in_progress) {
    99                  WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
   100                  
WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex));
   101          }
   102  
   103  
 > 104          drm_connector_list_iter_get(dev, &conn_iter);
 > 105          drm_for_each_connector_iter(connector, &conn_iter) {
   106                  if (connector->encoder == encoder) {
   107                          drm_connector_list_iter_put(&conn_iter);
   108                          return true;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to