diff options
author | Dave Airlie <airlied@redhat.com> | 2010-03-30 01:34:13 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-06 20:21:03 -0400 |
commit | 386516744ba45d50f42c6999151cc210cb4f96e4 (patch) | |
tree | 88e3b6aeb83040a8bd512eb7aad087e6c0fcd556 /include/drm/drm_crtc.h | |
parent | 643acacf02679befd0f98ac3c5fecb805f1c9548 (diff) |
drm/fb: fix fbdev object model + cleanup properly.
The fbdev layer in the kms code should act like a consumer of the kms services and avoid having relying on information being store in the kms core structures in order for it to work.
This patch
a) removes the info pointer/psuedo palette from the core drm_framebuffer structure and moves it to the fbdev helper layer, it also removes the core drm keeping a list of kernel kms fbdevs.
b) migrated all the fb helper functions out of the crtc helper file into the fb helper file.
c) pushed the fb probing/hotplug control into the driver
d) makes the surface sizes into a structure for ease of passing
This changes the intel/radeon/nouveau drivers to use the new helper.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/drm/drm_crtc.h')
-rw-r--r-- | include/drm/drm_crtc.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 1347524a8e30..c70814b184e8 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -271,8 +271,6 @@ struct drm_framebuffer { | |||
271 | unsigned int depth; | 271 | unsigned int depth; |
272 | int bits_per_pixel; | 272 | int bits_per_pixel; |
273 | int flags; | 273 | int flags; |
274 | struct fb_info *fbdev; | ||
275 | u32 pseudo_palette[17]; | ||
276 | struct list_head filp_head; | 274 | struct list_head filp_head; |
277 | /* if you are using the helper */ | 275 | /* if you are using the helper */ |
278 | void *helper_private; | 276 | void *helper_private; |
@@ -548,16 +546,9 @@ struct drm_mode_set { | |||
548 | 546 | ||
549 | /** | 547 | /** |
550 | * struct drm_mode_config_funcs - configure CRTCs for a given screen layout | 548 | * struct drm_mode_config_funcs - configure CRTCs for a given screen layout |
551 | * @resize: adjust CRTCs as necessary for the proposed layout | ||
552 | * | ||
553 | * Currently only a resize hook is available. DRM will call back into the | ||
554 | * driver with a new screen width and height. If the driver can't support | ||
555 | * the proposed size, it can return false. Otherwise it should adjust | ||
556 | * the CRTC<->connector mappings as needed and update its view of the screen. | ||
557 | */ | 549 | */ |
558 | struct drm_mode_config_funcs { | 550 | struct drm_mode_config_funcs { |
559 | struct drm_framebuffer *(*fb_create)(struct drm_device *dev, struct drm_file *file_priv, struct drm_mode_fb_cmd *mode_cmd); | 551 | struct drm_framebuffer *(*fb_create)(struct drm_device *dev, struct drm_file *file_priv, struct drm_mode_fb_cmd *mode_cmd); |
560 | int (*fb_changed)(struct drm_device *dev); | ||
561 | }; | 552 | }; |
562 | 553 | ||
563 | struct drm_mode_group { | 554 | struct drm_mode_group { |
@@ -590,9 +581,6 @@ struct drm_mode_config { | |||
590 | 581 | ||
591 | struct list_head property_list; | 582 | struct list_head property_list; |
592 | 583 | ||
593 | /* in-kernel framebuffers - hung of filp_head in drm_framebuffer */ | ||
594 | struct list_head fb_kernel_list; | ||
595 | |||
596 | int min_width, min_height; | 584 | int min_width, min_height; |
597 | int max_width, max_height; | 585 | int max_width, max_height; |
598 | struct drm_mode_config_funcs *funcs; | 586 | struct drm_mode_config_funcs *funcs; |