tree:   git://anongit.freedesktop.org/drm-intel topic/drm-misc
head:   559f5ad9457a9cf36c82762db5f17f7e665e7897
commit: 6e83aa2691e9d2f20a45eb9406650ef1f0fd5e68 [45/56] drm/gma500: Move to 
private save/restore hooks
config: i386-allmodconfig (attached as .config)
reproduce:
        git checkout 6e83aa2691e9d2f20a45eb9406650ef1f0fd5e68
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/gma500/mdfld_dsi_output.c:407:39: warning: initialization 
from incompatible pointer type [-Wincompatible-pointer-types]
     .dpms = /*drm_helper_connector_dpms*/mdfld_dsi_connector_dpms,
                                          ^
   drivers/gpu/drm/gma500/mdfld_dsi_output.c:407:39: note: (near initialization 
for 'mdfld_dsi_connector_funcs.dpms')
   drivers/gpu/drm/gma500/mdfld_dsi_output.c: In function 
'mdfld_dsi_output_init':
>> drivers/gpu/drm/gma500/mdfld_dsi_output.c:564:11: error: 'struct 
>> drm_connector' has no member named 'save'
     connector->save = mdfld_dsi_connector_save;
              ^
>> drivers/gpu/drm/gma500/mdfld_dsi_output.c:565:11: error: 'struct 
>> drm_connector' has no member named 'restore'
     connector->restore = mdfld_dsi_connector_restore;
              ^

