[Intel-gfx] [drm-intel:topic/drm-misc 45/56] drivers/gpu/drm/gma500/mdfld_dsi_output.c:564:11: error: 'struct drm_connector' has no member named 'save'

kbuild test robot fengguang.wu at intel.com
Mon Dec 7 08:03:04 PST 2015


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 52591 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20151208/66db32cc/attachment-0001.obj>


More information about the Intel-gfx mailing list