* Re: [PATCH] arch: m68k: remove incomplete, unusable Apollo hardware support
From: Thomas Zimmermann @ 2026-02-09 8:14 UTC (permalink / raw)
To: Ethan Nelson-Moore, linux-m68k, linux-fbdev
Cc: Geert Uytterhoeven, Helge Deller, Jiri Slaby (SUSE),
Ilpo Järvinen, Greg Kroah-Hartman, Eric Biggers, Herbert Xu,
Thomas Huth, Greg Ungerer, Finn Thain, Thorsten Blum,
Jean-Michel Hautbois, Kees Cook, Wei Liu, Prasanna Kumar T S M,
Sukrut Heroorkar
In-Reply-To: <20260209005212.32370-1-enelsonmoore@gmail.com>
Am 09.02.26 um 01:51 schrieb Ethan Nelson-Moore:
> The m68k architecture contains very incomplete support for running on
> Apollo Domain hardware. There are only timer, console, and framebuffer
> drivers, and no storage or network drivers, so there is no way to
> practically use it. It is not even capable of rebooting by itself (see
> dn_dummy_reset() in arch/m68k/apollo/config.c).
>
> arch/m68k/apollo has only received tree-wide changes and fixes by
> inspection in the entire Git history (since Linux 2.6.12-rc2), so there
> is clearly no interest in completing support for Apollo hardware.
> Remove it to reduce future maintenance workload.
>
> There are no uses of the removed <asm/bootinfo-apollo.h> UAPI header or
> the constants removed from the <asm/bootinfo.h> UAPI header on GitHub
> or Debian Code Search.
>
> Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
> ---
> arch/m68k/Kbuild | 1 -
> arch/m68k/Kconfig.devices | 4 +-
> arch/m68k/Kconfig.machine | 8 -
> arch/m68k/apollo/Makefile | 6 -
> arch/m68k/apollo/apollo.h | 4 -
> arch/m68k/apollo/config.c | 240 --------
> arch/m68k/apollo/dn_ints.c | 50 --
> arch/m68k/configs/apollo_defconfig | 595 -------------------
> arch/m68k/configs/multi_defconfig | 1 -
> arch/m68k/include/asm/apollohw.h | 90 ---
> arch/m68k/include/asm/config.h | 2 -
> arch/m68k/include/asm/irq.h | 2 -
> arch/m68k/include/asm/setup.h | 32 +-
> arch/m68k/include/uapi/asm/bootinfo-apollo.h | 29 -
> arch/m68k/include/uapi/asm/bootinfo.h | 5 +-
> arch/m68k/kernel/head.S | 70 +--
> arch/m68k/kernel/setup_mm.c | 9 -
> drivers/video/fbdev/Kconfig | 8 -
> drivers/video/fbdev/Makefile | 1 -
> drivers/video/fbdev/dnfb.c | 307 ----------
For the framebuffer files:
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> 20 files changed, 19 insertions(+), 1445 deletions(-)
> delete mode 100644 arch/m68k/apollo/Makefile
> delete mode 100644 arch/m68k/apollo/apollo.h
> delete mode 100644 arch/m68k/apollo/config.c
> delete mode 100644 arch/m68k/apollo/dn_ints.c
> delete mode 100644 arch/m68k/configs/apollo_defconfig
> delete mode 100644 arch/m68k/include/asm/apollohw.h
> delete mode 100644 arch/m68k/include/uapi/asm/bootinfo-apollo.h
> delete mode 100644 drivers/video/fbdev/dnfb.c
>
> diff --git a/arch/m68k/Kbuild b/arch/m68k/Kbuild
> index 7762af9f6def..421bad0780e1 100644
> --- a/arch/m68k/Kbuild
> +++ b/arch/m68k/Kbuild
> @@ -5,7 +5,6 @@ obj-$(CONFIG_AMIGA) += amiga/
> obj-$(CONFIG_ATARI) += atari/
> obj-$(CONFIG_MAC) += mac/
> obj-$(CONFIG_HP300) += hp300/
> -obj-$(CONFIG_APOLLO) += apollo/
> obj-$(CONFIG_MVME147) += mvme147/
> obj-$(CONFIG_MVME16x) += mvme16x/
> obj-$(CONFIG_BVME6000) += bvme6000/
> diff --git a/arch/m68k/Kconfig.devices b/arch/m68k/Kconfig.devices
> index e6e3efac1840..75370aadba6a 100644
> --- a/arch/m68k/Kconfig.devices
> +++ b/arch/m68k/Kconfig.devices
> @@ -9,8 +9,8 @@ config ARCH_MAY_HAVE_PC_FDC
> menu "Platform devices"
>
> config HEARTBEAT
> - bool "Use power LED as a heartbeat" if AMIGA || APOLLO || ATARI || Q40
> - default y if !AMIGA && !APOLLO && !ATARI && !Q40 && HP300
> + bool "Use power LED as a heartbeat" if AMIGA || ATARI || Q40
> + default y if !AMIGA && !ATARI && !Q40 && HP300
> help
> Use the power-on LED on your machine as a load meter. The exact
> behavior is platform-dependent, but normally the flash frequency is
> diff --git a/arch/m68k/Kconfig.machine b/arch/m68k/Kconfig.machine
> index de39f23b180e..f67eb3d202c6 100644
> --- a/arch/m68k/Kconfig.machine
> +++ b/arch/m68k/Kconfig.machine
> @@ -38,14 +38,6 @@ config MAC
> browse the documentation available at <http://www.mac.linux-m68k.org/>;
> otherwise say N.
>
> -config APOLLO
> - bool "Apollo support"
> - depends on MMU
> - select LEGACY_TIMER_TICK
> - help
> - Say Y here if you want to run Linux on an MC680x0-based Apollo
> - Domain workstation such as the DN3500.
> -
> config VME
> bool "VME (Motorola and BVM) support"
> depends on MMU
> diff --git a/arch/m68k/apollo/Makefile b/arch/m68k/apollo/Makefile
> deleted file mode 100644
> index 676c74b26878..000000000000
> --- a/arch/m68k/apollo/Makefile
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -# SPDX-License-Identifier: GPL-2.0-only
> -#
> -# Makefile for Linux arch/m68k/apollo source directory
> -#
> -
> -obj-y := config.o dn_ints.o
> diff --git a/arch/m68k/apollo/apollo.h b/arch/m68k/apollo/apollo.h
> deleted file mode 100644
> index 1fe9d856df30..000000000000
> --- a/arch/m68k/apollo/apollo.h
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -
> -/* dn_ints.c */
> -void dn_init_IRQ(void);
> diff --git a/arch/m68k/apollo/config.c b/arch/m68k/apollo/config.c
> deleted file mode 100644
> index e324c5f671de..000000000000
> --- a/arch/m68k/apollo/config.c
> +++ /dev/null
> @@ -1,240 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/init.h>
> -#include <linux/types.h>
> -#include <linux/kernel.h>
> -#include <linux/mm.h>
> -#include <linux/rtc.h>
> -#include <linux/interrupt.h>
> -
> -#include <asm/setup.h>
> -#include <asm/bootinfo.h>
> -#include <asm/bootinfo-apollo.h>
> -#include <asm/byteorder.h>
> -#include <asm/apollohw.h>
> -#include <asm/irq.h>
> -#include <asm/machdep.h>
> -#include <asm/config.h>
> -
> -#include "apollo.h"
> -
> -u_long sio01_physaddr;
> -u_long sio23_physaddr;
> -u_long rtc_physaddr;
> -u_long pica_physaddr;
> -u_long picb_physaddr;
> -u_long cpuctrl_physaddr;
> -u_long timer_physaddr;
> -u_long apollo_model;
> -
> -extern void dn_sched_init(void);
> -extern int dn_dummy_hwclk(int, struct rtc_time *);
> -static void dn_dummy_reset(void);
> -#ifdef CONFIG_HEARTBEAT
> -static void dn_heartbeat(int on);
> -#endif
> -static irqreturn_t dn_timer_int(int irq,void *);
> -static void dn_get_model(char *model);
> -static const char *apollo_models[] = {
> - [APOLLO_DN3000-APOLLO_DN3000] = "DN3000 (Otter)",
> - [APOLLO_DN3010-APOLLO_DN3000] = "DN3010 (Otter)",
> - [APOLLO_DN3500-APOLLO_DN3000] = "DN3500 (Cougar II)",
> - [APOLLO_DN4000-APOLLO_DN3000] = "DN4000 (Mink)",
> - [APOLLO_DN4500-APOLLO_DN3000] = "DN4500 (Roadrunner)"
> -};
> -
> -int __init apollo_parse_bootinfo(const struct bi_record *record)
> -{
> - int unknown = 0;
> - const void *data = record->data;
> -
> - switch (be16_to_cpu(record->tag)) {
> - case BI_APOLLO_MODEL:
> - apollo_model = be32_to_cpup(data);
> - break;
> -
> - default:
> - unknown=1;
> - }
> -
> - return unknown;
> -}
> -
> -static void __init dn_setup_model(void)
> -{
> - pr_info("Apollo hardware found: [%s]\n",
> - apollo_models[apollo_model - APOLLO_DN3000]);
> -
> - switch(apollo_model) {
> - case APOLLO_UNKNOWN:
> - panic("Unknown apollo model");
> - break;
> - case APOLLO_DN3000:
> - case APOLLO_DN3010:
> - sio01_physaddr=SAU8_SIO01_PHYSADDR;
> - rtc_physaddr=SAU8_RTC_PHYSADDR;
> - pica_physaddr=SAU8_PICA;
> - picb_physaddr=SAU8_PICB;
> - cpuctrl_physaddr=SAU8_CPUCTRL;
> - timer_physaddr=SAU8_TIMER;
> - break;
> - case APOLLO_DN4000:
> - sio01_physaddr=SAU7_SIO01_PHYSADDR;
> - sio23_physaddr=SAU7_SIO23_PHYSADDR;
> - rtc_physaddr=SAU7_RTC_PHYSADDR;
> - pica_physaddr=SAU7_PICA;
> - picb_physaddr=SAU7_PICB;
> - cpuctrl_physaddr=SAU7_CPUCTRL;
> - timer_physaddr=SAU7_TIMER;
> - break;
> - case APOLLO_DN4500:
> - panic("Apollo model not yet supported");
> - break;
> - case APOLLO_DN3500:
> - sio01_physaddr=SAU7_SIO01_PHYSADDR;
> - sio23_physaddr=SAU7_SIO23_PHYSADDR;
> - rtc_physaddr=SAU7_RTC_PHYSADDR;
> - pica_physaddr=SAU7_PICA;
> - picb_physaddr=SAU7_PICB;
> - cpuctrl_physaddr=SAU7_CPUCTRL;
> - timer_physaddr=SAU7_TIMER;
> - break;
> - default:
> - panic("Undefined apollo model");
> - break;
> - }
> -
> -
> -}
> -
> -static void dn_serial_print(const char *str)
> -{
> - while (*str) {
> - if (*str == '\n') {
> - sio01.rhrb_thrb = (unsigned char)'\r';
> - while (!(sio01.srb_csrb & 0x4))
> - ;
> - }
> - sio01.rhrb_thrb = (unsigned char)*str++;
> - while (!(sio01.srb_csrb & 0x4))
> - ;
> - }
> -}
> -
> -void __init config_apollo(void)
> -{
> - int i;
> -
> - dn_setup_model();
> -
> - mach_sched_init=dn_sched_init; /* */
> - mach_init_IRQ=dn_init_IRQ;
> - mach_hwclk = dn_dummy_hwclk; /* */
> - mach_reset = dn_dummy_reset; /* */
> -#ifdef CONFIG_HEARTBEAT
> - mach_heartbeat = dn_heartbeat;
> -#endif
> - mach_get_model = dn_get_model;
> -
> - cpuctrl=0xaa00;
> -
> - /* clear DMA translation table */
> - for(i=0;i<0x400;i++)
> - addr_xlat_map[i]=0;
> -
> -}
> -
> -irqreturn_t dn_timer_int(int irq, void *dev_id)
> -{
> - unsigned char *at = (unsigned char *)apollo_timer;
> -
> - legacy_timer_tick(1);
> - timer_heartbeat();
> -
> - READ_ONCE(*(at + 3));
> - READ_ONCE(*(at + 5));
> -
> - return IRQ_HANDLED;
> -}
> -
> -void dn_sched_init(void)
> -{
> - /* program timer 1 */
> - *(volatile unsigned char *)(apollo_timer + 3) = 0x01;
> - *(volatile unsigned char *)(apollo_timer + 1) = 0x40;
> - *(volatile unsigned char *)(apollo_timer + 5) = 0x09;
> - *(volatile unsigned char *)(apollo_timer + 7) = 0xc4;
> -
> - /* enable IRQ of PIC B */
> - *(volatile unsigned char *)(pica+1)&=(~8);
> -
> -#if 0
> - pr_info("*(0x10803) %02x\n",
> - *(volatile unsigned char *)(apollo_timer + 0x3));
> - pr_info("*(0x10803) %02x\n",
> - *(volatile unsigned char *)(apollo_timer + 0x3));
> -#endif
> -
> - if (request_irq(IRQ_APOLLO, dn_timer_int, 0, "time", NULL))
> - pr_err("Couldn't register timer interrupt\n");
> -}
> -
> -int dn_dummy_hwclk(int op, struct rtc_time *t) {
> -
> -
> - if(!op) { /* read */
> - t->tm_sec=rtc->second;
> - t->tm_min=rtc->minute;
> - t->tm_hour=rtc->hours;
> - t->tm_mday=rtc->day_of_month;
> - t->tm_wday=rtc->day_of_week;
> - t->tm_mon = rtc->month - 1;
> - t->tm_year=rtc->year;
> - if (t->tm_year < 70)
> - t->tm_year += 100;
> - } else {
> - rtc->second=t->tm_sec;
> - rtc->minute=t->tm_min;
> - rtc->hours=t->tm_hour;
> - rtc->day_of_month=t->tm_mday;
> - if(t->tm_wday!=-1)
> - rtc->day_of_week=t->tm_wday;
> - rtc->month = t->tm_mon + 1;
> - rtc->year = t->tm_year % 100;
> - }
> -
> - return 0;
> -
> -}
> -
> -static void dn_dummy_reset(void)
> -{
> - dn_serial_print("The end !\n");
> -
> - for(;;);
> -
> -}
> -
> -static void dn_get_model(char *model)
> -{
> - strcpy(model, "Apollo ");
> - if (apollo_model >= APOLLO_DN3000 && apollo_model <= APOLLO_DN4500)
> - strcat(model, apollo_models[apollo_model - APOLLO_DN3000]);
> -}
> -
> -#ifdef CONFIG_HEARTBEAT
> -static int dn_cpuctrl=0xff00;
> -
> -static void dn_heartbeat(int on) {
> -
> - if(on) {
> - dn_cpuctrl&=~0x100;
> - cpuctrl=dn_cpuctrl;
> - }
> - else {
> - dn_cpuctrl&=~0x100;
> - dn_cpuctrl|=0x100;
> - cpuctrl=dn_cpuctrl;
> - }
> -}
> -#endif
> -
> diff --git a/arch/m68k/apollo/dn_ints.c b/arch/m68k/apollo/dn_ints.c
> deleted file mode 100644
> index ba96a92f8f18..000000000000
> --- a/arch/m68k/apollo/dn_ints.c
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/interrupt.h>
> -#include <linux/irq.h>
> -
> -#include <asm/traps.h>
> -#include <asm/apollohw.h>
> -
> -#include "apollo.h"
> -
> -static unsigned int apollo_irq_startup(struct irq_data *data)
> -{
> - unsigned int irq = data->irq;
> -
> - if (irq < 8)
> - *(volatile unsigned char *)(pica+1) &= ~(1 << irq);
> - else
> - *(volatile unsigned char *)(picb+1) &= ~(1 << (irq - 8));
> - return 0;
> -}
> -
> -static void apollo_irq_shutdown(struct irq_data *data)
> -{
> - unsigned int irq = data->irq;
> -
> - if (irq < 8)
> - *(volatile unsigned char *)(pica+1) |= (1 << irq);
> - else
> - *(volatile unsigned char *)(picb+1) |= (1 << (irq - 8));
> -}
> -
> -static void apollo_irq_eoi(struct irq_data *data)
> -{
> - *(volatile unsigned char *)(pica) = 0x20;
> - *(volatile unsigned char *)(picb) = 0x20;
> -}
> -
> -static struct irq_chip apollo_irq_chip = {
> - .name = "apollo",
> - .irq_startup = apollo_irq_startup,
> - .irq_shutdown = apollo_irq_shutdown,
> - .irq_eoi = apollo_irq_eoi,
> -};
> -
> -
> -void __init dn_init_IRQ(void)
> -{
> - m68k_setup_user_interrupt(VEC_USER + 96, 16);
> - m68k_setup_irq_controller(&apollo_irq_chip, handle_fasteoi_irq,
> - IRQ_APOLLO, 16);
> -}
> diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig
> deleted file mode 100644
> index d9d1f3c4c70d..000000000000
> --- a/arch/m68k/configs/apollo_defconfig
> +++ /dev/null
> @@ -1,595 +0,0 @@
> -CONFIG_LOCALVERSION="-apollo"
> -CONFIG_SYSVIPC=y
> -CONFIG_POSIX_MQUEUE=y
> -CONFIG_BSD_PROCESS_ACCT=y
> -CONFIG_BSD_PROCESS_ACCT_V3=y
> -CONFIG_LOG_BUF_SHIFT=16
> -# CONFIG_UTS_NS is not set
> -# CONFIG_IPC_NS is not set
> -# CONFIG_PID_NS is not set
> -# CONFIG_NET_NS is not set
> -CONFIG_BLK_DEV_INITRD=y
> -CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> -CONFIG_KEXEC=y
> -CONFIG_BOOTINFO_PROC=y
> -CONFIG_M68020=y
> -CONFIG_M68030=y
> -CONFIG_M68040=y
> -CONFIG_M68060=y
> -CONFIG_APOLLO=y
> -CONFIG_HEARTBEAT=y
> -CONFIG_PROC_HARDWARE=y
> -CONFIG_MODULES=y
> -CONFIG_MODULE_UNLOAD=y
> -CONFIG_TRIM_UNUSED_KSYMS=y
> -CONFIG_PARTITION_ADVANCED=y
> -CONFIG_AMIGA_PARTITION=y
> -CONFIG_ATARI_PARTITION=y
> -CONFIG_MAC_PARTITION=y
> -CONFIG_BSD_DISKLABEL=y
> -CONFIG_MINIX_SUBPARTITION=y
> -CONFIG_SOLARIS_X86_PARTITION=y
> -CONFIG_UNIXWARE_DISKLABEL=y
> -CONFIG_SUN_PARTITION=y
> -# CONFIG_EFI_PARTITION is not set
> -CONFIG_SYSV68_PARTITION=y
> -CONFIG_MQ_IOSCHED_DEADLINE=m
> -CONFIG_MQ_IOSCHED_KYBER=m
> -CONFIG_IOSCHED_BFQ=m
> -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> -CONFIG_BINFMT_MISC=m
> -# CONFIG_COMPACTION is not set
> -CONFIG_DMAPOOL_TEST=m
> -CONFIG_USERFAULTFD=y
> -CONFIG_NET=y
> -CONFIG_PACKET=y
> -CONFIG_PACKET_DIAG=m
> -CONFIG_UNIX=y
> -CONFIG_UNIX_DIAG=m
> -CONFIG_TLS=m
> -CONFIG_XFRM_MIGRATE=y
> -CONFIG_NET_KEY=y
> -CONFIG_XDP_SOCKETS=y
> -CONFIG_XDP_SOCKETS_DIAG=m
> -CONFIG_INET=y
> -CONFIG_IP_PNP=y
> -CONFIG_IP_PNP_DHCP=y
> -CONFIG_IP_PNP_BOOTP=y
> -CONFIG_IP_PNP_RARP=y
> -CONFIG_NET_IPIP=m
> -CONFIG_NET_IPGRE_DEMUX=m
> -CONFIG_NET_IPGRE=m
> -CONFIG_NET_IPVTI=m
> -CONFIG_NET_FOU_IP_TUNNELS=y
> -CONFIG_INET_AH=m
> -CONFIG_INET_ESP=m
> -CONFIG_INET_ESP_OFFLOAD=m
> -CONFIG_INET_IPCOMP=m
> -CONFIG_INET_DIAG=m
> -CONFIG_INET_UDP_DIAG=m
> -CONFIG_INET_RAW_DIAG=m
> -CONFIG_IPV6=m
> -CONFIG_IPV6_ROUTER_PREF=y
> -CONFIG_INET6_AH=m
> -CONFIG_INET6_ESP=m
> -CONFIG_INET6_ESP_OFFLOAD=m
> -CONFIG_INET6_IPCOMP=m
> -CONFIG_IPV6_ILA=m
> -CONFIG_IPV6_VTI=m
> -CONFIG_IPV6_GRE=m
> -CONFIG_NETFILTER=y
> -CONFIG_NETFILTER_NETLINK_HOOK=m
> -CONFIG_NF_CONNTRACK=m
> -CONFIG_NF_CONNTRACK_ZONES=y
> -CONFIG_NF_CONNTRACK_AMANDA=m
> -CONFIG_NF_CONNTRACK_FTP=m
> -CONFIG_NF_CONNTRACK_H323=m
> -CONFIG_NF_CONNTRACK_IRC=m
> -CONFIG_NF_CONNTRACK_NETBIOS_NS=m
> -CONFIG_NF_CONNTRACK_SNMP=m
> -CONFIG_NF_CONNTRACK_PPTP=m
> -CONFIG_NF_CONNTRACK_SANE=m
> -CONFIG_NF_CONNTRACK_SIP=m
> -CONFIG_NF_CONNTRACK_TFTP=m
> -CONFIG_NF_TABLES=m
> -CONFIG_NF_TABLES_INET=y
> -CONFIG_NF_TABLES_NETDEV=y
> -CONFIG_NFT_NUMGEN=m
> -CONFIG_NFT_CT=m
> -CONFIG_NFT_FLOW_OFFLOAD=m
> -CONFIG_NFT_CONNLIMIT=m
> -CONFIG_NFT_LOG=m
> -CONFIG_NFT_LIMIT=m
> -CONFIG_NFT_MASQ=m
> -CONFIG_NFT_REDIR=m
> -CONFIG_NFT_NAT=m
> -CONFIG_NFT_TUNNEL=m
> -CONFIG_NFT_QUEUE=m
> -CONFIG_NFT_QUOTA=m
> -CONFIG_NFT_REJECT=m
> -CONFIG_NFT_COMPAT=m
> -CONFIG_NFT_HASH=m
> -CONFIG_NFT_FIB_INET=m
> -CONFIG_NFT_XFRM=m
> -CONFIG_NFT_SOCKET=m
> -CONFIG_NFT_OSF=m
> -CONFIG_NFT_TPROXY=m
> -CONFIG_NFT_SYNPROXY=m
> -CONFIG_NFT_DUP_NETDEV=m
> -CONFIG_NFT_FWD_NETDEV=m
> -CONFIG_NFT_FIB_NETDEV=m
> -CONFIG_NFT_REJECT_NETDEV=m
> -CONFIG_NF_FLOW_TABLE_INET=m
> -CONFIG_NF_FLOW_TABLE=m
> -CONFIG_NETFILTER_XTABLES_LEGACY=y
> -CONFIG_NETFILTER_XT_SET=m
> -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
> -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
> -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
> -CONFIG_NETFILTER_XT_TARGET_DSCP=m
> -CONFIG_NETFILTER_XT_TARGET_HMARK=m
> -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
> -CONFIG_NETFILTER_XT_TARGET_LOG=m
> -CONFIG_NETFILTER_XT_TARGET_MARK=m
> -CONFIG_NETFILTER_XT_TARGET_NFLOG=m
> -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
> -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
> -CONFIG_NETFILTER_XT_TARGET_TEE=m
> -CONFIG_NETFILTER_XT_TARGET_TPROXY=m
> -CONFIG_NETFILTER_XT_TARGET_TRACE=m
> -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
> -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
> -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
> -CONFIG_NETFILTER_XT_MATCH_BPF=m
> -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
> -CONFIG_NETFILTER_XT_MATCH_COMMENT=m
> -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
> -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
> -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
> -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
> -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
> -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
> -CONFIG_NETFILTER_XT_MATCH_DSCP=m
> -CONFIG_NETFILTER_XT_MATCH_ESP=m
> -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
> -CONFIG_NETFILTER_XT_MATCH_HELPER=m
> -CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
> -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
> -CONFIG_NETFILTER_XT_MATCH_LENGTH=m
> -CONFIG_NETFILTER_XT_MATCH_LIMIT=m
> -CONFIG_NETFILTER_XT_MATCH_MAC=m
> -CONFIG_NETFILTER_XT_MATCH_MARK=m
> -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
> -CONFIG_NETFILTER_XT_MATCH_NFACCT=m
> -CONFIG_NETFILTER_XT_MATCH_OSF=m
> -CONFIG_NETFILTER_XT_MATCH_OWNER=m
> -CONFIG_NETFILTER_XT_MATCH_POLICY=m
> -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
> -CONFIG_NETFILTER_XT_MATCH_QUOTA=m
> -CONFIG_NETFILTER_XT_MATCH_RATEEST=m
> -CONFIG_NETFILTER_XT_MATCH_REALM=m
> -CONFIG_NETFILTER_XT_MATCH_RECENT=m
> -CONFIG_NETFILTER_XT_MATCH_SOCKET=m
> -CONFIG_NETFILTER_XT_MATCH_STATE=m
> -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
> -CONFIG_NETFILTER_XT_MATCH_STRING=m
> -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
> -CONFIG_NETFILTER_XT_MATCH_TIME=m
> -CONFIG_NETFILTER_XT_MATCH_U32=m
> -CONFIG_IP_SET=m
> -CONFIG_IP_SET_BITMAP_IP=m
> -CONFIG_IP_SET_BITMAP_IPMAC=m
> -CONFIG_IP_SET_BITMAP_PORT=m
> -CONFIG_IP_SET_HASH_IP=m
> -CONFIG_IP_SET_HASH_IPMARK=m
> -CONFIG_IP_SET_HASH_IPPORT=m
> -CONFIG_IP_SET_HASH_IPPORTIP=m
> -CONFIG_IP_SET_HASH_IPPORTNET=m
> -CONFIG_IP_SET_HASH_IPMAC=m
> -CONFIG_IP_SET_HASH_MAC=m
> -CONFIG_IP_SET_HASH_NETPORTNET=m
> -CONFIG_IP_SET_HASH_NET=m
> -CONFIG_IP_SET_HASH_NETNET=m
> -CONFIG_IP_SET_HASH_NETPORT=m
> -CONFIG_IP_SET_HASH_NETIFACE=m
> -CONFIG_IP_SET_LIST_SET=m
> -CONFIG_NFT_DUP_IPV4=m
> -CONFIG_NFT_FIB_IPV4=m
> -CONFIG_NF_TABLES_ARP=y
> -CONFIG_NF_LOG_ARP=m
> -CONFIG_NF_LOG_IPV4=m
> -CONFIG_IP_NF_IPTABLES=m
> -CONFIG_IP_NF_MATCH_AH=m
> -CONFIG_IP_NF_MATCH_ECN=m
> -CONFIG_IP_NF_MATCH_RPFILTER=m
> -CONFIG_IP_NF_MATCH_TTL=m
> -CONFIG_IP_NF_TARGET_REJECT=m
> -CONFIG_IP_NF_TARGET_SYNPROXY=m
> -CONFIG_IP_NF_NAT=m
> -CONFIG_IP_NF_TARGET_MASQUERADE=m
> -CONFIG_IP_NF_TARGET_NETMAP=m
> -CONFIG_IP_NF_TARGET_REDIRECT=m
> -CONFIG_IP_NF_TARGET_ECN=m
> -CONFIG_IP_NF_TARGET_TTL=m
> -CONFIG_IP_NF_RAW=m
> -CONFIG_IP_NF_ARPFILTER=m
> -CONFIG_IP_NF_ARP_MANGLE=m
> -CONFIG_NFT_DUP_IPV6=m
> -CONFIG_NFT_FIB_IPV6=m
> -CONFIG_IP6_NF_IPTABLES=m
> -CONFIG_IP6_NF_MATCH_AH=m
> -CONFIG_IP6_NF_MATCH_EUI64=m
> -CONFIG_IP6_NF_MATCH_FRAG=m
> -CONFIG_IP6_NF_MATCH_OPTS=m
> -CONFIG_IP6_NF_MATCH_HL=m
> -CONFIG_IP6_NF_MATCH_IPV6HEADER=m
> -CONFIG_IP6_NF_MATCH_MH=m
> -CONFIG_IP6_NF_MATCH_RPFILTER=m
> -CONFIG_IP6_NF_MATCH_RT=m
> -CONFIG_IP6_NF_MATCH_SRH=m
> -CONFIG_IP6_NF_TARGET_HL=m
> -CONFIG_IP6_NF_TARGET_REJECT=m
> -CONFIG_IP6_NF_TARGET_SYNPROXY=m
> -CONFIG_IP6_NF_RAW=m
> -CONFIG_IP6_NF_NAT=m
> -CONFIG_IP6_NF_TARGET_MASQUERADE=m
> -CONFIG_IP6_NF_TARGET_NPT=m
> -CONFIG_NF_TABLES_BRIDGE=m
> -CONFIG_NFT_BRIDGE_META=m
> -CONFIG_NFT_BRIDGE_REJECT=m
> -CONFIG_NF_CONNTRACK_BRIDGE=m
> -CONFIG_BRIDGE_NF_EBTABLES_LEGACY=m
> -CONFIG_BRIDGE_NF_EBTABLES=m
> -CONFIG_BRIDGE_EBT_BROUTE=m
> -CONFIG_BRIDGE_EBT_T_FILTER=m
> -CONFIG_BRIDGE_EBT_T_NAT=m
> -CONFIG_BRIDGE_EBT_802_3=m
> -CONFIG_BRIDGE_EBT_AMONG=m
> -CONFIG_BRIDGE_EBT_ARP=m
> -CONFIG_BRIDGE_EBT_IP=m
> -CONFIG_BRIDGE_EBT_IP6=m
> -CONFIG_BRIDGE_EBT_LIMIT=m
> -CONFIG_BRIDGE_EBT_MARK=m
> -CONFIG_BRIDGE_EBT_PKTTYPE=m
> -CONFIG_BRIDGE_EBT_STP=m
> -CONFIG_BRIDGE_EBT_VLAN=m
> -CONFIG_BRIDGE_EBT_ARPREPLY=m
> -CONFIG_BRIDGE_EBT_DNAT=m
> -CONFIG_BRIDGE_EBT_MARK_T=m
> -CONFIG_BRIDGE_EBT_REDIRECT=m
> -CONFIG_BRIDGE_EBT_SNAT=m
> -CONFIG_BRIDGE_EBT_LOG=m
> -CONFIG_BRIDGE_EBT_NFLOG=m
> -CONFIG_IP_SCTP=m
> -CONFIG_RDS=m
> -CONFIG_RDS_TCP=m
> -CONFIG_L2TP=m
> -CONFIG_BRIDGE=m
> -CONFIG_ATALK=m
> -CONFIG_6LOWPAN=m
> -CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
> -CONFIG_6LOWPAN_GHC_UDP=m
> -CONFIG_6LOWPAN_GHC_ICMPV6=m
> -CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
> -CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
> -CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
> -CONFIG_DNS_RESOLVER=y
> -CONFIG_BATMAN_ADV=m
> -# CONFIG_BATMAN_ADV_BATMAN_V is not set
> -CONFIG_NETLINK_DIAG=m
> -CONFIG_MPLS=y
> -CONFIG_NET_MPLS_GSO=m
> -CONFIG_MPLS_ROUTING=m
> -CONFIG_MPLS_IPTUNNEL=m
> -CONFIG_NET_NSH=m
> -CONFIG_AF_KCM=m
> -# CONFIG_WIRELESS is not set
> -CONFIG_PSAMPLE=m
> -CONFIG_NET_IFE=m
> -CONFIG_DEVTMPFS=y
> -CONFIG_DEVTMPFS_MOUNT=y
> -CONFIG_TEST_ASYNC_DRIVER_PROBE=m
> -CONFIG_CONNECTOR=m
> -CONFIG_ZRAM=m
> -CONFIG_BLK_DEV_LOOP=y
> -CONFIG_BLK_DEV_DRBD=m
> -CONFIG_BLK_DEV_NBD=m
> -CONFIG_BLK_DEV_RAM=y
> -CONFIG_ATA_OVER_ETH=m
> -CONFIG_DUMMY_IRQ=m
> -CONFIG_RAID_ATTRS=m
> -CONFIG_SCSI=y
> -CONFIG_BLK_DEV_SD=y
> -CONFIG_CHR_DEV_ST=m
> -CONFIG_BLK_DEV_SR=y
> -CONFIG_CHR_DEV_SG=m
> -CONFIG_SCSI_CONSTANTS=y
> -CONFIG_SCSI_SAS_ATTRS=m
> -CONFIG_ISCSI_TCP=m
> -CONFIG_ISCSI_BOOT_SYSFS=m
> -CONFIG_MD=y
> -CONFIG_MD_LINEAR=m
> -CONFIG_BLK_DEV_DM=m
> -CONFIG_DM_UNSTRIPED=m
> -CONFIG_DM_CRYPT=m
> -CONFIG_DM_SNAPSHOT=m
> -CONFIG_DM_THIN_PROVISIONING=m
> -CONFIG_DM_WRITECACHE=m
> -CONFIG_DM_ERA=m
> -CONFIG_DM_CLONE=m
> -CONFIG_DM_MIRROR=m
> -CONFIG_DM_RAID=m
> -CONFIG_DM_ZERO=m
> -CONFIG_DM_MULTIPATH=m
> -CONFIG_DM_UEVENT=y
> -CONFIG_DM_LOG_WRITES=m
> -CONFIG_DM_INTEGRITY=m
> -CONFIG_TARGET_CORE=m
> -CONFIG_TCM_IBLOCK=m
> -CONFIG_TCM_FILEIO=m
> -CONFIG_TCM_PSCSI=m
> -CONFIG_NETDEVICES=y
> -CONFIG_DUMMY=m
> -CONFIG_WIREGUARD=m
> -CONFIG_OVPN=m
> -CONFIG_EQUALIZER=m
> -CONFIG_NET_TEAM=m
> -CONFIG_NET_TEAM_MODE_BROADCAST=m
> -CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
> -CONFIG_NET_TEAM_MODE_RANDOM=m
> -CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
> -CONFIG_NET_TEAM_MODE_LOADBALANCE=m
> -CONFIG_MACVLAN=m
> -CONFIG_MACVTAP=m
> -CONFIG_IPVLAN=m
> -CONFIG_IPVTAP=m
> -CONFIG_VXLAN=m
> -CONFIG_GENEVE=m
> -CONFIG_BAREUDP=m
> -CONFIG_GTP=m
> -CONFIG_PFCP=m
> -CONFIG_MACSEC=m
> -CONFIG_NETCONSOLE=m
> -CONFIG_NETCONSOLE_DYNAMIC=y
> -CONFIG_TUN=m
> -CONFIG_VETH=m
> -CONFIG_PPP=m
> -CONFIG_PPP_BSDCOMP=m
> -CONFIG_PPP_DEFLATE=m
> -CONFIG_PPP_FILTER=y
> -CONFIG_PPP_MPPE=m
> -CONFIG_PPPOE=m
> -CONFIG_PPTP=m
> -CONFIG_PPPOL2TP=m
> -CONFIG_PPP_ASYNC=m
> -CONFIG_PPP_SYNC_TTY=m
> -CONFIG_SLIP=m
> -CONFIG_SLIP_COMPRESSED=y
> -CONFIG_SLIP_SMART=y
> -CONFIG_SLIP_MODE_SLIP6=y
> -# CONFIG_WLAN is not set
> -CONFIG_INPUT_EVDEV=m
> -# CONFIG_KEYBOARD_ATKBD is not set
> -# CONFIG_MOUSE_PS2 is not set
> -CONFIG_MOUSE_SERIAL=m
> -CONFIG_SERIO=m
> -CONFIG_USERIO=m
> -# CONFIG_LEGACY_PTYS is not set
> -# CONFIG_HW_RANDOM is not set
> -CONFIG_NTP_PPS=y
> -CONFIG_PPS_CLIENT_LDISC=m
> -CONFIG_PTP_1588_CLOCK=m
> -# CONFIG_HWMON is not set
> -CONFIG_FB=y
> -CONFIG_FRAMEBUFFER_CONSOLE=y
> -CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
> -CONFIG_LOGO=y
> -# CONFIG_LOGO_LINUX_VGA16 is not set
> -# CONFIG_LOGO_LINUX_CLUT224 is not set
> -CONFIG_HID=m
> -CONFIG_HIDRAW=y
> -CONFIG_UHID=m
> -# CONFIG_HID_GENERIC is not set
> -# CONFIG_HID_ITE is not set
> -# CONFIG_HID_REDRAGON is not set
> -# CONFIG_USB_SUPPORT is not set
> -CONFIG_RTC_CLASS=y
> -# CONFIG_RTC_NVMEM is not set
> -CONFIG_RTC_DRV_GENERIC=m
> -# CONFIG_VIRTIO_MENU is not set
> -# CONFIG_VHOST_MENU is not set
> -# CONFIG_IOMMU_SUPPORT is not set
> -CONFIG_DAX=m
> -CONFIG_EXT4_FS=y
> -CONFIG_JFS_FS=m
> -CONFIG_XFS_FS=m
> -CONFIG_OCFS2_FS=m
> -# CONFIG_OCFS2_DEBUG_MASKLOG is not set
> -CONFIG_BTRFS_FS=m
> -CONFIG_FANOTIFY=y
> -CONFIG_QUOTA_NETLINK_INTERFACE=y
> -CONFIG_AUTOFS_FS=m
> -CONFIG_FUSE_FS=m
> -CONFIG_CUSE=m
> -CONFIG_OVERLAY_FS=m
> -CONFIG_ISO9660_FS=y
> -CONFIG_JOLIET=y
> -CONFIG_ZISOFS=y
> -CONFIG_UDF_FS=m
> -CONFIG_MSDOS_FS=m
> -CONFIG_VFAT_FS=m
> -CONFIG_EXFAT_FS=m
> -CONFIG_NTFS3_FS=m
> -CONFIG_NTFS3_LZX_XPRESS=y
> -CONFIG_PROC_KCORE=y
> -CONFIG_PROC_CHILDREN=y
> -CONFIG_TMPFS=y
> -CONFIG_ORANGEFS_FS=m
> -CONFIG_AFFS_FS=m
> -CONFIG_ECRYPT_FS=m
> -CONFIG_ECRYPT_FS_MESSAGING=y
> -CONFIG_HFS_FS=m
> -CONFIG_HFSPLUS_FS=m
> -CONFIG_CRAMFS=m
> -CONFIG_SQUASHFS=m
> -CONFIG_SQUASHFS_LZ4=y
> -CONFIG_SQUASHFS_LZO=y
> -CONFIG_MINIX_FS=m
> -CONFIG_OMFS_FS=m
> -CONFIG_HPFS_FS=m
> -CONFIG_QNX4FS_FS=m
> -CONFIG_QNX6FS_FS=m
> -CONFIG_UFS_FS=m
> -CONFIG_EROFS_FS=m
> -CONFIG_NFS_FS=y
> -CONFIG_NFS_V4=m
> -CONFIG_NFS_SWAP=y
> -CONFIG_ROOT_NFS=y
> -CONFIG_NFSD=m
> -CONFIG_RPCSEC_GSS_KRB5=m
> -CONFIG_CIFS=m
> -# CONFIG_CIFS_STATS2 is not set
> -# CONFIG_CIFS_DEBUG is not set
> -CONFIG_CODA_FS=m
> -CONFIG_NLS_CODEPAGE_437=y
> -CONFIG_NLS_CODEPAGE_737=m
> -CONFIG_NLS_CODEPAGE_775=m
> -CONFIG_NLS_CODEPAGE_850=m
> -CONFIG_NLS_CODEPAGE_852=m
> -CONFIG_NLS_CODEPAGE_855=m
> -CONFIG_NLS_CODEPAGE_857=m
> -CONFIG_NLS_CODEPAGE_860=m
> -CONFIG_NLS_CODEPAGE_861=m
> -CONFIG_NLS_CODEPAGE_862=m
> -CONFIG_NLS_CODEPAGE_863=m
> -CONFIG_NLS_CODEPAGE_864=m
> -CONFIG_NLS_CODEPAGE_865=m
> -CONFIG_NLS_CODEPAGE_866=m
> -CONFIG_NLS_CODEPAGE_869=m
> -CONFIG_NLS_CODEPAGE_936=m
> -CONFIG_NLS_CODEPAGE_950=m
> -CONFIG_NLS_CODEPAGE_932=m
> -CONFIG_NLS_CODEPAGE_949=m
> -CONFIG_NLS_CODEPAGE_874=m
> -CONFIG_NLS_ISO8859_8=m
> -CONFIG_NLS_CODEPAGE_1250=m
> -CONFIG_NLS_CODEPAGE_1251=m
> -CONFIG_NLS_ASCII=m
> -CONFIG_NLS_ISO8859_1=y
> -CONFIG_NLS_ISO8859_2=m
> -CONFIG_NLS_ISO8859_3=m
> -CONFIG_NLS_ISO8859_4=m
> -CONFIG_NLS_ISO8859_5=m
> -CONFIG_NLS_ISO8859_6=m
> -CONFIG_NLS_ISO8859_7=m
> -CONFIG_NLS_ISO8859_9=m
> -CONFIG_NLS_ISO8859_13=m
> -CONFIG_NLS_ISO8859_14=m
> -CONFIG_NLS_ISO8859_15=m
> -CONFIG_NLS_KOI8_R=m
> -CONFIG_NLS_KOI8_U=m
> -CONFIG_NLS_MAC_ROMAN=m
> -CONFIG_NLS_MAC_CELTIC=m
> -CONFIG_NLS_MAC_CENTEURO=m
> -CONFIG_NLS_MAC_CROATIAN=m
> -CONFIG_NLS_MAC_CYRILLIC=m
> -CONFIG_NLS_MAC_GAELIC=m
> -CONFIG_NLS_MAC_GREEK=m
> -CONFIG_NLS_MAC_ICELAND=m
> -CONFIG_NLS_MAC_INUIT=m
> -CONFIG_NLS_MAC_ROMANIAN=m
> -CONFIG_NLS_MAC_TURKISH=m
> -CONFIG_DLM=m
> -CONFIG_ENCRYPTED_KEYS=m
> -CONFIG_HARDENED_USERCOPY=y
> -CONFIG_CRYPTO_USER=m
> -CONFIG_CRYPTO_NULL=m
> -CONFIG_CRYPTO_CRYPTD=m
> -CONFIG_CRYPTO_BENCHMARK=m
> -CONFIG_CRYPTO_RSA=m
> -CONFIG_CRYPTO_DH=m
> -CONFIG_CRYPTO_ECDH=m
> -CONFIG_CRYPTO_ECDSA=m
> -CONFIG_CRYPTO_ECRDSA=m
> -CONFIG_CRYPTO_AES=y
> -CONFIG_CRYPTO_AES_TI=m
> -CONFIG_CRYPTO_ANUBIS=m
> -CONFIG_CRYPTO_ARIA=m
> -CONFIG_CRYPTO_BLOWFISH=m
> -CONFIG_CRYPTO_CAMELLIA=m
> -CONFIG_CRYPTO_CAST5=m
> -CONFIG_CRYPTO_CAST6=m
> -CONFIG_CRYPTO_DES=m
> -CONFIG_CRYPTO_FCRYPT=m
> -CONFIG_CRYPTO_KHAZAD=m
> -CONFIG_CRYPTO_SEED=m
> -CONFIG_CRYPTO_SERPENT=m
> -CONFIG_CRYPTO_SM4_GENERIC=m
> -CONFIG_CRYPTO_TEA=m
> -CONFIG_CRYPTO_TWOFISH=m
> -CONFIG_CRYPTO_ADIANTUM=m
> -CONFIG_CRYPTO_ARC4=m
> -CONFIG_CRYPTO_CTS=m
> -CONFIG_CRYPTO_HCTR2=m
> -CONFIG_CRYPTO_LRW=m
> -CONFIG_CRYPTO_PCBC=m
> -CONFIG_CRYPTO_XTS=m
> -CONFIG_CRYPTO_AEGIS128=m
> -CONFIG_CRYPTO_MD4=m
> -CONFIG_CRYPTO_MICHAEL_MIC=m
> -CONFIG_CRYPTO_RMD160=m
> -CONFIG_CRYPTO_SHA1=m
> -CONFIG_CRYPTO_SM3_GENERIC=m
> -CONFIG_CRYPTO_WP512=m
> -CONFIG_CRYPTO_XCBC=m
> -CONFIG_CRYPTO_LZO=m
> -CONFIG_CRYPTO_842=m
> -CONFIG_CRYPTO_LZ4=m
> -CONFIG_CRYPTO_LZ4HC=m
> -CONFIG_CRYPTO_ZSTD=m
> -CONFIG_CRYPTO_DRBG_HASH=y
> -CONFIG_CRYPTO_DRBG_CTR=y
> -CONFIG_CRYPTO_USER_API_HASH=m
> -CONFIG_CRYPTO_USER_API_SKCIPHER=m
> -CONFIG_CRYPTO_USER_API_RNG=m
> -CONFIG_CRYPTO_USER_API_AEAD=m
> -# CONFIG_CRYPTO_HW is not set
> -CONFIG_PRIME_NUMBERS=m
> -CONFIG_CRC_BENCHMARK=y
> -CONFIG_XZ_DEC_TEST=m
> -CONFIG_GLOB_SELFTEST=m
> -# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
> -CONFIG_MAGIC_SYSRQ=y
> -CONFIG_TEST_LOCKUP=m
> -CONFIG_WW_MUTEX_SELFTEST=m
> -CONFIG_EARLY_PRINTK=y
> -CONFIG_KUNIT=m
> -CONFIG_KUNIT_ALL_TESTS=m
> -CONFIG_TEST_DHRY=m
> -CONFIG_TEST_MIN_HEAP=m
> -CONFIG_TEST_DIV64=m
> -CONFIG_TEST_MULDIV64=m
> -CONFIG_REED_SOLOMON_TEST=m
> -CONFIG_ATOMIC64_SELFTEST=m
> -CONFIG_ASYNC_RAID6_TEST=m
> -CONFIG_TEST_HEXDUMP=m
> -CONFIG_TEST_KSTRTOX=m
> -CONFIG_TEST_BITMAP=m
> -CONFIG_TEST_UUID=m
> -CONFIG_TEST_XARRAY=m
> -CONFIG_TEST_MAPLE_TREE=m
> -CONFIG_TEST_RHASHTABLE=m
> -CONFIG_TEST_IDA=m
> -CONFIG_TEST_BITOPS=m
> -CONFIG_TEST_VMALLOC=m
> -CONFIG_TEST_BPF=m
> -CONFIG_FIND_BIT_BENCHMARK=m
> -CONFIG_TEST_FIRMWARE=m
> -CONFIG_TEST_SYSCTL=m
> -CONFIG_LINEAR_RANGES_TEST=m
> -CONFIG_TEST_UDELAY=m
> -CONFIG_TEST_STATIC_KEYS=m
> -CONFIG_TEST_KMOD=m
> -CONFIG_TEST_MEMCAT_P=m
> -CONFIG_TEST_MEMINIT=m
> -CONFIG_TEST_FREE_PAGES=m
> diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig
> index 74f0a1f6d871..b06de259c697 100644
> --- a/arch/m68k/configs/multi_defconfig
> +++ b/arch/m68k/configs/multi_defconfig
> @@ -19,7 +19,6 @@ CONFIG_M68KFPU_EMU=y
> CONFIG_AMIGA=y
> CONFIG_ATARI=y
> CONFIG_MAC=y
> -CONFIG_APOLLO=y
> CONFIG_VME=y
> CONFIG_MVME147=y
> CONFIG_MVME16x=y
> diff --git a/arch/m68k/include/asm/apollohw.h b/arch/m68k/include/asm/apollohw.h
> deleted file mode 100644
> index 52066f3b8658..000000000000
> --- a/arch/m68k/include/asm/apollohw.h
> +++ /dev/null
> @@ -1,90 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/* apollohw.h : some structures to access apollo HW */
> -
> -#ifndef _ASMm68k_APOLLOHW_H_
> -#define _ASMm68k_APOLLOHW_H_
> -
> -#include <linux/types.h>
> -
> -#include <asm/bootinfo-apollo.h>
> -
> -
> -extern u_long apollo_model;
> -
> -
> -/*
> - see scn2681 data sheet for more info.
> - member names are read_write.
> -*/
> -
> -#define DECLARE_2681_FIELD(x) unsigned char x; unsigned char dummy##x
> -
> -struct SCN2681 {
> -
> - DECLARE_2681_FIELD(mra);
> - DECLARE_2681_FIELD(sra_csra);
> - DECLARE_2681_FIELD(BRGtest_cra);
> - DECLARE_2681_FIELD(rhra_thra);
> - DECLARE_2681_FIELD(ipcr_acr);
> - DECLARE_2681_FIELD(isr_imr);
> - DECLARE_2681_FIELD(ctu_ctur);
> - DECLARE_2681_FIELD(ctl_ctlr);
> - DECLARE_2681_FIELD(mrb);
> - DECLARE_2681_FIELD(srb_csrb);
> - DECLARE_2681_FIELD(tst_crb);
> - DECLARE_2681_FIELD(rhrb_thrb);
> - DECLARE_2681_FIELD(reserved);
> - DECLARE_2681_FIELD(ip_opcr);
> - DECLARE_2681_FIELD(startCnt_setOutBit);
> - DECLARE_2681_FIELD(stopCnt_resetOutBit);
> -
> -};
> -
> -struct mc146818 {
> - unsigned char second, alarm_second;
> - unsigned char minute, alarm_minute;
> - unsigned char hours, alarm_hours;
> - unsigned char day_of_week, day_of_month;
> - unsigned char month, year;
> -};
> -
> -
> -#define IO_BASE 0x80000000
> -
> -extern u_long sio01_physaddr;
> -extern u_long sio23_physaddr;
> -extern u_long rtc_physaddr;
> -extern u_long pica_physaddr;
> -extern u_long picb_physaddr;
> -extern u_long cpuctrl_physaddr;
> -extern u_long timer_physaddr;
> -
> -#define SAU7_SIO01_PHYSADDR 0x10400
> -#define SAU7_SIO23_PHYSADDR 0x10500
> -#define SAU7_RTC_PHYSADDR 0x10900
> -#define SAU7_PICA 0x11000
> -#define SAU7_PICB 0x11100
> -#define SAU7_CPUCTRL 0x10100
> -#define SAU7_TIMER 0x010800
> -
> -#define SAU8_SIO01_PHYSADDR 0x8400
> -#define SAU8_RTC_PHYSADDR 0x8900
> -#define SAU8_PICA 0x9400
> -#define SAU8_PICB 0x9500
> -#define SAU8_CPUCTRL 0x8100
> -#define SAU8_TIMER 0x8800
> -
> -#define sio01 ((*(volatile struct SCN2681 *)(IO_BASE + sio01_physaddr)))
> -#define sio23 ((*(volatile struct SCN2681 *)(IO_BASE + sio23_physaddr)))
> -#define rtc (((volatile struct mc146818 *)(IO_BASE + rtc_physaddr)))
> -#define cpuctrl (*(volatile unsigned int *)(IO_BASE + cpuctrl_physaddr))
> -#define pica (IO_BASE + pica_physaddr)
> -#define picb (IO_BASE + picb_physaddr)
> -#define apollo_timer (IO_BASE + timer_physaddr)
> -#define addr_xlat_map ((unsigned short *)(IO_BASE + 0x17000))
> -
> -#define isaIO2mem(x) (((((x) & 0x3f8) << 7) | (((x) & 0xfc00) >> 6) | ((x) & 0x7)) + 0x40000 + IO_BASE)
> -
> -#define IRQ_APOLLO IRQ_USER
> -
> -#endif
> diff --git a/arch/m68k/include/asm/config.h b/arch/m68k/include/asm/config.h
> index 9bb888ab5009..9c73a73a7b3c 100644
> --- a/arch/m68k/include/asm/config.h
> +++ b/arch/m68k/include/asm/config.h
> @@ -9,7 +9,6 @@
> #define _M68K_CONFIG_H
>
> extern int amiga_parse_bootinfo(const struct bi_record *record);
> -extern int apollo_parse_bootinfo(const struct bi_record *record);
> extern int atari_parse_bootinfo(const struct bi_record *record);
> extern int bvme6000_parse_bootinfo(const struct bi_record *record);
> extern int hp300_parse_bootinfo(const struct bi_record *record);
> @@ -20,7 +19,6 @@ extern int q40_parse_bootinfo(const struct bi_record *record);
> extern int virt_parse_bootinfo(const struct bi_record *record);
>
> extern void config_amiga(void);
> -extern void config_apollo(void);
> extern void config_atari(void);
> extern void config_bvme6000(void);
> extern void config_hp300(void);
> diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h
> index 2263e92d418a..51cd970b0778 100644
> --- a/arch/m68k/include/asm/irq.h
> +++ b/arch/m68k/include/asm/irq.h
> @@ -26,8 +26,6 @@
> #define NR_IRQS 43
> #elif defined(CONFIG_AMIGA) || !defined(CONFIG_MMU)
> #define NR_IRQS 32
> -#elif defined(CONFIG_APOLLO)
> -#define NR_IRQS 24
> #else /* CONFIG_HP300 etc. */
> #define NR_IRQS 8
> #endif
> diff --git a/arch/m68k/include/asm/setup.h b/arch/m68k/include/asm/setup.h
> index e4ec169f5c7d..1719d0ee59ea 100644
> --- a/arch/m68k/include/asm/setup.h
> +++ b/arch/m68k/include/asm/setup.h
> @@ -34,7 +34,7 @@ extern unsigned long m68k_machtype;
>
> #if !defined(CONFIG_AMIGA)
> # define MACH_IS_AMIGA (0)
> -#elif defined(CONFIG_ATARI) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \
> +#elif defined(CONFIG_ATARI) || defined(CONFIG_MAC) \
> || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
> || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> @@ -48,7 +48,7 @@ extern unsigned long m68k_machtype;
>
> #if !defined(CONFIG_ATARI)
> # define MACH_IS_ATARI (0)
> -#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \
> +#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) \
> || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
> || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> @@ -62,7 +62,7 @@ extern unsigned long m68k_machtype;
>
> #if !defined(CONFIG_MAC)
> # define MACH_IS_MAC (0)
> -#elif defined(CONFIG_AMIGA) || defined(CONFIG_ATARI) || defined(CONFIG_APOLLO) \
> +#elif defined(CONFIG_AMIGA) || defined(CONFIG_ATARI) \
> || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
> || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> @@ -82,24 +82,10 @@ extern unsigned long m68k_machtype;
> #define MACH_IS_SUN3 (0)
> #endif
>
> -#if !defined (CONFIG_APOLLO)
> -# define MACH_IS_APOLLO (0)
> -#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
> - || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> - || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> - || defined(CONFIG_VIRT)
> -# define MACH_IS_APOLLO (m68k_machtype == MACH_APOLLO)
> -#else
> -# define MACH_APOLLO_ONLY
> -# define MACH_IS_APOLLO (1)
> -# define MACH_TYPE (MACH_APOLLO)
> -#endif
> -
> #if !defined (CONFIG_MVME147)
> # define MACH_IS_MVME147 (0)
> #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \
> + || defined(CONFIG_BVME6000) \
> || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME16x) \
> || defined(CONFIG_VIRT)
> @@ -113,7 +99,7 @@ extern unsigned long m68k_machtype;
> #if !defined (CONFIG_MVME16x)
> # define MACH_IS_MVME16x (0)
> #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \
> + || defined(CONFIG_BVME6000) \
> || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> || defined(CONFIG_VIRT)
> @@ -127,7 +113,7 @@ extern unsigned long m68k_machtype;
> #if !defined (CONFIG_BVME6000)
> # define MACH_IS_BVME6000 (0)
> #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
> + || defined(CONFIG_MVME16x) \
> || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> || defined(CONFIG_VIRT)
> @@ -141,7 +127,7 @@ extern unsigned long m68k_machtype;
> #if !defined (CONFIG_HP300)
> # define MACH_IS_HP300 (0)
> #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
> + || defined(CONFIG_MVME16x) \
> || defined(CONFIG_BVME6000) || defined(CONFIG_Q40) \
> || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
> || defined(CONFIG_VIRT)
> @@ -169,7 +155,7 @@ extern unsigned long m68k_machtype;
> #if !defined (CONFIG_SUN3X)
> # define MACH_IS_SUN3X (0)
> #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
> + || defined(CONFIG_MVME16x) \
> || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \
> || defined(CONFIG_Q40) || defined(CONFIG_MVME147) \
> || defined(CONFIG_VIRT)
> @@ -183,7 +169,7 @@ extern unsigned long m68k_machtype;
> #if !defined(CONFIG_VIRT)
> # define MACH_IS_VIRT (0)
> #elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
> - || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
> + || defined(CONFIG_MVME16x) \
> || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \
> || defined(CONFIG_Q40) || defined(CONFIG_SUN3X) \
> || defined(CONFIG_MVME147)
> diff --git a/arch/m68k/include/uapi/asm/bootinfo-apollo.h b/arch/m68k/include/uapi/asm/bootinfo-apollo.h
> deleted file mode 100644
> index c226f7957938..000000000000
> --- a/arch/m68k/include/uapi/asm/bootinfo-apollo.h
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> -/*
> -** asm/bootinfo-apollo.h -- Apollo-specific boot information definitions
> -*/
> -
> -#ifndef _UAPI_ASM_M68K_BOOTINFO_APOLLO_H
> -#define _UAPI_ASM_M68K_BOOTINFO_APOLLO_H
> -
> -
> - /*
> - * Apollo-specific tags
> - */
> -
> -#define BI_APOLLO_MODEL 0x8000 /* model (__be32) */
> -
> -
> - /*
> - * Apollo models (BI_APOLLO_MODEL)
> - */
> -
> -#define APOLLO_UNKNOWN 0
> -#define APOLLO_DN3000 1
> -#define APOLLO_DN3010 2
> -#define APOLLO_DN3500 3
> -#define APOLLO_DN4000 4
> -#define APOLLO_DN4500 5
> -
> -
> -#endif /* _UAPI_ASM_M68K_BOOTINFO_APOLLO_H */
> diff --git a/arch/m68k/include/uapi/asm/bootinfo.h b/arch/m68k/include/uapi/asm/bootinfo.h
> index 28d2d44c08d0..a199a7ecd3cd 100644
> --- a/arch/m68k/include/uapi/asm/bootinfo.h
> +++ b/arch/m68k/include/uapi/asm/bootinfo.h
> @@ -80,7 +80,7 @@ struct mem_info {
> #define MACH_AMIGA 1
> #define MACH_ATARI 2
> #define MACH_MAC 3
> -#define MACH_APOLLO 4
> +/* 4 was MACH_APOLLO */
> #define MACH_SUN3 5
> #define MACH_MVME147 6
> #define MACH_MVME16x 7
> @@ -134,7 +134,7 @@ struct mem_info {
> #define MMUB_68030 1 /* Internal MMU */
> #define MMUB_68040 2 /* Internal MMU */
> #define MMUB_68060 3 /* Internal MMU */
> -#define MMUB_APOLLO 4 /* Custom Apollo */
> +/* 4 was MMUB_APOLLO */
> #define MMUB_SUN3 5 /* Custom Sun-3 */
> #define MMUB_COLDFIRE 6 /* Internal MMU */
>
> @@ -143,7 +143,6 @@ struct mem_info {
> #define MMU_68040 (1 << MMUB_68040)
> #define MMU_68060 (1 << MMUB_68060)
> #define MMU_SUN3 (1 << MMUB_SUN3)
> -#define MMU_APOLLO (1 << MMUB_APOLLO)
> #define MMU_COLDFIRE (1 << MMUB_COLDFIRE)
>
>
> diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
> index 2e4ef0358887..573b30100679 100644
> --- a/arch/m68k/kernel/head.S
> +++ b/arch/m68k/kernel/head.S
> @@ -449,7 +449,7 @@ func_define mmu_get_ptr_table_entry,2
> func_define mmu_get_page_table_entry,2
> func_define mmu_print
> func_define get_new_page
> -#if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
> +#ifdef CONFIG_HP300
> func_define set_leds
> #endif
>
> @@ -528,17 +528,10 @@ func_define putn,1
> #define is_mvme16x(lab) cmpl &MACH_MVME16x,%pc@(m68k_machtype); jeq lab
> #define is_bvme6000(lab) cmpl &MACH_BVME6000,%pc@(m68k_machtype); jeq lab
> #define is_not_hp300(lab) cmpl &MACH_HP300,%pc@(m68k_machtype); jne lab
> -#define is_not_apollo(lab) cmpl &MACH_APOLLO,%pc@(m68k_machtype); jne lab
> #define is_not_q40(lab) cmpl &MACH_Q40,%pc@(m68k_machtype); jne lab
> #define is_not_sun3x(lab) cmpl &MACH_SUN3X,%pc@(m68k_machtype); jne lab
> #define is_not_virt(lab) cmpl &MACH_VIRT,%pc@(m68k_machtype); jne lab
>
> -#define hasnt_leds(lab) cmpl &MACH_HP300,%pc@(m68k_machtype); \
> - jeq 42f; \
> - cmpl &MACH_APOLLO,%pc@(m68k_machtype); \
> - jne lab ;\
> - 42:\
> -
> #define is_040_or_060(lab) btst &CPUTYPE_0460,%pc@(L(cputype)+3); jne lab
> #define is_not_040_or_060(lab) btst &CPUTYPE_0460,%pc@(L(cputype)+3); jeq lab
> #define is_040(lab) btst &CPUTYPE_040,%pc@(L(cputype)+3); jne lab
> @@ -551,8 +544,8 @@ func_define putn,1
> the console is running. Writing a 1 bit turns the corresponding LED
> _off_ - on the 340 bit 7 is towards the back panel of the machine. */
> .macro leds mask
> -#if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
> - hasnt_leds(.Lled\@)
> +#ifdef CONFIG_HP300
> + is_not_hp300(.Lled\@)
> pea \mask
> func_call set_leds
> addql #4,%sp
> @@ -1250,16 +1243,6 @@ L(notsun3x):
> L(novirt):
> #endif
>
> -#ifdef CONFIG_APOLLO
> - is_not_apollo(L(notapollo))
> -
> - putc 'P'
> - mmu_map #0x80000000,#0,#0x02000000,#_PAGE_NOCACHE030
> -
> -L(notapollo):
> - jbra L(mmu_init_done)
> -#endif
> -
> L(mmu_init_done):
>
> putc 'G'
> @@ -1445,16 +1428,6 @@ L(mmu_fixup_done):
> /* enable copro */
> oriw #0x4000,0x61000000
> 1:
> -#endif
> -
> -#ifdef CONFIG_APOLLO
> - is_not_apollo(1f)
> -
> - /*
> - * Fix up the iobase before printing
> - */
> - movel #0x80000000,L(iobase)
> -1:
> #endif
>
> putc 'I'
> @@ -2982,10 +2955,6 @@ L(serial_init_not_mac):
> L(serial_init_not_mvme16x):
> #endif
>
> -#ifdef CONFIG_APOLLO
> -/* We count on the PROM initializing SIO1 */
> -#endif
> -
> #ifdef CONFIG_HP300
> /* We count on the boot loader initialising the UART */
> #endif
> @@ -3167,17 +3136,6 @@ func_start serial_putc,%d0/%d1/%a0/%a1
> 2:
> #endif
>
> -#ifdef CONFIG_APOLLO
> - is_not_apollo(2f)
> - movl %pc@(L(iobase)),%a1
> - moveb %d0,%a1@(LTHRB0)
> -1: moveb %a1@(LSRB0),%d0
> - andb #0x4,%d0
> - beq 1b
> - jbra L(serial_putc_done)
> -2:
> -#endif
> -
> #ifdef CONFIG_HP300
> is_not_hp300(3f)
> movl %pc@(L(iobase)),%a1
> @@ -3293,23 +3251,14 @@ ENTRY(debug_cons_nputs)
> rts
> #endif /* CONFIG_EARLY_PRINTK */
>
> -#if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
> +#ifdef CONFIG_HP300
> func_start set_leds,%d0/%a0
> movel ARG1,%d0
> -#ifdef CONFIG_HP300
> is_not_hp300(1f)
> movel %pc@(L(iobase)),%a0
> moveb %d0,%a0@(0x1ffff)
> - jra 2f
> -#endif
> + jra 1f
> 1:
> -#ifdef CONFIG_APOLLO
> - movel %pc@(L(iobase)),%a0
> - lsll #8,%d0
> - eorw #0xff00,%d0
> - moveb %d0,%a0@(LCPUCTRL)
> -#endif
> -2:
> func_return set_leds
> #endif
>
> @@ -3768,8 +3717,7 @@ __INITDATA
> m68k_init_mapped_size:
> .long 0
>
> -#if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || \
> - defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
> +#if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || defined(CONFIG_HP300)
> L(custom):
> L(iobase):
> .long 0
> @@ -3850,12 +3798,6 @@ L(mac_sccbase):
> .long 0
> #endif /* CONFIG_MAC */
>
> -#if defined (CONFIG_APOLLO)
> -LSRB0 = 0x10412
> -LTHRB0 = 0x10416
> -LCPUCTRL = 0x10100
> -#endif
> -
> #if defined(CONFIG_HP300)
> DCADATA = 0x11
> DCALSR = 0x1b
> diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c
> index c7e8de0d34bb..2451dda2f701 100644
> --- a/arch/m68k/kernel/setup_mm.c
> +++ b/arch/m68k/kernel/setup_mm.c
> @@ -178,8 +178,6 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record)
> unknown = mvme147_parse_bootinfo(record);
> else if (MACH_IS_HP300)
> unknown = hp300_parse_bootinfo(record);
> - else if (MACH_IS_APOLLO)
> - unknown = apollo_parse_bootinfo(record);
> else if (MACH_IS_VIRT)
> unknown = virt_parse_bootinfo(record);
> else
> @@ -275,11 +273,6 @@ void __init setup_arch(char **cmdline_p)
> config_sun3();
> break;
> #endif
> -#ifdef CONFIG_APOLLO
> - case MACH_APOLLO:
> - config_apollo();
> - break;
> -#endif
> #ifdef CONFIG_MVME147
> case MACH_MVME147:
> config_mvme147();
> @@ -433,8 +426,6 @@ static int show_cpuinfo(struct seq_file *m, void *v)
> mmu = "68060";
> else if (m68k_mmutype & MMU_SUN3)
> mmu = "Sun-3";
> - else if (m68k_mmutype & MMU_APOLLO)
> - mmu = "Apollo";
> else if (m68k_mmutype & MMU_COLDFIRE)
> mmu = "ColdFire";
> else
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index a733f90eca55..2796e3dd7eaa 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -184,14 +184,6 @@ config FB_CYBER2000_I2C
> Integraphics CyberPro 20x0 and 5000 VGA chips. This is used
> on the Netwinder machines for the SAA7111 video capture.
>
> -config FB_APOLLO
> - bool
> - depends on (FB = y) && APOLLO
> - default y
> - select FB_CFB_FILLRECT
> - select FB_CFB_IMAGEBLIT
> - select FB_IOMEM_FOPS
> -
> config FB_Q40
> bool
> depends on (FB = y) && Q40
> diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile
> index b3d12f977c06..bc2e45da30d6 100644
> --- a/drivers/video/fbdev/Makefile
> +++ b/drivers/video/fbdev/Makefile
> @@ -63,7 +63,6 @@ obj-$(CONFIG_FB_HGA) += hgafb.o
> obj-$(CONFIG_FB_XVR500) += sunxvr500.o
> obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o
> obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o
> -obj-$(CONFIG_FB_APOLLO) += dnfb.o
> obj-$(CONFIG_FB_Q40) += q40fb.o
> obj-$(CONFIG_FB_TGA) += tgafb.o
> obj-$(CONFIG_FB_HP300) += hpfb.o
> diff --git a/drivers/video/fbdev/dnfb.c b/drivers/video/fbdev/dnfb.c
> deleted file mode 100644
> index c4d24540d9ef..000000000000
> --- a/drivers/video/fbdev/dnfb.c
> +++ /dev/null
> @@ -1,307 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -#include <linux/kernel.h>
> -#include <linux/errno.h>
> -#include <linux/string.h>
> -#include <linux/mm.h>
> -#include <linux/delay.h>
> -#include <linux/interrupt.h>
> -#include <linux/platform_device.h>
> -
> -#include <asm/setup.h>
> -#include <asm/irq.h>
> -#include <asm/amigahw.h>
> -#include <asm/amigaints.h>
> -#include <asm/apollohw.h>
> -#include <linux/fb.h>
> -#include <linux/module.h>
> -
> -/* apollo video HW definitions */
> -
> -/*
> - * Control Registers. IOBASE + $x
> - *
> - * Note: these are the Memory/IO BASE definitions for a mono card set to the
> - * alternate address
> - *
> - * Control 3A and 3B serve identical functions except that 3A
> - * deals with control 1 and 3b deals with Color LUT reg.
> - */
> -
> -#define AP_IOBASE 0x3b0 /* Base address of 1 plane board. */
> -#define AP_STATUS isaIO2mem(AP_IOBASE+0) /* Status register. Read */
> -#define AP_WRITE_ENABLE isaIO2mem(AP_IOBASE+0) /* Write Enable Register Write */
> -#define AP_DEVICE_ID isaIO2mem(AP_IOBASE+1) /* Device ID Register. Read */
> -#define AP_ROP_1 isaIO2mem(AP_IOBASE+2) /* Raster Operation reg. Write Word */
> -#define AP_DIAG_MEM_REQ isaIO2mem(AP_IOBASE+4) /* Diagnostic Memory Request. Write Word */
> -#define AP_CONTROL_0 isaIO2mem(AP_IOBASE+8) /* Control Register 0. Read/Write */
> -#define AP_CONTROL_1 isaIO2mem(AP_IOBASE+0xa) /* Control Register 1. Read/Write */
> -#define AP_CONTROL_3A isaIO2mem(AP_IOBASE+0xe) /* Control Register 3a. Read/Write */
> -#define AP_CONTROL_2 isaIO2mem(AP_IOBASE+0xc) /* Control Register 2. Read/Write */
> -
> -
> -#define FRAME_BUFFER_START 0x0FA0000
> -#define FRAME_BUFFER_LEN 0x40000
> -
> -/* CREG 0 */
> -#define VECTOR_MODE 0x40 /* 010x.xxxx */
> -#define DBLT_MODE 0x80 /* 100x.xxxx */
> -#define NORMAL_MODE 0xE0 /* 111x.xxxx */
> -#define SHIFT_BITS 0x1F /* xxx1.1111 */
> - /* other bits are Shift value */
> -
> -/* CREG 1 */
> -#define AD_BLT 0x80 /* 1xxx.xxxx */
> -#define NORMAL 0x80 /* 1xxx.xxxx */ /* What is happening here ?? */
> -#define INVERSE 0x00 /* 0xxx.xxxx */ /* Clearing this reverses the screen */
> -#define PIX_BLT 0x00 /* 0xxx.xxxx */
> -
> -#define AD_HIBIT 0x40 /* xIxx.xxxx */
> -
> -#define ROP_EN 0x10 /* xxx1.xxxx */
> -#define DST_EQ_SRC 0x00 /* xxx0.xxxx */
> -#define nRESET_SYNC 0x08 /* xxxx.1xxx */
> -#define SYNC_ENAB 0x02 /* xxxx.xx1x */
> -
> -#define BLANK_DISP 0x00 /* xxxx.xxx0 */
> -#define ENAB_DISP 0x01 /* xxxx.xxx1 */
> -
> -#define NORM_CREG1 (nRESET_SYNC | SYNC_ENAB | ENAB_DISP) /* no reset sync */
> -
> -/* CREG 2 */
> -
> -/*
> - * Following 3 defines are common to 1, 4 and 8 plane.
> - */
> -
> -#define S_DATA_1s 0x00 /* 00xx.xxxx */ /* set source to all 1's -- vector drawing */
> -#define S_DATA_PIX 0x40 /* 01xx.xxxx */ /* takes source from ls-bits and replicates over 16 bits */
> -#define S_DATA_PLN 0xC0 /* 11xx.xxxx */ /* normal, each data access =16-bits in
> - one plane of image mem */
> -
> -/* CREG 3A/CREG 3B */
> -# define RESET_CREG 0x80 /* 1000.0000 */
> -
> -/* ROP REG - all one nibble */
> -/* ********* NOTE : this is used r0,r1,r2,r3 *********** */
> -#define ROP(r2,r3,r0,r1) ( (U_SHORT)((r0)|((r1)<<4)|((r2)<<8)|((r3)<<12)) )
> -#define DEST_ZERO 0x0
> -#define SRC_AND_DEST 0x1
> -#define SRC_AND_nDEST 0x2
> -#define SRC 0x3
> -#define nSRC_AND_DEST 0x4
> -#define DEST 0x5
> -#define SRC_XOR_DEST 0x6
> -#define SRC_OR_DEST 0x7
> -#define SRC_NOR_DEST 0x8
> -#define SRC_XNOR_DEST 0x9
> -#define nDEST 0xA
> -#define SRC_OR_nDEST 0xB
> -#define nSRC 0xC
> -#define nSRC_OR_DEST 0xD
> -#define SRC_NAND_DEST 0xE
> -#define DEST_ONE 0xF
> -
> -#define SWAP(A) ((A>>8) | ((A&0xff) <<8))
> -
> -/* frame buffer operations */
> -
> -static int dnfb_blank(int blank, struct fb_info *info);
> -static void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);
> -
> -static const struct fb_ops dn_fb_ops = {
> - .owner = THIS_MODULE,
> - __FB_DEFAULT_IOMEM_OPS_RDWR,
> - .fb_blank = dnfb_blank,
> - .fb_fillrect = cfb_fillrect,
> - .fb_copyarea = dnfb_copyarea,
> - .fb_imageblit = cfb_imageblit,
> - __FB_DEFAULT_IOMEM_OPS_MMAP,
> -};
> -
> -static const struct fb_var_screeninfo dnfb_var = {
> - .xres = 1280,
> - .yres = 1024,
> - .xres_virtual = 2048,
> - .yres_virtual = 1024,
> - .bits_per_pixel = 1,
> - .height = -1,
> - .width = -1,
> - .vmode = FB_VMODE_NONINTERLACED,
> -};
> -
> -static const struct fb_fix_screeninfo dnfb_fix = {
> - .id = "Apollo Mono",
> - .smem_start = (FRAME_BUFFER_START + IO_BASE),
> - .smem_len = FRAME_BUFFER_LEN,
> - .type = FB_TYPE_PACKED_PIXELS,
> - .visual = FB_VISUAL_MONO10,
> - .line_length = 256,
> -};
> -
> -static int dnfb_blank(int blank, struct fb_info *info)
> -{
> - if (blank)
> - out_8(AP_CONTROL_3A, 0x0);
> - else
> - out_8(AP_CONTROL_3A, 0x1);
> - return 0;
> -}
> -
> -static
> -void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area)
> -{
> -
> - int incr, y_delta, pre_read = 0, x_end, x_word_count;
> - uint start_mask, end_mask, dest;
> - ushort *src, dummy;
> - short i, j;
> -
> - incr = (area->dy <= area->sy) ? 1 : -1;
> -
> - src = (ushort *)(info->screen_base + area->sy * info->fix.line_length +
> - (area->sx >> 4));
> - dest = area->dy * (info->fix.line_length >> 1) + (area->dx >> 4);
> -
> - if (incr > 0) {
> - y_delta = (info->fix.line_length * 8) - area->sx - area->width;
> - x_end = area->dx + area->width - 1;
> - x_word_count = (x_end >> 4) - (area->dx >> 4) + 1;
> - start_mask = 0xffff0000 >> (area->dx & 0xf);
> - end_mask = 0x7ffff >> (x_end & 0xf);
> - out_8(AP_CONTROL_0,
> - (((area->dx & 0xf) - (area->sx & 0xf)) % 16) | (0x4 << 5));
> - if ((area->dx & 0xf) < (area->sx & 0xf))
> - pre_read = 1;
> - } else {
> - y_delta = -((info->fix.line_length * 8) - area->sx - area->width);
> - x_end = area->dx - area->width + 1;
> - x_word_count = (area->dx >> 4) - (x_end >> 4) + 1;
> - start_mask = 0x7ffff >> (area->dx & 0xf);
> - end_mask = 0xffff0000 >> (x_end & 0xf);
> - out_8(AP_CONTROL_0,
> - ((-((area->sx & 0xf) - (area->dx & 0xf))) % 16) |
> - (0x4 << 5));
> - if ((area->dx & 0xf) > (area->sx & 0xf))
> - pre_read = 1;
> - }
> -
> - for (i = 0; i < area->height; i++) {
> -
> - out_8(AP_CONTROL_3A, 0xc | (dest >> 16));
> -
> - if (pre_read) {
> - dummy = *src;
> - src += incr;
> - }
> -
> - if (x_word_count) {
> - out_8(AP_WRITE_ENABLE, start_mask);
> - *src = dest;
> - src += incr;
> - dest += incr;
> - out_8(AP_WRITE_ENABLE, 0);
> -
> - for (j = 1; j < (x_word_count - 1); j++) {
> - *src = dest;
> - src += incr;
> - dest += incr;
> - }
> -
> - out_8(AP_WRITE_ENABLE, start_mask);
> - *src = dest;
> - dest += incr;
> - src += incr;
> - } else {
> - out_8(AP_WRITE_ENABLE, start_mask | end_mask);
> - *src = dest;
> - dest += incr;
> - src += incr;
> - }
> - src += (y_delta / 16);
> - dest += (y_delta / 16);
> - }
> - out_8(AP_CONTROL_0, NORMAL_MODE);
> -}
> -
> -/*
> - * Initialization
> - */
> -
> -static int dnfb_probe(struct platform_device *dev)
> -{
> - struct fb_info *info;
> - int err = 0;
> -
> - info = framebuffer_alloc(0, &dev->dev);
> - if (!info)
> - return -ENOMEM;
> -
> - info->fbops = &dn_fb_ops;
> - info->fix = dnfb_fix;
> - info->var = dnfb_var;
> - info->var.red.length = 1;
> - info->var.red.offset = 0;
> - info->var.green = info->var.blue = info->var.red;
> - info->screen_base = (u_char *) info->fix.smem_start;
> -
> - err = fb_alloc_cmap(&info->cmap, 2, 0);
> - if (err < 0)
> - goto release_framebuffer;
> -
> - err = register_framebuffer(info);
> - if (err < 0) {
> - fb_dealloc_cmap(&info->cmap);
> - goto release_framebuffer;
> - }
> - platform_set_drvdata(dev, info);
> -
> - /* now we have registered we can safely setup the hardware */
> - out_8(AP_CONTROL_3A, RESET_CREG);
> - out_be16(AP_WRITE_ENABLE, 0x0);
> - out_8(AP_CONTROL_0, NORMAL_MODE);
> - out_8(AP_CONTROL_1, (AD_BLT | DST_EQ_SRC | NORM_CREG1));
> - out_8(AP_CONTROL_2, S_DATA_PLN);
> - out_be16(AP_ROP_1, SWAP(0x3));
> -
> - printk("apollo frame buffer alive and kicking !\n");
> - return err;
> -
> -release_framebuffer:
> - framebuffer_release(info);
> - return err;
> -}
> -
> -static struct platform_driver dnfb_driver = {
> - .probe = dnfb_probe,
> - .driver = {
> - .name = "dnfb",
> - },
> -};
> -
> -static struct platform_device dnfb_device = {
> - .name = "dnfb",
> -};
> -
> -static int __init dnfb_init(void)
> -{
> - int ret;
> -
> - if (!MACH_IS_APOLLO)
> - return -ENODEV;
> -
> - if (fb_get_options("dnfb", NULL))
> - return -ENODEV;
> -
> - ret = platform_driver_register(&dnfb_driver);
> -
> - if (!ret) {
> - ret = platform_device_register(&dnfb_device);
> - if (ret)
> - platform_driver_unregister(&dnfb_driver);
> - }
> - return ret;
> -}
> -
> -module_init(dnfb_init);
> -
> -MODULE_LICENSE("GPL");
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)
^ permalink raw reply
* Re: [PATCH] arch: m68k: remove incomplete, unusable Apollo hardware support
From: Geert Uytterhoeven @ 2026-02-09 7:57 UTC (permalink / raw)
To: Ethan Nelson-Moore
Cc: linux-m68k, linux-fbdev, Helge Deller, Jiri Slaby (SUSE),
Ilpo Järvinen, Greg Kroah-Hartman, Eric Biggers, Herbert Xu,
Thomas Huth, Greg Ungerer, Finn Thain, Thorsten Blum,
Jean-Michel Hautbois, Kees Cook, Thomas Zimmermann, Wei Liu,
Prasanna Kumar T S M, Sukrut Heroorkar
In-Reply-To: <20260209005212.32370-1-enelsonmoore@gmail.com>
Hi Ethan,
Thanks for your patch!
On Mon, 9 Feb 2026 at 01:53, Ethan Nelson-Moore <enelsonmoore@gmail.com> wrote:
> The m68k architecture contains very incomplete support for running on
> Apollo Domain hardware. There are only timer, console, and framebuffer
> drivers, and no storage or network drivers, so there is no way to
3c505 Ethernet support was indeed removed from the kernel a while
ago, and upstream never included the Apollo-specific parts
(CONFIG_APOLLO_ELPLUS).
> practically use it. It is not even capable of rebooting by itself (see
> dn_dummy_reset() in arch/m68k/apollo/config.c).
I didn't know that is a requirement; one of the advantages of Linux
is that you never need to reboot ;-)
> arch/m68k/apollo has only received tree-wide changes and fixes by
> inspection in the entire Git history (since Linux 2.6.12-rc2), so there
> is clearly no interest in completing support for Apollo hardware.
> Remove it to reduce future maintenance workload.
>
> There are no uses of the removed <asm/bootinfo-apollo.h> UAPI header or
> the constants removed from the <asm/bootinfo.h> UAPI header on GitHub
> or Debian Code Search.
Seems like you missed https://github.com/geertu/m68k-bootinfo...
> Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
> ---
> arch/m68k/Kbuild | 1 -
> arch/m68k/Kconfig.devices | 4 +-
> arch/m68k/Kconfig.machine | 8 -
> arch/m68k/apollo/Makefile | 6 -
> arch/m68k/apollo/apollo.h | 4 -
> arch/m68k/apollo/config.c | 240 --------
> arch/m68k/apollo/dn_ints.c | 50 --
> arch/m68k/configs/apollo_defconfig | 595 -------------------
> arch/m68k/configs/multi_defconfig | 1 -
> arch/m68k/include/asm/apollohw.h | 90 ---
> arch/m68k/include/asm/config.h | 2 -
> arch/m68k/include/asm/irq.h | 2 -
> arch/m68k/include/asm/setup.h | 32 +-
> arch/m68k/include/uapi/asm/bootinfo-apollo.h | 29 -
> arch/m68k/include/uapi/asm/bootinfo.h | 5 +-
> arch/m68k/kernel/head.S | 70 +--
> arch/m68k/kernel/setup_mm.c | 9 -
> drivers/video/fbdev/Kconfig | 8 -
> drivers/video/fbdev/Makefile | 1 -
> drivers/video/fbdev/dnfb.c | 307 ----------
> 20 files changed, 19 insertions(+), 1445 deletions(-)
> delete mode 100644 arch/m68k/apollo/Makefile
> delete mode 100644 arch/m68k/apollo/apollo.h
> delete mode 100644 arch/m68k/apollo/config.c
> delete mode 100644 arch/m68k/apollo/dn_ints.c
> delete mode 100644 arch/m68k/configs/apollo_defconfig
> delete mode 100644 arch/m68k/include/asm/apollohw.h
> delete mode 100644 arch/m68k/include/uapi/asm/bootinfo-apollo.h
> delete mode 100644 drivers/video/fbdev/dnfb.c
Apart from dnfb, this only removes code under arch/m68k/.
Is any of the removed code blocking further development for you?
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* Re: [PATCH v3 3/6] fbdev: au1100fb: Use %zu to printk a value of type size_t
From: Uwe Kleine-König @ 2026-02-09 7:33 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <d6891ed3-0a6b-443d-b64f-10e8a17bde49@gmx.de>
[-- Attachment #1: Type: text/plain, Size: 943 bytes --]
Hello Helge,
On Sun, Feb 08, 2026 at 08:24:43PM +0100, Helge Deller wrote:
> On 2/8/26 20:21, Helge Deller wrote:
> > On 2/8/26 18:58, Uwe Kleine-König wrote:
> > > @@ -465,7 +465,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
> > > fbdev->info.fix.smem_len = fbdev->fb_len;
> > > print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
> > > - print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
> > > + print_dbg("phys=0x%08x, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
> >
> > The & seems to be wrong.
>
> I see you fix it up in patch #4.
> Maybe simply merge them?
I see how my compile testing went wrong: I checked that
make drivers/video/fbdev/
was happy on several archs (but not mips) but only starting with patch
#5 this actually compiled the driver. 🙄
I'll give it another go tomorrow or so.
Best regards
Uwe
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply
* Re: [PATCH v3 5/6] fbdev: au1100fb: Make driver compilable on non-mips platforms
From: Uwe Kleine-König @ 2026-02-09 7:27 UTC (permalink / raw)
To: kernel test robot
Cc: Helge Deller, oe-kbuild-all, Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <202602091447.3HeLynhy-lkp@intel.com>
[-- Attachment #1: Type: text/plain, Size: 3335 bytes --]
Hello,
On Mon, Feb 09, 2026 at 02:30:13PM +0800, kernel test robot wrote:
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on 0636e6205beed850d985276dc56fd73d785bea5c]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Uwe-Kleine-K-nig/fbdev-au1100fb-Don-t-store-device-specific-data-in-global-variables/20260209-015956
> base: 0636e6205beed850d985276dc56fd73d785bea5c
> patch link: https://lore.kernel.org/r/67b7aa0157b9cf5de111ab6b2725d207ec98aae9.1770572936.git.u.kleine-koenig%40baylibre.com
> patch subject: [PATCH v3 5/6] fbdev: au1100fb: Make driver compilable on non-mips platforms
> config: csky-allmodconfig (https://download.01.org/0day-ci/archive/20260209/202602091447.3HeLynhy-lkp@intel.com/config)
> compiler: csky-linux-gcc (GCC) 15.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260209/202602091447.3HeLynhy-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202602091447.3HeLynhy-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> csky-linux-ld: drivers/video/fbdev/au1100fb.o: in function `au1100fb_drv_remove':
> au1100fb.c:(.text+0x21c): undefined reference to `unregister_framebuffer'
> >> csky-linux-ld: au1100fb.c:(.text+0x224): undefined reference to `fb_dealloc_cmap'
> csky-linux-ld: drivers/video/fbdev/au1100fb.o: in function `au1100fb_fb_mmap':
> au1100fb.c:(.text+0x2bc): undefined reference to `unregister_framebuffer'
> csky-linux-ld: au1100fb.c:(.text+0x2c0): undefined reference to `fb_dealloc_cmap'
> csky-linux-ld: drivers/video/fbdev/au1100fb.o: in function `au1100fb_drv_probe':
> au1100fb.c:(.text+0x540): undefined reference to `fb_get_options'
> >> csky-linux-ld: au1100fb.c:(.text+0x6e4): undefined reference to `fb_get_options'
> >> csky-linux-ld: au1100fb.c:(.text+0x7bc): undefined reference to `fb_alloc_cmap'
> >> csky-linux-ld: au1100fb.c:(.text+0x7d8): undefined reference to `register_framebuffer'
> csky-linux-ld: au1100fb.c:(.text+0x818): undefined reference to `fb_dealloc_cmap'
> csky-linux-ld: au1100fb.c:(.text+0x850): undefined reference to `fb_alloc_cmap'
> csky-linux-ld: au1100fb.c:(.text+0x860): undefined reference to `register_framebuffer'
> csky-linux-ld: au1100fb.c:(.text+0x874): undefined reference to `fb_dealloc_cmap'
> >> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0xc): undefined reference to `fb_io_read'
> >> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x10): undefined reference to `fb_io_write'
> >> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
> >> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
> >> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'
The problem is that we have CONFIG_FB_AU1100=y but only CONFIG_FB=m in
that config. I thought a bool depending on a tristate implies the latter
to be =y, it seems I'm wrong and FB_AU1100 needs to depend on (FB = y).
Best regards
Uwe
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply
* Re: [PATCH v3 5/6] fbdev: au1100fb: Make driver compilable on non-mips platforms
From: kernel test robot @ 2026-02-09 6:30 UTC (permalink / raw)
To: Uwe Kleine-König, Helge Deller
Cc: oe-kbuild-all, Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <67b7aa0157b9cf5de111ab6b2725d207ec98aae9.1770572936.git.u.kleine-koenig@baylibre.com>
Hi Uwe,
kernel test robot noticed the following build errors:
[auto build test ERROR on 0636e6205beed850d985276dc56fd73d785bea5c]
url: https://github.com/intel-lab-lkp/linux/commits/Uwe-Kleine-K-nig/fbdev-au1100fb-Don-t-store-device-specific-data-in-global-variables/20260209-015956
base: 0636e6205beed850d985276dc56fd73d785bea5c
patch link: https://lore.kernel.org/r/67b7aa0157b9cf5de111ab6b2725d207ec98aae9.1770572936.git.u.kleine-koenig%40baylibre.com
patch subject: [PATCH v3 5/6] fbdev: au1100fb: Make driver compilable on non-mips platforms
config: csky-allmodconfig (https://download.01.org/0day-ci/archive/20260209/202602091447.3HeLynhy-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260209/202602091447.3HeLynhy-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602091447.3HeLynhy-lkp@intel.com/
All errors (new ones prefixed by >>):
csky-linux-ld: drivers/video/fbdev/au1100fb.o: in function `au1100fb_drv_remove':
au1100fb.c:(.text+0x21c): undefined reference to `unregister_framebuffer'
>> csky-linux-ld: au1100fb.c:(.text+0x224): undefined reference to `fb_dealloc_cmap'
csky-linux-ld: drivers/video/fbdev/au1100fb.o: in function `au1100fb_fb_mmap':
au1100fb.c:(.text+0x2bc): undefined reference to `unregister_framebuffer'
csky-linux-ld: au1100fb.c:(.text+0x2c0): undefined reference to `fb_dealloc_cmap'
csky-linux-ld: drivers/video/fbdev/au1100fb.o: in function `au1100fb_drv_probe':
au1100fb.c:(.text+0x540): undefined reference to `fb_get_options'
>> csky-linux-ld: au1100fb.c:(.text+0x6e4): undefined reference to `fb_get_options'
>> csky-linux-ld: au1100fb.c:(.text+0x7bc): undefined reference to `fb_alloc_cmap'
>> csky-linux-ld: au1100fb.c:(.text+0x7d8): undefined reference to `register_framebuffer'
csky-linux-ld: au1100fb.c:(.text+0x818): undefined reference to `fb_dealloc_cmap'
csky-linux-ld: au1100fb.c:(.text+0x850): undefined reference to `fb_alloc_cmap'
csky-linux-ld: au1100fb.c:(.text+0x860): undefined reference to `register_framebuffer'
csky-linux-ld: au1100fb.c:(.text+0x874): undefined reference to `fb_dealloc_cmap'
>> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0xc): undefined reference to `fb_io_read'
>> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x10): undefined reference to `fb_io_write'
>> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x2c): undefined reference to `cfb_fillrect'
>> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x30): undefined reference to `cfb_copyarea'
>> csky-linux-ld: drivers/video/fbdev/au1100fb.o:(.rodata+0x34): undefined reference to `cfb_imageblit'
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply
* [PATCH] arch: m68k: remove incomplete, unusable Apollo hardware support
From: Ethan Nelson-Moore @ 2026-02-09 0:51 UTC (permalink / raw)
To: linux-m68k, linux-fbdev
Cc: Ethan Nelson-Moore, Geert Uytterhoeven, Helge Deller,
Jiri Slaby (SUSE), Ilpo Järvinen, Greg Kroah-Hartman,
Eric Biggers, Herbert Xu, Thomas Huth, Greg Ungerer, Finn Thain,
Thorsten Blum, Jean-Michel Hautbois, Kees Cook, Thomas Zimmermann,
Wei Liu, Prasanna Kumar T S M, Sukrut Heroorkar
The m68k architecture contains very incomplete support for running on
Apollo Domain hardware. There are only timer, console, and framebuffer
drivers, and no storage or network drivers, so there is no way to
practically use it. It is not even capable of rebooting by itself (see
dn_dummy_reset() in arch/m68k/apollo/config.c).
arch/m68k/apollo has only received tree-wide changes and fixes by
inspection in the entire Git history (since Linux 2.6.12-rc2), so there
is clearly no interest in completing support for Apollo hardware.
Remove it to reduce future maintenance workload.
There are no uses of the removed <asm/bootinfo-apollo.h> UAPI header or
the constants removed from the <asm/bootinfo.h> UAPI header on GitHub
or Debian Code Search.
Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
---
arch/m68k/Kbuild | 1 -
arch/m68k/Kconfig.devices | 4 +-
arch/m68k/Kconfig.machine | 8 -
arch/m68k/apollo/Makefile | 6 -
arch/m68k/apollo/apollo.h | 4 -
arch/m68k/apollo/config.c | 240 --------
arch/m68k/apollo/dn_ints.c | 50 --
arch/m68k/configs/apollo_defconfig | 595 -------------------
arch/m68k/configs/multi_defconfig | 1 -
arch/m68k/include/asm/apollohw.h | 90 ---
arch/m68k/include/asm/config.h | 2 -
arch/m68k/include/asm/irq.h | 2 -
arch/m68k/include/asm/setup.h | 32 +-
arch/m68k/include/uapi/asm/bootinfo-apollo.h | 29 -
arch/m68k/include/uapi/asm/bootinfo.h | 5 +-
arch/m68k/kernel/head.S | 70 +--
arch/m68k/kernel/setup_mm.c | 9 -
drivers/video/fbdev/Kconfig | 8 -
drivers/video/fbdev/Makefile | 1 -
drivers/video/fbdev/dnfb.c | 307 ----------
20 files changed, 19 insertions(+), 1445 deletions(-)
delete mode 100644 arch/m68k/apollo/Makefile
delete mode 100644 arch/m68k/apollo/apollo.h
delete mode 100644 arch/m68k/apollo/config.c
delete mode 100644 arch/m68k/apollo/dn_ints.c
delete mode 100644 arch/m68k/configs/apollo_defconfig
delete mode 100644 arch/m68k/include/asm/apollohw.h
delete mode 100644 arch/m68k/include/uapi/asm/bootinfo-apollo.h
delete mode 100644 drivers/video/fbdev/dnfb.c
diff --git a/arch/m68k/Kbuild b/arch/m68k/Kbuild
index 7762af9f6def..421bad0780e1 100644
--- a/arch/m68k/Kbuild
+++ b/arch/m68k/Kbuild
@@ -5,7 +5,6 @@ obj-$(CONFIG_AMIGA) += amiga/
obj-$(CONFIG_ATARI) += atari/
obj-$(CONFIG_MAC) += mac/
obj-$(CONFIG_HP300) += hp300/
-obj-$(CONFIG_APOLLO) += apollo/
obj-$(CONFIG_MVME147) += mvme147/
obj-$(CONFIG_MVME16x) += mvme16x/
obj-$(CONFIG_BVME6000) += bvme6000/
diff --git a/arch/m68k/Kconfig.devices b/arch/m68k/Kconfig.devices
index e6e3efac1840..75370aadba6a 100644
--- a/arch/m68k/Kconfig.devices
+++ b/arch/m68k/Kconfig.devices
@@ -9,8 +9,8 @@ config ARCH_MAY_HAVE_PC_FDC
menu "Platform devices"
config HEARTBEAT
- bool "Use power LED as a heartbeat" if AMIGA || APOLLO || ATARI || Q40
- default y if !AMIGA && !APOLLO && !ATARI && !Q40 && HP300
+ bool "Use power LED as a heartbeat" if AMIGA || ATARI || Q40
+ default y if !AMIGA && !ATARI && !Q40 && HP300
help
Use the power-on LED on your machine as a load meter. The exact
behavior is platform-dependent, but normally the flash frequency is
diff --git a/arch/m68k/Kconfig.machine b/arch/m68k/Kconfig.machine
index de39f23b180e..f67eb3d202c6 100644
--- a/arch/m68k/Kconfig.machine
+++ b/arch/m68k/Kconfig.machine
@@ -38,14 +38,6 @@ config MAC
browse the documentation available at <http://www.mac.linux-m68k.org/>;
otherwise say N.
-config APOLLO
- bool "Apollo support"
- depends on MMU
- select LEGACY_TIMER_TICK
- help
- Say Y here if you want to run Linux on an MC680x0-based Apollo
- Domain workstation such as the DN3500.
-
config VME
bool "VME (Motorola and BVM) support"
depends on MMU
diff --git a/arch/m68k/apollo/Makefile b/arch/m68k/apollo/Makefile
deleted file mode 100644
index 676c74b26878..000000000000
--- a/arch/m68k/apollo/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# Makefile for Linux arch/m68k/apollo source directory
-#
-
-obj-y := config.o dn_ints.o
diff --git a/arch/m68k/apollo/apollo.h b/arch/m68k/apollo/apollo.h
deleted file mode 100644
index 1fe9d856df30..000000000000
--- a/arch/m68k/apollo/apollo.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-
-/* dn_ints.c */
-void dn_init_IRQ(void);
diff --git a/arch/m68k/apollo/config.c b/arch/m68k/apollo/config.c
deleted file mode 100644
index e324c5f671de..000000000000
--- a/arch/m68k/apollo/config.c
+++ /dev/null
@@ -1,240 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/init.h>
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/mm.h>
-#include <linux/rtc.h>
-#include <linux/interrupt.h>
-
-#include <asm/setup.h>
-#include <asm/bootinfo.h>
-#include <asm/bootinfo-apollo.h>
-#include <asm/byteorder.h>
-#include <asm/apollohw.h>
-#include <asm/irq.h>
-#include <asm/machdep.h>
-#include <asm/config.h>
-
-#include "apollo.h"
-
-u_long sio01_physaddr;
-u_long sio23_physaddr;
-u_long rtc_physaddr;
-u_long pica_physaddr;
-u_long picb_physaddr;
-u_long cpuctrl_physaddr;
-u_long timer_physaddr;
-u_long apollo_model;
-
-extern void dn_sched_init(void);
-extern int dn_dummy_hwclk(int, struct rtc_time *);
-static void dn_dummy_reset(void);
-#ifdef CONFIG_HEARTBEAT
-static void dn_heartbeat(int on);
-#endif
-static irqreturn_t dn_timer_int(int irq,void *);
-static void dn_get_model(char *model);
-static const char *apollo_models[] = {
- [APOLLO_DN3000-APOLLO_DN3000] = "DN3000 (Otter)",
- [APOLLO_DN3010-APOLLO_DN3000] = "DN3010 (Otter)",
- [APOLLO_DN3500-APOLLO_DN3000] = "DN3500 (Cougar II)",
- [APOLLO_DN4000-APOLLO_DN3000] = "DN4000 (Mink)",
- [APOLLO_DN4500-APOLLO_DN3000] = "DN4500 (Roadrunner)"
-};
-
-int __init apollo_parse_bootinfo(const struct bi_record *record)
-{
- int unknown = 0;
- const void *data = record->data;
-
- switch (be16_to_cpu(record->tag)) {
- case BI_APOLLO_MODEL:
- apollo_model = be32_to_cpup(data);
- break;
-
- default:
- unknown=1;
- }
-
- return unknown;
-}
-
-static void __init dn_setup_model(void)
-{
- pr_info("Apollo hardware found: [%s]\n",
- apollo_models[apollo_model - APOLLO_DN3000]);
-
- switch(apollo_model) {
- case APOLLO_UNKNOWN:
- panic("Unknown apollo model");
- break;
- case APOLLO_DN3000:
- case APOLLO_DN3010:
- sio01_physaddr=SAU8_SIO01_PHYSADDR;
- rtc_physaddr=SAU8_RTC_PHYSADDR;
- pica_physaddr=SAU8_PICA;
- picb_physaddr=SAU8_PICB;
- cpuctrl_physaddr=SAU8_CPUCTRL;
- timer_physaddr=SAU8_TIMER;
- break;
- case APOLLO_DN4000:
- sio01_physaddr=SAU7_SIO01_PHYSADDR;
- sio23_physaddr=SAU7_SIO23_PHYSADDR;
- rtc_physaddr=SAU7_RTC_PHYSADDR;
- pica_physaddr=SAU7_PICA;
- picb_physaddr=SAU7_PICB;
- cpuctrl_physaddr=SAU7_CPUCTRL;
- timer_physaddr=SAU7_TIMER;
- break;
- case APOLLO_DN4500:
- panic("Apollo model not yet supported");
- break;
- case APOLLO_DN3500:
- sio01_physaddr=SAU7_SIO01_PHYSADDR;
- sio23_physaddr=SAU7_SIO23_PHYSADDR;
- rtc_physaddr=SAU7_RTC_PHYSADDR;
- pica_physaddr=SAU7_PICA;
- picb_physaddr=SAU7_PICB;
- cpuctrl_physaddr=SAU7_CPUCTRL;
- timer_physaddr=SAU7_TIMER;
- break;
- default:
- panic("Undefined apollo model");
- break;
- }
-
-
-}
-
-static void dn_serial_print(const char *str)
-{
- while (*str) {
- if (*str == '\n') {
- sio01.rhrb_thrb = (unsigned char)'\r';
- while (!(sio01.srb_csrb & 0x4))
- ;
- }
- sio01.rhrb_thrb = (unsigned char)*str++;
- while (!(sio01.srb_csrb & 0x4))
- ;
- }
-}
-
-void __init config_apollo(void)
-{
- int i;
-
- dn_setup_model();
-
- mach_sched_init=dn_sched_init; /* */
- mach_init_IRQ=dn_init_IRQ;
- mach_hwclk = dn_dummy_hwclk; /* */
- mach_reset = dn_dummy_reset; /* */
-#ifdef CONFIG_HEARTBEAT
- mach_heartbeat = dn_heartbeat;
-#endif
- mach_get_model = dn_get_model;
-
- cpuctrl=0xaa00;
-
- /* clear DMA translation table */
- for(i=0;i<0x400;i++)
- addr_xlat_map[i]=0;
-
-}
-
-irqreturn_t dn_timer_int(int irq, void *dev_id)
-{
- unsigned char *at = (unsigned char *)apollo_timer;
-
- legacy_timer_tick(1);
- timer_heartbeat();
-
- READ_ONCE(*(at + 3));
- READ_ONCE(*(at + 5));
-
- return IRQ_HANDLED;
-}
-
-void dn_sched_init(void)
-{
- /* program timer 1 */
- *(volatile unsigned char *)(apollo_timer + 3) = 0x01;
- *(volatile unsigned char *)(apollo_timer + 1) = 0x40;
- *(volatile unsigned char *)(apollo_timer + 5) = 0x09;
- *(volatile unsigned char *)(apollo_timer + 7) = 0xc4;
-
- /* enable IRQ of PIC B */
- *(volatile unsigned char *)(pica+1)&=(~8);
-
-#if 0
- pr_info("*(0x10803) %02x\n",
- *(volatile unsigned char *)(apollo_timer + 0x3));
- pr_info("*(0x10803) %02x\n",
- *(volatile unsigned char *)(apollo_timer + 0x3));
-#endif
-
- if (request_irq(IRQ_APOLLO, dn_timer_int, 0, "time", NULL))
- pr_err("Couldn't register timer interrupt\n");
-}
-
-int dn_dummy_hwclk(int op, struct rtc_time *t) {
-
-
- if(!op) { /* read */
- t->tm_sec=rtc->second;
- t->tm_min=rtc->minute;
- t->tm_hour=rtc->hours;
- t->tm_mday=rtc->day_of_month;
- t->tm_wday=rtc->day_of_week;
- t->tm_mon = rtc->month - 1;
- t->tm_year=rtc->year;
- if (t->tm_year < 70)
- t->tm_year += 100;
- } else {
- rtc->second=t->tm_sec;
- rtc->minute=t->tm_min;
- rtc->hours=t->tm_hour;
- rtc->day_of_month=t->tm_mday;
- if(t->tm_wday!=-1)
- rtc->day_of_week=t->tm_wday;
- rtc->month = t->tm_mon + 1;
- rtc->year = t->tm_year % 100;
- }
-
- return 0;
-
-}
-
-static void dn_dummy_reset(void)
-{
- dn_serial_print("The end !\n");
-
- for(;;);
-
-}
-
-static void dn_get_model(char *model)
-{
- strcpy(model, "Apollo ");
- if (apollo_model >= APOLLO_DN3000 && apollo_model <= APOLLO_DN4500)
- strcat(model, apollo_models[apollo_model - APOLLO_DN3000]);
-}
-
-#ifdef CONFIG_HEARTBEAT
-static int dn_cpuctrl=0xff00;
-
-static void dn_heartbeat(int on) {
-
- if(on) {
- dn_cpuctrl&=~0x100;
- cpuctrl=dn_cpuctrl;
- }
- else {
- dn_cpuctrl&=~0x100;
- dn_cpuctrl|=0x100;
- cpuctrl=dn_cpuctrl;
- }
-}
-#endif
-
diff --git a/arch/m68k/apollo/dn_ints.c b/arch/m68k/apollo/dn_ints.c
deleted file mode 100644
index ba96a92f8f18..000000000000
--- a/arch/m68k/apollo/dn_ints.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-
-#include <asm/traps.h>
-#include <asm/apollohw.h>
-
-#include "apollo.h"
-
-static unsigned int apollo_irq_startup(struct irq_data *data)
-{
- unsigned int irq = data->irq;
-
- if (irq < 8)
- *(volatile unsigned char *)(pica+1) &= ~(1 << irq);
- else
- *(volatile unsigned char *)(picb+1) &= ~(1 << (irq - 8));
- return 0;
-}
-
-static void apollo_irq_shutdown(struct irq_data *data)
-{
- unsigned int irq = data->irq;
-
- if (irq < 8)
- *(volatile unsigned char *)(pica+1) |= (1 << irq);
- else
- *(volatile unsigned char *)(picb+1) |= (1 << (irq - 8));
-}
-
-static void apollo_irq_eoi(struct irq_data *data)
-{
- *(volatile unsigned char *)(pica) = 0x20;
- *(volatile unsigned char *)(picb) = 0x20;
-}
-
-static struct irq_chip apollo_irq_chip = {
- .name = "apollo",
- .irq_startup = apollo_irq_startup,
- .irq_shutdown = apollo_irq_shutdown,
- .irq_eoi = apollo_irq_eoi,
-};
-
-
-void __init dn_init_IRQ(void)
-{
- m68k_setup_user_interrupt(VEC_USER + 96, 16);
- m68k_setup_irq_controller(&apollo_irq_chip, handle_fasteoi_irq,
- IRQ_APOLLO, 16);
-}
diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig
deleted file mode 100644
index d9d1f3c4c70d..000000000000
--- a/arch/m68k/configs/apollo_defconfig
+++ /dev/null
@@ -1,595 +0,0 @@
-CONFIG_LOCALVERSION="-apollo"
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_LOG_BUF_SHIFT=16
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_PID_NS is not set
-# CONFIG_NET_NS is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_KEXEC=y
-CONFIG_BOOTINFO_PROC=y
-CONFIG_M68020=y
-CONFIG_M68030=y
-CONFIG_M68040=y
-CONFIG_M68060=y
-CONFIG_APOLLO=y
-CONFIG_HEARTBEAT=y
-CONFIG_PROC_HARDWARE=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_TRIM_UNUSED_KSYMS=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_AMIGA_PARTITION=y
-CONFIG_ATARI_PARTITION=y
-CONFIG_MAC_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-CONFIG_SUN_PARTITION=y
-# CONFIG_EFI_PARTITION is not set
-CONFIG_SYSV68_PARTITION=y
-CONFIG_MQ_IOSCHED_DEADLINE=m
-CONFIG_MQ_IOSCHED_KYBER=m
-CONFIG_IOSCHED_BFQ=m
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_MISC=m
-# CONFIG_COMPACTION is not set
-CONFIG_DMAPOOL_TEST=m
-CONFIG_USERFAULTFD=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_PACKET_DIAG=m
-CONFIG_UNIX=y
-CONFIG_UNIX_DIAG=m
-CONFIG_TLS=m
-CONFIG_XFRM_MIGRATE=y
-CONFIG_NET_KEY=y
-CONFIG_XDP_SOCKETS=y
-CONFIG_XDP_SOCKETS_DIAG=m
-CONFIG_INET=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPVTI=m
-CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_ESP_OFFLOAD=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_INET_RAW_DIAG=m
-CONFIG_IPV6=m
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_ESP_OFFLOAD=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_ILA=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6_GRE=m
-CONFIG_NETFILTER=y
-CONFIG_NETFILTER_NETLINK_HOOK=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_INET=y
-CONFIG_NF_TABLES_NETDEV=y
-CONFIG_NFT_NUMGEN=m
-CONFIG_NFT_CT=m
-CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_CONNLIMIT=m
-CONFIG_NFT_LOG=m
-CONFIG_NFT_LIMIT=m
-CONFIG_NFT_MASQ=m
-CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
-CONFIG_NFT_TUNNEL=m
-CONFIG_NFT_QUEUE=m
-CONFIG_NFT_QUOTA=m
-CONFIG_NFT_REJECT=m
-CONFIG_NFT_COMPAT=m
-CONFIG_NFT_HASH=m
-CONFIG_NFT_FIB_INET=m
-CONFIG_NFT_XFRM=m
-CONFIG_NFT_SOCKET=m
-CONFIG_NFT_OSF=m
-CONFIG_NFT_TPROXY=m
-CONFIG_NFT_SYNPROXY=m
-CONFIG_NFT_DUP_NETDEV=m
-CONFIG_NFT_FWD_NETDEV=m
-CONFIG_NFT_FIB_NETDEV=m
-CONFIG_NFT_REJECT_NETDEV=m
-CONFIG_NF_FLOW_TABLE_INET=m
-CONFIG_NF_FLOW_TABLE=m
-CONFIG_NETFILTER_XTABLES_LEGACY=y
-CONFIG_NETFILTER_XT_SET=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPMARK=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_IPMAC=m
-CONFIG_IP_SET_HASH_MAC=m
-CONFIG_IP_SET_HASH_NETPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETNET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_NFT_DUP_IPV4=m
-CONFIG_NFT_FIB_IPV4=m
-CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_IPV4=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_SYNPROXY=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_NFT_DUP_IPV6=m
-CONFIG_NFT_FIB_IPV6=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_MATCH_SRH=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_SYNPROXY=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_IP6_NF_TARGET_NPT=m
-CONFIG_NF_TABLES_BRIDGE=m
-CONFIG_NFT_BRIDGE_META=m
-CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_CONNTRACK_BRIDGE=m
-CONFIG_BRIDGE_NF_EBTABLES_LEGACY=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_SCTP=m
-CONFIG_RDS=m
-CONFIG_RDS_TCP=m
-CONFIG_L2TP=m
-CONFIG_BRIDGE=m
-CONFIG_ATALK=m
-CONFIG_6LOWPAN=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
-CONFIG_6LOWPAN_GHC_UDP=m
-CONFIG_6LOWPAN_GHC_ICMPV6=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_BATMAN_V is not set
-CONFIG_NETLINK_DIAG=m
-CONFIG_MPLS=y
-CONFIG_NET_MPLS_GSO=m
-CONFIG_MPLS_ROUTING=m
-CONFIG_MPLS_IPTUNNEL=m
-CONFIG_NET_NSH=m
-CONFIG_AF_KCM=m
-# CONFIG_WIRELESS is not set
-CONFIG_PSAMPLE=m
-CONFIG_NET_IFE=m
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_TEST_ASYNC_DRIVER_PROBE=m
-CONFIG_CONNECTOR=m
-CONFIG_ZRAM=m
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_DRBD=m
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_RAM=y
-CONFIG_ATA_OVER_ETH=m
-CONFIG_DUMMY_IRQ=m
-CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_SAS_ATTRS=m
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-CONFIG_MD=y
-CONFIG_MD_LINEAR=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_UNSTRIPED=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_THIN_PROVISIONING=m
-CONFIG_DM_WRITECACHE=m
-CONFIG_DM_ERA=m
-CONFIG_DM_CLONE=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_RAID=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_UEVENT=y
-CONFIG_DM_LOG_WRITES=m
-CONFIG_DM_INTEGRITY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=m
-CONFIG_WIREGUARD=m
-CONFIG_OVPN=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_TEAM=m
-CONFIG_NET_TEAM_MODE_BROADCAST=m
-CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
-CONFIG_NET_TEAM_MODE_RANDOM=m
-CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
-CONFIG_NET_TEAM_MODE_LOADBALANCE=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_IPVLAN=m
-CONFIG_IPVTAP=m
-CONFIG_VXLAN=m
-CONFIG_GENEVE=m
-CONFIG_BAREUDP=m
-CONFIG_GTP=m
-CONFIG_PFCP=m
-CONFIG_MACSEC=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
-# CONFIG_WLAN is not set
-CONFIG_INPUT_EVDEV=m
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_MOUSE_PS2 is not set
-CONFIG_MOUSE_SERIAL=m
-CONFIG_SERIO=m
-CONFIG_USERIO=m
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_HW_RANDOM is not set
-CONFIG_NTP_PPS=y
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PTP_1588_CLOCK=m
-# CONFIG_HWMON is not set
-CONFIG_FB=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-CONFIG_UHID=m
-# CONFIG_HID_GENERIC is not set
-# CONFIG_HID_ITE is not set
-# CONFIG_HID_REDRAGON is not set
-# CONFIG_USB_SUPPORT is not set
-CONFIG_RTC_CLASS=y
-# CONFIG_RTC_NVMEM is not set
-CONFIG_RTC_DRV_GENERIC=m
-# CONFIG_VIRTIO_MENU is not set
-# CONFIG_VHOST_MENU is not set
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_DAX=m
-CONFIG_EXT4_FS=y
-CONFIG_JFS_FS=m
-CONFIG_XFS_FS=m
-CONFIG_OCFS2_FS=m
-# CONFIG_OCFS2_DEBUG_MASKLOG is not set
-CONFIG_BTRFS_FS=m
-CONFIG_FANOTIFY=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-CONFIG_AUTOFS_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_EXFAT_FS=m
-CONFIG_NTFS3_FS=m
-CONFIG_NTFS3_LZX_XPRESS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_CHILDREN=y
-CONFIG_TMPFS=y
-CONFIG_ORANGEFS_FS=m
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_ECRYPT_FS_MESSAGING=y
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_QNX6FS_FS=m
-CONFIG_UFS_FS=m
-CONFIG_EROFS_FS=m
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=m
-CONFIG_NFS_SWAP=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS2 is not set
-# CONFIG_CIFS_DEBUG is not set
-CONFIG_CODA_FS=m
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_MAC_ROMAN=m
-CONFIG_NLS_MAC_CELTIC=m
-CONFIG_NLS_MAC_CENTEURO=m
-CONFIG_NLS_MAC_CROATIAN=m
-CONFIG_NLS_MAC_CYRILLIC=m
-CONFIG_NLS_MAC_GAELIC=m
-CONFIG_NLS_MAC_GREEK=m
-CONFIG_NLS_MAC_ICELAND=m
-CONFIG_NLS_MAC_INUIT=m
-CONFIG_NLS_MAC_ROMANIAN=m
-CONFIG_NLS_MAC_TURKISH=m
-CONFIG_DLM=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_HARDENED_USERCOPY=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_BENCHMARK=m
-CONFIG_CRYPTO_RSA=m
-CONFIG_CRYPTO_DH=m
-CONFIG_CRYPTO_ECDH=m
-CONFIG_CRYPTO_ECDSA=m
-CONFIG_CRYPTO_ECRDSA=m
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_TI=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARIA=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SM4_GENERIC=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_ADIANTUM=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_HCTR2=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XTS=m
-CONFIG_CRYPTO_AEGIS128=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SM3_GENERIC=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_LZO=m
-CONFIG_CRYPTO_842=m
-CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_LZ4HC=m
-CONFIG_CRYPTO_ZSTD=m
-CONFIG_CRYPTO_DRBG_HASH=y
-CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_USER_API_RNG=m
-CONFIG_CRYPTO_USER_API_AEAD=m
-# CONFIG_CRYPTO_HW is not set
-CONFIG_PRIME_NUMBERS=m
-CONFIG_CRC_BENCHMARK=y
-CONFIG_XZ_DEC_TEST=m
-CONFIG_GLOB_SELFTEST=m
-# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_TEST_LOCKUP=m
-CONFIG_WW_MUTEX_SELFTEST=m
-CONFIG_EARLY_PRINTK=y
-CONFIG_KUNIT=m
-CONFIG_KUNIT_ALL_TESTS=m
-CONFIG_TEST_DHRY=m
-CONFIG_TEST_MIN_HEAP=m
-CONFIG_TEST_DIV64=m
-CONFIG_TEST_MULDIV64=m
-CONFIG_REED_SOLOMON_TEST=m
-CONFIG_ATOMIC64_SELFTEST=m
-CONFIG_ASYNC_RAID6_TEST=m
-CONFIG_TEST_HEXDUMP=m
-CONFIG_TEST_KSTRTOX=m
-CONFIG_TEST_BITMAP=m
-CONFIG_TEST_UUID=m
-CONFIG_TEST_XARRAY=m
-CONFIG_TEST_MAPLE_TREE=m
-CONFIG_TEST_RHASHTABLE=m
-CONFIG_TEST_IDA=m
-CONFIG_TEST_BITOPS=m
-CONFIG_TEST_VMALLOC=m
-CONFIG_TEST_BPF=m
-CONFIG_FIND_BIT_BENCHMARK=m
-CONFIG_TEST_FIRMWARE=m
-CONFIG_TEST_SYSCTL=m
-CONFIG_LINEAR_RANGES_TEST=m
-CONFIG_TEST_UDELAY=m
-CONFIG_TEST_STATIC_KEYS=m
-CONFIG_TEST_KMOD=m
-CONFIG_TEST_MEMCAT_P=m
-CONFIG_TEST_MEMINIT=m
-CONFIG_TEST_FREE_PAGES=m
diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig
index 74f0a1f6d871..b06de259c697 100644
--- a/arch/m68k/configs/multi_defconfig
+++ b/arch/m68k/configs/multi_defconfig
@@ -19,7 +19,6 @@ CONFIG_M68KFPU_EMU=y
CONFIG_AMIGA=y
CONFIG_ATARI=y
CONFIG_MAC=y
-CONFIG_APOLLO=y
CONFIG_VME=y
CONFIG_MVME147=y
CONFIG_MVME16x=y
diff --git a/arch/m68k/include/asm/apollohw.h b/arch/m68k/include/asm/apollohw.h
deleted file mode 100644
index 52066f3b8658..000000000000
--- a/arch/m68k/include/asm/apollohw.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* apollohw.h : some structures to access apollo HW */
-
-#ifndef _ASMm68k_APOLLOHW_H_
-#define _ASMm68k_APOLLOHW_H_
-
-#include <linux/types.h>
-
-#include <asm/bootinfo-apollo.h>
-
-
-extern u_long apollo_model;
-
-
-/*
- see scn2681 data sheet for more info.
- member names are read_write.
-*/
-
-#define DECLARE_2681_FIELD(x) unsigned char x; unsigned char dummy##x
-
-struct SCN2681 {
-
- DECLARE_2681_FIELD(mra);
- DECLARE_2681_FIELD(sra_csra);
- DECLARE_2681_FIELD(BRGtest_cra);
- DECLARE_2681_FIELD(rhra_thra);
- DECLARE_2681_FIELD(ipcr_acr);
- DECLARE_2681_FIELD(isr_imr);
- DECLARE_2681_FIELD(ctu_ctur);
- DECLARE_2681_FIELD(ctl_ctlr);
- DECLARE_2681_FIELD(mrb);
- DECLARE_2681_FIELD(srb_csrb);
- DECLARE_2681_FIELD(tst_crb);
- DECLARE_2681_FIELD(rhrb_thrb);
- DECLARE_2681_FIELD(reserved);
- DECLARE_2681_FIELD(ip_opcr);
- DECLARE_2681_FIELD(startCnt_setOutBit);
- DECLARE_2681_FIELD(stopCnt_resetOutBit);
-
-};
-
-struct mc146818 {
- unsigned char second, alarm_second;
- unsigned char minute, alarm_minute;
- unsigned char hours, alarm_hours;
- unsigned char day_of_week, day_of_month;
- unsigned char month, year;
-};
-
-
-#define IO_BASE 0x80000000
-
-extern u_long sio01_physaddr;
-extern u_long sio23_physaddr;
-extern u_long rtc_physaddr;
-extern u_long pica_physaddr;
-extern u_long picb_physaddr;
-extern u_long cpuctrl_physaddr;
-extern u_long timer_physaddr;
-
-#define SAU7_SIO01_PHYSADDR 0x10400
-#define SAU7_SIO23_PHYSADDR 0x10500
-#define SAU7_RTC_PHYSADDR 0x10900
-#define SAU7_PICA 0x11000
-#define SAU7_PICB 0x11100
-#define SAU7_CPUCTRL 0x10100
-#define SAU7_TIMER 0x010800
-
-#define SAU8_SIO01_PHYSADDR 0x8400
-#define SAU8_RTC_PHYSADDR 0x8900
-#define SAU8_PICA 0x9400
-#define SAU8_PICB 0x9500
-#define SAU8_CPUCTRL 0x8100
-#define SAU8_TIMER 0x8800
-
-#define sio01 ((*(volatile struct SCN2681 *)(IO_BASE + sio01_physaddr)))
-#define sio23 ((*(volatile struct SCN2681 *)(IO_BASE + sio23_physaddr)))
-#define rtc (((volatile struct mc146818 *)(IO_BASE + rtc_physaddr)))
-#define cpuctrl (*(volatile unsigned int *)(IO_BASE + cpuctrl_physaddr))
-#define pica (IO_BASE + pica_physaddr)
-#define picb (IO_BASE + picb_physaddr)
-#define apollo_timer (IO_BASE + timer_physaddr)
-#define addr_xlat_map ((unsigned short *)(IO_BASE + 0x17000))
-
-#define isaIO2mem(x) (((((x) & 0x3f8) << 7) | (((x) & 0xfc00) >> 6) | ((x) & 0x7)) + 0x40000 + IO_BASE)
-
-#define IRQ_APOLLO IRQ_USER
-
-#endif
diff --git a/arch/m68k/include/asm/config.h b/arch/m68k/include/asm/config.h
index 9bb888ab5009..9c73a73a7b3c 100644
--- a/arch/m68k/include/asm/config.h
+++ b/arch/m68k/include/asm/config.h
@@ -9,7 +9,6 @@
#define _M68K_CONFIG_H
extern int amiga_parse_bootinfo(const struct bi_record *record);
-extern int apollo_parse_bootinfo(const struct bi_record *record);
extern int atari_parse_bootinfo(const struct bi_record *record);
extern int bvme6000_parse_bootinfo(const struct bi_record *record);
extern int hp300_parse_bootinfo(const struct bi_record *record);
@@ -20,7 +19,6 @@ extern int q40_parse_bootinfo(const struct bi_record *record);
extern int virt_parse_bootinfo(const struct bi_record *record);
extern void config_amiga(void);
-extern void config_apollo(void);
extern void config_atari(void);
extern void config_bvme6000(void);
extern void config_hp300(void);
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h
index 2263e92d418a..51cd970b0778 100644
--- a/arch/m68k/include/asm/irq.h
+++ b/arch/m68k/include/asm/irq.h
@@ -26,8 +26,6 @@
#define NR_IRQS 43
#elif defined(CONFIG_AMIGA) || !defined(CONFIG_MMU)
#define NR_IRQS 32
-#elif defined(CONFIG_APOLLO)
-#define NR_IRQS 24
#else /* CONFIG_HP300 etc. */
#define NR_IRQS 8
#endif
diff --git a/arch/m68k/include/asm/setup.h b/arch/m68k/include/asm/setup.h
index e4ec169f5c7d..1719d0ee59ea 100644
--- a/arch/m68k/include/asm/setup.h
+++ b/arch/m68k/include/asm/setup.h
@@ -34,7 +34,7 @@ extern unsigned long m68k_machtype;
#if !defined(CONFIG_AMIGA)
# define MACH_IS_AMIGA (0)
-#elif defined(CONFIG_ATARI) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \
+#elif defined(CONFIG_ATARI) || defined(CONFIG_MAC) \
|| defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
|| defined(CONFIG_HP300) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
@@ -48,7 +48,7 @@ extern unsigned long m68k_machtype;
#if !defined(CONFIG_ATARI)
# define MACH_IS_ATARI (0)
-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \
+#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) \
|| defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
|| defined(CONFIG_HP300) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
@@ -62,7 +62,7 @@ extern unsigned long m68k_machtype;
#if !defined(CONFIG_MAC)
# define MACH_IS_MAC (0)
-#elif defined(CONFIG_AMIGA) || defined(CONFIG_ATARI) || defined(CONFIG_APOLLO) \
+#elif defined(CONFIG_AMIGA) || defined(CONFIG_ATARI) \
|| defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
|| defined(CONFIG_HP300) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
@@ -82,24 +82,10 @@ extern unsigned long m68k_machtype;
#define MACH_IS_SUN3 (0)
#endif
-#if !defined (CONFIG_APOLLO)
-# define MACH_IS_APOLLO (0)
-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \
- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \
- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
- || defined(CONFIG_VIRT)
-# define MACH_IS_APOLLO (m68k_machtype == MACH_APOLLO)
-#else
-# define MACH_APOLLO_ONLY
-# define MACH_IS_APOLLO (1)
-# define MACH_TYPE (MACH_APOLLO)
-#endif
-
#if !defined (CONFIG_MVME147)
# define MACH_IS_MVME147 (0)
#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \
+ || defined(CONFIG_BVME6000) \
|| defined(CONFIG_HP300) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME16x) \
|| defined(CONFIG_VIRT)
@@ -113,7 +99,7 @@ extern unsigned long m68k_machtype;
#if !defined (CONFIG_MVME16x)
# define MACH_IS_MVME16x (0)
#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \
+ || defined(CONFIG_BVME6000) \
|| defined(CONFIG_HP300) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
|| defined(CONFIG_VIRT)
@@ -127,7 +113,7 @@ extern unsigned long m68k_machtype;
#if !defined (CONFIG_BVME6000)
# define MACH_IS_BVME6000 (0)
#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
+ || defined(CONFIG_MVME16x) \
|| defined(CONFIG_HP300) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
|| defined(CONFIG_VIRT)
@@ -141,7 +127,7 @@ extern unsigned long m68k_machtype;
#if !defined (CONFIG_HP300)
# define MACH_IS_HP300 (0)
#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
+ || defined(CONFIG_MVME16x) \
|| defined(CONFIG_BVME6000) || defined(CONFIG_Q40) \
|| defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) \
|| defined(CONFIG_VIRT)
@@ -169,7 +155,7 @@ extern unsigned long m68k_machtype;
#if !defined (CONFIG_SUN3X)
# define MACH_IS_SUN3X (0)
#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
+ || defined(CONFIG_MVME16x) \
|| defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \
|| defined(CONFIG_Q40) || defined(CONFIG_MVME147) \
|| defined(CONFIG_VIRT)
@@ -183,7 +169,7 @@ extern unsigned long m68k_machtype;
#if !defined(CONFIG_VIRT)
# define MACH_IS_VIRT (0)
#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \
- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \
+ || defined(CONFIG_MVME16x) \
|| defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \
|| defined(CONFIG_Q40) || defined(CONFIG_SUN3X) \
|| defined(CONFIG_MVME147)
diff --git a/arch/m68k/include/uapi/asm/bootinfo-apollo.h b/arch/m68k/include/uapi/asm/bootinfo-apollo.h
deleted file mode 100644
index c226f7957938..000000000000
--- a/arch/m68k/include/uapi/asm/bootinfo-apollo.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
-** asm/bootinfo-apollo.h -- Apollo-specific boot information definitions
-*/
-
-#ifndef _UAPI_ASM_M68K_BOOTINFO_APOLLO_H
-#define _UAPI_ASM_M68K_BOOTINFO_APOLLO_H
-
-
- /*
- * Apollo-specific tags
- */
-
-#define BI_APOLLO_MODEL 0x8000 /* model (__be32) */
-
-
- /*
- * Apollo models (BI_APOLLO_MODEL)
- */
-
-#define APOLLO_UNKNOWN 0
-#define APOLLO_DN3000 1
-#define APOLLO_DN3010 2
-#define APOLLO_DN3500 3
-#define APOLLO_DN4000 4
-#define APOLLO_DN4500 5
-
-
-#endif /* _UAPI_ASM_M68K_BOOTINFO_APOLLO_H */
diff --git a/arch/m68k/include/uapi/asm/bootinfo.h b/arch/m68k/include/uapi/asm/bootinfo.h
index 28d2d44c08d0..a199a7ecd3cd 100644
--- a/arch/m68k/include/uapi/asm/bootinfo.h
+++ b/arch/m68k/include/uapi/asm/bootinfo.h
@@ -80,7 +80,7 @@ struct mem_info {
#define MACH_AMIGA 1
#define MACH_ATARI 2
#define MACH_MAC 3
-#define MACH_APOLLO 4
+/* 4 was MACH_APOLLO */
#define MACH_SUN3 5
#define MACH_MVME147 6
#define MACH_MVME16x 7
@@ -134,7 +134,7 @@ struct mem_info {
#define MMUB_68030 1 /* Internal MMU */
#define MMUB_68040 2 /* Internal MMU */
#define MMUB_68060 3 /* Internal MMU */
-#define MMUB_APOLLO 4 /* Custom Apollo */
+/* 4 was MMUB_APOLLO */
#define MMUB_SUN3 5 /* Custom Sun-3 */
#define MMUB_COLDFIRE 6 /* Internal MMU */
@@ -143,7 +143,6 @@ struct mem_info {
#define MMU_68040 (1 << MMUB_68040)
#define MMU_68060 (1 << MMUB_68060)
#define MMU_SUN3 (1 << MMUB_SUN3)
-#define MMU_APOLLO (1 << MMUB_APOLLO)
#define MMU_COLDFIRE (1 << MMUB_COLDFIRE)
diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
index 2e4ef0358887..573b30100679 100644
--- a/arch/m68k/kernel/head.S
+++ b/arch/m68k/kernel/head.S
@@ -449,7 +449,7 @@ func_define mmu_get_ptr_table_entry,2
func_define mmu_get_page_table_entry,2
func_define mmu_print
func_define get_new_page
-#if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
+#ifdef CONFIG_HP300
func_define set_leds
#endif
@@ -528,17 +528,10 @@ func_define putn,1
#define is_mvme16x(lab) cmpl &MACH_MVME16x,%pc@(m68k_machtype); jeq lab
#define is_bvme6000(lab) cmpl &MACH_BVME6000,%pc@(m68k_machtype); jeq lab
#define is_not_hp300(lab) cmpl &MACH_HP300,%pc@(m68k_machtype); jne lab
-#define is_not_apollo(lab) cmpl &MACH_APOLLO,%pc@(m68k_machtype); jne lab
#define is_not_q40(lab) cmpl &MACH_Q40,%pc@(m68k_machtype); jne lab
#define is_not_sun3x(lab) cmpl &MACH_SUN3X,%pc@(m68k_machtype); jne lab
#define is_not_virt(lab) cmpl &MACH_VIRT,%pc@(m68k_machtype); jne lab
-#define hasnt_leds(lab) cmpl &MACH_HP300,%pc@(m68k_machtype); \
- jeq 42f; \
- cmpl &MACH_APOLLO,%pc@(m68k_machtype); \
- jne lab ;\
- 42:\
-
#define is_040_or_060(lab) btst &CPUTYPE_0460,%pc@(L(cputype)+3); jne lab
#define is_not_040_or_060(lab) btst &CPUTYPE_0460,%pc@(L(cputype)+3); jeq lab
#define is_040(lab) btst &CPUTYPE_040,%pc@(L(cputype)+3); jne lab
@@ -551,8 +544,8 @@ func_define putn,1
the console is running. Writing a 1 bit turns the corresponding LED
_off_ - on the 340 bit 7 is towards the back panel of the machine. */
.macro leds mask
-#if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
- hasnt_leds(.Lled\@)
+#ifdef CONFIG_HP300
+ is_not_hp300(.Lled\@)
pea \mask
func_call set_leds
addql #4,%sp
@@ -1250,16 +1243,6 @@ L(notsun3x):
L(novirt):
#endif
-#ifdef CONFIG_APOLLO
- is_not_apollo(L(notapollo))
-
- putc 'P'
- mmu_map #0x80000000,#0,#0x02000000,#_PAGE_NOCACHE030
-
-L(notapollo):
- jbra L(mmu_init_done)
-#endif
-
L(mmu_init_done):
putc 'G'
@@ -1445,16 +1428,6 @@ L(mmu_fixup_done):
/* enable copro */
oriw #0x4000,0x61000000
1:
-#endif
-
-#ifdef CONFIG_APOLLO
- is_not_apollo(1f)
-
- /*
- * Fix up the iobase before printing
- */
- movel #0x80000000,L(iobase)
-1:
#endif
putc 'I'
@@ -2982,10 +2955,6 @@ L(serial_init_not_mac):
L(serial_init_not_mvme16x):
#endif
-#ifdef CONFIG_APOLLO
-/* We count on the PROM initializing SIO1 */
-#endif
-
#ifdef CONFIG_HP300
/* We count on the boot loader initialising the UART */
#endif
@@ -3167,17 +3136,6 @@ func_start serial_putc,%d0/%d1/%a0/%a1
2:
#endif
-#ifdef CONFIG_APOLLO
- is_not_apollo(2f)
- movl %pc@(L(iobase)),%a1
- moveb %d0,%a1@(LTHRB0)
-1: moveb %a1@(LSRB0),%d0
- andb #0x4,%d0
- beq 1b
- jbra L(serial_putc_done)
-2:
-#endif
-
#ifdef CONFIG_HP300
is_not_hp300(3f)
movl %pc@(L(iobase)),%a1
@@ -3293,23 +3251,14 @@ ENTRY(debug_cons_nputs)
rts
#endif /* CONFIG_EARLY_PRINTK */
-#if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
+#ifdef CONFIG_HP300
func_start set_leds,%d0/%a0
movel ARG1,%d0
-#ifdef CONFIG_HP300
is_not_hp300(1f)
movel %pc@(L(iobase)),%a0
moveb %d0,%a0@(0x1ffff)
- jra 2f
-#endif
+ jra 1f
1:
-#ifdef CONFIG_APOLLO
- movel %pc@(L(iobase)),%a0
- lsll #8,%d0
- eorw #0xff00,%d0
- moveb %d0,%a0@(LCPUCTRL)
-#endif
-2:
func_return set_leds
#endif
@@ -3768,8 +3717,7 @@ __INITDATA
m68k_init_mapped_size:
.long 0
-#if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || \
- defined(CONFIG_HP300) || defined(CONFIG_APOLLO)
+#if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || defined(CONFIG_HP300)
L(custom):
L(iobase):
.long 0
@@ -3850,12 +3798,6 @@ L(mac_sccbase):
.long 0
#endif /* CONFIG_MAC */
-#if defined (CONFIG_APOLLO)
-LSRB0 = 0x10412
-LTHRB0 = 0x10416
-LCPUCTRL = 0x10100
-#endif
-
#if defined(CONFIG_HP300)
DCADATA = 0x11
DCALSR = 0x1b
diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c
index c7e8de0d34bb..2451dda2f701 100644
--- a/arch/m68k/kernel/setup_mm.c
+++ b/arch/m68k/kernel/setup_mm.c
@@ -178,8 +178,6 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record)
unknown = mvme147_parse_bootinfo(record);
else if (MACH_IS_HP300)
unknown = hp300_parse_bootinfo(record);
- else if (MACH_IS_APOLLO)
- unknown = apollo_parse_bootinfo(record);
else if (MACH_IS_VIRT)
unknown = virt_parse_bootinfo(record);
else
@@ -275,11 +273,6 @@ void __init setup_arch(char **cmdline_p)
config_sun3();
break;
#endif
-#ifdef CONFIG_APOLLO
- case MACH_APOLLO:
- config_apollo();
- break;
-#endif
#ifdef CONFIG_MVME147
case MACH_MVME147:
config_mvme147();
@@ -433,8 +426,6 @@ static int show_cpuinfo(struct seq_file *m, void *v)
mmu = "68060";
else if (m68k_mmutype & MMU_SUN3)
mmu = "Sun-3";
- else if (m68k_mmutype & MMU_APOLLO)
- mmu = "Apollo";
else if (m68k_mmutype & MMU_COLDFIRE)
mmu = "ColdFire";
else
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index a733f90eca55..2796e3dd7eaa 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -184,14 +184,6 @@ config FB_CYBER2000_I2C
Integraphics CyberPro 20x0 and 5000 VGA chips. This is used
on the Netwinder machines for the SAA7111 video capture.
-config FB_APOLLO
- bool
- depends on (FB = y) && APOLLO
- default y
- select FB_CFB_FILLRECT
- select FB_CFB_IMAGEBLIT
- select FB_IOMEM_FOPS
-
config FB_Q40
bool
depends on (FB = y) && Q40
diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile
index b3d12f977c06..bc2e45da30d6 100644
--- a/drivers/video/fbdev/Makefile
+++ b/drivers/video/fbdev/Makefile
@@ -63,7 +63,6 @@ obj-$(CONFIG_FB_HGA) += hgafb.o
obj-$(CONFIG_FB_XVR500) += sunxvr500.o
obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o
obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o
-obj-$(CONFIG_FB_APOLLO) += dnfb.o
obj-$(CONFIG_FB_Q40) += q40fb.o
obj-$(CONFIG_FB_TGA) += tgafb.o
obj-$(CONFIG_FB_HP300) += hpfb.o
diff --git a/drivers/video/fbdev/dnfb.c b/drivers/video/fbdev/dnfb.c
deleted file mode 100644
index c4d24540d9ef..000000000000
--- a/drivers/video/fbdev/dnfb.c
+++ /dev/null
@@ -1,307 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-#include <linux/kernel.h>
-#include <linux/errno.h>
-#include <linux/string.h>
-#include <linux/mm.h>
-#include <linux/delay.h>
-#include <linux/interrupt.h>
-#include <linux/platform_device.h>
-
-#include <asm/setup.h>
-#include <asm/irq.h>
-#include <asm/amigahw.h>
-#include <asm/amigaints.h>
-#include <asm/apollohw.h>
-#include <linux/fb.h>
-#include <linux/module.h>
-
-/* apollo video HW definitions */
-
-/*
- * Control Registers. IOBASE + $x
- *
- * Note: these are the Memory/IO BASE definitions for a mono card set to the
- * alternate address
- *
- * Control 3A and 3B serve identical functions except that 3A
- * deals with control 1 and 3b deals with Color LUT reg.
- */
-
-#define AP_IOBASE 0x3b0 /* Base address of 1 plane board. */
-#define AP_STATUS isaIO2mem(AP_IOBASE+0) /* Status register. Read */
-#define AP_WRITE_ENABLE isaIO2mem(AP_IOBASE+0) /* Write Enable Register Write */
-#define AP_DEVICE_ID isaIO2mem(AP_IOBASE+1) /* Device ID Register. Read */
-#define AP_ROP_1 isaIO2mem(AP_IOBASE+2) /* Raster Operation reg. Write Word */
-#define AP_DIAG_MEM_REQ isaIO2mem(AP_IOBASE+4) /* Diagnostic Memory Request. Write Word */
-#define AP_CONTROL_0 isaIO2mem(AP_IOBASE+8) /* Control Register 0. Read/Write */
-#define AP_CONTROL_1 isaIO2mem(AP_IOBASE+0xa) /* Control Register 1. Read/Write */
-#define AP_CONTROL_3A isaIO2mem(AP_IOBASE+0xe) /* Control Register 3a. Read/Write */
-#define AP_CONTROL_2 isaIO2mem(AP_IOBASE+0xc) /* Control Register 2. Read/Write */
-
-
-#define FRAME_BUFFER_START 0x0FA0000
-#define FRAME_BUFFER_LEN 0x40000
-
-/* CREG 0 */
-#define VECTOR_MODE 0x40 /* 010x.xxxx */
-#define DBLT_MODE 0x80 /* 100x.xxxx */
-#define NORMAL_MODE 0xE0 /* 111x.xxxx */
-#define SHIFT_BITS 0x1F /* xxx1.1111 */
- /* other bits are Shift value */
-
-/* CREG 1 */
-#define AD_BLT 0x80 /* 1xxx.xxxx */
-#define NORMAL 0x80 /* 1xxx.xxxx */ /* What is happening here ?? */
-#define INVERSE 0x00 /* 0xxx.xxxx */ /* Clearing this reverses the screen */
-#define PIX_BLT 0x00 /* 0xxx.xxxx */
-
-#define AD_HIBIT 0x40 /* xIxx.xxxx */
-
-#define ROP_EN 0x10 /* xxx1.xxxx */
-#define DST_EQ_SRC 0x00 /* xxx0.xxxx */
-#define nRESET_SYNC 0x08 /* xxxx.1xxx */
-#define SYNC_ENAB 0x02 /* xxxx.xx1x */
-
-#define BLANK_DISP 0x00 /* xxxx.xxx0 */
-#define ENAB_DISP 0x01 /* xxxx.xxx1 */
-
-#define NORM_CREG1 (nRESET_SYNC | SYNC_ENAB | ENAB_DISP) /* no reset sync */
-
-/* CREG 2 */
-
-/*
- * Following 3 defines are common to 1, 4 and 8 plane.
- */
-
-#define S_DATA_1s 0x00 /* 00xx.xxxx */ /* set source to all 1's -- vector drawing */
-#define S_DATA_PIX 0x40 /* 01xx.xxxx */ /* takes source from ls-bits and replicates over 16 bits */
-#define S_DATA_PLN 0xC0 /* 11xx.xxxx */ /* normal, each data access =16-bits in
- one plane of image mem */
-
-/* CREG 3A/CREG 3B */
-# define RESET_CREG 0x80 /* 1000.0000 */
-
-/* ROP REG - all one nibble */
-/* ********* NOTE : this is used r0,r1,r2,r3 *********** */
-#define ROP(r2,r3,r0,r1) ( (U_SHORT)((r0)|((r1)<<4)|((r2)<<8)|((r3)<<12)) )
-#define DEST_ZERO 0x0
-#define SRC_AND_DEST 0x1
-#define SRC_AND_nDEST 0x2
-#define SRC 0x3
-#define nSRC_AND_DEST 0x4
-#define DEST 0x5
-#define SRC_XOR_DEST 0x6
-#define SRC_OR_DEST 0x7
-#define SRC_NOR_DEST 0x8
-#define SRC_XNOR_DEST 0x9
-#define nDEST 0xA
-#define SRC_OR_nDEST 0xB
-#define nSRC 0xC
-#define nSRC_OR_DEST 0xD
-#define SRC_NAND_DEST 0xE
-#define DEST_ONE 0xF
-
-#define SWAP(A) ((A>>8) | ((A&0xff) <<8))
-
-/* frame buffer operations */
-
-static int dnfb_blank(int blank, struct fb_info *info);
-static void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);
-
-static const struct fb_ops dn_fb_ops = {
- .owner = THIS_MODULE,
- __FB_DEFAULT_IOMEM_OPS_RDWR,
- .fb_blank = dnfb_blank,
- .fb_fillrect = cfb_fillrect,
- .fb_copyarea = dnfb_copyarea,
- .fb_imageblit = cfb_imageblit,
- __FB_DEFAULT_IOMEM_OPS_MMAP,
-};
-
-static const struct fb_var_screeninfo dnfb_var = {
- .xres = 1280,
- .yres = 1024,
- .xres_virtual = 2048,
- .yres_virtual = 1024,
- .bits_per_pixel = 1,
- .height = -1,
- .width = -1,
- .vmode = FB_VMODE_NONINTERLACED,
-};
-
-static const struct fb_fix_screeninfo dnfb_fix = {
- .id = "Apollo Mono",
- .smem_start = (FRAME_BUFFER_START + IO_BASE),
- .smem_len = FRAME_BUFFER_LEN,
- .type = FB_TYPE_PACKED_PIXELS,
- .visual = FB_VISUAL_MONO10,
- .line_length = 256,
-};
-
-static int dnfb_blank(int blank, struct fb_info *info)
-{
- if (blank)
- out_8(AP_CONTROL_3A, 0x0);
- else
- out_8(AP_CONTROL_3A, 0x1);
- return 0;
-}
-
-static
-void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area)
-{
-
- int incr, y_delta, pre_read = 0, x_end, x_word_count;
- uint start_mask, end_mask, dest;
- ushort *src, dummy;
- short i, j;
-
- incr = (area->dy <= area->sy) ? 1 : -1;
-
- src = (ushort *)(info->screen_base + area->sy * info->fix.line_length +
- (area->sx >> 4));
- dest = area->dy * (info->fix.line_length >> 1) + (area->dx >> 4);
-
- if (incr > 0) {
- y_delta = (info->fix.line_length * 8) - area->sx - area->width;
- x_end = area->dx + area->width - 1;
- x_word_count = (x_end >> 4) - (area->dx >> 4) + 1;
- start_mask = 0xffff0000 >> (area->dx & 0xf);
- end_mask = 0x7ffff >> (x_end & 0xf);
- out_8(AP_CONTROL_0,
- (((area->dx & 0xf) - (area->sx & 0xf)) % 16) | (0x4 << 5));
- if ((area->dx & 0xf) < (area->sx & 0xf))
- pre_read = 1;
- } else {
- y_delta = -((info->fix.line_length * 8) - area->sx - area->width);
- x_end = area->dx - area->width + 1;
- x_word_count = (area->dx >> 4) - (x_end >> 4) + 1;
- start_mask = 0x7ffff >> (area->dx & 0xf);
- end_mask = 0xffff0000 >> (x_end & 0xf);
- out_8(AP_CONTROL_0,
- ((-((area->sx & 0xf) - (area->dx & 0xf))) % 16) |
- (0x4 << 5));
- if ((area->dx & 0xf) > (area->sx & 0xf))
- pre_read = 1;
- }
-
- for (i = 0; i < area->height; i++) {
-
- out_8(AP_CONTROL_3A, 0xc | (dest >> 16));
-
- if (pre_read) {
- dummy = *src;
- src += incr;
- }
-
- if (x_word_count) {
- out_8(AP_WRITE_ENABLE, start_mask);
- *src = dest;
- src += incr;
- dest += incr;
- out_8(AP_WRITE_ENABLE, 0);
-
- for (j = 1; j < (x_word_count - 1); j++) {
- *src = dest;
- src += incr;
- dest += incr;
- }
-
- out_8(AP_WRITE_ENABLE, start_mask);
- *src = dest;
- dest += incr;
- src += incr;
- } else {
- out_8(AP_WRITE_ENABLE, start_mask | end_mask);
- *src = dest;
- dest += incr;
- src += incr;
- }
- src += (y_delta / 16);
- dest += (y_delta / 16);
- }
- out_8(AP_CONTROL_0, NORMAL_MODE);
-}
-
-/*
- * Initialization
- */
-
-static int dnfb_probe(struct platform_device *dev)
-{
- struct fb_info *info;
- int err = 0;
-
- info = framebuffer_alloc(0, &dev->dev);
- if (!info)
- return -ENOMEM;
-
- info->fbops = &dn_fb_ops;
- info->fix = dnfb_fix;
- info->var = dnfb_var;
- info->var.red.length = 1;
- info->var.red.offset = 0;
- info->var.green = info->var.blue = info->var.red;
- info->screen_base = (u_char *) info->fix.smem_start;
-
- err = fb_alloc_cmap(&info->cmap, 2, 0);
- if (err < 0)
- goto release_framebuffer;
-
- err = register_framebuffer(info);
- if (err < 0) {
- fb_dealloc_cmap(&info->cmap);
- goto release_framebuffer;
- }
- platform_set_drvdata(dev, info);
-
- /* now we have registered we can safely setup the hardware */
- out_8(AP_CONTROL_3A, RESET_CREG);
- out_be16(AP_WRITE_ENABLE, 0x0);
- out_8(AP_CONTROL_0, NORMAL_MODE);
- out_8(AP_CONTROL_1, (AD_BLT | DST_EQ_SRC | NORM_CREG1));
- out_8(AP_CONTROL_2, S_DATA_PLN);
- out_be16(AP_ROP_1, SWAP(0x3));
-
- printk("apollo frame buffer alive and kicking !\n");
- return err;
-
-release_framebuffer:
- framebuffer_release(info);
- return err;
-}
-
-static struct platform_driver dnfb_driver = {
- .probe = dnfb_probe,
- .driver = {
- .name = "dnfb",
- },
-};
-
-static struct platform_device dnfb_device = {
- .name = "dnfb",
-};
-
-static int __init dnfb_init(void)
-{
- int ret;
-
- if (!MACH_IS_APOLLO)
- return -ENODEV;
-
- if (fb_get_options("dnfb", NULL))
- return -ENODEV;
-
- ret = platform_driver_register(&dnfb_driver);
-
- if (!ret) {
- ret = platform_device_register(&dnfb_device);
- if (ret)
- platform_driver_unregister(&dnfb_driver);
- }
- return ret;
-}
-
-module_init(dnfb_init);
-
-MODULE_LICENSE("GPL");
--
2.43.0
^ permalink raw reply related
* Re: [PATCH v3 3/6] fbdev: au1100fb: Use %zu to printk a value of type size_t
From: Helge Deller @ 2026-02-08 19:24 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <f4b5c6ec-0960-4c76-be49-ec0236b1e450@gmx.de>
On 2/8/26 20:21, Helge Deller wrote:
> On 2/8/26 18:58, Uwe Kleine-König wrote:
>> %zu is the dedicated type for size_t. %d only works on 32bit
>> architectures where size_t is typedef'd to be unsigned int. (And then
>> the signedness doesn't fit, but `gcc -Wformat` doesn't stumble over this.
>>
>> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
>> ---
>> drivers/video/fbdev/au1100fb.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
>> index b1da51683de7..914f371a614c 100644
>> --- a/drivers/video/fbdev/au1100fb.c
>> +++ b/drivers/video/fbdev/au1100fb.c
>> @@ -439,7 +439,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
>> fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
>> print_dbg("Register memory map at %p", fbdev->regs);
>> - print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
>> + print_dbg("phys=0x%08x, size=%zu", fbdev->regs_phys, fbdev->regs_len);
>> c = clk_get(NULL, "lcd_intclk");
>> if (!IS_ERR(c)) {
>> @@ -456,7 +456,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
>> PAGE_ALIGN(fbdev->fb_len),
>> &fbdev->fb_phys, GFP_KERNEL);
>> if (!fbdev->fb_mem) {
>> - print_err("fail to allocate framebuffer (size: %dK))",
>> + print_err("fail to allocate framebuffer (size: %zuK))",
>> fbdev->fb_len / 1024);
>> return -ENOMEM;
>> }
>> @@ -465,7 +465,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
>> fbdev->info.fix.smem_len = fbdev->fb_len;
>> print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
>> - print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
>> + print_dbg("phys=0x%08x, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
>
> The & seems to be wrong.
I see you fix it up in patch #4.
Maybe simply merge them?
Helge
^ permalink raw reply
* Re: [PATCH v3 3/6] fbdev: au1100fb: Use %zu to printk a value of type size_t
From: Helge Deller @ 2026-02-08 19:21 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <3eea98cc14bae12a3ff6c6574971669e15a1f16a.1770572936.git.u.kleine-koenig@baylibre.com>
On 2/8/26 18:58, Uwe Kleine-König wrote:
> %zu is the dedicated type for size_t. %d only works on 32bit
> architectures where size_t is typedef'd to be unsigned int. (And then
> the signedness doesn't fit, but `gcc -Wformat` doesn't stumble over this.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
> ---
> drivers/video/fbdev/au1100fb.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
> index b1da51683de7..914f371a614c 100644
> --- a/drivers/video/fbdev/au1100fb.c
> +++ b/drivers/video/fbdev/au1100fb.c
> @@ -439,7 +439,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
> fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
>
> print_dbg("Register memory map at %p", fbdev->regs);
> - print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
> + print_dbg("phys=0x%08x, size=%zu", fbdev->regs_phys, fbdev->regs_len);
>
> c = clk_get(NULL, "lcd_intclk");
> if (!IS_ERR(c)) {
> @@ -456,7 +456,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
> PAGE_ALIGN(fbdev->fb_len),
> &fbdev->fb_phys, GFP_KERNEL);
> if (!fbdev->fb_mem) {
> - print_err("fail to allocate framebuffer (size: %dK))",
> + print_err("fail to allocate framebuffer (size: %zuK))",
> fbdev->fb_len / 1024);
> return -ENOMEM;
> }
> @@ -465,7 +465,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
> fbdev->info.fix.smem_len = fbdev->fb_len;
>
> print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
> - print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
> + print_dbg("phys=0x%08x, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
The & seems to be wrong.
Helge
^ permalink raw reply
* [PATCH v4 2/2] staging: sm750fb: remove Hungarian notation prefixes
From: Shreyas Ravi @ 2026-02-08 18:43 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Shreyas Ravi
In-Reply-To: <20260208184344.657617-1-shreyasravi320@gmail.com>
Remove Hungarian notation prefixes from variable names to comply
with kernel coding style.
No functional changes.
Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
---
Changes in v4:
- Fix merge conflicts (forgot to do in v3)
Changes in v3:
- Added changelog (was missing in v2)
Changes in v2:
- Split original patch into two patches per Greg's feedback
- This patch addresses Hungarian prefix removal
---
drivers/staging/sm750fb/sm750.c | 22 ++++++------
drivers/staging/sm750fb/sm750.h | 6 ++--
drivers/staging/sm750fb/sm750_accel.c | 48 +++++++++++++--------------
drivers/staging/sm750fb/sm750_accel.h | 2 +-
drivers/staging/sm750fb/sm750_hw.c | 20 +++++------
5 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 1ed7ff57c142..afcfc9e6c207 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_pnc;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
pr_info("use simul primary mode\n");
break;
case sm750_simul_sec:
output->paths = sm750_pnc;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
break;
case sm750_dual_normal:
if (par->index == 0) {
output->paths = sm750_panel;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_secondary;
/* not consider of padding stuffs for o_screen,need fix */
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->v_mem + crtc->o_screen;
}
break;
case sm750_dual_swap:
@@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_panel;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_primary;
@@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
* need fix
*/
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->v_mem + crtc->o_screen;
}
break;
default:
@@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
* must be set after crtc member initialized
*/
crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
- crtc->cursor.mmio = sm750_dev->p_v_reg +
+ crtc->cursor.mmio = sm750_dev->v_reg +
0x800f0 + (int)crtc->channel * 0x140;
pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
crtc->cursor.max_h = 64;
crtc->cursor.max_w = 64;
crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
- crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
+ crtc->cursor.vstart = sm750_dev->v_mem + crtc->cursor.offset;
memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if (!g_hwcursor)
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
sm750_dev->vidmem_size);
- memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
+ memset_io(sm750_dev->v_mem, 0, sm750_dev->vidmem_size);
pci_set_drvdata(pdev, sm750_dev);
@@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
sm750fb_framebuffer_release(sm750_dev);
arch_phys_wc_del(sm750_dev->mtrr.vram);
- iounmap(sm750_dev->p_v_reg);
- iounmap(sm750_dev->p_v_mem);
+ iounmap(sm750_dev->v_reg);
+ iounmap(sm750_dev->v_mem);
kfree(g_settings);
}
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 14e0e7d75f7e..077dde6d6113 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -72,7 +72,7 @@ struct lynx_accel {
u32 width, u32 height,
u32 rop2);
- int (*de_imageblit)(struct lynx_accel *accel, const char *p_srcbuf,
+ int (*de_imageblit)(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 d_base, u32 d_pitch,
u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
u32 height, u32 f_color, u32 b_color, u32 rop2);
@@ -97,8 +97,8 @@ struct sm750_dev {
unsigned long vidreg_start;
__u32 vidmem_size;
__u32 vidreg_size;
- void __iomem *p_v_reg;
- unsigned char __iomem *p_v_mem;
+ void __iomem *v_reg;
+ unsigned char __iomem *v_mem;
/* locks*/
spinlock_t slock;
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index b95b15128759..a1daeaff3c28 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -134,22 +134,22 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @accel: Acceleration device data
* @source_base: Address of source: offset in frame buffer
* @source_pitch: Pitch value of source surface in BYTE
- * @sx: Starting x coordinate of source surface
- * @sy: Starting y coordinate of source surface
+ * @source_x: Starting x coordinate of source surface
+ * @source_y: Starting y coordinate of source surface
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
* @bytes_per_pixel: Color depth of destination surface
- * @dx: Starting x coordinate of destination surface
- * @dy: Starting y coordinate of destination surface
+ * @dest_x: Starting x coordinate of destination surface
+ * @dest_y: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
unsigned int source_base, unsigned int source_pitch,
- unsigned int sx, unsigned int sy,
+ unsigned int source_x, unsigned int source_y,
unsigned int dest_base, unsigned int dest_pitch,
- unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
+ unsigned int bytes_per_pixel, unsigned int dest_x, unsigned int dest_y,
unsigned int width, unsigned int height,
unsigned int rop2)
{
@@ -162,7 +162,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
/* If source and destination are the same surface, need to check for overlay cases */
if (source_base == dest_base && source_pitch == dest_pitch) {
/* Determine direction of operation */
- if (sy < dy) {
+ if (source_y < dest_y) {
/* +----------+
* |S |
* | +----------+
@@ -174,7 +174,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
*/
direction = BOTTOM_TO_TOP;
- } else if (sy > dy) {
+ } else if (source_y > dest_y) {
/* +----------+
* |D |
* | +----------+
@@ -187,9 +187,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
direction = TOP_TO_BOTTOM;
} else {
- /* sy == dy */
+ /* source_y == dest_y */
- if (sx <= dx) {
+ if (source_x <= dest_x) {
/* +------+---+------+
* |S | | D|
* | | | |
@@ -200,7 +200,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
direction = RIGHT_TO_LEFT;
} else {
- /* sx > dx */
+ /* source_x > dest_x */
/* +------+---+------+
* |D | | S|
@@ -216,10 +216,10 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
}
if ((direction == BOTTOM_TO_TOP) || (direction == RIGHT_TO_LEFT)) {
- sx += width - 1;
- sy += height - 1;
- dx += width - 1;
- dy += height - 1;
+ source_x += width - 1;
+ source_y += height - 1;
+ dest_x += width - 1;
+ dest_y += height - 1;
}
/*
@@ -267,11 +267,11 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
return -1;
write_dpr(accel, DE_SOURCE,
- ((sx << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
- (sy & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
+ ((source_x << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
+ (source_y & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
write_dpr(accel, DE_DESTINATION,
- ((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
- (dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
+ ((dest_x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
+ (dest_y & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
@@ -307,8 +307,8 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
* @byte_per_pixel: Color depth of destination surface
- * @dx: Starting x coordinate of destination surface
- * @dy: Starting y coordinate of destination surface
+ * @dest_x: Starting x coordinate of destination surface
+ * @dest_y: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
* @fg_color: Foreground color (corresponding to a 1 in the monochrome data
@@ -317,7 +317,7 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
*/
int sm750_hw_imageblit(struct lynx_accel *accel, const char *src_buf,
u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
- u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 byte_per_pixel, u32 dest_x, u32 dest_y, u32 width,
u32 height, u32 fg_color, u32 bg_color, u32 rop2)
{
unsigned int bytes_per_scan;
@@ -377,8 +377,8 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *src_buf,
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
- ((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
- (dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
+ ((dest_x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
+ (dest_y & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
index 59e679961e96..00a6a022e17e 100644
--- a/drivers/staging/sm750fb/sm750_accel.h
+++ b/drivers/staging/sm750fb/sm750_accel.h
@@ -235,7 +235,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
u32 height, u32 fg_color, u32 bg_color, u32 rop2);
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index 4e2ca7263254..b8bc55ba3c54 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
}
/* now map mmio and vidmem */
- sm750_dev->p_v_reg =
+ sm750_dev->v_reg =
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
- if (!sm750_dev->p_v_reg) {
+ if (!sm750_dev->v_reg) {
pr_err("mmio failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
+ pr_info("mmio virtual addr = %p\n", sm750_dev->v_reg);
- sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
- sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
+ sm750_dev->accel.dpr_base = sm750_dev->v_reg + DE_BASE_ADDR_TYPE1;
+ sm750_dev->accel.dp_port_base = sm750_dev->v_reg + DE_PORT_ADDR_TYPE1;
- mmio750 = sm750_dev->p_v_reg;
+ mmio750 = sm750_dev->v_reg;
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
@@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
/* reserve the vidmem space of smi adaptor */
- sm750_dev->p_v_mem =
+ sm750_dev->v_mem =
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
- if (!sm750_dev->p_v_mem) {
- iounmap(sm750_dev->p_v_reg);
+ if (!sm750_dev->v_mem) {
+ iounmap(sm750_dev->v_reg);
pr_err("Map video memory failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
+ pr_info("video memory vaddr = %p\n", sm750_dev->v_mem);
exit:
return ret;
}
--
2.53.0
^ permalink raw reply related
* [PATCH v4 1/2] staging: sm750fb: Fix CamelCase variable names
From: Shreyas Ravi @ 2026-02-08 18:43 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Shreyas Ravi
In-Reply-To: <2026020842-litigator-flatworm-65d0@gregkh>
Rename CamelCase variable names to snake_case to comply
with kernel coding style.
No functional changes
Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
---
Changes in v4:
- Fix merge conflicts (forgot to do in v3)
Changes in v3:
- Added changelog (missing in v2)
Changes in v2:
- Split original patch into two patches per Greg's feedback
- This patch only addresses CamelCase variable changes
---
drivers/staging/sm750fb/sm750.c | 34 ++++++++++-----------
drivers/staging/sm750fb/sm750.h | 16 +++++-----
drivers/staging/sm750fb/sm750_accel.c | 22 +++++++-------
drivers/staging/sm750fb/sm750_accel.h | 44 +++++++++++++--------------
drivers/staging/sm750fb/sm750_hw.c | 26 ++++++++--------
5 files changed, 71 insertions(+), 71 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index dec1f6b88a7d..1ed7ff57c142 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_pnc;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
pr_info("use simul primary mode\n");
break;
case sm750_simul_sec:
output->paths = sm750_pnc;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
break;
case sm750_dual_normal:
if (par->index == 0) {
output->paths = sm750_panel;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_secondary;
/* not consider of padding stuffs for o_screen,need fix */
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
}
break;
case sm750_dual_swap:
@@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_panel;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_primary;
@@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
* need fix
*/
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
}
break;
default:
@@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
* must be set after crtc member initialized
*/
crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
- crtc->cursor.mmio = sm750_dev->pvReg +
+ crtc->cursor.mmio = sm750_dev->p_v_reg +
0x800f0 + (int)crtc->channel * 0x140;
pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
crtc->cursor.max_h = 64;
crtc->cursor.max_w = 64;
crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
- crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
+ crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if (!g_hwcursor)
@@ -921,9 +921,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
sm750_dev->init_parm.chip_clk = 0;
sm750_dev->init_parm.mem_clk = 0;
sm750_dev->init_parm.master_clk = 0;
- sm750_dev->init_parm.powerMode = 0;
- sm750_dev->init_parm.setAllEngOff = 0;
- sm750_dev->init_parm.resetMemory = 1;
+ sm750_dev->init_parm.power_mode = 0;
+ sm750_dev->init_parm.set_all_eng_off = 0;
+ sm750_dev->init_parm.reset_memory = 1;
/* defaultly turn g_hwcursor on for both view */
g_hwcursor = 3;
@@ -942,11 +942,11 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
sm750_dev->nocrt = 1;
} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
- sm750_dev->pnltype = sm750_doubleTFT;
+ sm750_dev->pnltype = sm750_double_tft;
} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
- sm750_dev->pnltype = sm750_dualTFT;
+ sm750_dev->pnltype = sm750_dual_tft;
} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
- sm750_dev->pnltype = sm750_24TFT;
+ sm750_dev->pnltype = sm750_24_tft;
} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
g_hwcursor &= ~0x1;
} else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
sm750_dev->vidmem_size);
- memset_io(sm750_dev->pvMem, 0, sm750_dev->vidmem_size);
+ memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
pci_set_drvdata(pdev, sm750_dev);
@@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
sm750fb_framebuffer_release(sm750_dev);
arch_phys_wc_del(sm750_dev->mtrr.vram);
- iounmap(sm750_dev->pvReg);
- iounmap(sm750_dev->pvMem);
+ iounmap(sm750_dev->p_v_reg);
+ iounmap(sm750_dev->p_v_mem);
kfree(g_settings);
}
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 67b9bfa23f41..14e0e7d75f7e 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -13,9 +13,9 @@
#endif
enum sm750_pnltype {
- sm750_24TFT = 0, /* 24bit tft */
- sm750_dualTFT = 2, /* dual 18 bit tft */
- sm750_doubleTFT = 1, /* 36 bit double pixel tft */
+ sm750_24_tft = 0, /* 24bit tft */
+ sm750_dual_tft = 2, /* dual 18 bit tft */
+ sm750_double_tft = 1, /* 36 bit double pixel tft */
};
/* vga channel is not concerned */
@@ -39,13 +39,13 @@ enum sm750_path {
};
struct init_status {
- ushort powerMode;
+ ushort power_mode;
/* below three clocks are in unit of MHZ*/
ushort chip_clk;
ushort mem_clk;
ushort master_clk;
- ushort setAllEngOff;
- ushort resetMemory;
+ ushort set_all_eng_off;
+ ushort reset_memory;
};
struct lynx_accel {
@@ -97,8 +97,8 @@ struct sm750_dev {
unsigned long vidreg_start;
__u32 vidmem_size;
__u32 vidreg_size;
- void __iomem *pvReg;
- unsigned char __iomem *pvMem;
+ void __iomem *p_v_reg;
+ unsigned char __iomem *p_v_mem;
/* locks*/
spinlock_t slock;
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index 0f94d859e91c..b95b15128759 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -85,7 +85,7 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt)
}
int sm750_hw_fillrect(struct lynx_accel *accel,
- u32 base, u32 pitch, u32 Bpp,
+ u32 base, u32 pitch, u32 bytes_per_pixel,
u32 x, u32 y, u32 width, u32 height,
u32 color, u32 rop)
{
@@ -102,14 +102,14 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
write_dpr(accel, DE_WINDOW_DESTINATION_BASE, base); /* dpr40 */
write_dpr(accel, DE_PITCH,
- ((pitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
+ ((pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (pitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
write_dpr(accel, DE_WINDOW_WIDTH,
- ((pitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (pitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
+ (pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
write_dpr(accel, DE_FOREGROUND, color); /* DPR14 */
@@ -138,7 +138,7 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @sy: Starting y coordinate of source surface
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
- * @Bpp: Color depth of destination surface
+ * @bytes_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
@@ -149,7 +149,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
unsigned int source_base, unsigned int source_pitch,
unsigned int sx, unsigned int sy,
unsigned int dest_base, unsigned int dest_pitch,
- unsigned int Bpp, unsigned int dx, unsigned int dy,
+ unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
unsigned int width, unsigned int height,
unsigned int rop2)
{
@@ -249,9 +249,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* pixel values. Need Byte to pixel conversion.
*/
write_dpr(accel, DE_PITCH,
- ((dest_pitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
+ ((dest_pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (source_pitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (source_pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
/*
* Screen Window width in Pixels.
@@ -259,9 +259,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* for a given point.
*/
write_dpr(accel, DE_WINDOW_WIDTH,
- ((dest_pitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((dest_pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (source_pitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
+ (source_pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
if (accel->de_wait() != 0)
return -1;
diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
index 2c79cb730a0a..59e679961e96 100644
--- a/drivers/staging/sm750fb/sm750_accel.h
+++ b/drivers/staging/sm750fb/sm750_accel.h
@@ -190,19 +190,19 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt);
void sm750_hw_de_init(struct lynx_accel *accel);
int sm750_hw_fillrect(struct lynx_accel *accel,
- u32 base, u32 pitch, u32 Bpp,
+ u32 base, u32 pitch, u32 bytes_per_pixel,
u32 x, u32 y, u32 width, u32 height,
u32 color, u32 rop);
/**
* sm750_hm_copyarea
- * @sBase: Address of source: offset in frame buffer
- * @sPitch: Pitch value of source surface in BYTE
+ * @source_base: Address of source: offset in frame buffer
+ * @source_pitch: Pitch value of source surface in BYTE
* @sx: Starting x coordinate of source surface
* @sy: Starting y coordinate of source surface
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @Bpp: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @bytes_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
@@ -210,34 +210,34 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
- unsigned int sBase, unsigned int sPitch,
+ unsigned int source_base, unsigned int source_pitch,
unsigned int sx, unsigned int sy,
- unsigned int dBase, unsigned int dPitch,
- unsigned int Bpp, unsigned int dx, unsigned int dy,
+ unsigned int dest_base, unsigned int dest_pitch,
+ unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
unsigned int width, unsigned int height,
unsigned int rop2);
/**
* sm750_hw_imageblit
- * @pSrcbuf: pointer to start of source buffer in system memory
- * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
- *>----- and -ive mean button up
- * @startBit: Mono data can start at any bit in a byte, this value should be
+ * @p_srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, positive means top down
+ *>----- and negative mean bottom up
+ * @start_bit: Mono data can start at any bit in a byte, this value should be
*>----- 0 to 7
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @bytePerPixel: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @byte_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
- * @fColor: Foreground color (corresponding to a 1 in the monochrome data
- * @bColor: Background color (corresponding to a 0 in the monochrome data
+ * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
+ * @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
- u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
- u32 bytePerPixel, u32 dx, u32 dy, u32 width,
- u32 height, u32 fColor, u32 bColor, u32 rop2);
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+ u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
+ u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 height, u32 fg_color, u32 bg_color, u32 rop2);
#endif
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index a29faee91c78..4e2ca7263254 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
}
/* now map mmio and vidmem */
- sm750_dev->pvReg =
+ sm750_dev->p_v_reg =
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
- if (!sm750_dev->pvReg) {
+ if (!sm750_dev->p_v_reg) {
pr_err("mmio failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("mmio virtual addr = %p\n", sm750_dev->pvReg);
+ pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
- sm750_dev->accel.dpr_base = sm750_dev->pvReg + DE_BASE_ADDR_TYPE1;
- sm750_dev->accel.dp_port_base = sm750_dev->pvReg + DE_PORT_ADDR_TYPE1;
+ sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
+ sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
- mmio750 = sm750_dev->pvReg;
+ mmio750 = sm750_dev->p_v_reg;
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
@@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
/* reserve the vidmem space of smi adaptor */
- sm750_dev->pvMem =
+ sm750_dev->p_v_mem =
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
- if (!sm750_dev->pvMem) {
- iounmap(sm750_dev->pvReg);
+ if (!sm750_dev->p_v_mem) {
+ iounmap(sm750_dev->p_v_reg);
pr_err("Map video memory failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("video memory vaddr = %p\n", sm750_dev->pvMem);
+ pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
exit:
return ret;
}
@@ -134,12 +134,12 @@ int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
~(PANEL_DISPLAY_CTRL_DUAL_DISPLAY |
PANEL_DISPLAY_CTRL_DOUBLE_PIXEL);
switch (sm750_dev->pnltype) {
- case sm750_24TFT:
+ case sm750_24_tft:
break;
- case sm750_doubleTFT:
+ case sm750_double_tft:
val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
break;
- case sm750_dualTFT:
+ case sm750_dual_tft:
val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
break;
}
--
2.53.0
^ permalink raw reply related
* [PATCH v3 2/2] staging: sm750fb: remove Hungarian notation prefixes
From: Shreyas Ravi @ 2026-02-08 18:15 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Shreyas Ravi
In-Reply-To: <20260208181531.157553-1-shreyasravi320@gmail.com>
Remove Hungarian notation prefixes from variable names to comply
with kernel coding style.
No functional changes.
Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
---
Changes in v3:
- Added changelog (was missing in v2)
- Split original patch into two patches per Greg's feedback
- This patch addresses Hungarian prefix removal
---
drivers/staging/sm750fb/sm750.c | 22 +++----
drivers/staging/sm750fb/sm750.h | 6 +-
drivers/staging/sm750fb/sm750_accel.c | 82 +++++++++++++--------------
drivers/staging/sm750fb/sm750_accel.h | 2 +-
drivers/staging/sm750fb/sm750_hw.c | 20 +++----
5 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 1ed7ff57c142..afcfc9e6c207 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_pnc;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
pr_info("use simul primary mode\n");
break;
case sm750_simul_sec:
output->paths = sm750_pnc;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
break;
case sm750_dual_normal:
if (par->index == 0) {
output->paths = sm750_panel;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_secondary;
/* not consider of padding stuffs for o_screen,need fix */
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->v_mem + crtc->o_screen;
}
break;
case sm750_dual_swap:
@@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_panel;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_primary;
@@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
* need fix
*/
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->v_mem + crtc->o_screen;
}
break;
default:
@@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
* must be set after crtc member initialized
*/
crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
- crtc->cursor.mmio = sm750_dev->p_v_reg +
+ crtc->cursor.mmio = sm750_dev->v_reg +
0x800f0 + (int)crtc->channel * 0x140;
pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
crtc->cursor.max_h = 64;
crtc->cursor.max_w = 64;
crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
- crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
+ crtc->cursor.vstart = sm750_dev->v_mem + crtc->cursor.offset;
memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if (!g_hwcursor)
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
sm750_dev->vidmem_size);
- memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
+ memset_io(sm750_dev->v_mem, 0, sm750_dev->vidmem_size);
pci_set_drvdata(pdev, sm750_dev);
@@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
sm750fb_framebuffer_release(sm750_dev);
arch_phys_wc_del(sm750_dev->mtrr.vram);
- iounmap(sm750_dev->p_v_reg);
- iounmap(sm750_dev->p_v_mem);
+ iounmap(sm750_dev->v_reg);
+ iounmap(sm750_dev->v_mem);
kfree(g_settings);
}
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 14e0e7d75f7e..077dde6d6113 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -72,7 +72,7 @@ struct lynx_accel {
u32 width, u32 height,
u32 rop2);
- int (*de_imageblit)(struct lynx_accel *accel, const char *p_srcbuf,
+ int (*de_imageblit)(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 d_base, u32 d_pitch,
u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
u32 height, u32 f_color, u32 b_color, u32 rop2);
@@ -97,8 +97,8 @@ struct sm750_dev {
unsigned long vidreg_start;
__u32 vidmem_size;
__u32 vidreg_size;
- void __iomem *p_v_reg;
- unsigned char __iomem *p_v_mem;
+ void __iomem *v_reg;
+ unsigned char __iomem *v_mem;
/* locks*/
spinlock_t slock;
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index 4dd9b910af13..dbc1c266cf4a 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -134,22 +134,22 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @accel: Acceleration device data
* @source_base: Address of source: offset in frame buffer
* @source_pitch: Pitch value of source surface in BYTE
- * @sx: Starting x coordinate of source surface
- * @sy: Starting y coordinate of source surface
+ * @source_x: Starting x coordinate of source surface
+ * @source_y: Starting y coordinate of source surface
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
* @bytes_per_pixel: Color depth of destination surface
- * @dx: Starting x coordinate of destination surface
- * @dy: Starting y coordinate of destination surface
+ * @dest_x: Starting x coordinate of destination surface
+ * @dest_y: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
unsigned int source_base, unsigned int source_pitch,
- unsigned int sx, unsigned int sy,
+ unsigned int source_x, unsigned int source_y,
unsigned int dest_base, unsigned int dest_pitch,
- unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
+ unsigned int bytes_per_pixel, unsigned int dest_x, unsigned int dest_y,
unsigned int width, unsigned int height,
unsigned int rop2)
{
@@ -162,7 +162,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
/* If source and destination are the same surface, need to check for overlay cases */
if (source_base == dest_base && source_pitch == dest_pitch) {
/* Determine direction of operation */
- if (sy < dy) {
+ if (source_y < dest_y) {
/* +----------+
* |S |
* | +----------+
@@ -174,7 +174,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
*/
n_direction = BOTTOM_TO_TOP;
- } else if (sy > dy) {
+ } else if (source_y > dest_y) {
/* +----------+
* |D |
* | +----------+
@@ -189,7 +189,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
} else {
/* sy == dy */
- if (sx <= dx) {
+ if (source_x <= dest_x) {
/* +------+---+------+
* |S | | D|
* | | | |
@@ -200,7 +200,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
n_direction = RIGHT_TO_LEFT;
} else {
- /* sx > dx */
+ /* source_x > dest_x */
/* +------+---+------+
* |D | | S|
@@ -216,10 +216,10 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
}
if ((n_direction == BOTTOM_TO_TOP) || (n_direction == RIGHT_TO_LEFT)) {
- sx += width - 1;
- sy += height - 1;
- dx += width - 1;
- dy += height - 1;
+ source_x += width - 1;
+ source_y += height - 1;
+ dest_x += width - 1;
+ dest_y += height - 1;
}
/*
@@ -267,11 +267,11 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
return -1;
write_dpr(accel, DE_SOURCE,
- ((sx << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
- (sy & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
+ ((source_x << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
+ (source_y & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
write_dpr(accel, DE_DESTINATION,
- ((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
- (dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
+ ((dest_x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
+ (dest_y & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
@@ -299,38 +299,38 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
/**
* sm750_hw_imageblit
* @accel: Acceleration device data
- * @p_srcbuf: pointer to start of source buffer in system memory
- * @src_delta: Pitch value (in bytes) of the source buffer, +ive means top down
- * and -ive mean button up
+ * @srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, positive means top down
+ * and negative mean bottom up
* @start_bit: Mono data can start at any bit in a byte, this value should be
* 0 to 7
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
* @byte_per_pixel: Color depth of destination surface
- * @dx: Starting x coordinate of destination surface
- * @dy: Starting y coordinate of destination surface
+ * @dest_x: Starting x coordinate of destination surface
+ * @dest_y: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
* @fg_color: Foreground color (corresponding to a 1 in the monochrome data
* @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
- u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 byte_per_pixel, u32 dest_x, u32 dest_y, u32 width,
u32 height, u32 fg_color, u32 bg_color, u32 rop2)
{
- unsigned int ul_bytes_per_scan;
- unsigned int ul_4_bytes_per_scan;
- unsigned int ul_bytes_remain;
+ unsigned int bytes_per_scan;
+ unsigned int four_bytes_per_scan;
+ unsigned int bytes_remain;
unsigned int de_ctrl = 0;
- unsigned char aj_remain[4];
+ unsigned char remaining_bytes[4];
int i, j;
start_bit &= 7; /* Just make sure the start bit is within legal range */
- ul_bytes_per_scan = (width + start_bit + 7) / 8;
- ul_4_bytes_per_scan = ul_bytes_per_scan & ~3;
- ul_bytes_remain = ul_bytes_per_scan & 3;
+ bytes_per_scan = (width + start_bit + 7) / 8;
+ four_bytes_per_scan = bytes_per_scan & ~3;
+ bytes_remain = bytes_per_scan & 3;
if (accel->de_wait() != 0)
return -1;
@@ -377,8 +377,8 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
- ((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
- (dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
+ ((dest_x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
+ (dest_y & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
@@ -396,16 +396,16 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
/* Write MONO data (line by line) to 2D Engine data port */
for (i = 0; i < height; i++) {
/* For each line, send the data in chunks of 4 bytes */
- for (j = 0; j < (ul_4_bytes_per_scan / 4); j++)
- write_dp_port(accel, *(unsigned int *)(p_srcbuf + (j * 4)));
+ for (j = 0; j < (four_bytes_per_scan / 4); j++)
+ write_dp_port(accel, *(unsigned int *)(srcbuf + (j * 4)));
- if (ul_bytes_remain) {
- memcpy(aj_remain, p_srcbuf + ul_4_bytes_per_scan,
- ul_bytes_remain);
- write_dp_port(accel, *(unsigned int *)aj_remain);
+ if (bytes_remain) {
+ memcpy(remaining_bytes, srcbuf + four_bytes_per_scan,
+ bytes_remain);
+ write_dp_port(accel, *(unsigned int *)remaining_bytes);
}
- p_srcbuf += src_delta;
+ srcbuf += src_delta;
}
return 0;
diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
index 59e679961e96..00a6a022e17e 100644
--- a/drivers/staging/sm750fb/sm750_accel.h
+++ b/drivers/staging/sm750fb/sm750_accel.h
@@ -235,7 +235,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
u32 height, u32 fg_color, u32 bg_color, u32 rop2);
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index 4e2ca7263254..b8bc55ba3c54 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
}
/* now map mmio and vidmem */
- sm750_dev->p_v_reg =
+ sm750_dev->v_reg =
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
- if (!sm750_dev->p_v_reg) {
+ if (!sm750_dev->v_reg) {
pr_err("mmio failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
+ pr_info("mmio virtual addr = %p\n", sm750_dev->v_reg);
- sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
- sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
+ sm750_dev->accel.dpr_base = sm750_dev->v_reg + DE_BASE_ADDR_TYPE1;
+ sm750_dev->accel.dp_port_base = sm750_dev->v_reg + DE_PORT_ADDR_TYPE1;
- mmio750 = sm750_dev->p_v_reg;
+ mmio750 = sm750_dev->v_reg;
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
@@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
/* reserve the vidmem space of smi adaptor */
- sm750_dev->p_v_mem =
+ sm750_dev->v_mem =
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
- if (!sm750_dev->p_v_mem) {
- iounmap(sm750_dev->p_v_reg);
+ if (!sm750_dev->v_mem) {
+ iounmap(sm750_dev->v_reg);
pr_err("Map video memory failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
+ pr_info("video memory vaddr = %p\n", sm750_dev->v_mem);
exit:
return ret;
}
--
2.53.0
^ permalink raw reply related
* [PATCH v3 1/2] staging: sm750fb: Fix CamelCase variable names
From: Shreyas Ravi @ 2026-02-08 18:15 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Shreyas Ravi
In-Reply-To: <2026020842-litigator-flatworm-65d0@gregkh>
Rename CamelCase variable names to snake_case to comply
with kernel coding style.
No functional changes
Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
---
Changes in v3:
- Added changelog (missing in v2)
Changes in v2:
- Split original patch into two patches per Greg's feedback
- This patch only addresses CamelCase variable changes
---
drivers/staging/sm750fb/sm750.c | 34 +++----
drivers/staging/sm750fb/sm750.h | 16 ++--
drivers/staging/sm750fb/sm750_accel.c | 130 +++++++++++++-------------
drivers/staging/sm750fb/sm750_accel.h | 44 ++++-----
drivers/staging/sm750fb/sm750_hw.c | 26 +++---
5 files changed, 125 insertions(+), 125 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index dec1f6b88a7d..1ed7ff57c142 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_pnc;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
pr_info("use simul primary mode\n");
break;
case sm750_simul_sec:
output->paths = sm750_pnc;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
break;
case sm750_dual_normal:
if (par->index == 0) {
output->paths = sm750_panel;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_secondary;
/* not consider of padding stuffs for o_screen,need fix */
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
}
break;
case sm750_dual_swap:
@@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_panel;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_primary;
@@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
* need fix
*/
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
}
break;
default:
@@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
* must be set after crtc member initialized
*/
crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
- crtc->cursor.mmio = sm750_dev->pvReg +
+ crtc->cursor.mmio = sm750_dev->p_v_reg +
0x800f0 + (int)crtc->channel * 0x140;
pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
crtc->cursor.max_h = 64;
crtc->cursor.max_w = 64;
crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
- crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
+ crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if (!g_hwcursor)
@@ -921,9 +921,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
sm750_dev->init_parm.chip_clk = 0;
sm750_dev->init_parm.mem_clk = 0;
sm750_dev->init_parm.master_clk = 0;
- sm750_dev->init_parm.powerMode = 0;
- sm750_dev->init_parm.setAllEngOff = 0;
- sm750_dev->init_parm.resetMemory = 1;
+ sm750_dev->init_parm.power_mode = 0;
+ sm750_dev->init_parm.set_all_eng_off = 0;
+ sm750_dev->init_parm.reset_memory = 1;
/* defaultly turn g_hwcursor on for both view */
g_hwcursor = 3;
@@ -942,11 +942,11 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
sm750_dev->nocrt = 1;
} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
- sm750_dev->pnltype = sm750_doubleTFT;
+ sm750_dev->pnltype = sm750_double_tft;
} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
- sm750_dev->pnltype = sm750_dualTFT;
+ sm750_dev->pnltype = sm750_dual_tft;
} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
- sm750_dev->pnltype = sm750_24TFT;
+ sm750_dev->pnltype = sm750_24_tft;
} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
g_hwcursor &= ~0x1;
} else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
sm750_dev->vidmem_size);
- memset_io(sm750_dev->pvMem, 0, sm750_dev->vidmem_size);
+ memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
pci_set_drvdata(pdev, sm750_dev);
@@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
sm750fb_framebuffer_release(sm750_dev);
arch_phys_wc_del(sm750_dev->mtrr.vram);
- iounmap(sm750_dev->pvReg);
- iounmap(sm750_dev->pvMem);
+ iounmap(sm750_dev->p_v_reg);
+ iounmap(sm750_dev->p_v_mem);
kfree(g_settings);
}
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 67b9bfa23f41..14e0e7d75f7e 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -13,9 +13,9 @@
#endif
enum sm750_pnltype {
- sm750_24TFT = 0, /* 24bit tft */
- sm750_dualTFT = 2, /* dual 18 bit tft */
- sm750_doubleTFT = 1, /* 36 bit double pixel tft */
+ sm750_24_tft = 0, /* 24bit tft */
+ sm750_dual_tft = 2, /* dual 18 bit tft */
+ sm750_double_tft = 1, /* 36 bit double pixel tft */
};
/* vga channel is not concerned */
@@ -39,13 +39,13 @@ enum sm750_path {
};
struct init_status {
- ushort powerMode;
+ ushort power_mode;
/* below three clocks are in unit of MHZ*/
ushort chip_clk;
ushort mem_clk;
ushort master_clk;
- ushort setAllEngOff;
- ushort resetMemory;
+ ushort set_all_eng_off;
+ ushort reset_memory;
};
struct lynx_accel {
@@ -97,8 +97,8 @@ struct sm750_dev {
unsigned long vidreg_start;
__u32 vidmem_size;
__u32 vidreg_size;
- void __iomem *pvReg;
- unsigned char __iomem *pvMem;
+ void __iomem *p_v_reg;
+ unsigned char __iomem *p_v_mem;
/* locks*/
spinlock_t slock;
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index 046b9282b24a..4dd9b910af13 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -27,7 +27,7 @@ static inline u32 read_dpr(struct lynx_accel *accel, int offset)
return readl(accel->dpr_base + offset);
}
-static inline void write_dpPort(struct lynx_accel *accel, u32 data)
+static inline void write_dp_port(struct lynx_accel *accel, u32 data)
{
writel(data, accel->dp_port_base);
}
@@ -85,7 +85,7 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt)
}
int sm750_hw_fillrect(struct lynx_accel *accel,
- u32 base, u32 pitch, u32 Bpp,
+ u32 base, u32 pitch, u32 bytes_per_pixel,
u32 x, u32 y, u32 width, u32 height,
u32 color, u32 rop)
{
@@ -102,14 +102,14 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
write_dpr(accel, DE_WINDOW_DESTINATION_BASE, base); /* dpr40 */
write_dpr(accel, DE_PITCH,
- ((pitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
+ ((pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (pitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
write_dpr(accel, DE_WINDOW_WIDTH,
- ((pitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (pitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
+ (pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
write_dpr(accel, DE_FOREGROUND, color); /* DPR14 */
@@ -132,13 +132,13 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
/**
* sm750_hw_copyarea
* @accel: Acceleration device data
- * @sBase: Address of source: offset in frame buffer
- * @sPitch: Pitch value of source surface in BYTE
+ * @source_base: Address of source: offset in frame buffer
+ * @source_pitch: Pitch value of source surface in BYTE
* @sx: Starting x coordinate of source surface
* @sy: Starting y coordinate of source surface
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @Bpp: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @bytes_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
@@ -146,21 +146,21 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
- unsigned int sBase, unsigned int sPitch,
+ unsigned int source_base, unsigned int source_pitch,
unsigned int sx, unsigned int sy,
- unsigned int dBase, unsigned int dPitch,
- unsigned int Bpp, unsigned int dx, unsigned int dy,
+ unsigned int dest_base, unsigned int dest_pitch,
+ unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
unsigned int width, unsigned int height,
unsigned int rop2)
{
- unsigned int nDirection, de_ctrl;
+ unsigned int n_direction, de_ctrl;
- nDirection = LEFT_TO_RIGHT;
+ n_direction = LEFT_TO_RIGHT;
/* Direction of ROP2 operation: 1 = Left to Right, (-1) = Right to Left */
de_ctrl = 0;
/* If source and destination are the same surface, need to check for overlay cases */
- if (sBase == dBase && sPitch == dPitch) {
+ if (source_base == dest_base && source_pitch == dest_pitch) {
/* Determine direction of operation */
if (sy < dy) {
/* +----------+
@@ -173,7 +173,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +----------+
*/
- nDirection = BOTTOM_TO_TOP;
+ n_direction = BOTTOM_TO_TOP;
} else if (sy > dy) {
/* +----------+
* |D |
@@ -185,7 +185,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +----------+
*/
- nDirection = TOP_TO_BOTTOM;
+ n_direction = TOP_TO_BOTTOM;
} else {
/* sy == dy */
@@ -198,7 +198,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +------+---+------+
*/
- nDirection = RIGHT_TO_LEFT;
+ n_direction = RIGHT_TO_LEFT;
} else {
/* sx > dx */
@@ -210,12 +210,12 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +------+---+------+
*/
- nDirection = LEFT_TO_RIGHT;
+ n_direction = LEFT_TO_RIGHT;
}
}
}
- if ((nDirection == BOTTOM_TO_TOP) || (nDirection == RIGHT_TO_LEFT)) {
+ if ((n_direction == BOTTOM_TO_TOP) || (n_direction == RIGHT_TO_LEFT)) {
sx += width - 1;
sy += height - 1;
dx += width - 1;
@@ -234,14 +234,14 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* It is an address offset (128 bit aligned)
* from the beginning of frame buffer.
*/
- write_dpr(accel, DE_WINDOW_SOURCE_BASE, sBase); /* dpr40 */
+ write_dpr(accel, DE_WINDOW_SOURCE_BASE, source_base); /* dpr40 */
/*
* 2D Destination Base.
* It is an address offset (128 bit aligned)
* from the beginning of frame buffer.
*/
- write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase); /* dpr44 */
+ write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dest_base); /* dpr44 */
/*
* Program pitch (distance between the 1st points of two adjacent lines).
@@ -249,9 +249,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* pixel values. Need Byte to pixel conversion.
*/
write_dpr(accel, DE_PITCH,
- ((dPitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
+ ((dest_pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (sPitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (source_pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
/*
* Screen Window width in Pixels.
@@ -259,9 +259,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* for a given point.
*/
write_dpr(accel, DE_WINDOW_WIDTH,
- ((dPitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((dest_pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (sPitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
+ (source_pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
if (accel->de_wait() != 0)
return -1;
@@ -277,7 +277,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
de_ctrl = (rop2 & DE_CONTROL_ROP_MASK) | DE_CONTROL_ROP_SELECT |
- ((nDirection == RIGHT_TO_LEFT) ? DE_CONTROL_DIRECTION : 0) |
+ ((n_direction == RIGHT_TO_LEFT) ? DE_CONTROL_DIRECTION : 0) |
DE_CONTROL_COMMAND_BITBLT | DE_CONTROL_STATUS;
write_dpr(accel, DE_CONTROL, de_ctrl); /* dpr0c */
@@ -299,38 +299,38 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
/**
* sm750_hw_imageblit
* @accel: Acceleration device data
- * @pSrcbuf: pointer to start of source buffer in system memory
- * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
+ * @p_srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, +ive means top down
* and -ive mean button up
- * @startBit: Mono data can start at any bit in a byte, this value should be
+ * @start_bit: Mono data can start at any bit in a byte, this value should be
* 0 to 7
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @bytePerPixel: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @byte_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
- * @fColor: Foreground color (corresponding to a 1 in the monochrome data
- * @bColor: Background color (corresponding to a 0 in the monochrome data
+ * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
+ * @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
- u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
- u32 bytePerPixel, u32 dx, u32 dy, u32 width,
- u32 height, u32 fColor, u32 bColor, u32 rop2)
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+ u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
+ u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 height, u32 fg_color, u32 bg_color, u32 rop2)
{
- unsigned int ulBytesPerScan;
- unsigned int ul4BytesPerScan;
- unsigned int ulBytesRemain;
+ unsigned int ul_bytes_per_scan;
+ unsigned int ul_4_bytes_per_scan;
+ unsigned int ul_bytes_remain;
unsigned int de_ctrl = 0;
- unsigned char ajRemain[4];
+ unsigned char aj_remain[4];
int i, j;
- startBit &= 7; /* Just make sure the start bit is within legal range */
- ulBytesPerScan = (width + startBit + 7) / 8;
- ul4BytesPerScan = ulBytesPerScan & ~3;
- ulBytesRemain = ulBytesPerScan & 3;
+ start_bit &= 7; /* Just make sure the start bit is within legal range */
+ ul_bytes_per_scan = (width + start_bit + 7) / 8;
+ ul_4_bytes_per_scan = ul_bytes_per_scan & ~3;
+ ul_bytes_remain = ul_bytes_per_scan & 3;
if (accel->de_wait() != 0)
return -1;
@@ -345,7 +345,7 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
* It is an address offset (128 bit aligned)
* from the beginning of frame buffer.
*/
- write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase);
+ write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dest_base);
/*
* Program pitch (distance between the 1st points of two adjacent
@@ -353,9 +353,9 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
* register uses pixel values. Need Byte to pixel conversion.
*/
write_dpr(accel, DE_PITCH,
- ((dPitch / bytePerPixel << DE_PITCH_DESTINATION_SHIFT) &
+ ((dest_pitch / byte_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (dPitch / bytePerPixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (dest_pitch / byte_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
/*
* Screen Window width in Pixels.
@@ -363,17 +363,17 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
* in frame buffer for a given point.
*/
write_dpr(accel, DE_WINDOW_WIDTH,
- ((dPitch / bytePerPixel << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((dest_pitch / byte_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (dPitch / bytePerPixel & DE_WINDOW_WIDTH_SRC_MASK));
+ (dest_pitch / byte_per_pixel & DE_WINDOW_WIDTH_SRC_MASK));
/*
* Note: For 2D Source in Host Write, only X_K1_MONO field is needed,
* and Y_K2 field is not used.
- * For mono bitmap, use startBit for X_K1.
+ * For mono bitmap, use start_bit for X_K1.
*/
write_dpr(accel, DE_SOURCE,
- (startBit << DE_SOURCE_X_K1_SHIFT) &
+ (start_bit << DE_SOURCE_X_K1_SHIFT) &
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
@@ -384,8 +384,8 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
- write_dpr(accel, DE_FOREGROUND, fColor);
- write_dpr(accel, DE_BACKGROUND, bColor);
+ write_dpr(accel, DE_FOREGROUND, fg_color);
+ write_dpr(accel, DE_BACKGROUND, bg_color);
de_ctrl = (rop2 & DE_CONTROL_ROP_MASK) |
DE_CONTROL_ROP_SELECT | DE_CONTROL_COMMAND_HOST_WRITE |
@@ -396,16 +396,16 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
/* Write MONO data (line by line) to 2D Engine data port */
for (i = 0; i < height; i++) {
/* For each line, send the data in chunks of 4 bytes */
- for (j = 0; j < (ul4BytesPerScan / 4); j++)
- write_dpPort(accel, *(unsigned int *)(pSrcbuf + (j * 4)));
+ for (j = 0; j < (ul_4_bytes_per_scan / 4); j++)
+ write_dp_port(accel, *(unsigned int *)(p_srcbuf + (j * 4)));
- if (ulBytesRemain) {
- memcpy(ajRemain, pSrcbuf + ul4BytesPerScan,
- ulBytesRemain);
- write_dpPort(accel, *(unsigned int *)ajRemain);
+ if (ul_bytes_remain) {
+ memcpy(aj_remain, p_srcbuf + ul_4_bytes_per_scan,
+ ul_bytes_remain);
+ write_dp_port(accel, *(unsigned int *)aj_remain);
}
- pSrcbuf += srcDelta;
+ p_srcbuf += src_delta;
}
return 0;
diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
index 2c79cb730a0a..59e679961e96 100644
--- a/drivers/staging/sm750fb/sm750_accel.h
+++ b/drivers/staging/sm750fb/sm750_accel.h
@@ -190,19 +190,19 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt);
void sm750_hw_de_init(struct lynx_accel *accel);
int sm750_hw_fillrect(struct lynx_accel *accel,
- u32 base, u32 pitch, u32 Bpp,
+ u32 base, u32 pitch, u32 bytes_per_pixel,
u32 x, u32 y, u32 width, u32 height,
u32 color, u32 rop);
/**
* sm750_hm_copyarea
- * @sBase: Address of source: offset in frame buffer
- * @sPitch: Pitch value of source surface in BYTE
+ * @source_base: Address of source: offset in frame buffer
+ * @source_pitch: Pitch value of source surface in BYTE
* @sx: Starting x coordinate of source surface
* @sy: Starting y coordinate of source surface
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @Bpp: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @bytes_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
@@ -210,34 +210,34 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
- unsigned int sBase, unsigned int sPitch,
+ unsigned int source_base, unsigned int source_pitch,
unsigned int sx, unsigned int sy,
- unsigned int dBase, unsigned int dPitch,
- unsigned int Bpp, unsigned int dx, unsigned int dy,
+ unsigned int dest_base, unsigned int dest_pitch,
+ unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
unsigned int width, unsigned int height,
unsigned int rop2);
/**
* sm750_hw_imageblit
- * @pSrcbuf: pointer to start of source buffer in system memory
- * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
- *>----- and -ive mean button up
- * @startBit: Mono data can start at any bit in a byte, this value should be
+ * @p_srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, positive means top down
+ *>----- and negative mean bottom up
+ * @start_bit: Mono data can start at any bit in a byte, this value should be
*>----- 0 to 7
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @bytePerPixel: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @byte_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
- * @fColor: Foreground color (corresponding to a 1 in the monochrome data
- * @bColor: Background color (corresponding to a 0 in the monochrome data
+ * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
+ * @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
- u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
- u32 bytePerPixel, u32 dx, u32 dy, u32 width,
- u32 height, u32 fColor, u32 bColor, u32 rop2);
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+ u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
+ u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 height, u32 fg_color, u32 bg_color, u32 rop2);
#endif
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index a29faee91c78..4e2ca7263254 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
}
/* now map mmio and vidmem */
- sm750_dev->pvReg =
+ sm750_dev->p_v_reg =
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
- if (!sm750_dev->pvReg) {
+ if (!sm750_dev->p_v_reg) {
pr_err("mmio failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("mmio virtual addr = %p\n", sm750_dev->pvReg);
+ pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
- sm750_dev->accel.dpr_base = sm750_dev->pvReg + DE_BASE_ADDR_TYPE1;
- sm750_dev->accel.dp_port_base = sm750_dev->pvReg + DE_PORT_ADDR_TYPE1;
+ sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
+ sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
- mmio750 = sm750_dev->pvReg;
+ mmio750 = sm750_dev->p_v_reg;
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
@@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
/* reserve the vidmem space of smi adaptor */
- sm750_dev->pvMem =
+ sm750_dev->p_v_mem =
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
- if (!sm750_dev->pvMem) {
- iounmap(sm750_dev->pvReg);
+ if (!sm750_dev->p_v_mem) {
+ iounmap(sm750_dev->p_v_reg);
pr_err("Map video memory failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("video memory vaddr = %p\n", sm750_dev->pvMem);
+ pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
exit:
return ret;
}
@@ -134,12 +134,12 @@ int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
~(PANEL_DISPLAY_CTRL_DUAL_DISPLAY |
PANEL_DISPLAY_CTRL_DOUBLE_PIXEL);
switch (sm750_dev->pnltype) {
- case sm750_24TFT:
+ case sm750_24_tft:
break;
- case sm750_doubleTFT:
+ case sm750_double_tft:
val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
break;
- case sm750_dualTFT:
+ case sm750_dual_tft:
val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
break;
}
--
2.53.0
^ permalink raw reply related
* [PATCH v3 6/6] fbdev: au1100fb: Replace custom printk wrappers by pr_*
From: Uwe Kleine-König @ 2026-02-08 17:58 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <cover.1770572936.git.u.kleine-koenig@baylibre.com>
The global wrappers also have the advantage to do stricter format
checking, so the pr_devel formats are also checked if DEBUG is not
defined. The global variants only check for DEBUG being defined and not
its actual value, to the #define to zero is dropped, too.
There is only a slight semantic change as the (by default disabled)
debug output doesn't contain __FILE__ any more.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/au1100fb.c | 41 +++++++++++++++++-----------------
drivers/video/fbdev/au1100fb.h | 10 ---------
2 files changed, 21 insertions(+), 30 deletions(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index 782f70c3a98f..86aafa4f0966 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -41,6 +41,9 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+
+#define pr_fmt(fmt) "au1100fb:" fmt "\n"
+
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/io.h>
@@ -57,8 +60,6 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
-#define DEBUG 0
-
#include "au1100fb.h"
#if defined(CONFIG_COMPILE_TEST) && !defined(CONFIG_MIPS)
@@ -97,7 +98,7 @@ static int au1100fb_fb_blank(int blank_mode, struct fb_info *fbi)
{
struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
- print_dbg("fb_blank %d %p", blank_mode, fbi);
+ pr_devel("fb_blank %d %p", blank_mode, fbi);
switch (blank_mode) {
@@ -290,7 +291,7 @@ static int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info
fbdev = to_au1100fb_device(fbi);
- print_dbg("fb_pan_display %p %p", var, fbi);
+ pr_devel("fb_pan_display %p %p", var, fbi);
if (!var || !fbdev) {
return -EINVAL;
@@ -301,13 +302,13 @@ static int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info
return -EINVAL;
}
- print_dbg("fb_pan_display 2 %p %p", var, fbi);
+ pr_devel("fb_pan_display 2 %p %p", var, fbi);
dy = var->yoffset - fbi->var.yoffset;
if (dy) {
u32 dmaaddr;
- print_dbg("Panning screen of %d lines", dy);
+ pr_devel("Panning screen of %d lines", dy);
dmaaddr = fbdev->regs->lcd_dmaaddr0;
dmaaddr += (fbi->fix.line_length * dy);
@@ -321,7 +322,7 @@ static int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info
fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(dmaaddr);
}
}
- print_dbg("fb_pan_display 3 %p %p", var, fbi);
+ pr_devel("fb_pan_display 3 %p %p", var, fbi);
return 0;
}
@@ -364,7 +365,7 @@ static int au1100fb_setup(struct au1100fb_device *fbdev)
int num_panels = ARRAY_SIZE(known_lcd_panels);
if (num_panels <= 0) {
- print_err("No LCD panels supported by driver!");
+ pr_err("No LCD panels supported by driver!");
return -ENODEV;
}
@@ -387,16 +388,16 @@ static int au1100fb_setup(struct au1100fb_device *fbdev)
}
}
if (i >= num_panels) {
- print_warn("Panel '%s' not supported!", this_opt);
+ pr_warn("Panel '%s' not supported!", this_opt);
return -ENODEV;
}
}
/* Unsupported option */
else
- print_warn("Unsupported option \"%s\"", this_opt);
+ pr_warn("Unsupported option \"%s\"", this_opt);
}
- print_info("Panel=%s", fbdev->panel->name);
+ pr_info("Panel=%s", fbdev->panel->name);
return 0;
}
@@ -421,7 +422,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
/* Allocate region for our registers and map them */
regs_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
if (!regs_res) {
- print_err("fail to retrieve registers resource");
+ pr_err("fail to retrieve registers resource");
return -EFAULT;
}
@@ -439,15 +440,15 @@ static int au1100fb_drv_probe(struct platform_device *dev)
fbdev->info.fix.mmio_start,
fbdev->info.fix.mmio_len,
DRIVER_NAME)) {
- print_err("fail to lock memory region at 0x%08lx",
+ pr_err("fail to lock memory region at 0x%08lx",
fbdev->info.fix.mmio_start);
return -EBUSY;
}
fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
- print_dbg("Register memory map at %p", fbdev->regs);
- print_dbg("phys=0x%08x, size=%zu", fbdev->regs_phys, fbdev->regs_len);
+ pr_devel("Register memory map at %p", fbdev->regs);
+ pr_devel("phys=0x%08x, size=%zu", fbdev->regs_phys, fbdev->regs_len);
c = clk_get(NULL, "lcd_intclk");
if (!IS_ERR(c)) {
@@ -464,7 +465,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
PAGE_ALIGN(fbdev->fb_len),
&fbdev->fb_phys, GFP_KERNEL);
if (!fbdev->fb_mem) {
- print_err("fail to allocate framebuffer (size: %zuK))",
+ pr_err("fail to allocate framebuffer (size: %zuK))",
fbdev->fb_len / 1024);
return -ENOMEM;
}
@@ -472,8 +473,8 @@ static int au1100fb_drv_probe(struct platform_device *dev)
fbdev->info.fix.smem_start = fbdev->fb_phys;
fbdev->info.fix.smem_len = fbdev->fb_len;
- print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
- print_dbg("phys=0x%pad, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
+ pr_devel("Framebuffer memory map at %p", fbdev->fb_mem);
+ pr_devel("phys=0x%pad, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
/* load the panel info into the var struct */
fbdev->info.var = (struct fb_var_screeninfo) {
@@ -497,7 +498,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -ENOMEM;
if (fb_alloc_cmap(&fbdev->info.cmap, AU1100_LCD_NBR_PALETTE_ENTRIES, 0) < 0) {
- print_err("Fail to allocate colormap (%d entries)",
+ pr_err("Fail to allocate colormap (%d entries)",
AU1100_LCD_NBR_PALETTE_ENTRIES);
return -EFAULT;
}
@@ -507,7 +508,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
/* Register new framebuffer */
if (register_framebuffer(&fbdev->info) < 0) {
- print_err("cannot register new framebuffer");
+ pr_err("cannot register new framebuffer");
goto failed;
}
diff --git a/drivers/video/fbdev/au1100fb.h b/drivers/video/fbdev/au1100fb.h
index 998328cd16a2..9b70208128a8 100644
--- a/drivers/video/fbdev/au1100fb.h
+++ b/drivers/video/fbdev/au1100fb.h
@@ -30,16 +30,6 @@
#ifndef _AU1100LCD_H
#define _AU1100LCD_H
-#define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
-#define print_warn(f, arg...) printk(KERN_WARNING DRIVER_NAME ": " f "\n", ## arg)
-#define print_info(f, arg...) printk(KERN_INFO DRIVER_NAME ": " f "\n", ## arg)
-
-#if DEBUG
-#define print_dbg(f, arg...) printk(__FILE__ ": " f "\n", ## arg)
-#else
-#define print_dbg(f, arg...) do {} while (0)
-#endif
-
#if defined(__BIG_ENDIAN)
#define LCD_CONTROL_DEFAULT_PO LCD_CONTROL_PO_11
#else
--
2.47.3
^ permalink raw reply related
* [PATCH v3 5/6] fbdev: au1100fb: Make driver compilable on non-mips platforms
From: Uwe Kleine-König @ 2026-02-08 17:58 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <cover.1770572936.git.u.kleine-koenig@baylibre.com>
The header asm/mach-au1x00/au1000.h is unused apart from pulling in
<linux/delay.h> (for mdelay()) and <linux/io.h> (for KSEG1ADDR()). Then
the only platform specific part in the driver is the usage of the KSEG1ADDR
macro, which for the non-mips case can be stubbed.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/Kconfig | 3 ++-
drivers/video/fbdev/au1100fb.c | 12 ++++++++++--
drivers/video/fbdev/au1100fb.h | 2 --
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 45733522ff48..4514c42db9fa 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1345,7 +1345,8 @@ endchoice
config FB_AU1100
bool "Au1100 LCD Driver"
- depends on (FB = y) && MIPS_ALCHEMY
+ depends on FB
+ depends on MIPS_ALCHEMY || COMPILE_TEST
select FB_IOMEM_HELPERS
help
This is the framebuffer driver for the AMD Au1100 SOC. It can drive
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index e43687ac74a1..782f70c3a98f 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -42,6 +42,8 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/io.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
@@ -55,12 +57,15 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <asm/mach-au1x00/au1000.h>
-
#define DEBUG 0
#include "au1100fb.h"
+#if defined(CONFIG_COMPILE_TEST) && !defined(CONFIG_MIPS)
+/* This is only defined to be able to compile this driver on non-mips platforms */
+#define KSEG1ADDR(x) (x)
+#endif
+
#define DRIVER_NAME "au1100fb"
#define DRIVER_DESC "LCD controller driver for AU1100 processors"
@@ -331,7 +336,10 @@ static int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
+#ifndef CONFIG_S390
+ /* On s390 pgprot_val() is a function and thus not a lvalue */
pgprot_val(vma->vm_page_prot) |= (6 << 9); //CCA=6
+#endif
return dma_mmap_coherent(fbdev->dev, vma, fbdev->fb_mem, fbdev->fb_phys,
fbdev->fb_len);
diff --git a/drivers/video/fbdev/au1100fb.h b/drivers/video/fbdev/au1100fb.h
index dc53d063fcc3..998328cd16a2 100644
--- a/drivers/video/fbdev/au1100fb.h
+++ b/drivers/video/fbdev/au1100fb.h
@@ -30,8 +30,6 @@
#ifndef _AU1100LCD_H
#define _AU1100LCD_H
-#include <asm/mach-au1x00/au1000.h>
-
#define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
#define print_warn(f, arg...) printk(KERN_WARNING DRIVER_NAME ": " f "\n", ## arg)
#define print_info(f, arg...) printk(KERN_INFO DRIVER_NAME ": " f "\n", ## arg)
--
2.47.3
^ permalink raw reply related
* [PATCH v3 4/6] fbdev: au1100fb: Use %pad to printk a value of type dma_addr_t
From: Uwe Kleine-König @ 2026-02-08 17:58 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <cover.1770572936.git.u.kleine-koenig@baylibre.com>
The size of a dma_addr_t variable varies among different architectures.
The save way to emit such a value is using the %pad format. This
prepares allowing this driver to be compiled on non-mips platforms.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/au1100fb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index 914f371a614c..e43687ac74a1 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -465,7 +465,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
fbdev->info.fix.smem_len = fbdev->fb_len;
print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
- print_dbg("phys=0x%08x, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
+ print_dbg("phys=0x%pad, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
/* load the panel info into the var struct */
fbdev->info.var = (struct fb_var_screeninfo) {
--
2.47.3
^ permalink raw reply related
* [PATCH v3 3/6] fbdev: au1100fb: Use %zu to printk a value of type size_t
From: Uwe Kleine-König @ 2026-02-08 17:58 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <cover.1770572936.git.u.kleine-koenig@baylibre.com>
%zu is the dedicated type for size_t. %d only works on 32bit
architectures where size_t is typedef'd to be unsigned int. (And then
the signedness doesn't fit, but `gcc -Wformat` doesn't stumble over this.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/au1100fb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index b1da51683de7..914f371a614c 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -439,7 +439,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
print_dbg("Register memory map at %p", fbdev->regs);
- print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
+ print_dbg("phys=0x%08x, size=%zu", fbdev->regs_phys, fbdev->regs_len);
c = clk_get(NULL, "lcd_intclk");
if (!IS_ERR(c)) {
@@ -456,7 +456,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
PAGE_ALIGN(fbdev->fb_len),
&fbdev->fb_phys, GFP_KERNEL);
if (!fbdev->fb_mem) {
- print_err("fail to allocate framebuffer (size: %dK))",
+ print_err("fail to allocate framebuffer (size: %zuK))",
fbdev->fb_len / 1024);
return -ENOMEM;
}
@@ -465,7 +465,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
fbdev->info.fix.smem_len = fbdev->fb_len;
print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
- print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
+ print_dbg("phys=0x%08x, size=%zuK", &fbdev->fb_phys, fbdev->fb_len / 1024);
/* load the panel info into the var struct */
fbdev->info.var = (struct fb_var_screeninfo) {
--
2.47.3
^ permalink raw reply related
* [PATCH v3 2/6] fbdev: au1100fb: Mark several local functions as static
From: Uwe Kleine-König @ 2026-02-08 17:57 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <cover.1770572936.git.u.kleine-koenig@baylibre.com>
This fixes several (fatal) compiler warnings à la
drivers/video/fbdev/au1100fb.c:530:6: error: no previous prototype for ‘au1100fb_drv_remove’ [-Werror=missing-prototypes]
523 | void au1100fb_drv_remove(struct platform_device *dev)
| ^~~~~~~~~~~~~~~~~~~
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/au1100fb.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index 7bc224a8455c..b1da51683de7 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -120,7 +120,7 @@ static int au1100fb_fb_blank(int blank_mode, struct fb_info *fbi)
* Set hardware with var settings. This will enable the controller with a specific
* mode, normally validated with the fb_check_var method
*/
-int au1100fb_setmode(struct au1100fb_device *fbdev)
+static int au1100fb_setmode(struct au1100fb_device *fbdev)
{
struct fb_info *info;
u32 words;
@@ -219,7 +219,7 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
/* fb_setcolreg
* Set color in LCD palette.
*/
-int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *fbi)
+static int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *fbi)
{
struct au1100fb_device *fbdev;
u32 *palette;
@@ -278,7 +278,7 @@ int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned
/* fb_pan_display
* Pan display in x and/or y as specified
*/
-int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi)
+static int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi)
{
struct au1100fb_device *fbdev;
int dy;
@@ -325,7 +325,7 @@ int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi)
* Map video memory in user space. We don't use the generic fb_mmap method mainly
* to allow the use of the TLB streaming flag (CCA=6)
*/
-int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
+static int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
{
struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
@@ -517,7 +517,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -ENODEV;
}
-void au1100fb_drv_remove(struct platform_device *dev)
+static void au1100fb_drv_remove(struct platform_device *dev)
{
struct au1100fb_device *fbdev = NULL;
@@ -557,7 +557,7 @@ static int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
return 0;
}
-int au1100fb_drv_resume(struct platform_device *dev)
+static int au1100fb_drv_resume(struct platform_device *dev)
{
struct au1100fb_device *fbdev = platform_get_drvdata(dev);
int ret;
--
2.47.3
^ permalink raw reply related
* [PATCH v3 1/6] fbdev: au1100fb: Don't store device specific data in global variables
From: Uwe Kleine-König @ 2026-02-08 17:57 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <cover.1770572936.git.u.kleine-koenig@baylibre.com>
Using global data to store device specific data is a bad pattern that
breaks if there is more than one device. So expand driver data and drop
the global variables.
While there is probably no machine that has two or more au1100fb
devices, this makes the driver a better template for new drivers and
saves some memory if there is no such bound device.
bloat-o-meter reports (for ARCH=arm allmodconfig + CONFIG_FB_AU1100=y
and ignoring the rename of the init function):
add/remove: 1/4 grow/shrink: 2/2 up/down: 1360/-4800 (-3440)
Function old new delta
au1100fb_drv_probe 2648 3328 +680
$a 12808 13484 +676
au1100fb_drv_resume 404 400 -4
au1100fb_fix 68 - -68
au1100fb_var 160 - -160
fbregs 2048 - -2048
$d 9525 7009 -2516
Total: Before=38664, After=35224, chg -8.90%
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
I think this doesn't need a Fixes line, but if you want, it would be:
Fixes: 3b495f2bb749 ("Au1100 FB driver uplift for 2.6.")
Fixes: f77f50ca1a23 ("[PATCH] au1100fb: add power management support")
---
drivers/video/fbdev/au1100fb.c | 65 +++++++++++++++-------------------
drivers/video/fbdev/au1100fb.h | 5 +++
2 files changed, 34 insertions(+), 36 deletions(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index feaa1061c436..7bc224a8455c 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -84,21 +84,6 @@ struct fb_bitfield rgb_bitfields[][4] =
{ { 8, 4, 0 }, { 4, 4, 0 }, { 0, 4, 0 }, { 0, 0, 0 } },
};
-static struct fb_fix_screeninfo au1100fb_fix = {
- .id = "AU1100 FB",
- .xpanstep = 1,
- .ypanstep = 1,
- .type = FB_TYPE_PACKED_PIXELS,
- .accel = FB_ACCEL_NONE,
-};
-
-static struct fb_var_screeninfo au1100fb_var = {
- .activate = FB_ACTIVATE_NOW,
- .height = -1,
- .width = -1,
- .vmode = FB_VMODE_NONINTERLACED,
-};
-
/* fb_blank
* Blank the screen. Depending on the mode, the screen will be
* activated with the backlight color, or desactivated
@@ -432,19 +417,26 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -EFAULT;
}
- au1100fb_fix.mmio_start = regs_res->start;
- au1100fb_fix.mmio_len = resource_size(regs_res);
+ fbdev->info.fix = (struct fb_fix_screeninfo) {
+ .mmio_start = regs_res->start,
+ .mmio_len = resource_size(regs_res),
+ .id = "AU1100 FB",
+ .xpanstep = 1,
+ .ypanstep = 1,
+ .type = FB_TYPE_PACKED_PIXELS,
+ .accel = FB_ACCEL_NONE,
+ };
if (!devm_request_mem_region(&dev->dev,
- au1100fb_fix.mmio_start,
- au1100fb_fix.mmio_len,
+ fbdev->info.fix.mmio_start,
+ fbdev->info.fix.mmio_len,
DRIVER_NAME)) {
print_err("fail to lock memory region at 0x%08lx",
- au1100fb_fix.mmio_start);
+ fbdev->info.fix.mmio_start);
return -EBUSY;
}
- fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(au1100fb_fix.mmio_start);
+ fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
print_dbg("Register memory map at %p", fbdev->regs);
print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
@@ -469,22 +461,27 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -ENOMEM;
}
- au1100fb_fix.smem_start = fbdev->fb_phys;
- au1100fb_fix.smem_len = fbdev->fb_len;
+ fbdev->info.fix.smem_start = fbdev->fb_phys;
+ fbdev->info.fix.smem_len = fbdev->fb_len;
print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
/* load the panel info into the var struct */
- au1100fb_var.bits_per_pixel = fbdev->panel->bpp;
- au1100fb_var.xres = fbdev->panel->xres;
- au1100fb_var.xres_virtual = au1100fb_var.xres;
- au1100fb_var.yres = fbdev->panel->yres;
- au1100fb_var.yres_virtual = au1100fb_var.yres;
+ fbdev->info.var = (struct fb_var_screeninfo) {
+ .activate = FB_ACTIVATE_NOW,
+ .height = -1,
+ .width = -1,
+ .vmode = FB_VMODE_NONINTERLACED,
+ .bits_per_pixel = fbdev->panel->bpp,
+ .xres = fbdev->panel->xres,
+ .xres_virtual = fbdev->panel->xres,
+ .yres = fbdev->panel->yres,
+ .yres_virtual = fbdev->panel->yres,
+ };
fbdev->info.screen_base = fbdev->fb_mem;
fbdev->info.fbops = &au1100fb_ops;
- fbdev->info.fix = au1100fb_fix;
fbdev->info.pseudo_palette =
devm_kcalloc(&dev->dev, 16, sizeof(u32), GFP_KERNEL);
@@ -497,8 +494,6 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -EFAULT;
}
- fbdev->info.var = au1100fb_var;
-
/* Set h/w registers */
au1100fb_setmode(fbdev);
@@ -545,9 +540,7 @@ void au1100fb_drv_remove(struct platform_device *dev)
}
#ifdef CONFIG_PM
-static struct au1100fb_regs fbregs;
-
-int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
+static int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
{
struct au1100fb_device *fbdev = platform_get_drvdata(dev);
@@ -559,7 +552,7 @@ int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
clk_disable(fbdev->lcdclk);
- memcpy(&fbregs, fbdev->regs, sizeof(struct au1100fb_regs));
+ memcpy(&fbdev->pm_regs, fbdev->regs, sizeof(struct au1100fb_regs));
return 0;
}
@@ -572,7 +565,7 @@ int au1100fb_drv_resume(struct platform_device *dev)
if (!fbdev)
return 0;
- memcpy(fbdev->regs, &fbregs, sizeof(struct au1100fb_regs));
+ memcpy(fbdev->regs, &fbdev->pm_regs, sizeof(struct au1100fb_regs));
ret = clk_enable(fbdev->lcdclk);
if (ret)
diff --git a/drivers/video/fbdev/au1100fb.h b/drivers/video/fbdev/au1100fb.h
index 79f4048726f1..dc53d063fcc3 100644
--- a/drivers/video/fbdev/au1100fb.h
+++ b/drivers/video/fbdev/au1100fb.h
@@ -105,6 +105,11 @@ struct au1100fb_device {
size_t regs_len;
unsigned int regs_phys;
+#ifdef CONFIG_PM
+ /* stores the register values during suspend */
+ struct au1100fb_regs pm_regs;
+#endif
+
unsigned char* fb_mem; /* FrameBuffer memory map */
size_t fb_len;
dma_addr_t fb_phys;
--
2.47.3
^ permalink raw reply related
* [PATCH v3 0/6] fbdev: au1100fb: support COMPILE_TEST and fix multi-device support
From: Uwe Kleine-König @ 2026-02-08 17:57 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
Hello,
changes since
v2 that is available at
https://lore.kernel.org/linux-fbdev/cover.1770483674.git.u.kleine-koenig@baylibre.com:
- Remove fbregs again
- Added a few more %d -> %zu conversions that were hidden for the
compiler by print_dbg() being a noop, but Helge noticed anyhow.
- patches #4 and #6 are new. #6 was used instead of defining DEBUG to 1
for compile testing, that uncovered the additional issue fixed in
patch #4.
Uwe Kleine-König (6):
fbdev: au1100fb: Don't store device specific data in global variables
fbdev: au1100fb: Mark several local functions as static
fbdev: au1100fb: Use %zu to printk a value of type size_t
fbdev: au1100fb: Use %pad to printk a value of type dma_addr_t
fbdev: au1100fb: Make driver compilable on non-mips platforms
fbdev: au1100fb: Replace custom printk wrappers by pr_*
drivers/video/fbdev/Kconfig | 3 +-
drivers/video/fbdev/au1100fb.c | 130 +++++++++++++++++----------------
drivers/video/fbdev/au1100fb.h | 17 ++---
3 files changed, 73 insertions(+), 77 deletions(-)
base-commit: 0636e6205beed850d985276dc56fd73d785bea5c
--
2.47.3
^ permalink raw reply
* Re: [PATCH v2 1/4] fbdev: au1100fb: Don't store device specific data in global variables
From: Uwe Kleine-König @ 2026-02-08 17:48 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <aYevgJ6cfe6JVlJq@monoceros>
[-- Attachment #1: Type: text/plain, Size: 749 bytes --]
Hello,
On Sat, Feb 07, 2026 at 10:34:21PM +0100, Uwe Kleine-König wrote:
> > > @@ -559,7 +554,7 @@ int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
> > > clk_disable(fbdev->lcdclk);
> > > - memcpy(&fbregs, fbdev->regs, sizeof(struct au1100fb_regs));
> > > + memcpy(&fbdev->pm_regs, fbdev->regs, sizeof(struct au1100fb_regs));
> >
> > Although memcpy() was used before, isn't this:
> > fbdev->pm_regs = *fbdev->regs;
> > sufficient and better?
>
> Probably yes, that's a separate patch then.
Thinking again: this is copying from io memory. So both memcpy and
struct assignment might be a bad idea. I'll keep it as is, this driver
already occupies me much longer than I intended.
Best regards
Uwe
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply
* Re: [PATCH] staging: fbtft: fix unchecked write return value in fb_agm1264k-fl
From: Andy Shevchenko @ 2026-02-08 13:46 UTC (permalink / raw)
To: Artem Lytkin
Cc: Andy Shevchenko, Greg Kroah-Hartman, dri-devel, linux-fbdev,
linux-staging, linux-kernel
In-Reply-To: <20260207220523.3816-1-iprintercanon@gmail.com>
On Sat, Feb 07, 2026 at 10:05:23PM +0000, Artem Lytkin wrote:
> The second call to par->fbtftops.write() does not capture the return
> value, so the subsequent error check tests a stale value from the
> first write call. Add the missing assignment so the error check
> applies to the correct write operation.
Hmm... Sounds about right, but it was like that from the day 1.
Acked-by: Andy Shevchenko <andriy.shevchenko@intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH v2 4/4] fbdev: au1100fb: Make driver compilable on non-mips platforms
From: kernel test robot @ 2026-02-08 11:12 UTC (permalink / raw)
To: Uwe Kleine-König, Helge Deller
Cc: oe-kbuild-all, Chen Ni, linux-fbdev, dri-devel
In-Reply-To: <b894247689a7a920d9caa465dbcb840bca806cbf.1770483674.git.u.kleine-koenig@baylibre.com>
Hi Uwe,
kernel test robot noticed the following build errors:
[auto build test ERROR on 0636e6205beed850d985276dc56fd73d785bea5c]
url: https://github.com/intel-lab-lkp/linux/commits/Uwe-Kleine-K-nig/fbdev-au1100fb-Don-t-store-device-specific-data-in-global-variables/20260208-011505
base: 0636e6205beed850d985276dc56fd73d785bea5c
patch link: https://lore.kernel.org/r/b894247689a7a920d9caa465dbcb840bca806cbf.1770483674.git.u.kleine-koenig%40baylibre.com
patch subject: [PATCH v2 4/4] fbdev: au1100fb: Make driver compilable on non-mips platforms
config: mips-randconfig-r123-20260208 (https://download.01.org/0day-ci/archive/20260208/202602081811.HrSb1oUf-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260208/202602081811.HrSb1oUf-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602081811.HrSb1oUf-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
>> drivers/video/fbdev/au1100fb.c:447:39: error: call to undeclared function 'KSEG1ADDR'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
447 | fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
| ^
>> drivers/video/fbdev/au1100fb.c:447:16: warning: cast to 'struct au1100fb_regs *' from smaller integer type 'int' [-Wint-to-pointer-cast]
447 | fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
vim +/KSEG1ADDR +447 drivers/video/fbdev/au1100fb.c
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 403
48c68c4f1b5424 drivers/video/au1100fb.c Greg Kroah-Hartman 2012-12-21 404 static int au1100fb_drv_probe(struct platform_device *dev)
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 405 {
46953e6aab262d drivers/video/fbdev/au1100fb.c Markus Elfring 2018-03-28 406 struct au1100fb_device *fbdev;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 407 struct resource *regs_res;
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 408 struct clk *c;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 409
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 410 /* Allocate new device private */
db66f0252e2f17 drivers/video/fbdev/au1100fb.c Markus Elfring 2018-03-28 411 fbdev = devm_kzalloc(&dev->dev, sizeof(*fbdev), GFP_KERNEL);
29914badc59b23 drivers/video/fbdev/au1100fb.c Markus Elfring 2018-03-28 412 if (!fbdev)
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 413 return -ENOMEM;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 414
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 415 if (au1100fb_setup(fbdev))
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 416 goto failed;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 417
7a192ec334cab9 drivers/video/au1100fb.c Ming Lei 2009-02-06 418 platform_set_drvdata(dev, (void *)fbdev);
67f30ad19c4b32 drivers/video/fbdev/au1100fb.c Christoph Hellwig 2019-04-28 419 fbdev->dev = &dev->dev;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 420
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 421 /* Allocate region for our registers and map them */
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 422 regs_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 423 if (!regs_res) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 424 print_err("fail to retrieve registers resource");
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 425 return -EFAULT;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 426 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 427
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 428 fbdev->info.fix = (struct fb_fix_screeninfo) {
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 429 .mmio_start = regs_res->start,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 430 .mmio_len = resource_size(regs_res),
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 431 .id = "AU1100 FB",
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 432 .xpanstep = 1,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 433 .ypanstep = 1,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 434 .type = FB_TYPE_PACKED_PIXELS,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 435 .accel = FB_ACCEL_NONE,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 436 };
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 437
93019734555f8d drivers/video/au1100fb.c Manuel Lauss 2012-03-24 438 if (!devm_request_mem_region(&dev->dev,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 439 fbdev->info.fix.mmio_start,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 440 fbdev->info.fix.mmio_len,
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 441 DRIVER_NAME)) {
c05b7f3d12b945 drivers/video/au1100fb.c Rodolfo Giometti 2006-05-30 442 print_err("fail to lock memory region at 0x%08lx",
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 443 fbdev->info.fix.mmio_start);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 444 return -EBUSY;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 445 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 446
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 @447 fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 448
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 449 print_dbg("Register memory map at %p", fbdev->regs);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 450 print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 451
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 452 c = clk_get(NULL, "lcd_intclk");
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 453 if (!IS_ERR(c)) {
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 454 fbdev->lcdclk = c;
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 455 clk_set_rate(c, 48000000);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 456 clk_prepare_enable(c);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 457 }
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 458
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 459 /* Allocate the framebuffer to the maximum screen size * nbr of video buffers */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 460 fbdev->fb_len = fbdev->panel->xres * fbdev->panel->yres *
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 461 (fbdev->panel->bpp >> 3) * AU1100FB_NBR_VIDEO_BUFFERS;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 462
93019734555f8d drivers/video/au1100fb.c Manuel Lauss 2012-03-24 463 fbdev->fb_mem = dmam_alloc_coherent(&dev->dev,
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 464 PAGE_ALIGN(fbdev->fb_len),
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 465 &fbdev->fb_phys, GFP_KERNEL);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 466 if (!fbdev->fb_mem) {
4bad214934b5f7 drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 467 print_err("fail to allocate framebuffer (size: %zuK))",
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 468 fbdev->fb_len / 1024);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 469 return -ENOMEM;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 470 }
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 471
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 472 fbdev->info.fix.smem_start = fbdev->fb_phys;
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 473 fbdev->info.fix.smem_len = fbdev->fb_len;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 474
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 475 print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 476 print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 477
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 478 /* load the panel info into the var struct */
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 479 fbdev->info.var = (struct fb_var_screeninfo) {
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 480 .activate = FB_ACTIVATE_NOW,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 481 .height = -1,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 482 .width = -1,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 483 .vmode = FB_VMODE_NONINTERLACED,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 484 .bits_per_pixel = fbdev->panel->bpp,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 485 .xres = fbdev->panel->xres,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 486 .xres_virtual = fbdev->panel->xres,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 487 .yres = fbdev->panel->yres,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 488 .yres_virtual = fbdev->panel->yres,
fe1835daa1ae0e drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-07 489 };
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 490
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 491 fbdev->info.screen_base = fbdev->fb_mem;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 492 fbdev->info.fbops = &au1100fb_ops;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 493
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 494 fbdev->info.pseudo_palette =
a86854d0c599b3 drivers/video/fbdev/au1100fb.c Kees Cook 2018-06-12 495 devm_kcalloc(&dev->dev, 16, sizeof(u32), GFP_KERNEL);
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 496 if (!fbdev->info.pseudo_palette)
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 497 return -ENOMEM;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 498
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 499 if (fb_alloc_cmap(&fbdev->info.cmap, AU1100_LCD_NBR_PALETTE_ENTRIES, 0) < 0) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 500 print_err("Fail to allocate colormap (%d entries)",
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 501 AU1100_LCD_NBR_PALETTE_ENTRIES);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 502 return -EFAULT;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 503 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 504
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 505 /* Set h/w registers */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 506 au1100fb_setmode(fbdev);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 507
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 508 /* Register new framebuffer */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 509 if (register_framebuffer(&fbdev->info) < 0) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 510 print_err("cannot register new framebuffer");
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 511 goto failed;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 512 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 513
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 514 return 0;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 515
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 516 failed:
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 517 if (fbdev->lcdclk) {
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 518 clk_disable_unprepare(fbdev->lcdclk);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 519 clk_put(fbdev->lcdclk);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 520 }
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 521 if (fbdev->info.cmap.len != 0) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 522 fb_dealloc_cmap(&fbdev->info.cmap);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 523 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 524
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 525 return -ENODEV;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 526 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 527
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply
* Re: [PATCH v2 1/2] staging: sm750fb: Fix CamelCase variable names
From: Greg KH @ 2026-02-08 6:36 UTC (permalink / raw)
To: Shreyas Ravi
Cc: sudipm.mukherjee, teddy.wang, linux-fbdev, linux-staging,
linux-kernel
In-Reply-To: <20260208025919.1614754-1-shreyasravi320@gmail.com>
On Sat, Feb 07, 2026 at 06:59:18PM -0800, Shreyas Ravi wrote:
> Rename CamelCase variable names to snake_case to comply
> with kernel coding style.
>
> No functional changes
>
> Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
> ---
> drivers/staging/sm750fb/sm750.c | 34 +++----
> drivers/staging/sm750fb/sm750.h | 16 ++--
> drivers/staging/sm750fb/sm750_accel.c | 130 +++++++++++++-------------
> drivers/staging/sm750fb/sm750_accel.h | 44 ++++-----
> drivers/staging/sm750fb/sm750_hw.c | 26 +++---
> 5 files changed, 125 insertions(+), 125 deletions(-)
>
> diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
> index dec1f6b88a7d..1ed7ff57c142 100644
> --- a/drivers/staging/sm750fb/sm750.c
> +++ b/drivers/staging/sm750fb/sm750.c
> @@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
> output->paths = sm750_pnc;
> crtc->channel = sm750_primary;
> crtc->o_screen = 0;
> - crtc->v_screen = sm750_dev->pvMem;
> + crtc->v_screen = sm750_dev->p_v_mem;
> pr_info("use simul primary mode\n");
> break;
> case sm750_simul_sec:
> output->paths = sm750_pnc;
> crtc->channel = sm750_secondary;
> crtc->o_screen = 0;
> - crtc->v_screen = sm750_dev->pvMem;
> + crtc->v_screen = sm750_dev->p_v_mem;
> break;
> case sm750_dual_normal:
> if (par->index == 0) {
> output->paths = sm750_panel;
> crtc->channel = sm750_primary;
> crtc->o_screen = 0;
> - crtc->v_screen = sm750_dev->pvMem;
> + crtc->v_screen = sm750_dev->p_v_mem;
> } else {
> output->paths = sm750_crt;
> crtc->channel = sm750_secondary;
> /* not consider of padding stuffs for o_screen,need fix */
> crtc->o_screen = sm750_dev->vidmem_size >> 1;
> - crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
> + crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
> }
> break;
> case sm750_dual_swap:
> @@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
> output->paths = sm750_panel;
> crtc->channel = sm750_secondary;
> crtc->o_screen = 0;
> - crtc->v_screen = sm750_dev->pvMem;
> + crtc->v_screen = sm750_dev->p_v_mem;
> } else {
> output->paths = sm750_crt;
> crtc->channel = sm750_primary;
> @@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
> * need fix
> */
> crtc->o_screen = sm750_dev->vidmem_size >> 1;
> - crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
> + crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
> }
> break;
> default:
> @@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
> * must be set after crtc member initialized
> */
> crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
> - crtc->cursor.mmio = sm750_dev->pvReg +
> + crtc->cursor.mmio = sm750_dev->p_v_reg +
> 0x800f0 + (int)crtc->channel * 0x140;
>
> pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
> crtc->cursor.max_h = 64;
> crtc->cursor.max_w = 64;
> crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
> - crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
> + crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
>
> memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
> if (!g_hwcursor)
> @@ -921,9 +921,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
> sm750_dev->init_parm.chip_clk = 0;
> sm750_dev->init_parm.mem_clk = 0;
> sm750_dev->init_parm.master_clk = 0;
> - sm750_dev->init_parm.powerMode = 0;
> - sm750_dev->init_parm.setAllEngOff = 0;
> - sm750_dev->init_parm.resetMemory = 1;
> + sm750_dev->init_parm.power_mode = 0;
> + sm750_dev->init_parm.set_all_eng_off = 0;
> + sm750_dev->init_parm.reset_memory = 1;
>
> /* defaultly turn g_hwcursor on for both view */
> g_hwcursor = 3;
> @@ -942,11 +942,11 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
> } else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
> sm750_dev->nocrt = 1;
> } else if (!strncmp(opt, "36bit", strlen("36bit"))) {
> - sm750_dev->pnltype = sm750_doubleTFT;
> + sm750_dev->pnltype = sm750_double_tft;
> } else if (!strncmp(opt, "18bit", strlen("18bit"))) {
> - sm750_dev->pnltype = sm750_dualTFT;
> + sm750_dev->pnltype = sm750_dual_tft;
> } else if (!strncmp(opt, "24bit", strlen("24bit"))) {
> - sm750_dev->pnltype = sm750_24TFT;
> + sm750_dev->pnltype = sm750_24_tft;
> } else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
> g_hwcursor &= ~0x1;
> } else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
> @@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
> sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
> sm750_dev->vidmem_size);
>
> - memset_io(sm750_dev->pvMem, 0, sm750_dev->vidmem_size);
> + memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
>
> pci_set_drvdata(pdev, sm750_dev);
>
> @@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
> sm750fb_framebuffer_release(sm750_dev);
> arch_phys_wc_del(sm750_dev->mtrr.vram);
>
> - iounmap(sm750_dev->pvReg);
> - iounmap(sm750_dev->pvMem);
> + iounmap(sm750_dev->p_v_reg);
> + iounmap(sm750_dev->p_v_mem);
> kfree(g_settings);
> }
>
> diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
> index 67b9bfa23f41..14e0e7d75f7e 100644
> --- a/drivers/staging/sm750fb/sm750.h
> +++ b/drivers/staging/sm750fb/sm750.h
> @@ -13,9 +13,9 @@
> #endif
>
> enum sm750_pnltype {
> - sm750_24TFT = 0, /* 24bit tft */
> - sm750_dualTFT = 2, /* dual 18 bit tft */
> - sm750_doubleTFT = 1, /* 36 bit double pixel tft */
> + sm750_24_tft = 0, /* 24bit tft */
> + sm750_dual_tft = 2, /* dual 18 bit tft */
> + sm750_double_tft = 1, /* 36 bit double pixel tft */
> };
>
> /* vga channel is not concerned */
> @@ -39,13 +39,13 @@ enum sm750_path {
> };
>
> struct init_status {
> - ushort powerMode;
> + ushort power_mode;
> /* below three clocks are in unit of MHZ*/
> ushort chip_clk;
> ushort mem_clk;
> ushort master_clk;
> - ushort setAllEngOff;
> - ushort resetMemory;
> + ushort set_all_eng_off;
> + ushort reset_memory;
> };
>
> struct lynx_accel {
> @@ -97,8 +97,8 @@ struct sm750_dev {
> unsigned long vidreg_start;
> __u32 vidmem_size;
> __u32 vidreg_size;
> - void __iomem *pvReg;
> - unsigned char __iomem *pvMem;
> + void __iomem *p_v_reg;
> + unsigned char __iomem *p_v_mem;
> /* locks*/
> spinlock_t slock;
>
> diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
> index 046b9282b24a..4dd9b910af13 100644
> --- a/drivers/staging/sm750fb/sm750_accel.c
> +++ b/drivers/staging/sm750fb/sm750_accel.c
> @@ -27,7 +27,7 @@ static inline u32 read_dpr(struct lynx_accel *accel, int offset)
> return readl(accel->dpr_base + offset);
> }
>
> -static inline void write_dpPort(struct lynx_accel *accel, u32 data)
> +static inline void write_dp_port(struct lynx_accel *accel, u32 data)
> {
> writel(data, accel->dp_port_base);
> }
> @@ -85,7 +85,7 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt)
> }
>
> int sm750_hw_fillrect(struct lynx_accel *accel,
> - u32 base, u32 pitch, u32 Bpp,
> + u32 base, u32 pitch, u32 bytes_per_pixel,
> u32 x, u32 y, u32 width, u32 height,
> u32 color, u32 rop)
> {
> @@ -102,14 +102,14 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
>
> write_dpr(accel, DE_WINDOW_DESTINATION_BASE, base); /* dpr40 */
> write_dpr(accel, DE_PITCH,
> - ((pitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
> + ((pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
> DE_PITCH_DESTINATION_MASK) |
> - (pitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
> + (pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
>
> write_dpr(accel, DE_WINDOW_WIDTH,
> - ((pitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
> + ((pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
> DE_WINDOW_WIDTH_DST_MASK) |
> - (pitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
> + (pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
>
> write_dpr(accel, DE_FOREGROUND, color); /* DPR14 */
>
> @@ -132,13 +132,13 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
> /**
> * sm750_hw_copyarea
> * @accel: Acceleration device data
> - * @sBase: Address of source: offset in frame buffer
> - * @sPitch: Pitch value of source surface in BYTE
> + * @source_base: Address of source: offset in frame buffer
> + * @source_pitch: Pitch value of source surface in BYTE
> * @sx: Starting x coordinate of source surface
> * @sy: Starting y coordinate of source surface
> - * @dBase: Address of destination: offset in frame buffer
> - * @dPitch: Pitch value of destination surface in BYTE
> - * @Bpp: Color depth of destination surface
> + * @dest_base: Address of destination: offset in frame buffer
> + * @dest_pitch: Pitch value of destination surface in BYTE
> + * @bytes_per_pixel: Color depth of destination surface
> * @dx: Starting x coordinate of destination surface
> * @dy: Starting y coordinate of destination surface
> * @width: width of rectangle in pixel value
> @@ -146,21 +146,21 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
> * @rop2: ROP value
> */
> int sm750_hw_copyarea(struct lynx_accel *accel,
> - unsigned int sBase, unsigned int sPitch,
> + unsigned int source_base, unsigned int source_pitch,
> unsigned int sx, unsigned int sy,
> - unsigned int dBase, unsigned int dPitch,
> - unsigned int Bpp, unsigned int dx, unsigned int dy,
> + unsigned int dest_base, unsigned int dest_pitch,
> + unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
> unsigned int width, unsigned int height,
> unsigned int rop2)
> {
> - unsigned int nDirection, de_ctrl;
> + unsigned int n_direction, de_ctrl;
>
> - nDirection = LEFT_TO_RIGHT;
> + n_direction = LEFT_TO_RIGHT;
> /* Direction of ROP2 operation: 1 = Left to Right, (-1) = Right to Left */
> de_ctrl = 0;
>
> /* If source and destination are the same surface, need to check for overlay cases */
> - if (sBase == dBase && sPitch == dPitch) {
> + if (source_base == dest_base && source_pitch == dest_pitch) {
> /* Determine direction of operation */
> if (sy < dy) {
> /* +----------+
> @@ -173,7 +173,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * +----------+
> */
>
> - nDirection = BOTTOM_TO_TOP;
> + n_direction = BOTTOM_TO_TOP;
> } else if (sy > dy) {
> /* +----------+
> * |D |
> @@ -185,7 +185,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * +----------+
> */
>
> - nDirection = TOP_TO_BOTTOM;
> + n_direction = TOP_TO_BOTTOM;
> } else {
> /* sy == dy */
>
> @@ -198,7 +198,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * +------+---+------+
> */
>
> - nDirection = RIGHT_TO_LEFT;
> + n_direction = RIGHT_TO_LEFT;
> } else {
> /* sx > dx */
>
> @@ -210,12 +210,12 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * +------+---+------+
> */
>
> - nDirection = LEFT_TO_RIGHT;
> + n_direction = LEFT_TO_RIGHT;
> }
> }
> }
>
> - if ((nDirection == BOTTOM_TO_TOP) || (nDirection == RIGHT_TO_LEFT)) {
> + if ((n_direction == BOTTOM_TO_TOP) || (n_direction == RIGHT_TO_LEFT)) {
> sx += width - 1;
> sy += height - 1;
> dx += width - 1;
> @@ -234,14 +234,14 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * It is an address offset (128 bit aligned)
> * from the beginning of frame buffer.
> */
> - write_dpr(accel, DE_WINDOW_SOURCE_BASE, sBase); /* dpr40 */
> + write_dpr(accel, DE_WINDOW_SOURCE_BASE, source_base); /* dpr40 */
>
> /*
> * 2D Destination Base.
> * It is an address offset (128 bit aligned)
> * from the beginning of frame buffer.
> */
> - write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase); /* dpr44 */
> + write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dest_base); /* dpr44 */
>
> /*
> * Program pitch (distance between the 1st points of two adjacent lines).
> @@ -249,9 +249,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * pixel values. Need Byte to pixel conversion.
> */
> write_dpr(accel, DE_PITCH,
> - ((dPitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
> + ((dest_pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
> DE_PITCH_DESTINATION_MASK) |
> - (sPitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
> + (source_pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
>
> /*
> * Screen Window width in Pixels.
> @@ -259,9 +259,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> * for a given point.
> */
> write_dpr(accel, DE_WINDOW_WIDTH,
> - ((dPitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
> + ((dest_pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
> DE_WINDOW_WIDTH_DST_MASK) |
> - (sPitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
> + (source_pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
>
> if (accel->de_wait() != 0)
> return -1;
> @@ -277,7 +277,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
> (height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
>
> de_ctrl = (rop2 & DE_CONTROL_ROP_MASK) | DE_CONTROL_ROP_SELECT |
> - ((nDirection == RIGHT_TO_LEFT) ? DE_CONTROL_DIRECTION : 0) |
> + ((n_direction == RIGHT_TO_LEFT) ? DE_CONTROL_DIRECTION : 0) |
> DE_CONTROL_COMMAND_BITBLT | DE_CONTROL_STATUS;
> write_dpr(accel, DE_CONTROL, de_ctrl); /* dpr0c */
>
> @@ -299,38 +299,38 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
> /**
> * sm750_hw_imageblit
> * @accel: Acceleration device data
> - * @pSrcbuf: pointer to start of source buffer in system memory
> - * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
> + * @p_srcbuf: pointer to start of source buffer in system memory
> + * @src_delta: Pitch value (in bytes) of the source buffer, +ive means top down
> * and -ive mean button up
> - * @startBit: Mono data can start at any bit in a byte, this value should be
> + * @start_bit: Mono data can start at any bit in a byte, this value should be
> * 0 to 7
> - * @dBase: Address of destination: offset in frame buffer
> - * @dPitch: Pitch value of destination surface in BYTE
> - * @bytePerPixel: Color depth of destination surface
> + * @dest_base: Address of destination: offset in frame buffer
> + * @dest_pitch: Pitch value of destination surface in BYTE
> + * @byte_per_pixel: Color depth of destination surface
> * @dx: Starting x coordinate of destination surface
> * @dy: Starting y coordinate of destination surface
> * @width: width of rectangle in pixel value
> * @height: height of rectangle in pixel value
> - * @fColor: Foreground color (corresponding to a 1 in the monochrome data
> - * @bColor: Background color (corresponding to a 0 in the monochrome data
> + * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
> + * @bg_color: Background color (corresponding to a 0 in the monochrome data
> * @rop2: ROP value
> */
> -int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> - u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
> - u32 bytePerPixel, u32 dx, u32 dy, u32 width,
> - u32 height, u32 fColor, u32 bColor, u32 rop2)
> +int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
> + u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
> + u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
> + u32 height, u32 fg_color, u32 bg_color, u32 rop2)
> {
> - unsigned int ulBytesPerScan;
> - unsigned int ul4BytesPerScan;
> - unsigned int ulBytesRemain;
> + unsigned int ul_bytes_per_scan;
> + unsigned int ul_4_bytes_per_scan;
> + unsigned int ul_bytes_remain;
> unsigned int de_ctrl = 0;
> - unsigned char ajRemain[4];
> + unsigned char aj_remain[4];
> int i, j;
>
> - startBit &= 7; /* Just make sure the start bit is within legal range */
> - ulBytesPerScan = (width + startBit + 7) / 8;
> - ul4BytesPerScan = ulBytesPerScan & ~3;
> - ulBytesRemain = ulBytesPerScan & 3;
> + start_bit &= 7; /* Just make sure the start bit is within legal range */
> + ul_bytes_per_scan = (width + start_bit + 7) / 8;
> + ul_4_bytes_per_scan = ul_bytes_per_scan & ~3;
> + ul_bytes_remain = ul_bytes_per_scan & 3;
>
> if (accel->de_wait() != 0)
> return -1;
> @@ -345,7 +345,7 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> * It is an address offset (128 bit aligned)
> * from the beginning of frame buffer.
> */
> - write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase);
> + write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dest_base);
>
> /*
> * Program pitch (distance between the 1st points of two adjacent
> @@ -353,9 +353,9 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> * register uses pixel values. Need Byte to pixel conversion.
> */
> write_dpr(accel, DE_PITCH,
> - ((dPitch / bytePerPixel << DE_PITCH_DESTINATION_SHIFT) &
> + ((dest_pitch / byte_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
> DE_PITCH_DESTINATION_MASK) |
> - (dPitch / bytePerPixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
> + (dest_pitch / byte_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
>
> /*
> * Screen Window width in Pixels.
> @@ -363,17 +363,17 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> * in frame buffer for a given point.
> */
> write_dpr(accel, DE_WINDOW_WIDTH,
> - ((dPitch / bytePerPixel << DE_WINDOW_WIDTH_DST_SHIFT) &
> + ((dest_pitch / byte_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
> DE_WINDOW_WIDTH_DST_MASK) |
> - (dPitch / bytePerPixel & DE_WINDOW_WIDTH_SRC_MASK));
> + (dest_pitch / byte_per_pixel & DE_WINDOW_WIDTH_SRC_MASK));
>
> /*
> * Note: For 2D Source in Host Write, only X_K1_MONO field is needed,
> * and Y_K2 field is not used.
> - * For mono bitmap, use startBit for X_K1.
> + * For mono bitmap, use start_bit for X_K1.
> */
> write_dpr(accel, DE_SOURCE,
> - (startBit << DE_SOURCE_X_K1_SHIFT) &
> + (start_bit << DE_SOURCE_X_K1_SHIFT) &
> DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
>
> write_dpr(accel, DE_DESTINATION,
> @@ -384,8 +384,8 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> ((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
> (height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
>
> - write_dpr(accel, DE_FOREGROUND, fColor);
> - write_dpr(accel, DE_BACKGROUND, bColor);
> + write_dpr(accel, DE_FOREGROUND, fg_color);
> + write_dpr(accel, DE_BACKGROUND, bg_color);
>
> de_ctrl = (rop2 & DE_CONTROL_ROP_MASK) |
> DE_CONTROL_ROP_SELECT | DE_CONTROL_COMMAND_HOST_WRITE |
> @@ -396,16 +396,16 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> /* Write MONO data (line by line) to 2D Engine data port */
> for (i = 0; i < height; i++) {
> /* For each line, send the data in chunks of 4 bytes */
> - for (j = 0; j < (ul4BytesPerScan / 4); j++)
> - write_dpPort(accel, *(unsigned int *)(pSrcbuf + (j * 4)));
> + for (j = 0; j < (ul_4_bytes_per_scan / 4); j++)
> + write_dp_port(accel, *(unsigned int *)(p_srcbuf + (j * 4)));
>
> - if (ulBytesRemain) {
> - memcpy(ajRemain, pSrcbuf + ul4BytesPerScan,
> - ulBytesRemain);
> - write_dpPort(accel, *(unsigned int *)ajRemain);
> + if (ul_bytes_remain) {
> + memcpy(aj_remain, p_srcbuf + ul_4_bytes_per_scan,
> + ul_bytes_remain);
> + write_dp_port(accel, *(unsigned int *)aj_remain);
> }
>
> - pSrcbuf += srcDelta;
> + p_srcbuf += src_delta;
> }
>
> return 0;
> diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
> index 2c79cb730a0a..59e679961e96 100644
> --- a/drivers/staging/sm750fb/sm750_accel.h
> +++ b/drivers/staging/sm750fb/sm750_accel.h
> @@ -190,19 +190,19 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt);
> void sm750_hw_de_init(struct lynx_accel *accel);
>
> int sm750_hw_fillrect(struct lynx_accel *accel,
> - u32 base, u32 pitch, u32 Bpp,
> + u32 base, u32 pitch, u32 bytes_per_pixel,
> u32 x, u32 y, u32 width, u32 height,
> u32 color, u32 rop);
>
> /**
> * sm750_hm_copyarea
> - * @sBase: Address of source: offset in frame buffer
> - * @sPitch: Pitch value of source surface in BYTE
> + * @source_base: Address of source: offset in frame buffer
> + * @source_pitch: Pitch value of source surface in BYTE
> * @sx: Starting x coordinate of source surface
> * @sy: Starting y coordinate of source surface
> - * @dBase: Address of destination: offset in frame buffer
> - * @dPitch: Pitch value of destination surface in BYTE
> - * @Bpp: Color depth of destination surface
> + * @dest_base: Address of destination: offset in frame buffer
> + * @dest_pitch: Pitch value of destination surface in BYTE
> + * @bytes_per_pixel: Color depth of destination surface
> * @dx: Starting x coordinate of destination surface
> * @dy: Starting y coordinate of destination surface
> * @width: width of rectangle in pixel value
> @@ -210,34 +210,34 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
> * @rop2: ROP value
> */
> int sm750_hw_copyarea(struct lynx_accel *accel,
> - unsigned int sBase, unsigned int sPitch,
> + unsigned int source_base, unsigned int source_pitch,
> unsigned int sx, unsigned int sy,
> - unsigned int dBase, unsigned int dPitch,
> - unsigned int Bpp, unsigned int dx, unsigned int dy,
> + unsigned int dest_base, unsigned int dest_pitch,
> + unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
> unsigned int width, unsigned int height,
> unsigned int rop2);
>
> /**
> * sm750_hw_imageblit
> - * @pSrcbuf: pointer to start of source buffer in system memory
> - * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
> - *>----- and -ive mean button up
> - * @startBit: Mono data can start at any bit in a byte, this value should be
> + * @p_srcbuf: pointer to start of source buffer in system memory
> + * @src_delta: Pitch value (in bytes) of the source buffer, positive means top down
> + *>----- and negative mean bottom up
> + * @start_bit: Mono data can start at any bit in a byte, this value should be
> *>----- 0 to 7
> - * @dBase: Address of destination: offset in frame buffer
> - * @dPitch: Pitch value of destination surface in BYTE
> - * @bytePerPixel: Color depth of destination surface
> + * @dest_base: Address of destination: offset in frame buffer
> + * @dest_pitch: Pitch value of destination surface in BYTE
> + * @byte_per_pixel: Color depth of destination surface
> * @dx: Starting x coordinate of destination surface
> * @dy: Starting y coordinate of destination surface
> * @width: width of rectangle in pixel value
> * @height: height of rectangle in pixel value
> - * @fColor: Foreground color (corresponding to a 1 in the monochrome data
> - * @bColor: Background color (corresponding to a 0 in the monochrome data
> + * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
> + * @bg_color: Background color (corresponding to a 0 in the monochrome data
> * @rop2: ROP value
> */
> -int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
> - u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
> - u32 bytePerPixel, u32 dx, u32 dy, u32 width,
> - u32 height, u32 fColor, u32 bColor, u32 rop2);
> +int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
> + u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
> + u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
> + u32 height, u32 fg_color, u32 bg_color, u32 rop2);
>
> #endif
> diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
> index a29faee91c78..4e2ca7263254 100644
> --- a/drivers/staging/sm750fb/sm750_hw.c
> +++ b/drivers/staging/sm750fb/sm750_hw.c
> @@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
> }
>
> /* now map mmio and vidmem */
> - sm750_dev->pvReg =
> + sm750_dev->p_v_reg =
> ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
> - if (!sm750_dev->pvReg) {
> + if (!sm750_dev->p_v_reg) {
> pr_err("mmio failed\n");
> ret = -EFAULT;
> goto exit;
> }
> - pr_info("mmio virtual addr = %p\n", sm750_dev->pvReg);
> + pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
>
> - sm750_dev->accel.dpr_base = sm750_dev->pvReg + DE_BASE_ADDR_TYPE1;
> - sm750_dev->accel.dp_port_base = sm750_dev->pvReg + DE_PORT_ADDR_TYPE1;
> + sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
> + sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
>
> - mmio750 = sm750_dev->pvReg;
> + mmio750 = sm750_dev->p_v_reg;
> sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
>
> sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
> @@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
> sm750_dev->vidmem_start, sm750_dev->vidmem_size);
>
> /* reserve the vidmem space of smi adaptor */
> - sm750_dev->pvMem =
> + sm750_dev->p_v_mem =
> ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
> - if (!sm750_dev->pvMem) {
> - iounmap(sm750_dev->pvReg);
> + if (!sm750_dev->p_v_mem) {
> + iounmap(sm750_dev->p_v_reg);
> pr_err("Map video memory failed\n");
> ret = -EFAULT;
> goto exit;
> }
> - pr_info("video memory vaddr = %p\n", sm750_dev->pvMem);
> + pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
> exit:
> return ret;
> }
> @@ -134,12 +134,12 @@ int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
> ~(PANEL_DISPLAY_CTRL_DUAL_DISPLAY |
> PANEL_DISPLAY_CTRL_DOUBLE_PIXEL);
> switch (sm750_dev->pnltype) {
> - case sm750_24TFT:
> + case sm750_24_tft:
> break;
> - case sm750_doubleTFT:
> + case sm750_double_tft:
> val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
> break;
> - case sm750_dualTFT:
> + case sm750_dual_tft:
> val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
> break;
> }
> --
> 2.53.0
>
>
Hi,
This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
a patch that has triggered this response. He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created. Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.
You are receiving this message because of the following common error(s)
as indicated below:
- This looks like a new version of a previously submitted patch, but you
did not list below the --- line any changes from the previous version.
Please read the section entitled "The canonical patch format" in the
kernel file, Documentation/process/submitting-patches.rst for what
needs to be done here to properly describe this.
If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.
thanks,
greg k-h's patch email bot
^ permalink raw reply
* [PATCH v2 2/2] staging: sm750fb: remove Hungarian notation prefixes
From: Shreyas Ravi @ 2026-02-08 2:59 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Shreyas Ravi
In-Reply-To: <20260208025919.1614754-1-shreyasravi320@gmail.com>
Remove Hungarian notation prefixes from variable names to comply
with kernel coding style.
No functional changes.
Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
---
drivers/staging/sm750fb/sm750.c | 22 +++----
drivers/staging/sm750fb/sm750.h | 6 +-
drivers/staging/sm750fb/sm750_accel.c | 82 +++++++++++++--------------
drivers/staging/sm750fb/sm750_accel.h | 2 +-
drivers/staging/sm750fb/sm750_hw.c | 20 +++----
5 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 1ed7ff57c142..afcfc9e6c207 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_pnc;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
pr_info("use simul primary mode\n");
break;
case sm750_simul_sec:
output->paths = sm750_pnc;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
break;
case sm750_dual_normal:
if (par->index == 0) {
output->paths = sm750_panel;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_secondary;
/* not consider of padding stuffs for o_screen,need fix */
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->v_mem + crtc->o_screen;
}
break;
case sm750_dual_swap:
@@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_panel;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->p_v_mem;
+ crtc->v_screen = sm750_dev->v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_primary;
@@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
* need fix
*/
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->v_mem + crtc->o_screen;
}
break;
default:
@@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
* must be set after crtc member initialized
*/
crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
- crtc->cursor.mmio = sm750_dev->p_v_reg +
+ crtc->cursor.mmio = sm750_dev->v_reg +
0x800f0 + (int)crtc->channel * 0x140;
pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
crtc->cursor.max_h = 64;
crtc->cursor.max_w = 64;
crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
- crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
+ crtc->cursor.vstart = sm750_dev->v_mem + crtc->cursor.offset;
memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if (!g_hwcursor)
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
sm750_dev->vidmem_size);
- memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
+ memset_io(sm750_dev->v_mem, 0, sm750_dev->vidmem_size);
pci_set_drvdata(pdev, sm750_dev);
@@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
sm750fb_framebuffer_release(sm750_dev);
arch_phys_wc_del(sm750_dev->mtrr.vram);
- iounmap(sm750_dev->p_v_reg);
- iounmap(sm750_dev->p_v_mem);
+ iounmap(sm750_dev->v_reg);
+ iounmap(sm750_dev->v_mem);
kfree(g_settings);
}
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 14e0e7d75f7e..077dde6d6113 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -72,7 +72,7 @@ struct lynx_accel {
u32 width, u32 height,
u32 rop2);
- int (*de_imageblit)(struct lynx_accel *accel, const char *p_srcbuf,
+ int (*de_imageblit)(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 d_base, u32 d_pitch,
u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
u32 height, u32 f_color, u32 b_color, u32 rop2);
@@ -97,8 +97,8 @@ struct sm750_dev {
unsigned long vidreg_start;
__u32 vidmem_size;
__u32 vidreg_size;
- void __iomem *p_v_reg;
- unsigned char __iomem *p_v_mem;
+ void __iomem *v_reg;
+ unsigned char __iomem *v_mem;
/* locks*/
spinlock_t slock;
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index 4dd9b910af13..dbc1c266cf4a 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -134,22 +134,22 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @accel: Acceleration device data
* @source_base: Address of source: offset in frame buffer
* @source_pitch: Pitch value of source surface in BYTE
- * @sx: Starting x coordinate of source surface
- * @sy: Starting y coordinate of source surface
+ * @source_x: Starting x coordinate of source surface
+ * @source_y: Starting y coordinate of source surface
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
* @bytes_per_pixel: Color depth of destination surface
- * @dx: Starting x coordinate of destination surface
- * @dy: Starting y coordinate of destination surface
+ * @dest_x: Starting x coordinate of destination surface
+ * @dest_y: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
unsigned int source_base, unsigned int source_pitch,
- unsigned int sx, unsigned int sy,
+ unsigned int source_x, unsigned int source_y,
unsigned int dest_base, unsigned int dest_pitch,
- unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
+ unsigned int bytes_per_pixel, unsigned int dest_x, unsigned int dest_y,
unsigned int width, unsigned int height,
unsigned int rop2)
{
@@ -162,7 +162,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
/* If source and destination are the same surface, need to check for overlay cases */
if (source_base == dest_base && source_pitch == dest_pitch) {
/* Determine direction of operation */
- if (sy < dy) {
+ if (source_y < dest_y) {
/* +----------+
* |S |
* | +----------+
@@ -174,7 +174,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
*/
n_direction = BOTTOM_TO_TOP;
- } else if (sy > dy) {
+ } else if (source_y > dest_y) {
/* +----------+
* |D |
* | +----------+
@@ -189,7 +189,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
} else {
/* sy == dy */
- if (sx <= dx) {
+ if (source_x <= dest_x) {
/* +------+---+------+
* |S | | D|
* | | | |
@@ -200,7 +200,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
n_direction = RIGHT_TO_LEFT;
} else {
- /* sx > dx */
+ /* source_x > dest_x */
/* +------+---+------+
* |D | | S|
@@ -216,10 +216,10 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
}
if ((n_direction == BOTTOM_TO_TOP) || (n_direction == RIGHT_TO_LEFT)) {
- sx += width - 1;
- sy += height - 1;
- dx += width - 1;
- dy += height - 1;
+ source_x += width - 1;
+ source_y += height - 1;
+ dest_x += width - 1;
+ dest_y += height - 1;
}
/*
@@ -267,11 +267,11 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
return -1;
write_dpr(accel, DE_SOURCE,
- ((sx << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
- (sy & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
+ ((source_x << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) |
+ (source_y & DE_SOURCE_Y_K2_MASK)); /* dpr0 */
write_dpr(accel, DE_DESTINATION,
- ((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
- (dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
+ ((dest_x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
+ (dest_y & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
@@ -299,38 +299,38 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
/**
* sm750_hw_imageblit
* @accel: Acceleration device data
- * @p_srcbuf: pointer to start of source buffer in system memory
- * @src_delta: Pitch value (in bytes) of the source buffer, +ive means top down
- * and -ive mean button up
+ * @srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, positive means top down
+ * and negative mean bottom up
* @start_bit: Mono data can start at any bit in a byte, this value should be
* 0 to 7
* @dest_base: Address of destination: offset in frame buffer
* @dest_pitch: Pitch value of destination surface in BYTE
* @byte_per_pixel: Color depth of destination surface
- * @dx: Starting x coordinate of destination surface
- * @dy: Starting y coordinate of destination surface
+ * @dest_x: Starting x coordinate of destination surface
+ * @dest_y: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
* @fg_color: Foreground color (corresponding to a 1 in the monochrome data
* @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
- u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 byte_per_pixel, u32 dest_x, u32 dest_y, u32 width,
u32 height, u32 fg_color, u32 bg_color, u32 rop2)
{
- unsigned int ul_bytes_per_scan;
- unsigned int ul_4_bytes_per_scan;
- unsigned int ul_bytes_remain;
+ unsigned int bytes_per_scan;
+ unsigned int four_bytes_per_scan;
+ unsigned int bytes_remain;
unsigned int de_ctrl = 0;
- unsigned char aj_remain[4];
+ unsigned char remaining_bytes[4];
int i, j;
start_bit &= 7; /* Just make sure the start bit is within legal range */
- ul_bytes_per_scan = (width + start_bit + 7) / 8;
- ul_4_bytes_per_scan = ul_bytes_per_scan & ~3;
- ul_bytes_remain = ul_bytes_per_scan & 3;
+ bytes_per_scan = (width + start_bit + 7) / 8;
+ four_bytes_per_scan = bytes_per_scan & ~3;
+ bytes_remain = bytes_per_scan & 3;
if (accel->de_wait() != 0)
return -1;
@@ -377,8 +377,8 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
- ((dx << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
- (dy & DE_DESTINATION_Y_MASK)); /* dpr04 */
+ ((dest_x << DE_DESTINATION_X_SHIFT) & DE_DESTINATION_X_MASK) |
+ (dest_y & DE_DESTINATION_Y_MASK)); /* dpr04 */
write_dpr(accel, DE_DIMENSION,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
@@ -396,16 +396,16 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
/* Write MONO data (line by line) to 2D Engine data port */
for (i = 0; i < height; i++) {
/* For each line, send the data in chunks of 4 bytes */
- for (j = 0; j < (ul_4_bytes_per_scan / 4); j++)
- write_dp_port(accel, *(unsigned int *)(p_srcbuf + (j * 4)));
+ for (j = 0; j < (four_bytes_per_scan / 4); j++)
+ write_dp_port(accel, *(unsigned int *)(srcbuf + (j * 4)));
- if (ul_bytes_remain) {
- memcpy(aj_remain, p_srcbuf + ul_4_bytes_per_scan,
- ul_bytes_remain);
- write_dp_port(accel, *(unsigned int *)aj_remain);
+ if (bytes_remain) {
+ memcpy(remaining_bytes, srcbuf + four_bytes_per_scan,
+ bytes_remain);
+ write_dp_port(accel, *(unsigned int *)remaining_bytes);
}
- p_srcbuf += src_delta;
+ srcbuf += src_delta;
}
return 0;
diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
index 59e679961e96..00a6a022e17e 100644
--- a/drivers/staging/sm750fb/sm750_accel.h
+++ b/drivers/staging/sm750fb/sm750_accel.h
@@ -235,7 +235,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *srcbuf,
u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
u32 height, u32 fg_color, u32 bg_color, u32 rop2);
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index 4e2ca7263254..b8bc55ba3c54 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
}
/* now map mmio and vidmem */
- sm750_dev->p_v_reg =
+ sm750_dev->v_reg =
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
- if (!sm750_dev->p_v_reg) {
+ if (!sm750_dev->v_reg) {
pr_err("mmio failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
+ pr_info("mmio virtual addr = %p\n", sm750_dev->v_reg);
- sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
- sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
+ sm750_dev->accel.dpr_base = sm750_dev->v_reg + DE_BASE_ADDR_TYPE1;
+ sm750_dev->accel.dp_port_base = sm750_dev->v_reg + DE_PORT_ADDR_TYPE1;
- mmio750 = sm750_dev->p_v_reg;
+ mmio750 = sm750_dev->v_reg;
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
@@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
/* reserve the vidmem space of smi adaptor */
- sm750_dev->p_v_mem =
+ sm750_dev->v_mem =
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
- if (!sm750_dev->p_v_mem) {
- iounmap(sm750_dev->p_v_reg);
+ if (!sm750_dev->v_mem) {
+ iounmap(sm750_dev->v_reg);
pr_err("Map video memory failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
+ pr_info("video memory vaddr = %p\n", sm750_dev->v_mem);
exit:
return ret;
}
--
2.53.0
^ permalink raw reply related
* [PATCH v2 1/2] staging: sm750fb: Fix CamelCase variable names
From: Shreyas Ravi @ 2026-02-08 2:59 UTC (permalink / raw)
To: sudipm.mukherjee, teddy.wang, gregkh
Cc: linux-fbdev, linux-staging, linux-kernel, Shreyas Ravi
In-Reply-To: <2026020717-unmarked-hundredth-6660@gregkh>
Rename CamelCase variable names to snake_case to comply
with kernel coding style.
No functional changes
Signed-off-by: Shreyas Ravi <shreyasravi320@gmail.com>
---
drivers/staging/sm750fb/sm750.c | 34 +++----
drivers/staging/sm750fb/sm750.h | 16 ++--
drivers/staging/sm750fb/sm750_accel.c | 130 +++++++++++++-------------
drivers/staging/sm750fb/sm750_accel.h | 44 ++++-----
drivers/staging/sm750fb/sm750_hw.c | 26 +++---
5 files changed, 125 insertions(+), 125 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index dec1f6b88a7d..1ed7ff57c142 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -624,27 +624,27 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_pnc;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
pr_info("use simul primary mode\n");
break;
case sm750_simul_sec:
output->paths = sm750_pnc;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
break;
case sm750_dual_normal:
if (par->index == 0) {
output->paths = sm750_panel;
crtc->channel = sm750_primary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_secondary;
/* not consider of padding stuffs for o_screen,need fix */
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
}
break;
case sm750_dual_swap:
@@ -652,7 +652,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
output->paths = sm750_panel;
crtc->channel = sm750_secondary;
crtc->o_screen = 0;
- crtc->v_screen = sm750_dev->pvMem;
+ crtc->v_screen = sm750_dev->p_v_mem;
} else {
output->paths = sm750_crt;
crtc->channel = sm750_primary;
@@ -660,7 +660,7 @@ static int sm750fb_set_drv(struct lynxfb_par *par)
* need fix
*/
crtc->o_screen = sm750_dev->vidmem_size >> 1;
- crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
+ crtc->v_screen = sm750_dev->p_v_mem + crtc->o_screen;
}
break;
default:
@@ -764,14 +764,14 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
* must be set after crtc member initialized
*/
crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
- crtc->cursor.mmio = sm750_dev->pvReg +
+ crtc->cursor.mmio = sm750_dev->p_v_reg +
0x800f0 + (int)crtc->channel * 0x140;
pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
crtc->cursor.max_h = 64;
crtc->cursor.max_w = 64;
crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
- crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
+ crtc->cursor.vstart = sm750_dev->p_v_mem + crtc->cursor.offset;
memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if (!g_hwcursor)
@@ -921,9 +921,9 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
sm750_dev->init_parm.chip_clk = 0;
sm750_dev->init_parm.mem_clk = 0;
sm750_dev->init_parm.master_clk = 0;
- sm750_dev->init_parm.powerMode = 0;
- sm750_dev->init_parm.setAllEngOff = 0;
- sm750_dev->init_parm.resetMemory = 1;
+ sm750_dev->init_parm.power_mode = 0;
+ sm750_dev->init_parm.set_all_eng_off = 0;
+ sm750_dev->init_parm.reset_memory = 1;
/* defaultly turn g_hwcursor on for both view */
g_hwcursor = 3;
@@ -942,11 +942,11 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
sm750_dev->nocrt = 1;
} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
- sm750_dev->pnltype = sm750_doubleTFT;
+ sm750_dev->pnltype = sm750_double_tft;
} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
- sm750_dev->pnltype = sm750_dualTFT;
+ sm750_dev->pnltype = sm750_dual_tft;
} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
- sm750_dev->pnltype = sm750_24TFT;
+ sm750_dev->pnltype = sm750_24_tft;
} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
g_hwcursor &= ~0x1;
} else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
@@ -1090,7 +1090,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev,
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
sm750_dev->vidmem_size);
- memset_io(sm750_dev->pvMem, 0, sm750_dev->vidmem_size);
+ memset_io(sm750_dev->p_v_mem, 0, sm750_dev->vidmem_size);
pci_set_drvdata(pdev, sm750_dev);
@@ -1121,8 +1121,8 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
sm750fb_framebuffer_release(sm750_dev);
arch_phys_wc_del(sm750_dev->mtrr.vram);
- iounmap(sm750_dev->pvReg);
- iounmap(sm750_dev->pvMem);
+ iounmap(sm750_dev->p_v_reg);
+ iounmap(sm750_dev->p_v_mem);
kfree(g_settings);
}
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 67b9bfa23f41..14e0e7d75f7e 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -13,9 +13,9 @@
#endif
enum sm750_pnltype {
- sm750_24TFT = 0, /* 24bit tft */
- sm750_dualTFT = 2, /* dual 18 bit tft */
- sm750_doubleTFT = 1, /* 36 bit double pixel tft */
+ sm750_24_tft = 0, /* 24bit tft */
+ sm750_dual_tft = 2, /* dual 18 bit tft */
+ sm750_double_tft = 1, /* 36 bit double pixel tft */
};
/* vga channel is not concerned */
@@ -39,13 +39,13 @@ enum sm750_path {
};
struct init_status {
- ushort powerMode;
+ ushort power_mode;
/* below three clocks are in unit of MHZ*/
ushort chip_clk;
ushort mem_clk;
ushort master_clk;
- ushort setAllEngOff;
- ushort resetMemory;
+ ushort set_all_eng_off;
+ ushort reset_memory;
};
struct lynx_accel {
@@ -97,8 +97,8 @@ struct sm750_dev {
unsigned long vidreg_start;
__u32 vidmem_size;
__u32 vidreg_size;
- void __iomem *pvReg;
- unsigned char __iomem *pvMem;
+ void __iomem *p_v_reg;
+ unsigned char __iomem *p_v_mem;
/* locks*/
spinlock_t slock;
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index 046b9282b24a..4dd9b910af13 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -27,7 +27,7 @@ static inline u32 read_dpr(struct lynx_accel *accel, int offset)
return readl(accel->dpr_base + offset);
}
-static inline void write_dpPort(struct lynx_accel *accel, u32 data)
+static inline void write_dp_port(struct lynx_accel *accel, u32 data)
{
writel(data, accel->dp_port_base);
}
@@ -85,7 +85,7 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt)
}
int sm750_hw_fillrect(struct lynx_accel *accel,
- u32 base, u32 pitch, u32 Bpp,
+ u32 base, u32 pitch, u32 bytes_per_pixel,
u32 x, u32 y, u32 width, u32 height,
u32 color, u32 rop)
{
@@ -102,14 +102,14 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
write_dpr(accel, DE_WINDOW_DESTINATION_BASE, base); /* dpr40 */
write_dpr(accel, DE_PITCH,
- ((pitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
+ ((pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (pitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
write_dpr(accel, DE_WINDOW_WIDTH,
- ((pitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (pitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
+ (pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr44 */
write_dpr(accel, DE_FOREGROUND, color); /* DPR14 */
@@ -132,13 +132,13 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
/**
* sm750_hw_copyarea
* @accel: Acceleration device data
- * @sBase: Address of source: offset in frame buffer
- * @sPitch: Pitch value of source surface in BYTE
+ * @source_base: Address of source: offset in frame buffer
+ * @source_pitch: Pitch value of source surface in BYTE
* @sx: Starting x coordinate of source surface
* @sy: Starting y coordinate of source surface
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @Bpp: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @bytes_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
@@ -146,21 +146,21 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
- unsigned int sBase, unsigned int sPitch,
+ unsigned int source_base, unsigned int source_pitch,
unsigned int sx, unsigned int sy,
- unsigned int dBase, unsigned int dPitch,
- unsigned int Bpp, unsigned int dx, unsigned int dy,
+ unsigned int dest_base, unsigned int dest_pitch,
+ unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
unsigned int width, unsigned int height,
unsigned int rop2)
{
- unsigned int nDirection, de_ctrl;
+ unsigned int n_direction, de_ctrl;
- nDirection = LEFT_TO_RIGHT;
+ n_direction = LEFT_TO_RIGHT;
/* Direction of ROP2 operation: 1 = Left to Right, (-1) = Right to Left */
de_ctrl = 0;
/* If source and destination are the same surface, need to check for overlay cases */
- if (sBase == dBase && sPitch == dPitch) {
+ if (source_base == dest_base && source_pitch == dest_pitch) {
/* Determine direction of operation */
if (sy < dy) {
/* +----------+
@@ -173,7 +173,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +----------+
*/
- nDirection = BOTTOM_TO_TOP;
+ n_direction = BOTTOM_TO_TOP;
} else if (sy > dy) {
/* +----------+
* |D |
@@ -185,7 +185,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +----------+
*/
- nDirection = TOP_TO_BOTTOM;
+ n_direction = TOP_TO_BOTTOM;
} else {
/* sy == dy */
@@ -198,7 +198,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +------+---+------+
*/
- nDirection = RIGHT_TO_LEFT;
+ n_direction = RIGHT_TO_LEFT;
} else {
/* sx > dx */
@@ -210,12 +210,12 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* +------+---+------+
*/
- nDirection = LEFT_TO_RIGHT;
+ n_direction = LEFT_TO_RIGHT;
}
}
}
- if ((nDirection == BOTTOM_TO_TOP) || (nDirection == RIGHT_TO_LEFT)) {
+ if ((n_direction == BOTTOM_TO_TOP) || (n_direction == RIGHT_TO_LEFT)) {
sx += width - 1;
sy += height - 1;
dx += width - 1;
@@ -234,14 +234,14 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* It is an address offset (128 bit aligned)
* from the beginning of frame buffer.
*/
- write_dpr(accel, DE_WINDOW_SOURCE_BASE, sBase); /* dpr40 */
+ write_dpr(accel, DE_WINDOW_SOURCE_BASE, source_base); /* dpr40 */
/*
* 2D Destination Base.
* It is an address offset (128 bit aligned)
* from the beginning of frame buffer.
*/
- write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase); /* dpr44 */
+ write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dest_base); /* dpr44 */
/*
* Program pitch (distance between the 1st points of two adjacent lines).
@@ -249,9 +249,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* pixel values. Need Byte to pixel conversion.
*/
write_dpr(accel, DE_PITCH,
- ((dPitch / Bpp << DE_PITCH_DESTINATION_SHIFT) &
+ ((dest_pitch / bytes_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (sPitch / Bpp & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (source_pitch / bytes_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
/*
* Screen Window width in Pixels.
@@ -259,9 +259,9 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
* for a given point.
*/
write_dpr(accel, DE_WINDOW_WIDTH,
- ((dPitch / Bpp << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((dest_pitch / bytes_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (sPitch / Bpp & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
+ (source_pitch / bytes_per_pixel & DE_WINDOW_WIDTH_SRC_MASK)); /* dpr3c */
if (accel->de_wait() != 0)
return -1;
@@ -277,7 +277,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel,
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
de_ctrl = (rop2 & DE_CONTROL_ROP_MASK) | DE_CONTROL_ROP_SELECT |
- ((nDirection == RIGHT_TO_LEFT) ? DE_CONTROL_DIRECTION : 0) |
+ ((n_direction == RIGHT_TO_LEFT) ? DE_CONTROL_DIRECTION : 0) |
DE_CONTROL_COMMAND_BITBLT | DE_CONTROL_STATUS;
write_dpr(accel, DE_CONTROL, de_ctrl); /* dpr0c */
@@ -299,38 +299,38 @@ static unsigned int de_get_transparency(struct lynx_accel *accel)
/**
* sm750_hw_imageblit
* @accel: Acceleration device data
- * @pSrcbuf: pointer to start of source buffer in system memory
- * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
+ * @p_srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, +ive means top down
* and -ive mean button up
- * @startBit: Mono data can start at any bit in a byte, this value should be
+ * @start_bit: Mono data can start at any bit in a byte, this value should be
* 0 to 7
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @bytePerPixel: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @byte_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
- * @fColor: Foreground color (corresponding to a 1 in the monochrome data
- * @bColor: Background color (corresponding to a 0 in the monochrome data
+ * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
+ * @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
- u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
- u32 bytePerPixel, u32 dx, u32 dy, u32 width,
- u32 height, u32 fColor, u32 bColor, u32 rop2)
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+ u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
+ u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 height, u32 fg_color, u32 bg_color, u32 rop2)
{
- unsigned int ulBytesPerScan;
- unsigned int ul4BytesPerScan;
- unsigned int ulBytesRemain;
+ unsigned int ul_bytes_per_scan;
+ unsigned int ul_4_bytes_per_scan;
+ unsigned int ul_bytes_remain;
unsigned int de_ctrl = 0;
- unsigned char ajRemain[4];
+ unsigned char aj_remain[4];
int i, j;
- startBit &= 7; /* Just make sure the start bit is within legal range */
- ulBytesPerScan = (width + startBit + 7) / 8;
- ul4BytesPerScan = ulBytesPerScan & ~3;
- ulBytesRemain = ulBytesPerScan & 3;
+ start_bit &= 7; /* Just make sure the start bit is within legal range */
+ ul_bytes_per_scan = (width + start_bit + 7) / 8;
+ ul_4_bytes_per_scan = ul_bytes_per_scan & ~3;
+ ul_bytes_remain = ul_bytes_per_scan & 3;
if (accel->de_wait() != 0)
return -1;
@@ -345,7 +345,7 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
* It is an address offset (128 bit aligned)
* from the beginning of frame buffer.
*/
- write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dBase);
+ write_dpr(accel, DE_WINDOW_DESTINATION_BASE, dest_base);
/*
* Program pitch (distance between the 1st points of two adjacent
@@ -353,9 +353,9 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
* register uses pixel values. Need Byte to pixel conversion.
*/
write_dpr(accel, DE_PITCH,
- ((dPitch / bytePerPixel << DE_PITCH_DESTINATION_SHIFT) &
+ ((dest_pitch / byte_per_pixel << DE_PITCH_DESTINATION_SHIFT) &
DE_PITCH_DESTINATION_MASK) |
- (dPitch / bytePerPixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
+ (dest_pitch / byte_per_pixel & DE_PITCH_SOURCE_MASK)); /* dpr10 */
/*
* Screen Window width in Pixels.
@@ -363,17 +363,17 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
* in frame buffer for a given point.
*/
write_dpr(accel, DE_WINDOW_WIDTH,
- ((dPitch / bytePerPixel << DE_WINDOW_WIDTH_DST_SHIFT) &
+ ((dest_pitch / byte_per_pixel << DE_WINDOW_WIDTH_DST_SHIFT) &
DE_WINDOW_WIDTH_DST_MASK) |
- (dPitch / bytePerPixel & DE_WINDOW_WIDTH_SRC_MASK));
+ (dest_pitch / byte_per_pixel & DE_WINDOW_WIDTH_SRC_MASK));
/*
* Note: For 2D Source in Host Write, only X_K1_MONO field is needed,
* and Y_K2 field is not used.
- * For mono bitmap, use startBit for X_K1.
+ * For mono bitmap, use start_bit for X_K1.
*/
write_dpr(accel, DE_SOURCE,
- (startBit << DE_SOURCE_X_K1_SHIFT) &
+ (start_bit << DE_SOURCE_X_K1_SHIFT) &
DE_SOURCE_X_K1_MONO_MASK); /* dpr00 */
write_dpr(accel, DE_DESTINATION,
@@ -384,8 +384,8 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
((width << DE_DIMENSION_X_SHIFT) & DE_DIMENSION_X_MASK) |
(height & DE_DIMENSION_Y_ET_MASK)); /* dpr08 */
- write_dpr(accel, DE_FOREGROUND, fColor);
- write_dpr(accel, DE_BACKGROUND, bColor);
+ write_dpr(accel, DE_FOREGROUND, fg_color);
+ write_dpr(accel, DE_BACKGROUND, bg_color);
de_ctrl = (rop2 & DE_CONTROL_ROP_MASK) |
DE_CONTROL_ROP_SELECT | DE_CONTROL_COMMAND_HOST_WRITE |
@@ -396,16 +396,16 @@ int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
/* Write MONO data (line by line) to 2D Engine data port */
for (i = 0; i < height; i++) {
/* For each line, send the data in chunks of 4 bytes */
- for (j = 0; j < (ul4BytesPerScan / 4); j++)
- write_dpPort(accel, *(unsigned int *)(pSrcbuf + (j * 4)));
+ for (j = 0; j < (ul_4_bytes_per_scan / 4); j++)
+ write_dp_port(accel, *(unsigned int *)(p_srcbuf + (j * 4)));
- if (ulBytesRemain) {
- memcpy(ajRemain, pSrcbuf + ul4BytesPerScan,
- ulBytesRemain);
- write_dpPort(accel, *(unsigned int *)ajRemain);
+ if (ul_bytes_remain) {
+ memcpy(aj_remain, p_srcbuf + ul_4_bytes_per_scan,
+ ul_bytes_remain);
+ write_dp_port(accel, *(unsigned int *)aj_remain);
}
- pSrcbuf += srcDelta;
+ p_srcbuf += src_delta;
}
return 0;
diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h
index 2c79cb730a0a..59e679961e96 100644
--- a/drivers/staging/sm750fb/sm750_accel.h
+++ b/drivers/staging/sm750fb/sm750_accel.h
@@ -190,19 +190,19 @@ void sm750_hw_set2dformat(struct lynx_accel *accel, int fmt);
void sm750_hw_de_init(struct lynx_accel *accel);
int sm750_hw_fillrect(struct lynx_accel *accel,
- u32 base, u32 pitch, u32 Bpp,
+ u32 base, u32 pitch, u32 bytes_per_pixel,
u32 x, u32 y, u32 width, u32 height,
u32 color, u32 rop);
/**
* sm750_hm_copyarea
- * @sBase: Address of source: offset in frame buffer
- * @sPitch: Pitch value of source surface in BYTE
+ * @source_base: Address of source: offset in frame buffer
+ * @source_pitch: Pitch value of source surface in BYTE
* @sx: Starting x coordinate of source surface
* @sy: Starting y coordinate of source surface
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @Bpp: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @bytes_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
@@ -210,34 +210,34 @@ int sm750_hw_fillrect(struct lynx_accel *accel,
* @rop2: ROP value
*/
int sm750_hw_copyarea(struct lynx_accel *accel,
- unsigned int sBase, unsigned int sPitch,
+ unsigned int source_base, unsigned int source_pitch,
unsigned int sx, unsigned int sy,
- unsigned int dBase, unsigned int dPitch,
- unsigned int Bpp, unsigned int dx, unsigned int dy,
+ unsigned int dest_base, unsigned int dest_pitch,
+ unsigned int bytes_per_pixel, unsigned int dx, unsigned int dy,
unsigned int width, unsigned int height,
unsigned int rop2);
/**
* sm750_hw_imageblit
- * @pSrcbuf: pointer to start of source buffer in system memory
- * @srcDelta: Pitch value (in bytes) of the source buffer, +ive means top down
- *>----- and -ive mean button up
- * @startBit: Mono data can start at any bit in a byte, this value should be
+ * @p_srcbuf: pointer to start of source buffer in system memory
+ * @src_delta: Pitch value (in bytes) of the source buffer, positive means top down
+ *>----- and negative mean bottom up
+ * @start_bit: Mono data can start at any bit in a byte, this value should be
*>----- 0 to 7
- * @dBase: Address of destination: offset in frame buffer
- * @dPitch: Pitch value of destination surface in BYTE
- * @bytePerPixel: Color depth of destination surface
+ * @dest_base: Address of destination: offset in frame buffer
+ * @dest_pitch: Pitch value of destination surface in BYTE
+ * @byte_per_pixel: Color depth of destination surface
* @dx: Starting x coordinate of destination surface
* @dy: Starting y coordinate of destination surface
* @width: width of rectangle in pixel value
* @height: height of rectangle in pixel value
- * @fColor: Foreground color (corresponding to a 1 in the monochrome data
- * @bColor: Background color (corresponding to a 0 in the monochrome data
+ * @fg_color: Foreground color (corresponding to a 1 in the monochrome data
+ * @bg_color: Background color (corresponding to a 0 in the monochrome data
* @rop2: ROP value
*/
-int sm750_hw_imageblit(struct lynx_accel *accel, const char *pSrcbuf,
- u32 srcDelta, u32 startBit, u32 dBase, u32 dPitch,
- u32 bytePerPixel, u32 dx, u32 dy, u32 width,
- u32 height, u32 fColor, u32 bColor, u32 rop2);
+int sm750_hw_imageblit(struct lynx_accel *accel, const char *p_srcbuf,
+ u32 src_delta, u32 start_bit, u32 dest_base, u32 dest_pitch,
+ u32 byte_per_pixel, u32 dx, u32 dy, u32 width,
+ u32 height, u32 fg_color, u32 bg_color, u32 rop2);
#endif
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index a29faee91c78..4e2ca7263254 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -49,19 +49,19 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
}
/* now map mmio and vidmem */
- sm750_dev->pvReg =
+ sm750_dev->p_v_reg =
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
- if (!sm750_dev->pvReg) {
+ if (!sm750_dev->p_v_reg) {
pr_err("mmio failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("mmio virtual addr = %p\n", sm750_dev->pvReg);
+ pr_info("mmio virtual addr = %p\n", sm750_dev->p_v_reg);
- sm750_dev->accel.dpr_base = sm750_dev->pvReg + DE_BASE_ADDR_TYPE1;
- sm750_dev->accel.dp_port_base = sm750_dev->pvReg + DE_PORT_ADDR_TYPE1;
+ sm750_dev->accel.dpr_base = sm750_dev->p_v_reg + DE_BASE_ADDR_TYPE1;
+ sm750_dev->accel.dp_port_base = sm750_dev->p_v_reg + DE_PORT_ADDR_TYPE1;
- mmio750 = sm750_dev->pvReg;
+ mmio750 = sm750_dev->p_v_reg;
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
@@ -76,15 +76,15 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
/* reserve the vidmem space of smi adaptor */
- sm750_dev->pvMem =
+ sm750_dev->p_v_mem =
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
- if (!sm750_dev->pvMem) {
- iounmap(sm750_dev->pvReg);
+ if (!sm750_dev->p_v_mem) {
+ iounmap(sm750_dev->p_v_reg);
pr_err("Map video memory failed\n");
ret = -EFAULT;
goto exit;
}
- pr_info("video memory vaddr = %p\n", sm750_dev->pvMem);
+ pr_info("video memory vaddr = %p\n", sm750_dev->p_v_mem);
exit:
return ret;
}
@@ -134,12 +134,12 @@ int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
~(PANEL_DISPLAY_CTRL_DUAL_DISPLAY |
PANEL_DISPLAY_CTRL_DOUBLE_PIXEL);
switch (sm750_dev->pnltype) {
- case sm750_24TFT:
+ case sm750_24_tft:
break;
- case sm750_doubleTFT:
+ case sm750_double_tft:
val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
break;
- case sm750_dualTFT:
+ case sm750_dual_tft:
val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
break;
}
--
2.53.0
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox