瀏覽代碼

[PATCH] ARM: Cleanup kmalloc in cyber2000fb

We use one kmalloc to allocate two structures needlessly.
Combine these two structures into one.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King 20 年之前
父節點
當前提交
eca02b0c1d
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      drivers/video/cyber2000fb.c

+ 4 - 4
drivers/video/cyber2000fb.c

@@ -90,6 +90,8 @@ struct cfb_info {
 	 */
 	u_char			ramdac_ctrl;
 	u_char			ramdac_powerdown;
+
+	u32			pseudo_palette[16];
 };
 
 static char *default_font = "Acorn8x8";
@@ -1223,9 +1225,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
 {
 	struct cfb_info *cfb;
 
-	cfb = kmalloc(sizeof(struct cfb_info) +
-		       sizeof(u32) * 16, GFP_KERNEL);
-
+	cfb = kmalloc(sizeof(struct cfb_info), GFP_KERNEL);
 	if (!cfb)
 		return NULL;
 
@@ -1281,7 +1281,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
 
 	cfb->fb.fbops		= &cyber2000fb_ops;
 	cfb->fb.flags		= FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
-	cfb->fb.pseudo_palette	= (void *)(cfb + 1);
+	cfb->fb.pseudo_palette	= cfb->pseudo_palette;
 
 	fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0);