diff options
Diffstat (limited to 'drivers/video/fsl-diu-fb.c')
-rw-r--r-- | drivers/video/fsl-diu-fb.c | 105 |
1 files changed, 17 insertions, 88 deletions
diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c index dbb4cb7124dc..10ee411df3cf 100644 --- a/drivers/video/fsl-diu-fb.c +++ b/drivers/video/fsl-diu-fb.c | |||
@@ -322,14 +322,9 @@ static void *fsl_diu_alloc(size_t size, phys_addr_t *phys) | |||
322 | { | 322 | { |
323 | void *virt; | 323 | void *virt; |
324 | 324 | ||
325 | pr_debug("size=%zu\n", size); | ||
326 | |||
327 | virt = alloc_pages_exact(size, GFP_DMA | __GFP_ZERO); | 325 | virt = alloc_pages_exact(size, GFP_DMA | __GFP_ZERO); |
328 | if (virt) { | 326 | if (virt) |
329 | *phys = virt_to_phys(virt); | 327 | *phys = virt_to_phys(virt); |
330 | pr_debug("virt=%p phys=%llx\n", virt, | ||
331 | (unsigned long long)*phys); | ||
332 | } | ||
333 | 328 | ||
334 | return virt; | 329 | return virt; |
335 | } | 330 | } |
@@ -343,8 +338,6 @@ static void *fsl_diu_alloc(size_t size, phys_addr_t *phys) | |||
343 | */ | 338 | */ |
344 | static void fsl_diu_free(void *virt, size_t size) | 339 | static void fsl_diu_free(void *virt, size_t size) |
345 | { | 340 | { |
346 | pr_debug("virt=%p size=%zu\n", virt, size); | ||
347 | |||
348 | if (virt && size) | 341 | if (virt && size) |
349 | free_pages_exact(virt, size); | 342 | free_pages_exact(virt, size); |
350 | } | 343 | } |
@@ -368,7 +361,6 @@ static int fsl_diu_enable_panel(struct fb_info *info) | |||
368 | struct fsl_diu_data *machine_data = mfbi->parent; | 361 | struct fsl_diu_data *machine_data = mfbi->parent; |
369 | int res = 0; | 362 | int res = 0; |
370 | 363 | ||
371 | pr_debug("enable_panel index %d\n", mfbi->index); | ||
372 | if (mfbi->type != MFB_TYPE_OFF) { | 364 | if (mfbi->type != MFB_TYPE_OFF) { |
373 | switch (mfbi->index) { | 365 | switch (mfbi->index) { |
374 | case 0: /* plane 0 */ | 366 | case 0: /* plane 0 */ |
@@ -585,9 +577,6 @@ static void adjust_aoi_size_position(struct fb_var_screeninfo *var, | |||
585 | static int fsl_diu_check_var(struct fb_var_screeninfo *var, | 577 | static int fsl_diu_check_var(struct fb_var_screeninfo *var, |
586 | struct fb_info *info) | 578 | struct fb_info *info) |
587 | { | 579 | { |
588 | pr_debug("check_var xres: %d\n", var->xres); | ||
589 | pr_debug("check_var yres: %d\n", var->yres); | ||
590 | |||
591 | if (var->xres_virtual < var->xres) | 580 | if (var->xres_virtual < var->xres) |
592 | var->xres_virtual = var->xres; | 581 | var->xres_virtual = var->xres; |
593 | if (var->yres_virtual < var->yres) | 582 | if (var->yres_virtual < var->yres) |
@@ -720,7 +709,6 @@ static void update_lcdc(struct fb_info *info) | |||
720 | 709 | ||
721 | diu_ops.set_gamma_table(machine_data->monitor_port, pool.gamma.vaddr); | 710 | diu_ops.set_gamma_table(machine_data->monitor_port, pool.gamma.vaddr); |
722 | 711 | ||
723 | pr_debug("update-lcdc: HW - %p\n Disabling DIU\n", hw); | ||
724 | disable_lcdc(info); | 712 | disable_lcdc(info); |
725 | 713 | ||
726 | /* Program DIU registers */ | 714 | /* Program DIU registers */ |
@@ -732,9 +720,6 @@ static void update_lcdc(struct fb_info *info) | |||
732 | out_be32(&hw->bgnd_wb, 0); /* BGND_WB */ | 720 | out_be32(&hw->bgnd_wb, 0); /* BGND_WB */ |
733 | out_be32(&hw->disp_size, (var->yres << 16 | var->xres)); | 721 | out_be32(&hw->disp_size, (var->yres << 16 | var->xres)); |
734 | /* DISP SIZE */ | 722 | /* DISP SIZE */ |
735 | pr_debug("DIU xres: %d\n", var->xres); | ||
736 | pr_debug("DIU yres: %d\n", var->yres); | ||
737 | |||
738 | out_be32(&hw->wb_size, 0); /* WB SIZE */ | 723 | out_be32(&hw->wb_size, 0); /* WB SIZE */ |
739 | out_be32(&hw->wb_mem_addr, 0); /* WB MEM ADDR */ | 724 | out_be32(&hw->wb_mem_addr, 0); /* WB MEM ADDR */ |
740 | 725 | ||
@@ -751,15 +736,6 @@ static void update_lcdc(struct fb_info *info) | |||
751 | 736 | ||
752 | out_be32(&hw->vsyn_para, temp); | 737 | out_be32(&hw->vsyn_para, temp); |
753 | 738 | ||
754 | pr_debug("DIU right_margin - %d\n", var->right_margin); | ||
755 | pr_debug("DIU left_margin - %d\n", var->left_margin); | ||
756 | pr_debug("DIU hsync_len - %d\n", var->hsync_len); | ||
757 | pr_debug("DIU upper_margin - %d\n", var->upper_margin); | ||
758 | pr_debug("DIU lower_margin - %d\n", var->lower_margin); | ||
759 | pr_debug("DIU vsync_len - %d\n", var->vsync_len); | ||
760 | pr_debug("DIU HSYNC - 0x%08x\n", hw->hsyn_para); | ||
761 | pr_debug("DIU VSYNC - 0x%08x\n", hw->vsyn_para); | ||
762 | |||
763 | diu_ops.set_pixel_clock(var->pixclock); | 739 | diu_ops.set_pixel_clock(var->pixclock); |
764 | 740 | ||
765 | out_be32(&hw->syn_pol, 0); /* SYNC SIGNALS POLARITY */ | 741 | out_be32(&hw->syn_pol, 0); /* SYNC SIGNALS POLARITY */ |
@@ -776,14 +752,9 @@ static int map_video_memory(struct fb_info *info) | |||
776 | phys_addr_t phys; | 752 | phys_addr_t phys; |
777 | u32 smem_len = info->fix.line_length * info->var.yres_virtual; | 753 | u32 smem_len = info->fix.line_length * info->var.yres_virtual; |
778 | 754 | ||
779 | pr_debug("info->var.xres_virtual = %d\n", info->var.xres_virtual); | ||
780 | pr_debug("info->var.yres_virtual = %d\n", info->var.yres_virtual); | ||
781 | pr_debug("info->fix.line_length = %d\n", info->fix.line_length); | ||
782 | pr_debug("MAP_VIDEO_MEMORY: smem_len = %u\n", smem_len); | ||
783 | |||
784 | info->screen_base = fsl_diu_alloc(smem_len, &phys); | 755 | info->screen_base = fsl_diu_alloc(smem_len, &phys); |
785 | if (info->screen_base == NULL) { | 756 | if (info->screen_base == NULL) { |
786 | printk(KERN_ERR "Unable to allocate fb memory\n"); | 757 | dev_err(info->dev, "unable to allocate fb memory\n"); |
787 | return -ENOMEM; | 758 | return -ENOMEM; |
788 | } | 759 | } |
789 | mutex_lock(&info->mm_lock); | 760 | mutex_lock(&info->mm_lock); |
@@ -792,10 +763,6 @@ static int map_video_memory(struct fb_info *info) | |||
792 | mutex_unlock(&info->mm_lock); | 763 | mutex_unlock(&info->mm_lock); |
793 | info->screen_size = info->fix.smem_len; | 764 | info->screen_size = info->fix.smem_len; |
794 | 765 | ||
795 | pr_debug("Allocated fb @ paddr=0x%08lx, size=%d.\n", | ||
796 | info->fix.smem_start, info->fix.smem_len); | ||
797 | pr_debug("screen base %p\n", info->screen_base); | ||
798 | |||
799 | return 0; | 766 | return 0; |
800 | } | 767 | } |
801 | 768 | ||
@@ -852,11 +819,10 @@ static int fsl_diu_set_par(struct fb_info *info) | |||
852 | if (len != info->fix.smem_len) { | 819 | if (len != info->fix.smem_len) { |
853 | if (info->fix.smem_start) | 820 | if (info->fix.smem_start) |
854 | unmap_video_memory(info); | 821 | unmap_video_memory(info); |
855 | pr_debug("SET PAR: smem_len = %d\n", info->fix.smem_len); | ||
856 | 822 | ||
857 | /* Memory allocation for framebuffer */ | 823 | /* Memory allocation for framebuffer */ |
858 | if (map_video_memory(info)) { | 824 | if (map_video_memory(info)) { |
859 | printk(KERN_ERR "Unable to allocate fb memory 1\n"); | 825 | dev_err(info->dev, "unable to allocate fb memory 1\n"); |
860 | return -ENOMEM; | 826 | return -ENOMEM; |
861 | } | 827 | } |
862 | } | 828 | } |
@@ -1023,21 +989,17 @@ static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd, | |||
1023 | if (copy_from_user(&pix_fmt, buf, sizeof(pix_fmt))) | 989 | if (copy_from_user(&pix_fmt, buf, sizeof(pix_fmt))) |
1024 | return -EFAULT; | 990 | return -EFAULT; |
1025 | ad->pix_fmt = pix_fmt; | 991 | ad->pix_fmt = pix_fmt; |
1026 | pr_debug("Set pixel format to 0x%08x\n", ad->pix_fmt); | ||
1027 | break; | 992 | break; |
1028 | case MFB_GET_PIXFMT: | 993 | case MFB_GET_PIXFMT: |
1029 | pix_fmt = ad->pix_fmt; | 994 | pix_fmt = ad->pix_fmt; |
1030 | if (copy_to_user(buf, &pix_fmt, sizeof(pix_fmt))) | 995 | if (copy_to_user(buf, &pix_fmt, sizeof(pix_fmt))) |
1031 | return -EFAULT; | 996 | return -EFAULT; |
1032 | pr_debug("get pixel format 0x%08x\n", ad->pix_fmt); | ||
1033 | break; | 997 | break; |
1034 | case MFB_SET_AOID: | 998 | case MFB_SET_AOID: |
1035 | if (copy_from_user(&aoi_d, buf, sizeof(aoi_d))) | 999 | if (copy_from_user(&aoi_d, buf, sizeof(aoi_d))) |
1036 | return -EFAULT; | 1000 | return -EFAULT; |
1037 | mfbi->x_aoi_d = aoi_d.x_aoi_d; | 1001 | mfbi->x_aoi_d = aoi_d.x_aoi_d; |
1038 | mfbi->y_aoi_d = aoi_d.y_aoi_d; | 1002 | mfbi->y_aoi_d = aoi_d.y_aoi_d; |
1039 | pr_debug("set AOI display offset of index %d to (%d,%d)\n", | ||
1040 | mfbi->index, aoi_d.x_aoi_d, aoi_d.y_aoi_d); | ||
1041 | fsl_diu_check_var(&info->var, info); | 1003 | fsl_diu_check_var(&info->var, info); |
1042 | fsl_diu_set_aoi(info); | 1004 | fsl_diu_set_aoi(info); |
1043 | break; | 1005 | break; |
@@ -1046,14 +1008,11 @@ static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd, | |||
1046 | aoi_d.y_aoi_d = mfbi->y_aoi_d; | 1008 | aoi_d.y_aoi_d = mfbi->y_aoi_d; |
1047 | if (copy_to_user(buf, &aoi_d, sizeof(aoi_d))) | 1009 | if (copy_to_user(buf, &aoi_d, sizeof(aoi_d))) |
1048 | return -EFAULT; | 1010 | return -EFAULT; |
1049 | pr_debug("get AOI display offset of index %d (%d,%d)\n", | ||
1050 | mfbi->index, aoi_d.x_aoi_d, aoi_d.y_aoi_d); | ||
1051 | break; | 1011 | break; |
1052 | case MFB_GET_ALPHA: | 1012 | case MFB_GET_ALPHA: |
1053 | global_alpha = mfbi->g_alpha; | 1013 | global_alpha = mfbi->g_alpha; |
1054 | if (copy_to_user(buf, &global_alpha, sizeof(global_alpha))) | 1014 | if (copy_to_user(buf, &global_alpha, sizeof(global_alpha))) |
1055 | return -EFAULT; | 1015 | return -EFAULT; |
1056 | pr_debug("get global alpha of index %d\n", mfbi->index); | ||
1057 | break; | 1016 | break; |
1058 | case MFB_SET_ALPHA: | 1017 | case MFB_SET_ALPHA: |
1059 | /* set panel information */ | 1018 | /* set panel information */ |
@@ -1062,7 +1021,6 @@ static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd, | |||
1062 | ad->src_size_g_alpha = (ad->src_size_g_alpha & (~0xff)) | | 1021 | ad->src_size_g_alpha = (ad->src_size_g_alpha & (~0xff)) | |
1063 | (global_alpha & 0xff); | 1022 | (global_alpha & 0xff); |
1064 | mfbi->g_alpha = global_alpha; | 1023 | mfbi->g_alpha = global_alpha; |
1065 | pr_debug("set global alpha for index %d\n", mfbi->index); | ||
1066 | break; | 1024 | break; |
1067 | case MFB_SET_CHROMA_KEY: | 1025 | case MFB_SET_CHROMA_KEY: |
1068 | /* set panel winformation */ | 1026 | /* set panel winformation */ |
@@ -1090,7 +1048,6 @@ static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd, | |||
1090 | ad->ckmin_g = ck.green_min; | 1048 | ad->ckmin_g = ck.green_min; |
1091 | ad->ckmin_b = ck.blue_min; | 1049 | ad->ckmin_b = ck.blue_min; |
1092 | } | 1050 | } |
1093 | pr_debug("set chroma key\n"); | ||
1094 | break; | 1051 | break; |
1095 | case FBIOGET_GWINFO: | 1052 | case FBIOGET_GWINFO: |
1096 | if (mfbi->type == MFB_TYPE_OFF) | 1053 | if (mfbi->type == MFB_TYPE_OFF) |
@@ -1110,7 +1067,7 @@ static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd, | |||
1110 | break; | 1067 | break; |
1111 | 1068 | ||
1112 | default: | 1069 | default: |
1113 | printk(KERN_ERR "Unknown ioctl command (0x%08X)\n", cmd); | 1070 | dev_err(info->dev, "unknown ioctl command (0x%08X)\n", cmd); |
1114 | return -ENOIOCTLCMD; | 1071 | return -ENOIOCTLCMD; |
1115 | } | 1072 | } |
1116 | 1073 | ||
@@ -1131,7 +1088,6 @@ static int fsl_diu_open(struct fb_info *info, int user) | |||
1131 | spin_lock(&diu_lock); | 1088 | spin_lock(&diu_lock); |
1132 | mfbi->count++; | 1089 | mfbi->count++; |
1133 | if (mfbi->count == 1) { | 1090 | if (mfbi->count == 1) { |
1134 | pr_debug("open plane index %d\n", mfbi->index); | ||
1135 | fsl_diu_check_var(&info->var, info); | 1091 | fsl_diu_check_var(&info->var, info); |
1136 | res = fsl_diu_set_par(info); | 1092 | res = fsl_diu_set_par(info); |
1137 | if (res < 0) | 1093 | if (res < 0) |
@@ -1157,7 +1113,6 @@ static int fsl_diu_release(struct fb_info *info, int user) | |||
1157 | spin_lock(&diu_lock); | 1113 | spin_lock(&diu_lock); |
1158 | mfbi->count--; | 1114 | mfbi->count--; |
1159 | if (mfbi->count == 0) { | 1115 | if (mfbi->count == 0) { |
1160 | pr_debug("release plane index %d\n", mfbi->index); | ||
1161 | res = fsl_diu_disable_panel(info); | 1116 | res = fsl_diu_disable_panel(info); |
1162 | if (res < 0) | 1117 | if (res < 0) |
1163 | mfbi->count++; | 1118 | mfbi->count++; |
@@ -1222,26 +1177,9 @@ static int __devinit install_fb(struct fb_info *info) | |||
1222 | } else { | 1177 | } else { |
1223 | aoi_mode = init_aoi_mode; | 1178 | aoi_mode = init_aoi_mode; |
1224 | } | 1179 | } |
1225 | pr_debug("mode used = %s\n", aoi_mode); | ||
1226 | rc = fb_find_mode(&info->var, info, aoi_mode, db, dbsize, | 1180 | rc = fb_find_mode(&info->var, info, aoi_mode, db, dbsize, |
1227 | &fsl_diu_default_mode, default_bpp); | 1181 | &fsl_diu_default_mode, default_bpp); |
1228 | switch (rc) { | 1182 | if (!rc) { |
1229 | case 1: | ||
1230 | pr_debug("using mode specified in @mode\n"); | ||
1231 | break; | ||
1232 | case 2: | ||
1233 | pr_debug("using mode specified in @mode " | ||
1234 | "with ignored refresh rate\n"); | ||
1235 | break; | ||
1236 | case 3: | ||
1237 | pr_debug("using mode default mode\n"); | ||
1238 | break; | ||
1239 | case 4: | ||
1240 | pr_debug("using mode from list\n"); | ||
1241 | break; | ||
1242 | default: | ||
1243 | pr_debug("rc = %d\n", rc); | ||
1244 | pr_debug("failed to find mode\n"); | ||
1245 | /* | 1183 | /* |
1246 | * For plane 0 we continue and look into | 1184 | * For plane 0 we continue and look into |
1247 | * driver's internal modedb. | 1185 | * driver's internal modedb. |
@@ -1250,7 +1188,6 @@ static int __devinit install_fb(struct fb_info *info) | |||
1250 | has_default_mode = 0; | 1188 | has_default_mode = 0; |
1251 | else | 1189 | else |
1252 | return -EINVAL; | 1190 | return -EINVAL; |
1253 | break; | ||
1254 | } | 1191 | } |
1255 | 1192 | ||
1256 | if (!has_default_mode) { | 1193 | if (!has_default_mode) { |
@@ -1286,33 +1223,26 @@ static int __devinit install_fb(struct fb_info *info) | |||
1286 | fb_videomode_to_var(&info->var, modedb); | 1223 | fb_videomode_to_var(&info->var, modedb); |
1287 | } | 1224 | } |
1288 | 1225 | ||
1289 | pr_debug("xres_virtual %d\n", info->var.xres_virtual); | ||
1290 | pr_debug("bits_per_pixel %d\n", info->var.bits_per_pixel); | ||
1291 | |||
1292 | pr_debug("info->var.yres_virtual = %d\n", info->var.yres_virtual); | ||
1293 | pr_debug("info->fix.line_length = %d\n", info->fix.line_length); | ||
1294 | |||
1295 | if (mfbi->type == MFB_TYPE_OFF) | 1226 | if (mfbi->type == MFB_TYPE_OFF) |
1296 | mfbi->blank = FB_BLANK_NORMAL; | 1227 | mfbi->blank = FB_BLANK_NORMAL; |
1297 | else | 1228 | else |
1298 | mfbi->blank = FB_BLANK_UNBLANK; | 1229 | mfbi->blank = FB_BLANK_UNBLANK; |
1299 | 1230 | ||
1300 | if (fsl_diu_check_var(&info->var, info)) { | 1231 | if (fsl_diu_check_var(&info->var, info)) { |
1301 | printk(KERN_ERR "fb_check_var failed"); | 1232 | dev_err(info->dev, "fsl_diu_check_var failed\n"); |
1302 | fb_dealloc_cmap(&info->cmap); | 1233 | fb_dealloc_cmap(&info->cmap); |
1303 | return -EINVAL; | 1234 | return -EINVAL; |
1304 | } | 1235 | } |
1305 | 1236 | ||
1306 | if (register_framebuffer(info) < 0) { | 1237 | if (register_framebuffer(info) < 0) { |
1307 | printk(KERN_ERR "register_framebuffer failed"); | 1238 | dev_err(info->dev, "register_framebuffer failed\n"); |
1308 | unmap_video_memory(info); | 1239 | unmap_video_memory(info); |
1309 | fb_dealloc_cmap(&info->cmap); | 1240 | fb_dealloc_cmap(&info->cmap); |
1310 | return -EINVAL; | 1241 | return -EINVAL; |
1311 | } | 1242 | } |
1312 | 1243 | ||
1313 | mfbi->registered = 1; | 1244 | mfbi->registered = 1; |
1314 | printk(KERN_INFO "fb%d: %s fb device registered successfully.\n", | 1245 | dev_info(info->dev, "%s registered successfully\n", mfbi->id); |
1315 | info->node, info->fix.id); | ||
1316 | 1246 | ||
1317 | return 0; | 1247 | return 0; |
1318 | } | 1248 | } |
@@ -1344,7 +1274,6 @@ static irqreturn_t fsl_diu_isr(int irq, void *dev_id) | |||
1344 | /* This is the workaround for underrun */ | 1274 | /* This is the workaround for underrun */ |
1345 | if (status & INT_UNDRUN) { | 1275 | if (status & INT_UNDRUN) { |
1346 | out_be32(&hw->diu_mode, 0); | 1276 | out_be32(&hw->diu_mode, 0); |
1347 | pr_debug("Err: DIU occurs underrun!\n"); | ||
1348 | udelay(1); | 1277 | udelay(1); |
1349 | out_be32(&hw->diu_mode, 1); | 1278 | out_be32(&hw->diu_mode, 1); |
1350 | } | 1279 | } |
@@ -1376,9 +1305,7 @@ static int request_irq_local(int irq) | |||
1376 | status = in_be32(&hw->int_status); | 1305 | status = in_be32(&hw->int_status); |
1377 | 1306 | ||
1378 | ret = request_irq(irq, fsl_diu_isr, 0, "diu", NULL); | 1307 | ret = request_irq(irq, fsl_diu_isr, 0, "diu", NULL); |
1379 | if (ret) | 1308 | if (!ret) { |
1380 | pr_info("Request diu IRQ failed.\n"); | ||
1381 | else { | ||
1382 | ints = INT_PARERR | INT_LS_BF_VS; | 1309 | ints = INT_PARERR | INT_LS_BF_VS; |
1383 | #if !defined(CONFIG_NOT_COHERENT_CACHE) | 1310 | #if !defined(CONFIG_NOT_COHERENT_CACHE) |
1384 | ints |= INT_VSYNC; | 1311 | ints |= INT_VSYNC; |
@@ -1557,7 +1484,6 @@ static int __devinit fsl_diu_probe(struct platform_device *ofdev) | |||
1557 | dev_err(&ofdev->dev, "invalid DIU address\n"); | 1484 | dev_err(&ofdev->dev, "invalid DIU address\n"); |
1558 | goto error; | 1485 | goto error; |
1559 | } | 1486 | } |
1560 | dev_dbg(&ofdev->dev, "%s, res.start: 0x%08x\n", __func__, res.start); | ||
1561 | 1487 | ||
1562 | dr.diu_reg = ioremap(res.start, sizeof(struct diu)); | 1488 | dr.diu_reg = ioremap(res.start, sizeof(struct diu)); |
1563 | if (!dr.diu_reg) { | 1489 | if (!dr.diu_reg) { |
@@ -1787,17 +1713,19 @@ static int __init fsl_diu_init(void) | |||
1787 | #else | 1713 | #else |
1788 | monitor_port = fsl_diu_name_to_port(monitor_string); | 1714 | monitor_port = fsl_diu_name_to_port(monitor_string); |
1789 | #endif | 1715 | #endif |
1790 | printk(KERN_INFO "Freescale DIU driver\n"); | 1716 | pr_info("Freescale Display Interface Unit (DIU) framebuffer driver\n"); |
1791 | 1717 | ||
1792 | #ifdef CONFIG_NOT_COHERENT_CACHE | 1718 | #ifdef CONFIG_NOT_COHERENT_CACHE |
1793 | np = of_find_node_by_type(NULL, "cpu"); | 1719 | np = of_find_node_by_type(NULL, "cpu"); |
1794 | if (!np) { | 1720 | if (!np) { |
1795 | printk(KERN_ERR "Err: can't find device node 'cpu'\n"); | 1721 | pr_err("fsl-diu-fb: can't find 'cpu' device node\n"); |
1796 | return -ENODEV; | 1722 | return -ENODEV; |
1797 | } | 1723 | } |
1798 | 1724 | ||
1799 | prop = of_get_property(np, "d-cache-size", NULL); | 1725 | prop = of_get_property(np, "d-cache-size", NULL); |
1800 | if (prop == NULL) { | 1726 | if (prop == NULL) { |
1727 | pr_err("fsl-diu-fb: missing 'd-cache-size' property' " | ||
1728 | "in 'cpu' node\n"); | ||
1801 | of_node_put(np); | 1729 | of_node_put(np); |
1802 | return -ENODEV; | 1730 | return -ENODEV; |
1803 | } | 1731 | } |
@@ -1811,6 +1739,8 @@ static int __init fsl_diu_init(void) | |||
1811 | 1739 | ||
1812 | prop = of_get_property(np, "d-cache-line-size", NULL); | 1740 | prop = of_get_property(np, "d-cache-line-size", NULL); |
1813 | if (prop == NULL) { | 1741 | if (prop == NULL) { |
1742 | pr_err("fsl-diu-fb: missing 'd-cache-line-size' property' " | ||
1743 | "in 'cpu' node\n"); | ||
1814 | of_node_put(np); | 1744 | of_node_put(np); |
1815 | return -ENODEV; | 1745 | return -ENODEV; |
1816 | } | 1746 | } |
@@ -1824,8 +1754,7 @@ static int __init fsl_diu_init(void) | |||
1824 | 1754 | ||
1825 | ret = platform_driver_register(&fsl_diu_driver); | 1755 | ret = platform_driver_register(&fsl_diu_driver); |
1826 | if (ret) { | 1756 | if (ret) { |
1827 | printk(KERN_ERR | 1757 | pr_err("fsl-diu-fb: failed to register platform driver\n"); |
1828 | "fsl-diu: failed to register platform driver\n"); | ||
1829 | #if defined(CONFIG_NOT_COHERENT_CACHE) | 1758 | #if defined(CONFIG_NOT_COHERENT_CACHE) |
1830 | vfree(coherence_data); | 1759 | vfree(coherence_data); |
1831 | #endif | 1760 | #endif |
@@ -1853,7 +1782,7 @@ module_param_named(mode, fb_mode, charp, 0); | |||
1853 | MODULE_PARM_DESC(mode, | 1782 | MODULE_PARM_DESC(mode, |
1854 | "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\" "); | 1783 | "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\" "); |
1855 | module_param_named(bpp, default_bpp, ulong, 0); | 1784 | module_param_named(bpp, default_bpp, ulong, 0); |
1856 | MODULE_PARM_DESC(bpp, "Specify bit-per-pixel if not specified mode"); | 1785 | MODULE_PARM_DESC(bpp, "Specify bit-per-pixel if not specified in 'mode'"); |
1857 | module_param_named(monitor, monitor_string, charp, 0); | 1786 | module_param_named(monitor, monitor_string, charp, 0); |
1858 | MODULE_PARM_DESC(monitor, "Specify the monitor port " | 1787 | MODULE_PARM_DESC(monitor, "Specify the monitor port " |
1859 | "(\"dvi\", \"lvds\", or \"dlvds\") if supported by the platform"); | 1788 | "(\"dvi\", \"lvds\", or \"dlvds\") if supported by the platform"); |