|
Lines 1236-1244
static int do_fontx_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg,
Link Here
|
| 1236 |
struct console_font_op op; |
1236 |
struct console_font_op op; |
| 1237 |
compat_caddr_t data; |
1237 |
compat_caddr_t data; |
| 1238 |
int i, perm; |
1238 |
int i, perm; |
|
|
1239 |
struct vc_data *vc; |
| 1239 |
|
1240 |
|
| 1240 |
perm = vt_check(file); |
1241 |
perm = vt_check(file); |
| 1241 |
if (perm < 0) return perm; |
1242 |
if (perm < 0) return perm; |
|
|
1243 |
|
| 1244 |
vc = ((struct tty_struct *)file->private_data)->driver_data; |
| 1242 |
|
1245 |
|
| 1243 |
switch (cmd) { |
1246 |
switch (cmd) { |
| 1244 |
case PIO_FONTX: |
1247 |
case PIO_FONTX: |
|
Lines 1252-1258
static int do_fontx_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg,
Link Here
|
| 1252 |
get_user(data, &user_cfd->chardata)) |
1255 |
get_user(data, &user_cfd->chardata)) |
| 1253 |
return -EFAULT; |
1256 |
return -EFAULT; |
| 1254 |
op.data = compat_ptr(data); |
1257 |
op.data = compat_ptr(data); |
| 1255 |
return con_font_op(vc_cons[fg_console].d, &op); |
1258 |
return con_font_op(vc, &op); |
| 1256 |
case GIO_FONTX: |
1259 |
case GIO_FONTX: |
| 1257 |
op.op = KD_FONT_OP_GET; |
1260 |
op.op = KD_FONT_OP_GET; |
| 1258 |
op.flags = 0; |
1261 |
op.flags = 0; |
|
Lines 1264-1270
static int do_fontx_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg,
Link Here
|
| 1264 |
if (!data) |
1267 |
if (!data) |
| 1265 |
return 0; |
1268 |
return 0; |
| 1266 |
op.data = compat_ptr(data); |
1269 |
op.data = compat_ptr(data); |
| 1267 |
i = con_font_op(vc_cons[fg_console].d, &op); |
1270 |
i = con_font_op(vc, &op); |
| 1268 |
if (i) |
1271 |
if (i) |
| 1269 |
return i; |
1272 |
return i; |
| 1270 |
if (put_user(op.height, &user_cfd->charheight) || |
1273 |
if (put_user(op.height, &user_cfd->charheight) || |
| 1271 |
- |
|
|