err = matroxfb_dh_get_vblank(m2info, &vblank);
if (err)
return err;
- if (copy_to_user((struct fb_vblank*)arg, &vblank, sizeof(vblank)))
+ if (copy_to_user((void __user *)arg, &vblank, sizeof(vblank)))
return -EFAULT;
return 0;
}
{
u_int32_t crt;
- if (get_user(crt, (u_int32_t *)arg))
+ if (get_user(crt, (u_int32_t __user *)arg))
return -EFAULT;
if (crt != 0)
int out;
int changes;
- if (get_user(tmp, (u_int32_t*)arg))
+ if (get_user(tmp, (u_int32_t __user *)arg))
return -EFAULT;
for (out = 0; out < 32; out++) {
if (tmp & (1 << out)) {
conn |= 1 << out;
}
}
- if (put_user(conn, (u_int32_t*)arg))
+ if (put_user(conn, (u_int32_t __user *)arg))
return -EFAULT;
return 0;
}
tmp = 0;
}
}
- if (put_user(tmp, (u_int32_t*)arg))
+ if (put_user(tmp, (u_int32_t __user *)arg))
return -EFAULT;
return 0;
}
m2info->mmio.vbase = ACCESS_FBINFO(mmio.vbase);
m2info->mmio.len = ACCESS_FBINFO(mmio.len);
- /*
- * If we have unused output, connect CRTC2 to it...
- */
- if (ACCESS_FBINFO(outputs[1]).output &&
- ACCESS_FBINFO(outputs[1]).src == MATROXFB_SRC_NONE &&
- ACCESS_FBINFO(outputs[2]).src == MATROXFB_SRC_NONE) {
- ACCESS_FBINFO(outputs[1]).src = MATROXFB_SRC_CRTC2;
- }
-
matroxfb_dh_init_fix(m2info);
if (register_framebuffer(&m2info->fbcon)) {
return -ENXIO;
.remove = matroxfb_crtc2_remove };
static int matroxfb_crtc2_init(void) {
+ if (fb_get_options("matrox_crtc2fb", NULL))
+ return -ENODEV;
+
matroxfb_register_driver(&crtc2);
return 0;
}