+ spin_lock_init(&all->par.lock);
+ all->par.sdev = sdev;
+
+#ifdef CONFIG_SUN4
+ if (!sdev) {
+ all->par.physbase = sun4_bwtwo_physaddr;
+ res.start = sun4_bwtwo_physaddr;
+ res.end = res.start + BWTWO_REGISTER_OFFSET + sizeof(struct bw2_regs) - 1;
+ res.flags = IORESOURCE_IO;
+ resp = &res;
+ all->info.var.xres = all->info.var.xres_virtual = 1152;
+ all->info.var.yres = all->info.var.yres_virtual = 900;
+ all->info.var.bits_per_pixel = 1;
+ linebytes = 1152 / 8;
+ } else
+#else
+ {
+ BUG_ON(!sdev);
+ all->par.physbase = sdev->reg_addrs[0].phys_addr;
+ resp = &sdev->resource[0];
+ sbusfb_fill_var(&all->info.var, (sdev ? sdev->prom_node : 0), 1);
+ linebytes = prom_getintdefault(sdev->prom_node, "linebytes",
+ all->info.var.xres);
+ }
+#endif