From c97cac5c710165e16919bdb5aa3daf995ef68caf Mon Sep 17 00:00:00 2001 From: Tao Zeng Date: Sun, 28 Jun 2020 15:43:25 +0800 Subject: [PATCH] config: remove unused configs on ref-board [1/1] PD#SWPL-27983 Problem: code size of kernel is too large Solution: remove unused but default enabled configs for refernce-board code size comparison(base on ARMv7): ------------------------------------------ | before(KB) | after(KB) ------------------------------------------ kernel code: | 14336 | 11456 rwdata: | 1352 | 1195 rodata: | 5144 | 4560 init: | 1024 | 1024 bss: | 1379 | 1327 ------------------------------------------ summary: | 22211 | 18538 ------------------------------------------ This change can save about 3.6MB kernel code size Verify: x301 Signed-off-by: Tao Zeng Change-Id: Iafc4b2a2b8dc55a42fbee197cc7272fd2c476cec Signed-off-by: Tao Zeng Signed-off-by: chunlong.cao --- arch/arm/configs/meson64_a32_defconfig | 253 ++++++++++++---------- arch/arm/kernel/ftrace.c | 6 + arch/arm/kernel/head-common.S | 3 + arch/arm/kernel/setup.c | 5 +- drivers/amlogic/ddr_tool/Kconfig | 21 ++ drivers/amlogic/ddr_tool/Makefile | 6 +- drivers/amlogic/ddr_tool/ddr_bandwidth.c | 12 +- drivers/amlogic/ddr_tool/dmc_monitor.c | 7 +- drivers/amlogic/usb/Kconfig | 1 + include/linux/amlogic/aml_ddr_bandwidth.h | 2 + include/linux/amlogic/dmc_monitor.h | 2 + include/uapi/linux/dvb/frontend.h | 5 +- 12 files changed, 189 insertions(+), 134 deletions(-) diff --git a/arch/arm/configs/meson64_a32_defconfig b/arch/arm/configs/meson64_a32_defconfig index 4dac2c25ea92..94337ddaedd5 100644 --- a/arch/arm/configs/meson64_a32_defconfig +++ b/arch/arm/configs/meson64_a32_defconfig @@ -13,7 +13,6 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=19 CONFIG_CGROUPS=y -CONFIG_CGROUP_DEBUG=y CONFIG_CGROUP_FREEZER=y CONFIG_CPUSETS=y CONFIG_CGROUP_CPUACCT=y @@ -24,6 +23,11 @@ CONFIG_CGROUP_BPF=y CONFIG_SCHED_TUNE=y CONFIG_DEFAULT_USE_ENERGY_AWARE=y CONFIG_BLK_DEV_INITRD=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set CONFIG_KALLSYMS_ALL=y CONFIG_BPF_SYSCALL=y CONFIG_EMBEDDED=y @@ -34,11 +38,13 @@ CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y +# CONFIG_IOSCHED_DEADLINE is not set CONFIG_DEFAULT_NOOP=y CONFIG_ARCH_VIRT=y CONFIG_ARCH_MESON=y CONFIG_ARM64_A32=y CONFIG_ARM_THUMBEE=y +# CONFIG_DEBUG_ALIGN_RODATA is not set CONFIG_PCI=y CONFIG_PCIE_DW_PLAT=y CONFIG_SMP=y @@ -50,8 +56,7 @@ CONFIG_AEABI=y CONFIG_HIGHMEM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 CONFIG_CMA=y -CONFIG_CMA_DEBUGFS=y -CONFIG_CMA_AREAS=15 +CONFIG_CMA_AREAS=12 CONFIG_ZSMALLOC=y CONFIG_SECCOMP=y CONFIG_ARM_APPENDED_DTB=y @@ -59,7 +64,6 @@ CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_GOV_INTERACTIVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_ARM_BIG_LITTLE_CPUFREQ=y CONFIG_ARM_SCPI_CPUFREQ=y CONFIG_CPU_IDLE=y @@ -67,7 +71,6 @@ CONFIG_ARM_CPUIDLE=y CONFIG_VFP=y CONFIG_NEON=y CONFIG_KERNEL_MODE_NEON=y -CONFIG_BINFMT_MISC=y CONFIG_PM_AUTOSLEEP=y CONFIG_PM_WAKELOCKS=y CONFIG_NET=y @@ -77,19 +80,14 @@ CONFIG_UNIX=y CONFIG_UNIX_DIAG=y CONFIG_XFRM_USER=y CONFIG_NET_KEY=y -CONFIG_NET_KEY_MIGRATE=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_NET_IPIP=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=y CONFIG_INET_ESP=y +# CONFIG_INET_XFRM_MODE_BEET is not set CONFIG_INET_UDP_DIAG=y CONFIG_INET_DIAG_DESTROY=y CONFIG_IPV6_ROUTER_PREF=y @@ -99,11 +97,14 @@ CONFIG_INET6_AH=y CONFIG_INET6_ESP=y CONFIG_INET6_IPCOMP=y CONFIG_IPV6_MIP6=y +# CONFIG_INET6_XFRM_MODE_BEET is not set CONFIG_IPV6_VTI=y +# CONFIG_IPV6_SIT is not set CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_NETFILTER=y CONFIG_NF_CONNTRACK=y CONFIG_NF_CONNTRACK_SECMARK=y +# CONFIG_NF_CONNTRACK_PROCFS is not set CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_DCCP=y CONFIG_NF_CT_PROTO_SCTP=y @@ -130,7 +131,6 @@ CONFIG_NETFILTER_XT_TARGET_SECMARK=y CONFIG_NETFILTER_XT_TARGET_TCPMSS=y CONFIG_NETFILTER_XT_MATCH_BPF=y CONFIG_NETFILTER_XT_MATCH_COMMENT=y -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y CONFIG_NETFILTER_XT_MATCH_CONNMARK=y CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y @@ -146,7 +146,6 @@ CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y CONFIG_NETFILTER_XT_MATCH_QTAGUID=y CONFIG_NETFILTER_XT_MATCH_QUOTA=y CONFIG_NETFILTER_XT_MATCH_QUOTA2=y -CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y CONFIG_NETFILTER_XT_MATCH_SOCKET=y CONFIG_NETFILTER_XT_MATCH_STATE=y CONFIG_NETFILTER_XT_MATCH_STATISTIC=y @@ -155,7 +154,6 @@ CONFIG_NETFILTER_XT_MATCH_TIME=y CONFIG_NETFILTER_XT_MATCH_U32=y CONFIG_NF_CONNTRACK_IPV4=y CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_MATCH_AH=y CONFIG_IP_NF_MATCH_ECN=y CONFIG_IP_NF_MATCH_TTL=y CONFIG_IP_NF_FILTER=y @@ -177,41 +175,18 @@ CONFIG_IP6_NF_FILTER=y CONFIG_IP6_NF_TARGET_REJECT=y CONFIG_IP6_NF_MANGLE=y CONFIG_IP6_NF_RAW=y -CONFIG_IP6_NF_NAT=y -CONFIG_IP6_NF_TARGET_MASQUERADE=y -CONFIG_IP6_NF_TARGET_NPT=y -CONFIG_L2TP=y -CONFIG_L2TP_DEBUGFS=y -CONFIG_L2TP_V3=y -CONFIG_L2TP_IP=y -CONFIG_L2TP_ETH=y -CONFIG_BRIDGE=y -# CONFIG_BRIDGE_IGMP_SNOOPING is not set -CONFIG_PHONET=y CONFIG_NET_SCHED=y CONFIG_NET_SCH_HTB=y -CONFIG_NET_SCH_INGRESS=y CONFIG_NET_CLS_U32=y CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_U32=y CONFIG_NET_CLS_ACT=y -CONFIG_NET_ACT_POLICE=y -CONFIG_NET_ACT_GACT=y -CONFIG_NET_ACT_MIRRED=y -CONFIG_DNS_RESOLVER=y CONFIG_BT=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=y -CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HS is not set +# CONFIG_BT_LE is not set +# CONFIG_BT_DEBUGFS is not set CONFIG_CFG80211=y CONFIG_NL80211_TESTMODE=y -CONFIG_CFG80211_WEXT=y -CONFIG_MAC80211=y CONFIG_RFKILL=y CONFIG_AMLOGIC_DRIVER=y CONFIG_AMLOGIC_MODIFY=y @@ -390,9 +365,9 @@ CONFIG_AMLOGIC_FIRMWARE=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_ALLOW_DEV_COREDUMP is not set CONFIG_DMA_CMA=y CONFIG_CMA_SIZE_MBYTES=8 -CONFIG_CONNECTOR=y CONFIG_MTD=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_BLOCK=y @@ -402,76 +377,119 @@ CONFIG_MTD_SPI_NOR=y CONFIG_MTD_UBI=y CONFIG_ZRAM=y CONFIG_BLK_DEV_LOOP=y -CONFIG_VIRTIO_BLK=y CONFIG_UID_SYS_STATS=y -CONFIG_EEPROM_AT24=y CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_SR=y CONFIG_MD=y -CONFIG_BLK_DEV_MD=y -CONFIG_MD_LINEAR=y CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=y CONFIG_DM_VERITY=y -CONFIG_DM_VERITY_HASH_PREFETCH_MIN_SIZE=1 CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY_AVB=y -CONFIG_DM_ANDROID_VERITY=y CONFIG_NETDEVICES=y -CONFIG_MACVLAN=y CONFIG_TUN=y -CONFIG_8139CP=y -CONFIG_8139TOO=y -CONFIG_8139TOO_TUNE_TWISTER=y -CONFIG_8139TOO_8129=y -CONFIG_8139_OLD_RX_RESET=y -CONFIG_R8169=y +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_AGERE is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AMD is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_DEC is not set +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_EXAR is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_HISILICON is not set +# CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_REALTEK is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_RDC is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +# CONFIG_NET_VENDOR_SMSC is not set CONFIG_STMMAC_ETH=y CONFIG_DWMAC_MESON=y CONFIG_AMLOGIC_ETH_PRIVE=y -CONFIG_ICPLUS_PHY=y +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set CONFIG_REALTEK_PHY=y CONFIG_PPP=y CONFIG_PPP_BSDCOMP=y CONFIG_PPP_DEFLATE=y -CONFIG_PPP_FILTER=y CONFIG_PPP_MPPE=y -CONFIG_PPP_MULTILINK=y CONFIG_PPPOE=y -CONFIG_PPPOL2TP=y CONFIG_PPPOLAC=y CONFIG_PPPOPNS=y CONFIG_PPP_ASYNC=y -CONFIG_USB_USBNET=y -CONFIG_ATH10K=m -CONFIG_ATH10K_PCI=m -CONFIG_INPUT_POLLDEV=y +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_INPUT_EVDEV=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_MOUSE_PS2 is not set CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_XPAD=y CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_INPUT_MISC=y CONFIG_INPUT_UINPUT=y +# CONFIG_SERIO is not set CONFIG_LEGACY_PTY_COUNT=32 # CONFIG_DEVMEM is not set # CONFIG_DEVKMEM is not set CONFIG_HW_RANDOM=y # CONFIG_DEVPORT is not set CONFIG_SPI=y -CONFIG_SPI_DEBUG=y CONFIG_SPI_GPIO=y CONFIG_SPI_MESON_SPICC=y CONFIG_SPI_SPIDEV=y CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_PCA953X=y CONFIG_POWER_RESET=y CONFIG_POWER_SUPPLY=y CONFIG_THERMAL=y -CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y -CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_CPU_THERMAL=y CONFIG_DEVFREQ_THERMAL=y CONFIG_REGULATOR=y @@ -479,18 +497,55 @@ CONFIG_REGULATOR_PWM=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_RC_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y -CONFIG_VIDEO_CX231XX=y -# CONFIG_VIDEO_CX231XX_RC is not set -CONFIG_VIDEO_CX231XX_DVB=y +# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA18272 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_MSI001 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_FC0011 is not set +# CONFIG_MEDIA_TUNER_FC0012 is not set +# CONFIG_MEDIA_TUNER_FC0013 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +# CONFIG_MEDIA_TUNER_E4000 is not set +# CONFIG_MEDIA_TUNER_FC2580 is not set +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_TUA9001 is not set +# CONFIG_MEDIA_TUNER_SI2157 is not set +# CONFIG_MEDIA_TUNER_IT913X is not set +# CONFIG_MEDIA_TUNER_R820T is not set +# CONFIG_MEDIA_TUNER_MXL301RF is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +# CONFIG_VGA_ARB is not set CONFIG_FB=y CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_GENERIC is not set CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_DYNAMIC_MINORS=y +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_PCI is not set CONFIG_SND_USB_AUDIO=y CONFIG_SND_SOC=y CONFIG_AMLOGIC_SND_SOC_CODECS=y @@ -522,20 +577,13 @@ CONFIG_HID_A4TECH=y CONFIG_HID_MICROSOFT=y CONFIG_USB_HIDDEV=y CONFIG_USB_XHCI_HCD=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_ACM=y CONFIG_USB_STORAGE=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_HOST=y CONFIG_USB_SERIAL=y -CONFIG_USB_ISP1301=y CONFIG_USB_GADGET=y CONFIG_USB_CONFIGFS=y -CONFIG_USB_CONFIGFS_RNDIS=y CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_MTP=y -CONFIG_USB_CONFIGFS_F_PTP=y CONFIG_USB_CONFIGFS_F_ACC=y CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y CONFIG_USB_CONFIGFS_UEVENT=y @@ -550,25 +598,16 @@ CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=y CONFIG_LEDS_TRIGGER_ONESHOT=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_LEDS_TRIGGER_TRANSIENT=y -CONFIG_LEDS_TRIGGER_PANIC=y +# CONFIG_RTC_INTF_PROC is not set CONFIG_SYNC_FILE=y CONFIG_SW_SYNC=y CONFIG_UIO=y CONFIG_UIO_PDRV_GENIRQ=y -CONFIG_VIRTIO_MMIO=y CONFIG_STAGING=y CONFIG_ASHMEM=y CONFIG_ANDROID_LOW_MEMORY_KILLER=y +CONFIG_EXFAT_FS=y CONFIG_PM_DEVFREQ=y -CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y -CONFIG_DEVFREQ_GOV_PERFORMANCE=y -CONFIG_DEVFREQ_GOV_POWERSAVE=y -CONFIG_DEVFREQ_GOV_USERSPACE=y CONFIG_EXTCON=y CONFIG_IIO=y CONFIG_IIO_BUFFER=y @@ -580,38 +619,23 @@ CONFIG_EXT3_FS=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y CONFIG_EXT4_ENCRYPTION=y -CONFIG_FANOTIFY=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_QFMT_V2=y -CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=y -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_UDF_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y -CONFIG_EXFAT_FS=y CONFIG_NTFS_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_ECRYPT_FS=y CONFIG_SDCARD_FS=y -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_SUMMARY=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RUBIN=y CONFIG_UBIFS_FS=y -CONFIG_CRAMFS=y -CONFIG_SQUASHFS=y CONFIG_PSTORE=y CONFIG_PSTORE_CONSOLE=y CONFIG_PSTORE_PMSG=y CONFIG_PSTORE_FTRACE=y CONFIG_PSTORE_RAM=y +# CONFIG_NETWORK_FILESYSTEMS is not set CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y @@ -621,39 +645,34 @@ CONFIG_LOCKUP_DETECTOR=y CONFIG_PANIC_TIMEOUT=5 CONFIG_PANIC_ON_RT_THROTTLING=y CONFIG_SCHEDSTATS=y -CONFIG_SCHED_STACK_END_CHECK=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_ATOMIC_SLEEP=y -CONFIG_IRQSOFF_TRACER=y -CONFIG_PREEMPT_TRACER=y +CONFIG_FUNCTION_TRACER=y CONFIG_FTRACE_SYSCALLS=y -CONFIG_STACK_TRACER=y CONFIG_FUNCTION_PROFILER=y +# CONFIG_TRACING_EVENTS_GPIO is not set CONFIG_AMLOGIC_USER_FAULT=y CONFIG_DEBUG_USER=y CONFIG_DEBUG_SET_MODULE_RONX=y CONFIG_SECURITY_DMESG_RESTRICT=y CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y CONFIG_SECURITY=y -CONFIG_SECURITYFS=y -CONFIG_SECURITY_PATH=y +CONFIG_SECURITY_NETWORK=y CONFIG_LSM_MMAP_MIN_ADDR=0 CONFIG_HARDENED_USERCOPY=y CONFIG_SECURITY_SELINUX=y -CONFIG_SECURITY_SMACK=y -CONFIG_CRYPTO_MICHAEL_MIC=y +# CONFIG_SECURITY_SELINUX_AVC_STATS is not set +# CONFIG_INTEGRITY is not set +CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_ANSI_CPRNG=y CONFIG_CRYPTO_USER_API_HASH=y CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_X509_CERTIFICATE_PARSER=y CONFIG_ARM_CRYPTO=y CONFIG_CRYPTO_SHA1_ARM_CE=y CONFIG_CRYPTO_SHA2_ARM_CE=y CONFIG_CRYPTO_AES_ARM_CE=y CONFIG_CRYPTO_GHASH_ARM_CE=y -CONFIG_CRC_T10DIF=y CONFIG_CRC7=y diff --git a/arch/arm/kernel/ftrace.c b/arch/arm/kernel/ftrace.c index 414e60ed0257..cf656789b65e 100644 --- a/arch/arm/kernel/ftrace.c +++ b/arch/arm/kernel/ftrace.c @@ -203,6 +203,12 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr, unsigned long old; int err; +#ifdef CONFIG_AMLOGIC_VMAP + /* some special case current may not copied to stack end */ + if (unlikely(!current)) + return; +#endif + if (unlikely(atomic_read(¤t->tracing_graph_pause))) return; diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index a927f8a7bf49..675d9eaf1ce4 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S @@ -103,6 +103,9 @@ __mmap_switched: strne r0, [r7] @ Save control register values #ifdef CONFIG_AMLOGIC_KASAN32 bl kasan_early_init +#endif +#ifdef CONFIG_AMLOGIC_VMAP + bl fixup_init_thread_union #endif b start_kernel ENDPROC(__mmap_switched) diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 02bbf72e4926..4a24fa290157 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -522,7 +522,7 @@ static void __init elf_hwcap_fixup(void) } #ifdef CONFIG_AMLOGIC_VMAP -static void __init fixup_init_thread_union(void) +void __init fixup_init_thread_union(void) { void *p; @@ -620,9 +620,6 @@ void __init smp_setup_processor_id(void) */ set_my_cpu_offset(0); -#ifdef CONFIG_AMLOGIC_VMAP - fixup_init_thread_union(); -#endif pr_info("Booting Linux on physical CPU 0x%x\n", mpidr); } diff --git a/drivers/amlogic/ddr_tool/Kconfig b/drivers/amlogic/ddr_tool/Kconfig index d211eee189a1..c972e3575654 100644 --- a/drivers/amlogic/ddr_tool/Kconfig +++ b/drivers/amlogic/ddr_tool/Kconfig @@ -27,6 +27,16 @@ config AMLOGIC_DDR_BANDWIDTH If open it, this driver will export interface to get ddr total bandwidth, it can be used for ddr DVFS/devfreq system. +config AMLOGIC_DDR_BANDWIDTH_GX + tristate "Meson ddr bandwidth for GX" + default n + depends on AMLOGIC_DDR_BANDWIDTH + help + This config enables ddr bandwidth measure for GX. + If open it, this driver will export interface + to get ddr total bandwidth, it can be used for + ddr DVFS/devfreq system. + config AMLOGIC_DMC_MONITOR bool "Amlogic dmc monitor" depends on AMLOGIC_DDR_TOOL @@ -36,3 +46,14 @@ config AMLOGIC_DMC_MONITOR set up an address range and assign R/W permission for each hardware. If hardware violated R/W permission, then interrupt will generated and can help to debug memory pollution. + +config AMLOGIC_DMC_MONITOR_GX + tristate "Amlogic dmc monitor for GX" + depends on AMLOGIC_DMC_MONITOR + default n + help + This config enables dmc monitor for gx chip + DMC monitor for hardware connected to DMC master. Using it can + set up an address range and assign R/W permission for each + hardware. If hardware violated R/W permission, then interrupt + will generated and can help to debug memory pollution. diff --git a/drivers/amlogic/ddr_tool/Makefile b/drivers/amlogic/ddr_tool/Makefile index af6c0942d584..6acf1910270f 100644 --- a/drivers/amlogic/ddr_tool/Makefile +++ b/drivers/amlogic/ddr_tool/Makefile @@ -1,8 +1,10 @@ obj-y += ddr_port_desc.o obj-$(CONFIG_AMLOGIC_DDR_WINDOW_TOOL) += ddr_window.o obj-$(CONFIG_AMLOGIC_DDR_BANDWIDTH) += ddr_bandwidth.o ddr_band_op_gxl.o \ - ddr_band_op_gx.o ddr_band_op_g12.o + ddr_band_op_g12.o +obj-$(CONFIG_AMLOGIC_DDR_BANDWIDTH_GX) += ddr_band_op_gx.o obj-$(CONFIG_AMLOGIC_DMC_MONITOR) += dmc_monitor.o \ - dmc_g12.o dmc_gx.o + dmc_g12.o +obj-$(CONFIG_AMLOGIC_DMC_MONITOR_GX) += dmc_gx.o diff --git a/drivers/amlogic/ddr_tool/ddr_bandwidth.c b/drivers/amlogic/ddr_tool/ddr_bandwidth.c index f468c3028c6a..a665b0bc4a32 100644 --- a/drivers/amlogic/ddr_tool/ddr_bandwidth.c +++ b/drivers/amlogic/ddr_tool/ddr_bandwidth.c @@ -746,14 +746,16 @@ static int __init ddr_bandwidth_probe(struct platform_device *pdev) aml_db->mode = MODE_DISABLE; aml_db->threshold = DEFAULT_THRESHOLD * aml_db->bytes_per_cycle * (aml_db->clock_count / 10000); - if (aml_db->cpu_type <= MESON_CPU_MAJOR_ID_GXTVBB) + if (aml_db->cpu_type <= MESON_CPU_MAJOR_ID_GXTVBB) { + #ifdef CONFIG_AMLOGIC_DDR_BANDWIDTH_GX aml_db->ops = &gx_ddr_bw_ops; - else if ((aml_db->cpu_type <= MESON_CPU_MAJOR_ID_TXHD) && - (aml_db->cpu_type >= MESON_CPU_MAJOR_ID_GXL)) + #endif + } else if ((aml_db->cpu_type <= MESON_CPU_MAJOR_ID_TXHD) && + (aml_db->cpu_type >= MESON_CPU_MAJOR_ID_GXL)) { aml_db->ops = &gxl_ddr_bw_ops; - else if (aml_db->cpu_type >= MESON_CPU_MAJOR_ID_G12A) + } else if (aml_db->cpu_type >= MESON_CPU_MAJOR_ID_G12A) { aml_db->ops = &g12_ddr_bw_ops; - else { + } else { pr_err("%s, can't find ops for cpu type:%d\n", __func__, aml_db->cpu_type); goto inval; diff --git a/drivers/amlogic/ddr_tool/dmc_monitor.c b/drivers/amlogic/ddr_tool/dmc_monitor.c index 60308fd37476..4be5061364e1 100644 --- a/drivers/amlogic/ddr_tool/dmc_monitor.c +++ b/drivers/amlogic/ddr_tool/dmc_monitor.c @@ -343,10 +343,13 @@ static int dmc_monitor_probe(struct platform_device *pdev) dmc_mon->chip = r; dmc_mon->port_num = ports; dmc_mon->port = desc; - if (dmc_mon->chip >= MESON_CPU_MAJOR_ID_G12A) + if (dmc_mon->chip >= MESON_CPU_MAJOR_ID_G12A) { dmc_mon->ops = &g12_dmc_mon_ops; - else + } else { +#ifdef CONFIG_AMLOGIC_DMC_MONITOR_GX dmc_mon->ops = &gx_dmc_mon_ops; +#endif + } r = of_property_read_u32(node, "reg_base", &io); if (r < 0) { diff --git a/drivers/amlogic/usb/Kconfig b/drivers/amlogic/usb/Kconfig index 6c1053356fab..76d47bc5e91c 100644 --- a/drivers/amlogic/usb/Kconfig +++ b/drivers/amlogic/usb/Kconfig @@ -28,6 +28,7 @@ config AMLOGIC_USB_HOST_ELECT_TEST config AMLOGIC_USBPHY bool "Amlogic USB PHY Driver" depends on AMLOGIC_USB + select USB_PHY help Enable this to support Amlogic USB phy helper driver for Amlogic SoCs. This driver provides common interface to interact, for Amlogic USB 2.0 PHY diff --git a/include/linux/amlogic/aml_ddr_bandwidth.h b/include/linux/amlogic/aml_ddr_bandwidth.h index d6e47c9ef5c0..9b2801a91ee6 100644 --- a/include/linux/amlogic/aml_ddr_bandwidth.h +++ b/include/linux/amlogic/aml_ddr_bandwidth.h @@ -174,7 +174,9 @@ struct ddr_bandwidth { #ifdef CONFIG_AMLOGIC_DDR_BANDWIDTH extern unsigned int aml_get_ddr_usage(void); extern struct ddr_bandwidth_ops g12_ddr_bw_ops; +#ifdef CONFIG_AMLOGIC_DDR_BANDWIDTH_GX extern struct ddr_bandwidth_ops gx_ddr_bw_ops; +#endif extern struct ddr_bandwidth_ops gxl_ddr_bw_ops; #else static inline unsigned int aml_get_ddr_usage(void) diff --git a/include/linux/amlogic/dmc_monitor.h b/include/linux/amlogic/dmc_monitor.h index c851cbbc5770..eb13882b7bbd 100644 --- a/include/linux/amlogic/dmc_monitor.h +++ b/include/linux/amlogic/dmc_monitor.h @@ -88,7 +88,9 @@ extern unsigned long dmc_rw(unsigned long addr, unsigned long value, int rw); extern char *to_ports(int id); extern char *to_sub_ports(int mid, int sid, char *id_str); +#ifdef CONFIG_AMLOGIC_DMC_MONITOR_GX extern struct dmc_mon_ops gx_dmc_mon_ops; +#endif extern struct dmc_mon_ops g12_dmc_mon_ops; #endif /* __DMC_MONITOR_H__ */ diff --git a/include/uapi/linux/dvb/frontend.h b/include/uapi/linux/dvb/frontend.h index 0b32aa331dbd..d9ad6383eca4 100644 --- a/include/uapi/linux/dvb/frontend.h +++ b/include/uapi/linux/dvb/frontend.h @@ -114,10 +114,7 @@ struct dvb_diseqc_slave_reply { enum fe_sec_voltage { SEC_VOLTAGE_13, SEC_VOLTAGE_18, - SEC_VOLTAGE_OFF, -#ifdef CONFIG_AMLOGIC_DVB_COMPAT - SEC_VOLTAGE_ON /*for ISDBT antenna control*/ -#endif + SEC_VOLTAGE_OFF }; enum fe_sec_tone_mode {