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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx