| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * SiS 300/540/630[S]/730[S], |
|---|
| 3 | 4 | * SiS 315[E|PRO]/550/[M]65x/[M]66x[F|M|G]X/[M]74x[GX]/330/[M]76x[GX], |
|---|
| .. | .. |
|---|
| 5 | 6 | * frame buffer driver for Linux kernels >= 2.4.14 and >=2.6.3 |
|---|
| 6 | 7 | * |
|---|
| 7 | 8 | * Copyright (C) 2001-2005 Thomas Winischhofer, Vienna, Austria. |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 10 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 11 | | - * the Free Software Foundation; either version 2 of the named License, |
|---|
| 12 | | - * or any later version. |
|---|
| 13 | | - * |
|---|
| 14 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 15 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 16 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 17 | | - * GNU General Public License for more details. |
|---|
| 18 | | - * |
|---|
| 19 | | - * You should have received a copy of the GNU General Public License |
|---|
| 20 | | - * along with this program; if not, write to the Free Software |
|---|
| 21 | | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA |
|---|
| 22 | 9 | * |
|---|
| 23 | 10 | * Author: Thomas Winischhofer <thomas@winischhofer.net> |
|---|
| 24 | 11 | * |
|---|
| .. | .. |
|---|
| 30 | 17 | * |
|---|
| 31 | 18 | * Originally based on the VBE 2.0 compliant graphic boards framebuffer driver, |
|---|
| 32 | 19 | * which is (c) 1998 Gerd Knorr <kraxel@goldbach.in-berlin.de> |
|---|
| 33 | | - * |
|---|
| 34 | 20 | */ |
|---|
| 35 | 21 | |
|---|
| 36 | 22 | #include <linux/module.h> |
|---|
| .. | .. |
|---|
| 1753 | 1739 | if(ivideo->warncount++ < 10) |
|---|
| 1754 | 1740 | printk(KERN_INFO |
|---|
| 1755 | 1741 | "sisfb: Deprecated ioctl call received - update your application!\n"); |
|---|
| 1756 | | - /* fall through */ |
|---|
| 1742 | + fallthrough; |
|---|
| 1757 | 1743 | case SISFB_GET_INFO: /* For communication with X driver */ |
|---|
| 1758 | 1744 | ivideo->sisfb_infoblock.sisfb_id = SISFB_ID; |
|---|
| 1759 | 1745 | ivideo->sisfb_infoblock.sisfb_version = VER_MAJOR; |
|---|
| .. | .. |
|---|
| 1807 | 1793 | if(ivideo->warncount++ < 10) |
|---|
| 1808 | 1794 | printk(KERN_INFO |
|---|
| 1809 | 1795 | "sisfb: Deprecated ioctl call received - update your application!\n"); |
|---|
| 1810 | | - /* fall through */ |
|---|
| 1796 | + fallthrough; |
|---|
| 1811 | 1797 | case SISFB_GET_VBRSTATUS: |
|---|
| 1812 | 1798 | if(sisfb_CheckVBRetrace(ivideo)) |
|---|
| 1813 | 1799 | return put_user((u32)1, argp); |
|---|
| .. | .. |
|---|
| 1818 | 1804 | if(ivideo->warncount++ < 10) |
|---|
| 1819 | 1805 | printk(KERN_INFO |
|---|
| 1820 | 1806 | "sisfb: Deprecated ioctl call received - update your application!\n"); |
|---|
| 1821 | | - /* fall through */ |
|---|
| 1807 | + fallthrough; |
|---|
| 1822 | 1808 | case SISFB_GET_AUTOMAXIMIZE: |
|---|
| 1823 | 1809 | if(ivideo->sisfb_max) |
|---|
| 1824 | 1810 | return put_user((u32)1, argp); |
|---|
| .. | .. |
|---|
| 1829 | 1815 | if(ivideo->warncount++ < 10) |
|---|
| 1830 | 1816 | printk(KERN_INFO |
|---|
| 1831 | 1817 | "sisfb: Deprecated ioctl call received - update your application!\n"); |
|---|
| 1832 | | - /* fall through */ |
|---|
| 1818 | + fallthrough; |
|---|
| 1833 | 1819 | case SISFB_SET_AUTOMAXIMIZE: |
|---|
| 1834 | 1820 | if(get_user(gpu32, argp)) |
|---|
| 1835 | 1821 | return -EFAULT; |
|---|
| .. | .. |
|---|
| 1920 | 1906 | |
|---|
| 1921 | 1907 | /* ---------------- fb_ops structures ----------------- */ |
|---|
| 1922 | 1908 | |
|---|
| 1923 | | -static struct fb_ops sisfb_ops = { |
|---|
| 1909 | +static const struct fb_ops sisfb_ops = { |
|---|
| 1924 | 1910 | .owner = THIS_MODULE, |
|---|
| 1925 | 1911 | .fb_open = sisfb_open, |
|---|
| 1926 | 1912 | .fb_release = sisfb_release, |
|---|