aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/mgag200/mgag200_fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/mgag200/mgag200_fb.c')
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_fb.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c b/drivers/gpu/drm/mgag200/mgag200_fb.c
index 5bded5b74eaf..d2253f639481 100644
--- a/drivers/gpu/drm/mgag200/mgag200_fb.c
+++ b/drivers/gpu/drm/mgag200/mgag200_fb.c
@@ -121,9 +121,10 @@ static int mgag200fb_create_object(struct mga_fbdev *afbdev,
121 return ret; 121 return ret;
122} 122}
123 123
124static int mgag200fb_create(struct mga_fbdev *mfbdev, 124static int mgag200fb_create(struct drm_fb_helper *helper,
125 struct drm_fb_helper_surface_size *sizes) 125 struct drm_fb_helper_surface_size *sizes)
126{ 126{
127 struct mga_fbdev *mfbdev = (struct mga_fbdev *)helper;
127 struct drm_device *dev = mfbdev->helper.dev; 128 struct drm_device *dev = mfbdev->helper.dev;
128 struct drm_mode_fb_cmd2 mode_cmd; 129 struct drm_mode_fb_cmd2 mode_cmd;
129 struct mga_device *mdev = dev->dev_private; 130 struct mga_device *mdev = dev->dev_private;
@@ -210,23 +211,6 @@ out:
210 return ret; 211 return ret;
211} 212}
212 213
213static int mga_fb_find_or_create_single(struct drm_fb_helper *helper,
214 struct drm_fb_helper_surface_size
215 *sizes)
216{
217 struct mga_fbdev *mfbdev = (struct mga_fbdev *)helper;
218 int new_fb = 0;
219 int ret;
220
221 if (!helper->fb) {
222 ret = mgag200fb_create(mfbdev, sizes);
223 if (ret)
224 return ret;
225 new_fb = 1;
226 }
227 return new_fb;
228}
229
230static int mga_fbdev_destroy(struct drm_device *dev, 214static int mga_fbdev_destroy(struct drm_device *dev,
231 struct mga_fbdev *mfbdev) 215 struct mga_fbdev *mfbdev)
232{ 216{
@@ -257,7 +241,7 @@ static int mga_fbdev_destroy(struct drm_device *dev,
257static struct drm_fb_helper_funcs mga_fb_helper_funcs = { 241static struct drm_fb_helper_funcs mga_fb_helper_funcs = {
258 .gamma_set = mga_crtc_fb_gamma_set, 242 .gamma_set = mga_crtc_fb_gamma_set,
259 .gamma_get = mga_crtc_fb_gamma_get, 243 .gamma_get = mga_crtc_fb_gamma_get,
260 .fb_probe = mga_fb_find_or_create_single, 244 .fb_probe = mgag200fb_create,
261}; 245};
262 246
263int mgag200_fbdev_init(struct mga_device *mdev) 247int mgag200_fbdev_init(struct mga_device *mdev)