[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