| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright 1998-2009 VIA Technologies, Inc. All Rights Reserved. |
|---|
| 3 | 4 | * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved. |
|---|
| 4 | 5 | |
|---|
| 5 | | - * This program is free software; you can redistribute it and/or |
|---|
| 6 | | - * modify it under the terms of the GNU General Public |
|---|
| 7 | | - * License as published by the Free Software Foundation; |
|---|
| 8 | | - * either version 2, or (at your option) any later version. |
|---|
| 9 | | - |
|---|
| 10 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 11 | | - * but WITHOUT ANY WARRANTIES OR REPRESENTATIONS; without even |
|---|
| 12 | | - * the implied warranty of MERCHANTABILITY or FITNESS FOR |
|---|
| 13 | | - * A PARTICULAR PURPOSE.See the GNU General Public License |
|---|
| 14 | | - * for more details. |
|---|
| 15 | | - |
|---|
| 16 | | - * You should have received a copy of the GNU General Public License |
|---|
| 17 | | - * along with this program; if not, write to the Free Software |
|---|
| 18 | | - * Foundation, Inc., |
|---|
| 19 | | - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|---|
| 20 | 6 | */ |
|---|
| 21 | 7 | |
|---|
| 22 | 8 | #include <linux/compiler.h> |
|---|
| .. | .. |
|---|
| 1158 | 1144 | if (value != NULL) { |
|---|
| 1159 | 1145 | if (kstrtou8(value, 0, ®_val) < 0) |
|---|
| 1160 | 1146 | return -EINVAL; |
|---|
| 1161 | | - DEBUG_MSG(KERN_INFO "DVP0:reg_val[%l]=:%x\n", i, |
|---|
| 1147 | + DEBUG_MSG(KERN_INFO "DVP0:reg_val[%lu]=:%x\n", i, |
|---|
| 1162 | 1148 | reg_val); |
|---|
| 1163 | 1149 | switch (i) { |
|---|
| 1164 | 1150 | case 0: |
|---|
| .. | .. |
|---|
| 1187 | 1173 | return count; |
|---|
| 1188 | 1174 | } |
|---|
| 1189 | 1175 | |
|---|
| 1190 | | -static const struct file_operations viafb_dvp0_proc_fops = { |
|---|
| 1191 | | - .owner = THIS_MODULE, |
|---|
| 1192 | | - .open = viafb_dvp0_proc_open, |
|---|
| 1193 | | - .read = seq_read, |
|---|
| 1194 | | - .llseek = seq_lseek, |
|---|
| 1195 | | - .release = single_release, |
|---|
| 1196 | | - .write = viafb_dvp0_proc_write, |
|---|
| 1176 | +static const struct proc_ops viafb_dvp0_proc_ops = { |
|---|
| 1177 | + .proc_open = viafb_dvp0_proc_open, |
|---|
| 1178 | + .proc_read = seq_read, |
|---|
| 1179 | + .proc_lseek = seq_lseek, |
|---|
| 1180 | + .proc_release = single_release, |
|---|
| 1181 | + .proc_write = viafb_dvp0_proc_write, |
|---|
| 1197 | 1182 | }; |
|---|
| 1198 | 1183 | |
|---|
| 1199 | 1184 | static int viafb_dvp1_proc_show(struct seq_file *m, void *v) |
|---|
| .. | .. |
|---|
| 1252 | 1237 | return count; |
|---|
| 1253 | 1238 | } |
|---|
| 1254 | 1239 | |
|---|
| 1255 | | -static const struct file_operations viafb_dvp1_proc_fops = { |
|---|
| 1256 | | - .owner = THIS_MODULE, |
|---|
| 1257 | | - .open = viafb_dvp1_proc_open, |
|---|
| 1258 | | - .read = seq_read, |
|---|
| 1259 | | - .llseek = seq_lseek, |
|---|
| 1260 | | - .release = single_release, |
|---|
| 1261 | | - .write = viafb_dvp1_proc_write, |
|---|
| 1240 | +static const struct proc_ops viafb_dvp1_proc_ops = { |
|---|
| 1241 | + .proc_open = viafb_dvp1_proc_open, |
|---|
| 1242 | + .proc_read = seq_read, |
|---|
| 1243 | + .proc_lseek = seq_lseek, |
|---|
| 1244 | + .proc_release = single_release, |
|---|
| 1245 | + .proc_write = viafb_dvp1_proc_write, |
|---|
| 1262 | 1246 | }; |
|---|
| 1263 | 1247 | |
|---|
| 1264 | 1248 | static int viafb_dfph_proc_show(struct seq_file *m, void *v) |
|---|
| .. | .. |
|---|
| 1287 | 1271 | return count; |
|---|
| 1288 | 1272 | } |
|---|
| 1289 | 1273 | |
|---|
| 1290 | | -static const struct file_operations viafb_dfph_proc_fops = { |
|---|
| 1291 | | - .owner = THIS_MODULE, |
|---|
| 1292 | | - .open = viafb_dfph_proc_open, |
|---|
| 1293 | | - .read = seq_read, |
|---|
| 1294 | | - .llseek = seq_lseek, |
|---|
| 1295 | | - .release = single_release, |
|---|
| 1296 | | - .write = viafb_dfph_proc_write, |
|---|
| 1274 | +static const struct proc_ops viafb_dfph_proc_ops = { |
|---|
| 1275 | + .proc_open = viafb_dfph_proc_open, |
|---|
| 1276 | + .proc_read = seq_read, |
|---|
| 1277 | + .proc_lseek = seq_lseek, |
|---|
| 1278 | + .proc_release = single_release, |
|---|
| 1279 | + .proc_write = viafb_dfph_proc_write, |
|---|
| 1297 | 1280 | }; |
|---|
| 1298 | 1281 | |
|---|
| 1299 | 1282 | static int viafb_dfpl_proc_show(struct seq_file *m, void *v) |
|---|
| .. | .. |
|---|
| 1322 | 1305 | return count; |
|---|
| 1323 | 1306 | } |
|---|
| 1324 | 1307 | |
|---|
| 1325 | | -static const struct file_operations viafb_dfpl_proc_fops = { |
|---|
| 1326 | | - .owner = THIS_MODULE, |
|---|
| 1327 | | - .open = viafb_dfpl_proc_open, |
|---|
| 1328 | | - .read = seq_read, |
|---|
| 1329 | | - .llseek = seq_lseek, |
|---|
| 1330 | | - .release = single_release, |
|---|
| 1331 | | - .write = viafb_dfpl_proc_write, |
|---|
| 1308 | +static const struct proc_ops viafb_dfpl_proc_ops = { |
|---|
| 1309 | + .proc_open = viafb_dfpl_proc_open, |
|---|
| 1310 | + .proc_read = seq_read, |
|---|
| 1311 | + .proc_lseek = seq_lseek, |
|---|
| 1312 | + .proc_release = single_release, |
|---|
| 1313 | + .proc_write = viafb_dfpl_proc_write, |
|---|
| 1332 | 1314 | }; |
|---|
| 1333 | 1315 | |
|---|
| 1334 | 1316 | static int viafb_vt1636_proc_show(struct seq_file *m, void *v) |
|---|
| .. | .. |
|---|
| 1458 | 1440 | return count; |
|---|
| 1459 | 1441 | } |
|---|
| 1460 | 1442 | |
|---|
| 1461 | | -static const struct file_operations viafb_vt1636_proc_fops = { |
|---|
| 1462 | | - .owner = THIS_MODULE, |
|---|
| 1463 | | - .open = viafb_vt1636_proc_open, |
|---|
| 1464 | | - .read = seq_read, |
|---|
| 1465 | | - .llseek = seq_lseek, |
|---|
| 1466 | | - .release = single_release, |
|---|
| 1467 | | - .write = viafb_vt1636_proc_write, |
|---|
| 1443 | +static const struct proc_ops viafb_vt1636_proc_ops = { |
|---|
| 1444 | + .proc_open = viafb_vt1636_proc_open, |
|---|
| 1445 | + .proc_read = seq_read, |
|---|
| 1446 | + .proc_lseek = seq_lseek, |
|---|
| 1447 | + .proc_release = single_release, |
|---|
| 1448 | + .proc_write = viafb_vt1636_proc_write, |
|---|
| 1468 | 1449 | }; |
|---|
| 1469 | 1450 | |
|---|
| 1470 | 1451 | #endif /* CONFIG_FB_VIA_DIRECT_PROCFS */ |
|---|
| .. | .. |
|---|
| 1536 | 1517 | return res; |
|---|
| 1537 | 1518 | } |
|---|
| 1538 | 1519 | |
|---|
| 1539 | | -static const struct file_operations viafb_iga1_odev_proc_fops = { |
|---|
| 1540 | | - .owner = THIS_MODULE, |
|---|
| 1541 | | - .open = viafb_iga1_odev_proc_open, |
|---|
| 1542 | | - .read = seq_read, |
|---|
| 1543 | | - .llseek = seq_lseek, |
|---|
| 1544 | | - .release = single_release, |
|---|
| 1545 | | - .write = viafb_iga1_odev_proc_write, |
|---|
| 1520 | +static const struct proc_ops viafb_iga1_odev_proc_ops = { |
|---|
| 1521 | + .proc_open = viafb_iga1_odev_proc_open, |
|---|
| 1522 | + .proc_read = seq_read, |
|---|
| 1523 | + .proc_lseek = seq_lseek, |
|---|
| 1524 | + .proc_release = single_release, |
|---|
| 1525 | + .proc_write = viafb_iga1_odev_proc_write, |
|---|
| 1546 | 1526 | }; |
|---|
| 1547 | 1527 | |
|---|
| 1548 | 1528 | static int viafb_iga2_odev_proc_show(struct seq_file *m, void *v) |
|---|
| .. | .. |
|---|
| 1576 | 1556 | return res; |
|---|
| 1577 | 1557 | } |
|---|
| 1578 | 1558 | |
|---|
| 1579 | | -static const struct file_operations viafb_iga2_odev_proc_fops = { |
|---|
| 1580 | | - .owner = THIS_MODULE, |
|---|
| 1581 | | - .open = viafb_iga2_odev_proc_open, |
|---|
| 1582 | | - .read = seq_read, |
|---|
| 1583 | | - .llseek = seq_lseek, |
|---|
| 1584 | | - .release = single_release, |
|---|
| 1585 | | - .write = viafb_iga2_odev_proc_write, |
|---|
| 1559 | +static const struct proc_ops viafb_iga2_odev_proc_ops = { |
|---|
| 1560 | + .proc_open = viafb_iga2_odev_proc_open, |
|---|
| 1561 | + .proc_read = seq_read, |
|---|
| 1562 | + .proc_lseek = seq_lseek, |
|---|
| 1563 | + .proc_release = single_release, |
|---|
| 1564 | + .proc_write = viafb_iga2_odev_proc_write, |
|---|
| 1586 | 1565 | }; |
|---|
| 1587 | 1566 | |
|---|
| 1588 | 1567 | #define IS_VT1636(lvds_chip) ((lvds_chip).lvds_chip_name == VT1636_LVDS) |
|---|
| .. | .. |
|---|
| 1594 | 1573 | shared->proc_entry = viafb_entry; |
|---|
| 1595 | 1574 | if (viafb_entry) { |
|---|
| 1596 | 1575 | #ifdef CONFIG_FB_VIA_DIRECT_PROCFS |
|---|
| 1597 | | - proc_create("dvp0", 0, viafb_entry, &viafb_dvp0_proc_fops); |
|---|
| 1598 | | - proc_create("dvp1", 0, viafb_entry, &viafb_dvp1_proc_fops); |
|---|
| 1599 | | - proc_create("dfph", 0, viafb_entry, &viafb_dfph_proc_fops); |
|---|
| 1600 | | - proc_create("dfpl", 0, viafb_entry, &viafb_dfpl_proc_fops); |
|---|
| 1576 | + proc_create("dvp0", 0, viafb_entry, &viafb_dvp0_proc_ops); |
|---|
| 1577 | + proc_create("dvp1", 0, viafb_entry, &viafb_dvp1_proc_ops); |
|---|
| 1578 | + proc_create("dfph", 0, viafb_entry, &viafb_dfph_proc_ops); |
|---|
| 1579 | + proc_create("dfpl", 0, viafb_entry, &viafb_dfpl_proc_ops); |
|---|
| 1601 | 1580 | if (IS_VT1636(shared->chip_info.lvds_chip_info) |
|---|
| 1602 | 1581 | || IS_VT1636(shared->chip_info.lvds_chip_info2)) |
|---|
| 1603 | 1582 | proc_create("vt1636", 0, viafb_entry, |
|---|
| 1604 | | - &viafb_vt1636_proc_fops); |
|---|
| 1583 | + &viafb_vt1636_proc_ops); |
|---|
| 1605 | 1584 | #endif /* CONFIG_FB_VIA_DIRECT_PROCFS */ |
|---|
| 1606 | 1585 | |
|---|
| 1607 | 1586 | proc_create_single("supported_output_devices", 0, viafb_entry, |
|---|
| .. | .. |
|---|
| 1609 | 1588 | iga1_entry = proc_mkdir("iga1", viafb_entry); |
|---|
| 1610 | 1589 | shared->iga1_proc_entry = iga1_entry; |
|---|
| 1611 | 1590 | proc_create("output_devices", 0, iga1_entry, |
|---|
| 1612 | | - &viafb_iga1_odev_proc_fops); |
|---|
| 1591 | + &viafb_iga1_odev_proc_ops); |
|---|
| 1613 | 1592 | iga2_entry = proc_mkdir("iga2", viafb_entry); |
|---|
| 1614 | 1593 | shared->iga2_proc_entry = iga2_entry; |
|---|
| 1615 | 1594 | proc_create("output_devices", 0, iga2_entry, |
|---|
| 1616 | | - &viafb_iga2_odev_proc_fops); |
|---|
| 1595 | + &viafb_iga2_odev_proc_ops); |
|---|
| 1617 | 1596 | } |
|---|
| 1618 | 1597 | } |
|---|
| 1619 | 1598 | static void viafb_remove_proc(struct viafb_shared *shared) |
|---|
| .. | .. |
|---|
| 1756 | 1735 | viafbinfo = framebuffer_alloc(viafb_par_length + |
|---|
| 1757 | 1736 | ALIGN(sizeof(struct viafb_shared), BITS_PER_LONG/8), |
|---|
| 1758 | 1737 | &vdev->pdev->dev); |
|---|
| 1759 | | - if (!viafbinfo) { |
|---|
| 1760 | | - printk(KERN_ERR"Could not allocate memory for viafb_info.\n"); |
|---|
| 1738 | + if (!viafbinfo) |
|---|
| 1761 | 1739 | return -ENOMEM; |
|---|
| 1762 | | - } |
|---|
| 1763 | 1740 | |
|---|
| 1764 | 1741 | viaparinfo = (struct viafb_par *)viafbinfo->par; |
|---|
| 1765 | 1742 | viaparinfo->shared = viafbinfo->par + viafb_par_length; |
|---|
| .. | .. |
|---|
| 1834 | 1811 | viafbinfo1 = framebuffer_alloc(viafb_par_length, |
|---|
| 1835 | 1812 | &vdev->pdev->dev); |
|---|
| 1836 | 1813 | if (!viafbinfo1) { |
|---|
| 1837 | | - printk(KERN_ERR |
|---|
| 1838 | | - "allocate the second framebuffer struct error\n"); |
|---|
| 1839 | 1814 | rc = -ENOMEM; |
|---|
| 1840 | 1815 | goto out_fb_release; |
|---|
| 1841 | 1816 | } |
|---|
| .. | .. |
|---|
| 2110 | 2085 | |
|---|
| 2111 | 2086 | module_param(viafb_lcd_dsp_method, int, S_IRUSR); |
|---|
| 2112 | 2087 | MODULE_PARM_DESC(viafb_lcd_dsp_method, |
|---|
| 2113 | | - "Set Flat Panel display scaling method.(Default=Expandsion)"); |
|---|
| 2088 | + "Set Flat Panel display scaling method.(Default=Expansion)"); |
|---|
| 2114 | 2089 | |
|---|
| 2115 | 2090 | module_param(viafb_SAMM_ON, int, S_IRUSR); |
|---|
| 2116 | 2091 | MODULE_PARM_DESC(viafb_SAMM_ON, |
|---|