aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Reif <reif@earthlink.net>2008-05-09 00:37:30 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-09 00:37:30 -0400
commit6cd5a86b56ec8fc8651c043bdb05ea0c662fb704 (patch)
tree30ba1d4946654f55570ebb69a7286d2cb72fd7a2
parentdc5dc7e6d71ca9fd1ea01a1418150af3b2937489 (diff)
sparc video: remove open boot prom code
Replace remaining open boot prom code with of. Boot tested on sparc32 and compile tested on sparc64. Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/video/bw2.c6
-rw-r--r--drivers/video/cg14.c5
-rw-r--r--drivers/video/cg3.c6
-rw-r--r--drivers/video/cg6.c4
-rw-r--r--drivers/video/ffb.c5
-rw-r--r--drivers/video/leo.c5
-rw-r--r--drivers/video/p9100.c5
-rw-r--r--drivers/video/sbuslib.c9
-rw-r--r--drivers/video/sbuslib.h5
-rw-r--r--drivers/video/sunxvr2500.c3
-rw-r--r--drivers/video/sunxvr500.c3
-rw-r--r--drivers/video/tcx.c5
12 files changed, 26 insertions, 35 deletions
diff --git a/drivers/video/bw2.c b/drivers/video/bw2.c
index 79f85dc402d6..e721644bad74 100644
--- a/drivers/video/bw2.c
+++ b/drivers/video/bw2.c
@@ -17,11 +17,9 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/fb.h> 18#include <linux/fb.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/of_device.h>
20 21
21#include <asm/io.h> 22#include <asm/io.h>
22#include <asm/oplib.h>
23#include <asm/prom.h>
24#include <asm/of_device.h>
25#include <asm/fbio.h> 23#include <asm/fbio.h>
26 24
27#include "sbuslib.h" 25#include "sbuslib.h"
@@ -299,7 +297,7 @@ static int __devinit bw2_probe(struct of_device *op, const struct of_device_id *
299 par->physbase = op->resource[0].start; 297 par->physbase = op->resource[0].start;
300 par->which_io = op->resource[0].flags & IORESOURCE_BITS; 298 par->which_io = op->resource[0].flags & IORESOURCE_BITS;
301 299
302 sbusfb_fill_var(&info->var, dp->node, 1); 300 sbusfb_fill_var(&info->var, dp, 1);
303 linebytes = of_getintprop_default(dp, "linebytes", 301 linebytes = of_getintprop_default(dp, "linebytes",
304 info->var.xres); 302 info->var.xres);
305 303
diff --git a/drivers/video/cg14.c b/drivers/video/cg14.c
index 0db0fecba93b..b17e74671779 100644
--- a/drivers/video/cg14.c
+++ b/drivers/video/cg14.c
@@ -17,10 +17,9 @@
17#include <linux/fb.h> 17#include <linux/fb.h>
18#include <linux/mm.h> 18#include <linux/mm.h>
19#include <linux/uaccess.h> 19#include <linux/uaccess.h>
20#include <linux/of_device.h>
20 21
21#include <asm/io.h> 22#include <asm/io.h>
22#include <asm/prom.h>
23#include <asm/of_device.h>
24#include <asm/fbio.h> 23#include <asm/fbio.h>
25 24
26#include "sbuslib.h" 25#include "sbuslib.h"
@@ -482,7 +481,7 @@ static int __devinit cg14_probe(struct of_device *op, const struct of_device_id
482 481
483 spin_lock_init(&par->lock); 482 spin_lock_init(&par->lock);
484 483
485 sbusfb_fill_var(&info->var, dp->node, 8); 484 sbusfb_fill_var(&info->var, dp, 8);
486 info->var.red.length = 8; 485 info->var.red.length = 8;
487 info->var.green.length = 8; 486 info->var.green.length = 8;
488 info->var.blue.length = 8; 487 info->var.blue.length = 8;
diff --git a/drivers/video/cg3.c b/drivers/video/cg3.c
index e31e26a6bb79..3aa7b6cb0268 100644
--- a/drivers/video/cg3.c
+++ b/drivers/video/cg3.c
@@ -17,11 +17,9 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/fb.h> 18#include <linux/fb.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/of_device.h>
20 21
21#include <asm/io.h> 22#include <asm/io.h>
22#include <asm/oplib.h>
23#include <asm/prom.h>
24#include <asm/of_device.h>
25#include <asm/fbio.h> 23#include <asm/fbio.h>
26 24
27#include "sbuslib.h" 25#include "sbuslib.h"
@@ -373,7 +371,7 @@ static int __devinit cg3_probe(struct of_device *op,
373 par->physbase = op->resource[0].start; 371 par->physbase = op->resource[0].start;
374 par->which_io = op->resource[0].flags & IORESOURCE_BITS; 372 par->which_io = op->resource[0].flags & IORESOURCE_BITS;
375 373
376 sbusfb_fill_var(&info->var, dp->node, 8); 374 sbusfb_fill_var(&info->var, dp, 8);
377 info->var.red.length = 8; 375 info->var.red.length = 8;
378 info->var.green.length = 8; 376 info->var.green.length = 8;
379 info->var.blue.length = 8; 377 info->var.blue.length = 8;
diff --git a/drivers/video/cg6.c b/drivers/video/cg6.c
index 8000bccecdc6..2f64bb3bd254 100644
--- a/drivers/video/cg6.c
+++ b/drivers/video/cg6.c
@@ -17,9 +17,9 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/fb.h> 18#include <linux/fb.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/of_device.h>
20 21
21#include <asm/io.h> 22#include <asm/io.h>
22#include <asm/of_device.h>
23#include <asm/fbio.h> 23#include <asm/fbio.h>
24 24
25#include "sbuslib.h" 25#include "sbuslib.h"
@@ -728,7 +728,7 @@ static int __devinit cg6_probe(struct of_device *op,
728 par->physbase = op->resource[0].start; 728 par->physbase = op->resource[0].start;
729 par->which_io = op->resource[0].flags & IORESOURCE_BITS; 729 par->which_io = op->resource[0].flags & IORESOURCE_BITS;
730 730
731 sbusfb_fill_var(&info->var, dp->node, 8); 731 sbusfb_fill_var(&info->var, dp, 8);
732 info->var.red.length = 8; 732 info->var.red.length = 8;
733 info->var.green.length = 8; 733 info->var.green.length = 8;
734 info->var.blue.length = 8; 734 info->var.blue.length = 8;
diff --git a/drivers/video/ffb.c b/drivers/video/ffb.c
index 0f42a696d176..7992b13ee68f 100644
--- a/drivers/video/ffb.c
+++ b/drivers/video/ffb.c
@@ -16,11 +16,10 @@
16#include <linux/fb.h> 16#include <linux/fb.h>
17#include <linux/mm.h> 17#include <linux/mm.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/of_device.h>
19 20
20#include <asm/io.h> 21#include <asm/io.h>
21#include <asm/upa.h> 22#include <asm/upa.h>
22#include <asm/prom.h>
23#include <asm/of_device.h>
24#include <asm/fbio.h> 23#include <asm/fbio.h>
25 24
26#include "sbuslib.h" 25#include "sbuslib.h"
@@ -941,7 +940,7 @@ static int __devinit ffb_probe(struct of_device *op,
941 info->screen_base = (char *) par->physbase + FFB_DFB24_POFF; 940 info->screen_base = (char *) par->physbase + FFB_DFB24_POFF;
942 info->pseudo_palette = par->pseudo_palette; 941 info->pseudo_palette = par->pseudo_palette;
943 942
944 sbusfb_fill_var(&info->var, dp->node, 32); 943 sbusfb_fill_var(&info->var, dp, 32);
945 par->fbsize = PAGE_ALIGN(info->var.xres * info->var.yres * 4); 944 par->fbsize = PAGE_ALIGN(info->var.xres * info->var.yres * 4);
946 ffb_fixup_var_rgb(&info->var); 945 ffb_fixup_var_rgb(&info->var);
947 946
diff --git a/drivers/video/leo.c b/drivers/video/leo.c
index fb129928d5d5..8bc46e930340 100644
--- a/drivers/video/leo.c
+++ b/drivers/video/leo.c
@@ -16,10 +16,9 @@
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/fb.h> 17#include <linux/fb.h>
18#include <linux/mm.h> 18#include <linux/mm.h>
19#include <linux/of_device.h>
19 20
20#include <asm/io.h> 21#include <asm/io.h>
21#include <asm/prom.h>
22#include <asm/of_device.h>
23#include <asm/fbio.h> 22#include <asm/fbio.h>
24 23
25#include "sbuslib.h" 24#include "sbuslib.h"
@@ -562,7 +561,7 @@ static int __devinit leo_probe(struct of_device *op, const struct of_device_id *
562 par->physbase = op->resource[0].start; 561 par->physbase = op->resource[0].start;
563 par->which_io = op->resource[0].flags & IORESOURCE_BITS; 562 par->which_io = op->resource[0].flags & IORESOURCE_BITS;
564 563
565 sbusfb_fill_var(&info->var, dp->node, 32); 564 sbusfb_fill_var(&info->var, dp, 32);
566 leo_fixup_var_rgb(&info->var); 565 leo_fixup_var_rgb(&info->var);
567 566
568 linebytes = of_getintprop_default(dp, "linebytes", 567 linebytes = of_getintprop_default(dp, "linebytes",
diff --git a/drivers/video/p9100.c b/drivers/video/p9100.c
index 676ffb06d1c7..9e903454ffc1 100644
--- a/drivers/video/p9100.c
+++ b/drivers/video/p9100.c
@@ -15,10 +15,9 @@
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/fb.h> 16#include <linux/fb.h>
17#include <linux/mm.h> 17#include <linux/mm.h>
18#include <linux/of_device.h>
18 19
19#include <asm/io.h> 20#include <asm/io.h>
20#include <asm/prom.h>
21#include <asm/of_device.h>
22#include <asm/fbio.h> 21#include <asm/fbio.h>
23 22
24#include "sbuslib.h" 23#include "sbuslib.h"
@@ -275,7 +274,7 @@ static int __devinit p9100_probe(struct of_device *op, const struct of_device_id
275 par->physbase = op->resource[2].start; 274 par->physbase = op->resource[2].start;
276 par->which_io = op->resource[2].flags & IORESOURCE_BITS; 275 par->which_io = op->resource[2].flags & IORESOURCE_BITS;
277 276
278 sbusfb_fill_var(&info->var, dp->node, 8); 277 sbusfb_fill_var(&info->var, dp, 8);
279 info->var.red.length = 8; 278 info->var.red.length = 8;
280 info->var.green.length = 8; 279 info->var.green.length = 8;
281 info->var.blue.length = 8; 280 info->var.blue.length = 8;
diff --git a/drivers/video/sbuslib.c b/drivers/video/sbuslib.c
index 4deaac05b938..37d764ad56b0 100644
--- a/drivers/video/sbuslib.c
+++ b/drivers/video/sbuslib.c
@@ -10,18 +10,19 @@
10#include <linux/fb.h> 10#include <linux/fb.h>
11#include <linux/mm.h> 11#include <linux/mm.h>
12#include <linux/uaccess.h> 12#include <linux/uaccess.h>
13#include <linux/of_device.h>
13 14
14#include <asm/oplib.h>
15#include <asm/fbio.h> 15#include <asm/fbio.h>
16 16
17#include "sbuslib.h" 17#include "sbuslib.h"
18 18
19void sbusfb_fill_var(struct fb_var_screeninfo *var, int prom_node, int bpp) 19void sbusfb_fill_var(struct fb_var_screeninfo *var, struct device_node *dp,
20 int bpp)
20{ 21{
21 memset(var, 0, sizeof(*var)); 22 memset(var, 0, sizeof(*var));
22 23
23 var->xres = prom_getintdefault(prom_node, "width", 1152); 24 var->xres = of_getintprop_default(dp, "width", 1152);
24 var->yres = prom_getintdefault(prom_node, "height", 900); 25 var->yres = of_getintprop_default(dp, "height", 900);
25 var->xres_virtual = var->xres; 26 var->xres_virtual = var->xres;
26 var->yres_virtual = var->yres; 27 var->yres_virtual = var->yres;
27 var->bits_per_pixel = bpp; 28 var->bits_per_pixel = bpp;
diff --git a/drivers/video/sbuslib.h b/drivers/video/sbuslib.h
index 492828c3fe8f..7ba3250236bd 100644
--- a/drivers/video/sbuslib.h
+++ b/drivers/video/sbuslib.h
@@ -11,7 +11,8 @@ struct sbus_mmap_map {
11#define SBUS_MMAP_FBSIZE(n) (-n) 11#define SBUS_MMAP_FBSIZE(n) (-n)
12#define SBUS_MMAP_EMPTY 0x80000000 12#define SBUS_MMAP_EMPTY 0x80000000
13 13
14extern void sbusfb_fill_var(struct fb_var_screeninfo *var, int prom_node, int bpp); 14extern void sbusfb_fill_var(struct fb_var_screeninfo *var,
15 struct device_node *dp, int bpp);
15struct vm_area_struct; 16struct vm_area_struct;
16extern int sbusfb_mmap_helper(struct sbus_mmap_map *map, 17extern int sbusfb_mmap_helper(struct sbus_mmap_map *map,
17 unsigned long physbase, unsigned long fbsize, 18 unsigned long physbase, unsigned long fbsize,
@@ -21,6 +22,6 @@ int sbusfb_ioctl_helper(unsigned long cmd, unsigned long arg,
21 struct fb_info *info, 22 struct fb_info *info,
22 int type, int fb_depth, unsigned long fb_size); 23 int type, int fb_depth, unsigned long fb_size);
23int sbusfb_compat_ioctl(struct fb_info *info, unsigned int cmd, 24int sbusfb_compat_ioctl(struct fb_info *info, unsigned int cmd,
24 unsigned long arg); 25 unsigned long arg);
25 26
26#endif /* _SBUSLIB_H */ 27#endif /* _SBUSLIB_H */
diff --git a/drivers/video/sunxvr2500.c b/drivers/video/sunxvr2500.c
index c3869a96ab58..b1dde09e7015 100644
--- a/drivers/video/sunxvr2500.c
+++ b/drivers/video/sunxvr2500.c
@@ -9,10 +9,9 @@
9#include <linux/fb.h> 9#include <linux/fb.h>
10#include <linux/pci.h> 10#include <linux/pci.h>
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/of_device.h>
12 13
13#include <asm/io.h> 14#include <asm/io.h>
14#include <asm/prom.h>
15#include <asm/of_device.h>
16 15
17struct s3d_info { 16struct s3d_info {
18 struct fb_info *info; 17 struct fb_info *info;
diff --git a/drivers/video/sunxvr500.c b/drivers/video/sunxvr500.c
index 71bf3f1f00bc..c2ba51b7ea18 100644
--- a/drivers/video/sunxvr500.c
+++ b/drivers/video/sunxvr500.c
@@ -9,10 +9,9 @@
9#include <linux/fb.h> 9#include <linux/fb.h>
10#include <linux/pci.h> 10#include <linux/pci.h>
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/of_device.h>
12 13
13#include <asm/io.h> 14#include <asm/io.h>
14#include <asm/prom.h>
15#include <asm/of_device.h>
16 15
17/* XXX This device has a 'dev-comm' property which aparently is 16/* XXX This device has a 'dev-comm' property which aparently is
18 * XXX a pointer into the openfirmware's address space which is 17 * XXX a pointer into the openfirmware's address space which is
diff --git a/drivers/video/tcx.c b/drivers/video/tcx.c
index 44e8c27ed0fc..2a03f78bbb0d 100644
--- a/drivers/video/tcx.c
+++ b/drivers/video/tcx.c
@@ -17,10 +17,9 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/fb.h> 18#include <linux/fb.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/of_device.h>
20 21
21#include <asm/io.h> 22#include <asm/io.h>
22#include <asm/prom.h>
23#include <asm/of_device.h>
24#include <asm/fbio.h> 23#include <asm/fbio.h>
25 24
26#include "sbuslib.h" 25#include "sbuslib.h"
@@ -385,7 +384,7 @@ static int __devinit tcx_probe(struct of_device *op,
385 par->lowdepth = 384 par->lowdepth =
386 (of_find_property(dp, "tcx-8-bit", NULL) != NULL); 385 (of_find_property(dp, "tcx-8-bit", NULL) != NULL);
387 386
388 sbusfb_fill_var(&info->var, dp->node, 8); 387 sbusfb_fill_var(&info->var, dp, 8);
389 info->var.red.length = 8; 388 info->var.red.length = 8;
390 info->var.green.length = 8; 389 info->var.green.length = 8;
391 info->var.blue.length = 8; 390 info->var.blue.length = 8;