vim +564 drivers/gpu/drm/gma500/mdfld_dsi_output.c

   401                                  mdfld_dsi_get_config(dsi_connector);
   402          return &dsi_config->encoder->base.base;
   403  }
   404  
   405  /*DSI connector funcs*/
   406  static const struct drm_connector_funcs mdfld_dsi_connector_funcs = {
 > 407          .dpms = /*drm_helper_connector_dpms*/mdfld_dsi_connector_dpms,
   408          .detect = mdfld_dsi_connector_detect,
   409          .fill_modes = drm_helper_probe_single_connector_modes,
   410          .set_property = mdfld_dsi_connector_set_property,
   411          .destroy = mdfld_dsi_connector_destroy,
   412  };
   413  
   414  /*DSI connector helper funcs*/
   415  static const struct drm_connector_helper_funcs
   416          mdfld_dsi_connector_helper_funcs = {
   417          .get_modes = mdfld_dsi_connector_get_modes,
   418          .mode_valid = mdfld_dsi_connector_mode_valid,
   419          .best_encoder = mdfld_dsi_connector_best_encoder,
   420  };
   421  
   422  static int mdfld_dsi_get_default_config(struct drm_device *dev,
   423                                  struct mdfld_dsi_config *config, int 
pipe)
   424  {
   425          if (!dev || !config) {
   426                  DRM_ERROR("Invalid parameters");
   427                  return -EINVAL;
   428          }
   429  
   430          config->bpp = 24;
   431          if (mdfld_get_panel_type(dev, pipe) == TC35876X)
   432                  config->lane_count = 4;
   433          else
   434                  config->lane_count = 2;
   435          config->channel_num = 0;
   436  
   437          if (mdfld_get_panel_type(dev, pipe) == TMD_VID)
   438                  config->video_mode = 
MDFLD_DSI_VIDEO_NON_BURST_MODE_SYNC_PULSE;
   439          else if (mdfld_get_panel_type(dev, pipe) == TC35876X)
   440                  config->video_mode =
   441                                  
MDFLD_DSI_VIDEO_NON_BURST_MODE_SYNC_EVENTS;
   442          else
   443                  config->video_mode = MDFLD_DSI_VIDEO_BURST_MODE;
   444  
   445          return 0;
   446  }
   447  
   448  int mdfld_dsi_panel_reset(int pipe)
   449  {
   450          unsigned gpio;
   451          int ret = 0;
   452  
   453          switch (pipe) {
   454          case 0:
   455                  gpio = 128;
   456                  break;
   457          case 2:
   458                  gpio = 34;
   459                  break;
   460          default:
   461                  DRM_ERROR("Invalid output\n");
   462                  return -EINVAL;
   463          }
   464  
   465          ret = gpio_request(gpio, "gfx");
   466          if (ret) {
   467                  DRM_ERROR("gpio_rqueset failed\n");
   468                  return ret;
   469          }
   470  
   471          ret = gpio_direction_output(gpio, 1);
   472          if (ret) {
   473                  DRM_ERROR("gpio_direction_output failed\n");
   474                  goto gpio_error;
   475          }
   476  
   477          gpio_get_value(128);
   478  
   479  gpio_error:
   480          if (gpio_is_valid(gpio))
   481                  gpio_free(gpio);
   482  
   483          return ret;
   484  }
   485  
   486  /*
   487   * MIPI output init
   488   * @dev drm device
   489   * @pipe pipe number. 0 or 2
   490   * @config
   491   *
   492   * Do the initialization of a MIPI output, including create DRM mode 
objects
   493   * initialization of DSI output on @pipe
   494   */
   495  void mdfld_dsi_output_init(struct drm_device *dev,
   496                             int pipe,
   497                             const struct panel_funcs *p_vid_funcs)
   498  {
   499          struct mdfld_dsi_config *dsi_config;
   500          struct mdfld_dsi_connector *dsi_connector;
   501          struct drm_connector *connector;
   502          struct mdfld_dsi_encoder *encoder;
   503          struct drm_psb_private *dev_priv = dev->dev_private;
   504          struct panel_info dsi_panel_info;
   505          u32 width_mm, height_mm;
   506  
   507          dev_dbg(dev->dev, "init DSI output on pipe %d\n", pipe);
   508  
   509          if (pipe != 0 && pipe != 2) {
   510                  DRM_ERROR("Invalid parameter\n");
   511                  return;
   512          }
   513  
   514          /*create a new connetor*/
   515          dsi_connector = kzalloc(sizeof(struct mdfld_dsi_connector), 
GFP_KERNEL);
   516          if (!dsi_connector) {
   517                  DRM_ERROR("No memory");
   518                  return;
   519          }
   520  
   521          dsi_connector->pipe =  pipe;
   522  
   523          dsi_config = kzalloc(sizeof(struct mdfld_dsi_config),
   524                          GFP_KERNEL);
   525          if (!dsi_config) {
   526                  DRM_ERROR("cannot allocate memory for DSI config\n");
   527                  goto dsi_init_err0;
   528          }
   529          mdfld_dsi_get_default_config(dev, dsi_config, pipe);
   530  
   531          dsi_connector->private = dsi_config;
   532  
   533          dsi_config->changed = 1;
   534          dsi_config->dev = dev;
   535  
   536          dsi_config->fixed_mode = p_vid_funcs->get_config_mode(dev);
   537          if (p_vid_funcs->get_panel_info(dev, pipe, &dsi_panel_info))
   538                          goto dsi_init_err0;
   539  
   540          width_mm = dsi_panel_info.width_mm;
   541          height_mm = dsi_panel_info.height_mm;
   542  
   543          dsi_config->mode = dsi_config->fixed_mode;
   544          dsi_config->connector = dsi_connector;
   545  
   546          if (!dsi_config->fixed_mode) {
   547                  DRM_ERROR("No pannel fixed mode was found\n");
   548                  goto dsi_init_err0;
   549          }
   550  
   551          if (pipe && dev_priv->dsi_configs[0]) {
   552                  dsi_config->dvr_ic_inited = 0;
   553                  dev_priv->dsi_configs[1] = dsi_config;
   554          } else if (pipe == 0) {
   555                  dsi_config->dvr_ic_inited = 1;
   556                  dev_priv->dsi_configs[0] = dsi_config;
   557          } else {
   558                  DRM_ERROR("Trying to init MIPI1 before MIPI0\n");
   559                  goto dsi_init_err0;
   560          }
   561  
   562  
   563          connector = &dsi_connector->base.base;
 > 564          connector->save = mdfld_dsi_connector_save;
 > 565          connector->restore = mdfld_dsi_connector_restore;
   566  
   567          drm_connector_init(dev, connector, &mdfld_dsi_connector_funcs,
   568                                                  
DRM_MODE_CONNECTOR_LVDS);

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

Attachment: .config.gz
Description: Binary data

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

Reply via email to