mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
[ odroidn2 ] Remove deprecated patches, kernel config adjustements, added AUFS -> docker support, adding mainline targets which needs further adjustements ...
This commit is contained in:
@@ -6,7 +6,7 @@ BOOTCONFIG="odroidn2_config"
|
||||
MODULES=""
|
||||
MODULES_NEXT=""
|
||||
#
|
||||
KERNEL_TARGET="default"
|
||||
KERNEL_TARGET="default,dev"
|
||||
CLI_TARGET="stretch,bionic:default"
|
||||
DESKTOP_TARGET="stretch,bionic:default"
|
||||
#
|
||||
|
||||
19
config/bootscripts/boot-odroid-n2-mainline.ini
Normal file
19
config/bootscripts/boot-odroid-n2-mainline.ini
Normal file
@@ -0,0 +1,19 @@
|
||||
ODROIDN2-UBOOT-CONFIG
|
||||
|
||||
setenv dtb_name "/dtb/meson-g12b-odroid-n2.dtb"
|
||||
setenv bootargs "root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0"
|
||||
|
||||
# Set load addresses
|
||||
setenv dtb_loadaddr "0x1000000"
|
||||
setenv k_addr "0x1100000"
|
||||
setenv loadaddr "0x1B00000"
|
||||
setenv initrd_loadaddr "0x3700000"
|
||||
|
||||
# Load kernel, dtb
|
||||
fatload mmc ${devno}:1 ${k_addr} zImage
|
||||
fatload mmc ${devno}:1 ${initrd_loadaddr} uInitrd
|
||||
fatload mmc ${devno}:1 ${dtb_loadaddr} ${dtb_name}
|
||||
fdt addr ${dtb_loadaddr}
|
||||
|
||||
# boot
|
||||
booti ${k_addr} ${initrd_loadaddr} ${dtb_loadaddr}
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.9.173 Kernel Configuration
|
||||
# Linux/arm64 4.9.177 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
@@ -126,7 +126,7 @@ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CGROUP_DEBUG=y
|
||||
# CONFIG_CGROUP_DEBUG is not set
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_PIDS=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
@@ -143,9 +143,10 @@ CONFIG_BLK_CGROUP=y
|
||||
CONFIG_CGROUP_WRITEBACK=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
# CONFIG_CFS_BANDWIDTH is not set
|
||||
CONFIG_CFS_BANDWIDTH=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
# CONFIG_CGROUP_PERF is not set
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
CONFIG_CGROUP_PERF=y
|
||||
CONFIG_CGROUP_BPF=y
|
||||
CONFIG_SOCK_CGROUP_DATA=y
|
||||
# CONFIG_CHECKPOINT_RESTORE is not set
|
||||
@@ -447,7 +448,7 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
# CONFIG_FRONTSWAP is not set
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_DEBUGFS=y
|
||||
# CONFIG_CMA_DEBUGFS is not set
|
||||
CONFIG_CMA_AREAS=15
|
||||
# CONFIG_ZPOOL is not set
|
||||
# CONFIG_ZBUD is not set
|
||||
@@ -670,7 +671,7 @@ CONFIG_TCP_CONG_BBR=m
|
||||
CONFIG_DEFAULT_RENO=y
|
||||
CONFIG_DEFAULT_TCP_CONG="reno"
|
||||
CONFIG_TCP_MD5SIG=y
|
||||
CONFIG_IPV6=m
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IPV6_ROUTER_PREF=y
|
||||
CONFIG_IPV6_ROUTE_INFO=y
|
||||
CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
@@ -698,7 +699,6 @@ CONFIG_IPV6_SUBTREES=y
|
||||
CONFIG_IPV6_MROUTE=y
|
||||
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
|
||||
CONFIG_IPV6_PIMSM_V2=y
|
||||
CONFIG_NETLABEL=y
|
||||
# CONFIG_ANDROID_PARANOID_NETWORK is not set
|
||||
CONFIG_NETWORK_SECMARK=y
|
||||
CONFIG_NET_PTP_CLASSIFY=y
|
||||
@@ -971,7 +971,6 @@ CONFIG_IP_NF_TARGET_CLUSTERIP=m
|
||||
CONFIG_IP_NF_TARGET_ECN=m
|
||||
CONFIG_IP_NF_TARGET_TTL=m
|
||||
CONFIG_IP_NF_RAW=m
|
||||
CONFIG_IP_NF_SECURITY=m
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
CONFIG_IP_NF_ARP_MANGLE=m
|
||||
@@ -1009,7 +1008,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m
|
||||
CONFIG_IP6_NF_TARGET_SYNPROXY=m
|
||||
CONFIG_IP6_NF_MANGLE=m
|
||||
CONFIG_IP6_NF_RAW=m
|
||||
CONFIG_IP6_NF_SECURITY=m
|
||||
CONFIG_IP6_NF_NAT=m
|
||||
CONFIG_IP6_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP6_NF_TARGET_NPT=m
|
||||
@@ -1204,12 +1202,12 @@ CONFIG_NET_MPLS_GSO=m
|
||||
# CONFIG_MPLS_ROUTING is not set
|
||||
# CONFIG_HSR is not set
|
||||
CONFIG_NET_SWITCHDEV=y
|
||||
# CONFIG_NET_L3_MASTER_DEV is not set
|
||||
CONFIG_NET_L3_MASTER_DEV=y
|
||||
# CONFIG_NET_NCSI is not set
|
||||
CONFIG_RPS=y
|
||||
CONFIG_RFS_ACCEL=y
|
||||
CONFIG_XPS=y
|
||||
# CONFIG_CGROUP_NET_PRIO is not set
|
||||
CONFIG_CGROUP_NET_PRIO=y
|
||||
CONFIG_CGROUP_NET_CLASSID=y
|
||||
CONFIG_NET_RX_BUSY_POLL=y
|
||||
CONFIG_BQL=y
|
||||
@@ -1819,8 +1817,7 @@ CONFIG_AMLOGIC_GPIO_IRQ=y
|
||||
# Amlogic ATV driver
|
||||
#
|
||||
CONFIG_AMLOGIC_ATV_DEMOD=y
|
||||
CONFIG_AMLOGIC_DEBUG=y
|
||||
CONFIG_AMLOGIC_DEBUG_LOCKUP=y
|
||||
# CONFIG_AMLOGIC_DEBUG is not set
|
||||
|
||||
#
|
||||
# Amlogic defend img file update support
|
||||
@@ -2174,9 +2171,9 @@ CONFIG_BCACHE=m
|
||||
CONFIG_BLK_DEV_DM_BUILTIN=y
|
||||
CONFIG_BLK_DEV_DM=m
|
||||
CONFIG_DM_MQ_DEFAULT=y
|
||||
CONFIG_DM_DEBUG=y
|
||||
# CONFIG_DM_DEBUG is not set
|
||||
CONFIG_DM_BUFIO=m
|
||||
CONFIG_DM_DEBUG_BLOCK_STACK_TRACING=y
|
||||
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
|
||||
CONFIG_DM_BIO_PRISON=m
|
||||
CONFIG_DM_PERSISTENT_DATA=m
|
||||
CONFIG_DM_CRYPT=m
|
||||
@@ -2220,6 +2217,7 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
|
||||
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
|
||||
CONFIG_MACVLAN=m
|
||||
CONFIG_MACVTAP=m
|
||||
CONFIG_IPVLAN=m
|
||||
CONFIG_VXLAN=m
|
||||
CONFIG_GENEVE=m
|
||||
CONFIG_GTP=m
|
||||
@@ -2233,6 +2231,7 @@ CONFIG_TUN_VNET_CROSS_LE=y
|
||||
CONFIG_VETH=y
|
||||
CONFIG_VIRTIO_NET=m
|
||||
# CONFIG_NLMON is not set
|
||||
CONFIG_NET_VRF=m
|
||||
CONFIG_ATM_DRIVERS=y
|
||||
# CONFIG_ATM_DUMMY is not set
|
||||
CONFIG_ATM_TCP=m
|
||||
@@ -2441,7 +2440,22 @@ CONFIG_WCN36XX=m
|
||||
CONFIG_WLAN_VENDOR_ATMEL=y
|
||||
CONFIG_AT76C50X_USB=m
|
||||
CONFIG_WLAN_VENDOR_BROADCOM=y
|
||||
# CONFIG_B43 is not set
|
||||
CONFIG_B43=m
|
||||
CONFIG_B43_BCMA=y
|
||||
CONFIG_B43_SSB=y
|
||||
CONFIG_B43_BUSES_BCMA_AND_SSB=y
|
||||
# CONFIG_B43_BUSES_BCMA is not set
|
||||
# CONFIG_B43_BUSES_SSB is not set
|
||||
# CONFIG_B43_SDIO is not set
|
||||
CONFIG_B43_BCMA_PIO=y
|
||||
CONFIG_B43_PIO=y
|
||||
CONFIG_B43_PHY_G=y
|
||||
CONFIG_B43_PHY_N=y
|
||||
CONFIG_B43_PHY_LP=y
|
||||
CONFIG_B43_PHY_HT=y
|
||||
CONFIG_B43_LEDS=y
|
||||
CONFIG_B43_HWRNG=y
|
||||
# CONFIG_B43_DEBUG is not set
|
||||
# CONFIG_B43LEGACY is not set
|
||||
# CONFIG_BRCMSMAC is not set
|
||||
# CONFIG_BRCMFMAC is not set
|
||||
@@ -3216,13 +3230,24 @@ CONFIG_SSB_POSSIBLE=y
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
# CONFIG_SSB is not set
|
||||
CONFIG_SSB=m
|
||||
CONFIG_SSB_BLOCKIO=y
|
||||
CONFIG_SSB_SDIOHOST_POSSIBLE=y
|
||||
# CONFIG_SSB_SDIOHOST is not set
|
||||
# CONFIG_SSB_SILENT is not set
|
||||
# CONFIG_SSB_DEBUG is not set
|
||||
# CONFIG_SSB_DRIVER_GPIO is not set
|
||||
CONFIG_BCMA_POSSIBLE=y
|
||||
|
||||
#
|
||||
# Broadcom specific AMBA
|
||||
#
|
||||
# CONFIG_BCMA is not set
|
||||
CONFIG_BCMA=m
|
||||
CONFIG_BCMA_BLOCKIO=y
|
||||
# CONFIG_BCMA_HOST_SOC is not set
|
||||
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
|
||||
# CONFIG_BCMA_DRIVER_GPIO is not set
|
||||
# CONFIG_BCMA_DEBUG is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
@@ -3489,7 +3514,7 @@ CONFIG_VIDEO_USBTV=m
|
||||
CONFIG_VIDEO_PVRUSB2=m
|
||||
CONFIG_VIDEO_PVRUSB2_SYSFS=y
|
||||
CONFIG_VIDEO_PVRUSB2_DVB=y
|
||||
CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
|
||||
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
|
||||
CONFIG_VIDEO_HDPVR=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
CONFIG_VIDEO_STK1160_COMMON=m
|
||||
@@ -3518,7 +3543,7 @@ CONFIG_VIDEO_TM6000_DVB=m
|
||||
# Digital TV USB devices
|
||||
#
|
||||
CONFIG_DVB_USB=m
|
||||
CONFIG_DVB_USB_DEBUG=y
|
||||
# CONFIG_DVB_USB_DEBUG is not set
|
||||
CONFIG_DVB_USB_DIB3000MC=m
|
||||
CONFIG_DVB_USB_A800=m
|
||||
CONFIG_DVB_USB_DIBUSB_MB=m
|
||||
@@ -3560,7 +3585,7 @@ CONFIG_DVB_USB_RTL28XXU=m
|
||||
CONFIG_DVB_USB_DVBSKY=m
|
||||
CONFIG_SMS_USB_DRV=m
|
||||
CONFIG_DVB_B2C2_FLEXCOP_USB=m
|
||||
CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
|
||||
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
|
||||
CONFIG_DVB_AS102=m
|
||||
|
||||
#
|
||||
@@ -3614,7 +3639,6 @@ CONFIG_VIDEO_CX2341X=m
|
||||
CONFIG_VIDEO_TVEEPROM=m
|
||||
CONFIG_CYPRESS_FIRMWARE=m
|
||||
CONFIG_DVB_B2C2_FLEXCOP=m
|
||||
CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
|
||||
CONFIG_SMS_SIANO_MDTV=m
|
||||
CONFIG_SMS_SIANO_RC=y
|
||||
|
||||
@@ -4019,6 +4043,7 @@ CONFIG_SND_USB_PODHD=m
|
||||
CONFIG_SND_USB_TONEPORT=m
|
||||
CONFIG_SND_USB_VARIAX=m
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SOC_AC97_BUS=y
|
||||
# CONFIG_SND_SOC_AMD_ACP is not set
|
||||
# CONFIG_SND_ATMEL_SOC is not set
|
||||
# CONFIG_SND_DESIGNWARE_I2S is not set
|
||||
@@ -4043,86 +4068,98 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
|
||||
#
|
||||
# CODEC drivers
|
||||
#
|
||||
# CONFIG_SND_SOC_AC97_CODEC is not set
|
||||
# CONFIG_SND_SOC_ADAU1701 is not set
|
||||
# CONFIG_SND_SOC_ADAU7002 is not set
|
||||
# CONFIG_SND_SOC_AK4104 is not set
|
||||
# CONFIG_SND_SOC_AK4554 is not set
|
||||
# CONFIG_SND_SOC_AK4613 is not set
|
||||
# CONFIG_SND_SOC_AK4642 is not set
|
||||
# CONFIG_SND_SOC_AK5386 is not set
|
||||
# CONFIG_SND_SOC_ALC5623 is not set
|
||||
# CONFIG_SND_SOC_BT_SCO is not set
|
||||
# CONFIG_SND_SOC_CS35L32 is not set
|
||||
# CONFIG_SND_SOC_CS35L33 is not set
|
||||
# CONFIG_SND_SOC_CS42L51_I2C is not set
|
||||
# CONFIG_SND_SOC_CS42L52 is not set
|
||||
# CONFIG_SND_SOC_CS42L56 is not set
|
||||
# CONFIG_SND_SOC_CS42L73 is not set
|
||||
# CONFIG_SND_SOC_CS4265 is not set
|
||||
# CONFIG_SND_SOC_CS4270 is not set
|
||||
# CONFIG_SND_SOC_CS4271_I2C is not set
|
||||
# CONFIG_SND_SOC_CS4271_SPI is not set
|
||||
# CONFIG_SND_SOC_CS42XX8_I2C is not set
|
||||
# CONFIG_SND_SOC_CS4349 is not set
|
||||
# CONFIG_SND_SOC_CS53L30 is not set
|
||||
# CONFIG_SND_SOC_ES8328 is not set
|
||||
# CONFIG_SND_SOC_GTM601 is not set
|
||||
# CONFIG_SND_SOC_INNO_RK3036 is not set
|
||||
# CONFIG_SND_SOC_MAX98504 is not set
|
||||
# CONFIG_SND_SOC_MAX9860 is not set
|
||||
# CONFIG_SND_SOC_PCM1681 is not set
|
||||
# CONFIG_SND_SOC_PCM179X_I2C is not set
|
||||
# CONFIG_SND_SOC_PCM179X_SPI is not set
|
||||
# CONFIG_SND_SOC_PCM3168A_I2C is not set
|
||||
# CONFIG_SND_SOC_PCM3168A_SPI is not set
|
||||
# CONFIG_SND_SOC_PCM512x_I2C is not set
|
||||
# CONFIG_SND_SOC_PCM512x_SPI is not set
|
||||
# CONFIG_SND_SOC_RT5616 is not set
|
||||
# CONFIG_SND_SOC_RT5631 is not set
|
||||
CONFIG_SND_SOC_AC97_CODEC=m
|
||||
CONFIG_SND_SOC_ADAU1701=m
|
||||
CONFIG_SND_SOC_ADAU7002=m
|
||||
CONFIG_SND_SOC_AK4104=m
|
||||
CONFIG_SND_SOC_AK4554=m
|
||||
CONFIG_SND_SOC_AK4613=m
|
||||
CONFIG_SND_SOC_AK4642=m
|
||||
CONFIG_SND_SOC_AK5386=m
|
||||
CONFIG_SND_SOC_ALC5623=m
|
||||
CONFIG_SND_SOC_BT_SCO=m
|
||||
CONFIG_SND_SOC_CS35L32=m
|
||||
CONFIG_SND_SOC_CS35L33=m
|
||||
CONFIG_SND_SOC_CS42L51=m
|
||||
CONFIG_SND_SOC_CS42L51_I2C=m
|
||||
CONFIG_SND_SOC_CS42L52=m
|
||||
CONFIG_SND_SOC_CS42L56=m
|
||||
CONFIG_SND_SOC_CS42L73=m
|
||||
CONFIG_SND_SOC_CS4265=m
|
||||
CONFIG_SND_SOC_CS4270=m
|
||||
CONFIG_SND_SOC_CS4271=m
|
||||
CONFIG_SND_SOC_CS4271_I2C=m
|
||||
CONFIG_SND_SOC_CS4271_SPI=m
|
||||
CONFIG_SND_SOC_CS42XX8=m
|
||||
CONFIG_SND_SOC_CS42XX8_I2C=m
|
||||
CONFIG_SND_SOC_CS4349=m
|
||||
CONFIG_SND_SOC_CS53L30=m
|
||||
CONFIG_SND_SOC_ES8328=m
|
||||
CONFIG_SND_SOC_GTM601=m
|
||||
CONFIG_SND_SOC_INNO_RK3036=m
|
||||
CONFIG_SND_SOC_MAX98504=m
|
||||
CONFIG_SND_SOC_MAX9860=m
|
||||
CONFIG_SND_SOC_PCM1681=m
|
||||
CONFIG_SND_SOC_PCM179X=m
|
||||
CONFIG_SND_SOC_PCM179X_I2C=m
|
||||
CONFIG_SND_SOC_PCM179X_SPI=m
|
||||
CONFIG_SND_SOC_PCM3168A=m
|
||||
CONFIG_SND_SOC_PCM3168A_I2C=m
|
||||
CONFIG_SND_SOC_PCM3168A_SPI=m
|
||||
CONFIG_SND_SOC_PCM512x=m
|
||||
CONFIG_SND_SOC_PCM512x_I2C=m
|
||||
CONFIG_SND_SOC_PCM512x_SPI=m
|
||||
CONFIG_SND_SOC_RL6231=m
|
||||
CONFIG_SND_SOC_RT5616=m
|
||||
CONFIG_SND_SOC_RT5631=m
|
||||
# CONFIG_SND_SOC_RT5677_SPI is not set
|
||||
# CONFIG_SND_SOC_SGTL5000 is not set
|
||||
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
|
||||
CONFIG_SND_SOC_SGTL5000=m
|
||||
CONFIG_SND_SOC_SIGMADSP=m
|
||||
CONFIG_SND_SOC_SIGMADSP_I2C=m
|
||||
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
|
||||
CONFIG_SND_SOC_SPDIF=y
|
||||
# CONFIG_SND_SOC_SSM2602_SPI is not set
|
||||
# CONFIG_SND_SOC_SSM2602_I2C is not set
|
||||
# CONFIG_SND_SOC_SSM4567 is not set
|
||||
# CONFIG_SND_SOC_STA32X is not set
|
||||
# CONFIG_SND_SOC_STA350 is not set
|
||||
# CONFIG_SND_SOC_STI_SAS is not set
|
||||
# CONFIG_SND_SOC_TAS2552 is not set
|
||||
# CONFIG_SND_SOC_TAS5086 is not set
|
||||
# CONFIG_SND_SOC_TAS571X is not set
|
||||
# CONFIG_SND_SOC_TAS5720 is not set
|
||||
# CONFIG_SND_SOC_TAS5805 is not set
|
||||
# CONFIG_SND_SOC_TFA9879 is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC31XX is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC3X is not set
|
||||
# CONFIG_SND_SOC_TS3A227E is not set
|
||||
# CONFIG_SND_SOC_WM8510 is not set
|
||||
# CONFIG_SND_SOC_WM8523 is not set
|
||||
# CONFIG_SND_SOC_WM8580 is not set
|
||||
# CONFIG_SND_SOC_WM8711 is not set
|
||||
# CONFIG_SND_SOC_WM8728 is not set
|
||||
# CONFIG_SND_SOC_WM8731 is not set
|
||||
# CONFIG_SND_SOC_WM8737 is not set
|
||||
# CONFIG_SND_SOC_WM8741 is not set
|
||||
# CONFIG_SND_SOC_WM8750 is not set
|
||||
# CONFIG_SND_SOC_WM8753 is not set
|
||||
# CONFIG_SND_SOC_WM8770 is not set
|
||||
# CONFIG_SND_SOC_WM8776 is not set
|
||||
# CONFIG_SND_SOC_WM8804_I2C is not set
|
||||
# CONFIG_SND_SOC_WM8804_SPI is not set
|
||||
# CONFIG_SND_SOC_WM8903 is not set
|
||||
# CONFIG_SND_SOC_WM8960 is not set
|
||||
# CONFIG_SND_SOC_WM8962 is not set
|
||||
# CONFIG_SND_SOC_WM8974 is not set
|
||||
# CONFIG_SND_SOC_WM8978 is not set
|
||||
# CONFIG_SND_SOC_WM8985 is not set
|
||||
# CONFIG_SND_SOC_NAU8810 is not set
|
||||
# CONFIG_SND_SOC_TPA6130A2 is not set
|
||||
CONFIG_SND_SOC_SSM2602=m
|
||||
CONFIG_SND_SOC_SSM2602_SPI=m
|
||||
CONFIG_SND_SOC_SSM2602_I2C=m
|
||||
CONFIG_SND_SOC_SSM4567=m
|
||||
CONFIG_SND_SOC_STA32X=m
|
||||
CONFIG_SND_SOC_STA350=m
|
||||
CONFIG_SND_SOC_STI_SAS=m
|
||||
CONFIG_SND_SOC_TAS2552=m
|
||||
CONFIG_SND_SOC_TAS5086=m
|
||||
CONFIG_SND_SOC_TAS571X=m
|
||||
CONFIG_SND_SOC_TAS5720=m
|
||||
CONFIG_SND_SOC_TAS5805=m
|
||||
CONFIG_SND_SOC_TFA9879=m
|
||||
CONFIG_SND_SOC_TLV320AIC23=m
|
||||
CONFIG_SND_SOC_TLV320AIC23_I2C=m
|
||||
CONFIG_SND_SOC_TLV320AIC23_SPI=m
|
||||
CONFIG_SND_SOC_TLV320AIC31XX=m
|
||||
CONFIG_SND_SOC_TLV320AIC3X=m
|
||||
CONFIG_SND_SOC_TS3A227E=m
|
||||
CONFIG_SND_SOC_WM8510=m
|
||||
CONFIG_SND_SOC_WM8523=m
|
||||
CONFIG_SND_SOC_WM8580=m
|
||||
CONFIG_SND_SOC_WM8711=m
|
||||
CONFIG_SND_SOC_WM8728=m
|
||||
CONFIG_SND_SOC_WM8731=m
|
||||
CONFIG_SND_SOC_WM8737=m
|
||||
CONFIG_SND_SOC_WM8741=m
|
||||
CONFIG_SND_SOC_WM8750=m
|
||||
CONFIG_SND_SOC_WM8753=m
|
||||
CONFIG_SND_SOC_WM8770=m
|
||||
CONFIG_SND_SOC_WM8776=m
|
||||
CONFIG_SND_SOC_WM8804=m
|
||||
CONFIG_SND_SOC_WM8804_I2C=m
|
||||
CONFIG_SND_SOC_WM8804_SPI=m
|
||||
CONFIG_SND_SOC_WM8903=m
|
||||
CONFIG_SND_SOC_WM8960=m
|
||||
CONFIG_SND_SOC_WM8962=m
|
||||
CONFIG_SND_SOC_WM8974=m
|
||||
CONFIG_SND_SOC_WM8978=m
|
||||
CONFIG_SND_SOC_WM8985=m
|
||||
CONFIG_SND_SOC_NAU8810=m
|
||||
CONFIG_SND_SOC_TPA6130A2=m
|
||||
CONFIG_AMLOGIC_SND_SOC_CODECS=y
|
||||
CONFIG_AMLOGIC_SND_CODEC_DUMMY_CODEC=y
|
||||
CONFIG_AMLOGIC_SND_CODEC_PCM2BT=y
|
||||
@@ -4151,7 +4188,7 @@ CONFIG_AMLOGIC_SND_SPLIT_MODE=y
|
||||
# CONFIG_AMLOGIC_SND_SPLIT_MODE_MMAP is not set
|
||||
CONFIG_AMLOGIC_SND_SOC_COMMON=y
|
||||
# CONFIG_SOUND_PRIME is not set
|
||||
CONFIG_AC97_BUS=m
|
||||
CONFIG_AC97_BUS=y
|
||||
|
||||
#
|
||||
# HID support
|
||||
@@ -4304,6 +4341,8 @@ CONFIG_USB_OHCI_HCD=y
|
||||
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
# CONFIG_USB_HCD_BCMA is not set
|
||||
# CONFIG_USB_HCD_SSB is not set
|
||||
# CONFIG_USB_HCD_TEST_MODE is not set
|
||||
|
||||
#
|
||||
@@ -4426,7 +4465,7 @@ CONFIG_USB_SERIAL_XSENS_MT=m
|
||||
CONFIG_USB_SERIAL_WISHBONE=m
|
||||
CONFIG_USB_SERIAL_SSU100=m
|
||||
CONFIG_USB_SERIAL_QT2=m
|
||||
CONFIG_USB_SERIAL_DEBUG=m
|
||||
# CONFIG_USB_SERIAL_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB Miscellaneous drivers
|
||||
@@ -5408,7 +5447,9 @@ CONFIG_EFI_ARMSTUB=y
|
||||
CONFIG_DCACHE_WORD_ACCESS=y
|
||||
CONFIG_FS_IOMAP=y
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT2_FS_XATTR is not set
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
# CONFIG_EXT2_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT2_FS_SECURITY is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
@@ -5421,18 +5462,18 @@ CONFIG_EXT4_FS_ENCRYPTION=y
|
||||
CONFIG_JBD2=y
|
||||
# CONFIG_JBD2_DEBUG is not set
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_REISERFS_FS=m
|
||||
CONFIG_REISERFS_FS=y
|
||||
# CONFIG_REISERFS_CHECK is not set
|
||||
CONFIG_REISERFS_PROC_INFO=y
|
||||
CONFIG_REISERFS_FS_XATTR=y
|
||||
CONFIG_REISERFS_FS_POSIX_ACL=y
|
||||
CONFIG_REISERFS_FS_SECURITY=y
|
||||
CONFIG_JFS_FS=m
|
||||
CONFIG_JFS_FS=y
|
||||
CONFIG_JFS_POSIX_ACL=y
|
||||
CONFIG_JFS_SECURITY=y
|
||||
# CONFIG_JFS_DEBUG is not set
|
||||
CONFIG_JFS_STATISTICS=y
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_FS=y
|
||||
CONFIG_XFS_QUOTA=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
CONFIG_XFS_RT=y
|
||||
@@ -5440,7 +5481,7 @@ CONFIG_XFS_RT=y
|
||||
# CONFIG_XFS_DEBUG is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
CONFIG_BTRFS_FS=m
|
||||
CONFIG_BTRFS_FS=y
|
||||
CONFIG_BTRFS_FS_POSIX_ACL=y
|
||||
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
|
||||
CONFIG_BTRFS_FS_RUN_SANITY_TESTS=y
|
||||
@@ -5467,7 +5508,6 @@ CONFIG_FSNOTIFY=y
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
CONFIG_FANOTIFY=y
|
||||
# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
CONFIG_PRINT_QUOTA_WARNING=y
|
||||
@@ -5487,7 +5527,7 @@ CONFIG_OVERLAY_FS=m
|
||||
CONFIG_FSCACHE=m
|
||||
CONFIG_FSCACHE_STATS=y
|
||||
CONFIG_FSCACHE_HISTOGRAM=y
|
||||
CONFIG_FSCACHE_DEBUG=y
|
||||
# CONFIG_FSCACHE_DEBUG is not set
|
||||
CONFIG_FSCACHE_OBJECT_LIST=y
|
||||
CONFIG_CACHEFILES=m
|
||||
# CONFIG_CACHEFILES_DEBUG is not set
|
||||
@@ -5518,7 +5558,7 @@ CONFIG_EXFAT_DELAYED_SYNC=y
|
||||
# CONFIG_EXFAT_DEBUG_MSG is not set
|
||||
CONFIG_EXFAT_DEFAULT_CODEPAGE=437
|
||||
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
|
||||
CONFIG_NTFS_FS=m
|
||||
CONFIG_NTFS_FS=y
|
||||
# CONFIG_NTFS_DEBUG is not set
|
||||
CONFIG_NTFS_RW=y
|
||||
|
||||
@@ -5536,8 +5576,8 @@ CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_TMPFS_XATTR=y
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_HUGETLB_PAGE=y
|
||||
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
|
||||
CONFIG_CONFIGFS_FS=y
|
||||
CONFIG_EFIVAR_FS=m
|
||||
@@ -5558,19 +5598,13 @@ CONFIG_JFFS2_FS=m
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_JFFS2_FS_POSIX_ACL=y
|
||||
CONFIG_JFFS2_FS_SECURITY=y
|
||||
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
|
||||
# CONFIG_JFFS2_SUMMARY is not set
|
||||
# CONFIG_JFFS2_FS_XATTR is not set
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_LZO=y
|
||||
# CONFIG_JFFS2_LZO is not set
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
CONFIG_JFFS2_RUBIN=y
|
||||
# CONFIG_JFFS2_CMODE_NONE is not set
|
||||
CONFIG_JFFS2_CMODE_PRIORITY=y
|
||||
# CONFIG_JFFS2_CMODE_SIZE is not set
|
||||
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
|
||||
# CONFIG_JFFS2_RUBIN is not set
|
||||
CONFIG_UBIFS_FS=m
|
||||
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
|
||||
CONFIG_UBIFS_FS_LZO=y
|
||||
@@ -5610,6 +5644,24 @@ CONFIG_PSTORE_RAM=y
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
# CONFIG_EXOFS_FS is not set
|
||||
CONFIG_AUFS_FS=m
|
||||
CONFIG_AUFS_BRANCH_MAX_127=y
|
||||
# CONFIG_AUFS_BRANCH_MAX_511 is not set
|
||||
# CONFIG_AUFS_BRANCH_MAX_1023 is not set
|
||||
# CONFIG_AUFS_BRANCH_MAX_32767 is not set
|
||||
CONFIG_AUFS_SBILIST=y
|
||||
# CONFIG_AUFS_HNOTIFY is not set
|
||||
# CONFIG_AUFS_EXPORT is not set
|
||||
# CONFIG_AUFS_XATTR is not set
|
||||
# CONFIG_AUFS_FHSM is not set
|
||||
# CONFIG_AUFS_RDU is not set
|
||||
# CONFIG_AUFS_DIRREN is not set
|
||||
# CONFIG_AUFS_SHWH is not set
|
||||
# CONFIG_AUFS_BR_RAMFS is not set
|
||||
# CONFIG_AUFS_BR_FUSE is not set
|
||||
CONFIG_AUFS_BR_HFSPLUS=y
|
||||
CONFIG_AUFS_BDEV_LOOP=y
|
||||
# CONFIG_AUFS_DEBUG is not set
|
||||
CONFIG_ORE=m
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
CONFIG_NFS_FS=m
|
||||
@@ -5626,10 +5678,8 @@ CONFIG_PNFS_OBJLAYOUT=m
|
||||
CONFIG_PNFS_FLEXFILE_LAYOUT=m
|
||||
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
|
||||
CONFIG_NFS_V4_1_MIGRATION=y
|
||||
CONFIG_NFS_V4_SECURITY_LABEL=y
|
||||
CONFIG_NFS_FSCACHE=y
|
||||
CONFIG_NFS_USE_LEGACY_DNS=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFSD_V3=y
|
||||
@@ -5639,7 +5689,6 @@ CONFIG_NFSD_PNFS=y
|
||||
CONFIG_NFSD_BLOCKLAYOUT=y
|
||||
CONFIG_NFSD_SCSILAYOUT=y
|
||||
CONFIG_NFSD_FLEXFILELAYOUT=y
|
||||
CONFIG_NFSD_V4_SECURITY_LABEL=y
|
||||
CONFIG_NFSD_FAULT_INJECTION=y
|
||||
CONFIG_GRACE_PERIOD=m
|
||||
CONFIG_LOCKD=m
|
||||
@@ -5651,7 +5700,7 @@ CONFIG_SUNRPC_GSS=m
|
||||
CONFIG_SUNRPC_BACKCHANNEL=y
|
||||
CONFIG_SUNRPC_SWAP=y
|
||||
CONFIG_RPCSEC_GSS_KRB5=m
|
||||
CONFIG_SUNRPC_DEBUG=y
|
||||
# CONFIG_SUNRPC_DEBUG is not set
|
||||
CONFIG_CEPH_FS=m
|
||||
CONFIG_CEPH_FSCACHE=y
|
||||
CONFIG_CEPH_FS_POSIX_ACL=y
|
||||
@@ -5663,8 +5712,7 @@ CONFIG_CIFS_UPCALL=y
|
||||
CONFIG_CIFS_XATTR=y
|
||||
# CONFIG_CIFS_POSIX is not set
|
||||
CONFIG_CIFS_ACL=y
|
||||
CONFIG_CIFS_DEBUG=y
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_CIFS_DEBUG is not set
|
||||
CONFIG_CIFS_DFS_UPCALL=y
|
||||
CONFIG_CIFS_SMB2=y
|
||||
CONFIG_CIFS_SMB311=y
|
||||
@@ -5829,7 +5877,7 @@ CONFIG_TIMER_STATS=y
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
||||
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
CONFIG_STACKTRACE=y
|
||||
@@ -5953,40 +6001,14 @@ CONFIG_KEYS=y
|
||||
# CONFIG_KEY_DH_OPERATIONS is not set
|
||||
CONFIG_SECURITY_DMESG_RESTRICT=y
|
||||
CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_SECURITYFS=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
# CONFIG_SECURITY_NETWORK_XFRM is not set
|
||||
CONFIG_SECURITY_PATH=y
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=0
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITYFS is not set
|
||||
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
|
||||
CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y
|
||||
CONFIG_HARDENED_USERCOPY=y
|
||||
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
|
||||
# CONFIG_SECURITY_SELINUX_DISABLE is not set
|
||||
CONFIG_SECURITY_SELINUX_DEVELOP=y
|
||||
CONFIG_SECURITY_SELINUX_AVC_STATS=y
|
||||
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
|
||||
CONFIG_SECURITY_SMACK=y
|
||||
# CONFIG_SECURITY_SMACK_BRINGUP is not set
|
||||
# CONFIG_SECURITY_SMACK_NETFILTER is not set
|
||||
# CONFIG_SECURITY_SMACK_APPEND_SIGNALS is not set
|
||||
# CONFIG_SECURITY_TOMOYO is not set
|
||||
# CONFIG_SECURITY_APPARMOR is not set
|
||||
# CONFIG_SECURITY_LOADPIN is not set
|
||||
# CONFIG_SECURITY_YAMA is not set
|
||||
CONFIG_INTEGRITY=y
|
||||
# CONFIG_INTEGRITY_SIGNATURE is not set
|
||||
CONFIG_INTEGRITY_AUDIT=y
|
||||
# CONFIG_IMA is not set
|
||||
# CONFIG_EVM is not set
|
||||
CONFIG_DEFAULT_SECURITY_SELINUX=y
|
||||
# CONFIG_DEFAULT_SECURITY_SMACK is not set
|
||||
# CONFIG_DEFAULT_SECURITY_DAC is not set
|
||||
CONFIG_DEFAULT_SECURITY="selinux"
|
||||
CONFIG_XOR_BLOCKS=m
|
||||
# CONFIG_HARDENED_USERCOPY is not set
|
||||
CONFIG_DEFAULT_SECURITY_DAC=y
|
||||
CONFIG_DEFAULT_SECURITY=""
|
||||
CONFIG_XOR_BLOCKS=y
|
||||
CONFIG_ASYNC_CORE=m
|
||||
CONFIG_ASYNC_MEMCPY=m
|
||||
CONFIG_ASYNC_XOR=m
|
||||
@@ -6155,7 +6177,7 @@ CONFIG_BINARY_PRINTF=y
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_RAID6_PQ=m
|
||||
CONFIG_RAID6_PQ=y
|
||||
CONFIG_BITREVERSE=y
|
||||
CONFIG_HAVE_ARCH_BITREVERSE=y
|
||||
CONFIG_RATIONAL=y
|
||||
@@ -6186,6 +6208,8 @@ CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_ZLIB_DEFLATE=y
|
||||
CONFIG_LZO_COMPRESS=y
|
||||
CONFIG_LZO_DECOMPRESS=y
|
||||
CONFIG_LZ4_COMPRESS=y
|
||||
CONFIG_LZ4HC_COMPRESS=y
|
||||
CONFIG_LZ4_DECOMPRESS=y
|
||||
CONFIG_XZ_DEC=y
|
||||
CONFIG_XZ_DEC_X86=y
|
||||
|
||||
6740
config/kernel/linux-odroidn2-next.config
Normal file
6740
config/kernel/linux-odroidn2-next.config
Normal file
File diff suppressed because it is too large
Load Diff
@@ -2,13 +2,13 @@ BOOTSOURCE='https://github.com/hardkernel/u-boot.git'
|
||||
BOOTBRANCH='branch:odroidn2-v2015.01'
|
||||
BOOTDIR='u-boot-odroidn2'
|
||||
UBOOT_USE_GCC='< 4.9'
|
||||
BOOTSCRIPT="boot-odroid-n2.ini:boot.ini"
|
||||
|
||||
UBOOT_TOOLCHAIN2="arm-none-eabi-:< 5.0"
|
||||
UBOOT_COMPILER="aarch64-none-elf-"
|
||||
ARCH=arm64
|
||||
SERIALCON=ttyS0
|
||||
KERNEL_USE_GCC='> 7.0'
|
||||
UBOOT_TARGET_MAP=';;sd_fuse/u-boot.bin'
|
||||
|
||||
BOOTSCRIPT="boot-odroid-n2.ini:boot.ini"
|
||||
KERNEL_IMAGE_TYPE=Image
|
||||
|
||||
case $BRANCH in
|
||||
@@ -18,6 +18,20 @@ case $BRANCH in
|
||||
KERNELDIR='linux-odroidn2'
|
||||
KERNEL_COMPILER='aarch64-linux-gnu-'
|
||||
KERNEL_USE_GCC='< 7.0'
|
||||
SERIALCON=ttyS0
|
||||
;;
|
||||
next)
|
||||
SRC_LOADADDR='LOADADDR=0x00208000'
|
||||
KERNELSOURCE=$MAINLINE_KERNEL_SOURCE
|
||||
KERNELBRANCH='branch:linux-5.1.y'
|
||||
KERNELDIR=$MAINLINE_KERNEL_DIR
|
||||
;;
|
||||
dev)
|
||||
SRC_LOADADDR='LOADADDR=0x00208000'
|
||||
KERNELDIR='linux-aml-default'
|
||||
KERNELSOURCE='https://github.com/150balbes/Amlogic_s905-kernel'
|
||||
KERNELBRANCH='tag:20190514'
|
||||
LINUXCONFIG="linux-odroidn2-next"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -395,6 +395,7 @@ compile_kernel()
|
||||
eval CCACHE_BASEDIR="$(pwd)" env PATH=$toolchain:$PATH \
|
||||
'make $CTHREADS ARCH=$ARCHITECTURE \
|
||||
CROSS_COMPILE="$CCACHE $KERNEL_COMPILER" \
|
||||
$SRC_LOADADDR \
|
||||
LOCALVERSION="-$LINUXFAMILY" \
|
||||
$KERNEL_IMAGE_TYPE modules dtbs 2>>$DEST/debug/compilation.log' \
|
||||
${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/compilation.log'} \
|
||||
|
||||
38575
patch/kernel/odroidn2-default/0001-aufs4.9-20180730.patch
Normal file
38575
patch/kernel/odroidn2-default/0001-aufs4.9-20180730.patch
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,881 +0,0 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 75cba5fbdb46..a4e35453f9e4 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
VERSION = 4
|
||||
PATCHLEVEL = 9
|
||||
-SUBLEVEL = 172
|
||||
+SUBLEVEL = 173
|
||||
EXTRAVERSION =
|
||||
NAME = Roaring Lionus
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
index 84df85ea6296..7efde03daadd 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
@@ -26,5 +26,5 @@
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
||||
+ hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
|
||||
index e0280cac2484..fed72a5f3ffa 100644
|
||||
--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_enet>;
|
||||
phy-mode = "rgmii";
|
||||
+ phy-reset-duration = <10>; /* in msecs */
|
||||
phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
|
||||
phy-supply = <&vdd_eth_io_reg>;
|
||||
status = "disabled";
|
||||
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
|
||||
index 8d665f1b29f8..f0fe566a9910 100644
|
||||
--- a/arch/s390/include/asm/elf.h
|
||||
+++ b/arch/s390/include/asm/elf.h
|
||||
@@ -215,11 +215,14 @@ do { \
|
||||
|
||||
/*
|
||||
* Cache aliasing on the latest machines calls for a mapping granularity
|
||||
- * of 512KB. For 64-bit processes use a 512KB alignment and a randomization
|
||||
- * of up to 1GB. For 31-bit processes the virtual address space is limited,
|
||||
- * use no alignment and limit the randomization to 8MB.
|
||||
+ * of 512KB for the anonymous mapping base. For 64-bit processes use a
|
||||
+ * 512KB alignment and a randomization of up to 1GB. For 31-bit processes
|
||||
+ * the virtual address space is limited, use no alignment and limit the
|
||||
+ * randomization to 8MB.
|
||||
+ * For the additional randomization of the program break use 32MB for
|
||||
+ * 64-bit and 8MB for 31-bit.
|
||||
*/
|
||||
-#define BRK_RND_MASK (is_compat_task() ? 0x7ffUL : 0x3ffffUL)
|
||||
+#define BRK_RND_MASK (is_compat_task() ? 0x7ffUL : 0x1fffUL)
|
||||
#define MMAP_RND_MASK (is_compat_task() ? 0x7ffUL : 0x3ff80UL)
|
||||
#define MMAP_ALIGN_MASK (is_compat_task() ? 0 : 0x7fUL)
|
||||
#define STACK_RND_MASK MMAP_RND_MASK
|
||||
diff --git a/drivers/ata/libata-zpodd.c b/drivers/ata/libata-zpodd.c
|
||||
index 0ad96c647541..7017a81d53cf 100644
|
||||
--- a/drivers/ata/libata-zpodd.c
|
||||
+++ b/drivers/ata/libata-zpodd.c
|
||||
@@ -51,38 +51,52 @@ static int eject_tray(struct ata_device *dev)
|
||||
/* Per the spec, only slot type and drawer type ODD can be supported */
|
||||
static enum odd_mech_type zpodd_get_mech_type(struct ata_device *dev)
|
||||
{
|
||||
- char buf[16];
|
||||
+ char *buf;
|
||||
unsigned int ret;
|
||||
- struct rm_feature_desc *desc = (void *)(buf + 8);
|
||||
+ struct rm_feature_desc *desc;
|
||||
struct ata_taskfile tf;
|
||||
static const char cdb[] = { GPCMD_GET_CONFIGURATION,
|
||||
2, /* only 1 feature descriptor requested */
|
||||
0, 3, /* 3, removable medium feature */
|
||||
0, 0, 0,/* reserved */
|
||||
- 0, sizeof(buf),
|
||||
+ 0, 16,
|
||||
0, 0, 0,
|
||||
};
|
||||
|
||||
+ buf = kzalloc(16, GFP_KERNEL);
|
||||
+ if (!buf)
|
||||
+ return ODD_MECH_TYPE_UNSUPPORTED;
|
||||
+ desc = (void *)(buf + 8);
|
||||
+
|
||||
ata_tf_init(dev, &tf);
|
||||
tf.flags = ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
|
||||
tf.command = ATA_CMD_PACKET;
|
||||
tf.protocol = ATAPI_PROT_PIO;
|
||||
- tf.lbam = sizeof(buf);
|
||||
+ tf.lbam = 16;
|
||||
|
||||
ret = ata_exec_internal(dev, &tf, cdb, DMA_FROM_DEVICE,
|
||||
- buf, sizeof(buf), 0);
|
||||
- if (ret)
|
||||
+ buf, 16, 0);
|
||||
+ if (ret) {
|
||||
+ kfree(buf);
|
||||
return ODD_MECH_TYPE_UNSUPPORTED;
|
||||
+ }
|
||||
|
||||
- if (be16_to_cpu(desc->feature_code) != 3)
|
||||
+ if (be16_to_cpu(desc->feature_code) != 3) {
|
||||
+ kfree(buf);
|
||||
return ODD_MECH_TYPE_UNSUPPORTED;
|
||||
+ }
|
||||
|
||||
- if (desc->mech_type == 0 && desc->load == 0 && desc->eject == 1)
|
||||
+ if (desc->mech_type == 0 && desc->load == 0 && desc->eject == 1) {
|
||||
+ kfree(buf);
|
||||
return ODD_MECH_TYPE_SLOT;
|
||||
- else if (desc->mech_type == 1 && desc->load == 0 && desc->eject == 1)
|
||||
+ } else if (desc->mech_type == 1 && desc->load == 0 &&
|
||||
+ desc->eject == 1) {
|
||||
+ kfree(buf);
|
||||
return ODD_MECH_TYPE_DRAWER;
|
||||
- else
|
||||
+ } else {
|
||||
+ kfree(buf);
|
||||
return ODD_MECH_TYPE_UNSUPPORTED;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Test if ODD is zero power ready by sense code */
|
||||
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
|
||||
index aac84329c759..b863386be911 100644
|
||||
--- a/drivers/gpio/gpiolib-of.c
|
||||
+++ b/drivers/gpio/gpiolib-of.c
|
||||
@@ -531,7 +531,13 @@ int of_gpiochip_add(struct gpio_chip *chip)
|
||||
|
||||
of_node_get(chip->of_node);
|
||||
|
||||
- return of_gpiochip_scan_gpios(chip);
|
||||
+ status = of_gpiochip_scan_gpios(chip);
|
||||
+ if (status) {
|
||||
+ of_node_put(chip->of_node);
|
||||
+ gpiochip_remove_pin_ranges(chip);
|
||||
+ }
|
||||
+
|
||||
+ return status;
|
||||
}
|
||||
|
||||
void of_gpiochip_remove(struct gpio_chip *chip)
|
||||
diff --git a/drivers/leds/leds-pca9532.c b/drivers/leds/leds-pca9532.c
|
||||
index 09a7cffbc46f..896b38f6f9c0 100644
|
||||
--- a/drivers/leds/leds-pca9532.c
|
||||
+++ b/drivers/leds/leds-pca9532.c
|
||||
@@ -488,6 +488,7 @@ static int pca9532_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
{
|
||||
int devid;
|
||||
+ const struct of_device_id *of_id;
|
||||
struct pca9532_data *data = i2c_get_clientdata(client);
|
||||
struct pca9532_platform_data *pca9532_pdata =
|
||||
dev_get_platdata(&client->dev);
|
||||
@@ -503,8 +504,11 @@ static int pca9532_probe(struct i2c_client *client,
|
||||
dev_err(&client->dev, "no platform data\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
- devid = (int)(uintptr_t)of_match_device(
|
||||
- of_pca9532_leds_match, &client->dev)->data;
|
||||
+ of_id = of_match_device(of_pca9532_leds_match,
|
||||
+ &client->dev);
|
||||
+ if (unlikely(!of_id))
|
||||
+ return -EINVAL;
|
||||
+ devid = (int)(uintptr_t) of_id->data;
|
||||
} else {
|
||||
devid = id->driver_data;
|
||||
}
|
||||
diff --git a/drivers/media/platform/vivid/vivid-vid-common.c b/drivers/media/platform/vivid/vivid-vid-common.c
|
||||
index f9a810e3f521..5f052189a6c4 100644
|
||||
--- a/drivers/media/platform/vivid/vivid-vid-common.c
|
||||
+++ b/drivers/media/platform/vivid/vivid-vid-common.c
|
||||
@@ -841,6 +841,7 @@ int vidioc_g_edid(struct file *file, void *_fh,
|
||||
if (edid->start_block + edid->blocks > dev->edid_blocks)
|
||||
edid->blocks = dev->edid_blocks - edid->start_block;
|
||||
memcpy(edid->edid, dev->edid, edid->blocks * 128);
|
||||
- cec_set_edid_phys_addr(edid->edid, edid->blocks * 128, adap->phys_addr);
|
||||
+ if (adap)
|
||||
+ cec_set_edid_phys_addr(edid->edid, edid->blocks * 128, adap->phys_addr);
|
||||
return 0;
|
||||
}
|
||||
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
|
||||
index bd719e25dd76..2dd17e01e3a7 100644
|
||||
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
|
||||
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
|
||||
@@ -3184,6 +3184,7 @@ static ssize_t ehea_probe_port(struct device *dev,
|
||||
|
||||
if (ehea_add_adapter_mr(adapter)) {
|
||||
pr_err("creating MR failed\n");
|
||||
+ of_node_put(eth_dn);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
|
||||
index 1edc973df4c4..7377dca6eb57 100644
|
||||
--- a/drivers/net/ethernet/micrel/ks8851.c
|
||||
+++ b/drivers/net/ethernet/micrel/ks8851.c
|
||||
@@ -547,9 +547,8 @@ static void ks8851_rx_pkts(struct ks8851_net *ks)
|
||||
/* set dma read address */
|
||||
ks8851_wrreg16(ks, KS_RXFDPR, RXFDPR_RXFPAI | 0x00);
|
||||
|
||||
- /* start the packet dma process, and set auto-dequeue rx */
|
||||
- ks8851_wrreg16(ks, KS_RXQCR,
|
||||
- ks->rc_rxqcr | RXQCR_SDA | RXQCR_ADRFE);
|
||||
+ /* start DMA access */
|
||||
+ ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA);
|
||||
|
||||
if (rxlen > 4) {
|
||||
unsigned int rxalign;
|
||||
@@ -580,7 +579,8 @@ static void ks8851_rx_pkts(struct ks8851_net *ks)
|
||||
}
|
||||
}
|
||||
|
||||
- ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr);
|
||||
+ /* end DMA access and dequeue packet */
|
||||
+ ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_RRXEF);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -797,6 +797,15 @@ static void ks8851_tx_work(struct work_struct *work)
|
||||
static int ks8851_net_open(struct net_device *dev)
|
||||
{
|
||||
struct ks8851_net *ks = netdev_priv(dev);
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = request_threaded_irq(dev->irq, NULL, ks8851_irq,
|
||||
+ IRQF_TRIGGER_LOW | IRQF_ONESHOT,
|
||||
+ dev->name, ks);
|
||||
+ if (ret < 0) {
|
||||
+ netdev_err(dev, "failed to get irq\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
|
||||
/* lock the card, even if we may not actually be doing anything
|
||||
* else at the moment */
|
||||
@@ -861,6 +870,7 @@ static int ks8851_net_open(struct net_device *dev)
|
||||
netif_dbg(ks, ifup, ks->netdev, "network device up\n");
|
||||
|
||||
mutex_unlock(&ks->lock);
|
||||
+ mii_check_link(&ks->mii);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -911,6 +921,8 @@ static int ks8851_net_stop(struct net_device *dev)
|
||||
dev_kfree_skb(txb);
|
||||
}
|
||||
|
||||
+ free_irq(dev->irq, ks);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1516,6 +1528,7 @@ static int ks8851_probe(struct spi_device *spi)
|
||||
|
||||
spi_set_drvdata(spi, ks);
|
||||
|
||||
+ netif_carrier_off(ks->netdev);
|
||||
ndev->if_port = IF_PORT_100BASET;
|
||||
ndev->netdev_ops = &ks8851_netdev_ops;
|
||||
ndev->irq = spi->irq;
|
||||
@@ -1542,14 +1555,6 @@ static int ks8851_probe(struct spi_device *spi)
|
||||
ks8851_read_selftest(ks);
|
||||
ks8851_init_mac(ks);
|
||||
|
||||
- ret = request_threaded_irq(spi->irq, NULL, ks8851_irq,
|
||||
- IRQF_TRIGGER_LOW | IRQF_ONESHOT,
|
||||
- ndev->name, ks);
|
||||
- if (ret < 0) {
|
||||
- dev_err(&spi->dev, "failed to get irq\n");
|
||||
- goto err_irq;
|
||||
- }
|
||||
-
|
||||
ret = register_netdev(ndev);
|
||||
if (ret) {
|
||||
dev_err(&spi->dev, "failed to register network device\n");
|
||||
@@ -1562,14 +1567,10 @@ static int ks8851_probe(struct spi_device *spi)
|
||||
|
||||
return 0;
|
||||
|
||||
-
|
||||
err_netdev:
|
||||
- free_irq(ndev->irq, ks);
|
||||
-
|
||||
-err_irq:
|
||||
+err_id:
|
||||
if (gpio_is_valid(gpio))
|
||||
gpio_set_value(gpio, 0);
|
||||
-err_id:
|
||||
regulator_disable(ks->vdd_reg);
|
||||
err_reg:
|
||||
regulator_disable(ks->vdd_io);
|
||||
@@ -1587,7 +1588,6 @@ static int ks8851_remove(struct spi_device *spi)
|
||||
dev_info(&spi->dev, "remove\n");
|
||||
|
||||
unregister_netdev(priv->netdev);
|
||||
- free_irq(spi->irq, priv);
|
||||
if (gpio_is_valid(priv->gpio))
|
||||
gpio_set_value(priv->gpio, 0);
|
||||
regulator_disable(priv->vdd_reg);
|
||||
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
|
||||
index 0a2318cad34d..63ebc491057b 100644
|
||||
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
|
||||
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
|
||||
@@ -1038,6 +1038,8 @@ int qlcnic_do_lb_test(struct qlcnic_adapter *adapter, u8 mode)
|
||||
|
||||
for (i = 0; i < QLCNIC_NUM_ILB_PKT; i++) {
|
||||
skb = netdev_alloc_skb(adapter->netdev, QLCNIC_ILB_PKT_SIZE);
|
||||
+ if (!skb)
|
||||
+ break;
|
||||
qlcnic_create_loopback_buff(skb->data, adapter->mac_addr);
|
||||
skb_put(skb, QLCNIC_ILB_PKT_SIZE);
|
||||
adapter->ahw->diag_cnt = 0;
|
||||
diff --git a/drivers/net/ethernet/ti/netcp_ethss.c b/drivers/net/ethernet/ti/netcp_ethss.c
|
||||
index d543298d6750..ff24524e7f46 100644
|
||||
--- a/drivers/net/ethernet/ti/netcp_ethss.c
|
||||
+++ b/drivers/net/ethernet/ti/netcp_ethss.c
|
||||
@@ -3122,12 +3122,16 @@ static int gbe_probe(struct netcp_device *netcp_device, struct device *dev,
|
||||
|
||||
ret = netcp_txpipe_init(&gbe_dev->tx_pipe, netcp_device,
|
||||
gbe_dev->dma_chan_name, gbe_dev->tx_queue_id);
|
||||
- if (ret)
|
||||
+ if (ret) {
|
||||
+ of_node_put(interfaces);
|
||||
return ret;
|
||||
+ }
|
||||
|
||||
ret = netcp_txpipe_open(&gbe_dev->tx_pipe);
|
||||
- if (ret)
|
||||
+ if (ret) {
|
||||
+ of_node_put(interfaces);
|
||||
return ret;
|
||||
+ }
|
||||
|
||||
/* Create network interfaces */
|
||||
INIT_LIST_HEAD(&gbe_dev->gbe_intf_head);
|
||||
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
index c688d68c39aa..a8afc92cbfca 100644
|
||||
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||
@@ -1548,12 +1548,14 @@ static int axienet_probe(struct platform_device *pdev)
|
||||
ret = of_address_to_resource(np, 0, &dmares);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "unable to get DMA resource\n");
|
||||
+ of_node_put(np);
|
||||
goto free_netdev;
|
||||
}
|
||||
lp->dma_regs = devm_ioremap_resource(&pdev->dev, &dmares);
|
||||
if (IS_ERR(lp->dma_regs)) {
|
||||
dev_err(&pdev->dev, "could not map DMA regs\n");
|
||||
ret = PTR_ERR(lp->dma_regs);
|
||||
+ of_node_put(np);
|
||||
goto free_netdev;
|
||||
}
|
||||
lp->rx_irq = irq_of_parse_and_map(np, 1);
|
||||
diff --git a/drivers/net/usb/ipheth.c b/drivers/net/usb/ipheth.c
|
||||
index f1f8227e7342..01f95d192d25 100644
|
||||
--- a/drivers/net/usb/ipheth.c
|
||||
+++ b/drivers/net/usb/ipheth.c
|
||||
@@ -148,6 +148,7 @@ struct ipheth_device {
|
||||
u8 bulk_in;
|
||||
u8 bulk_out;
|
||||
struct delayed_work carrier_work;
|
||||
+ bool confirmed_pairing;
|
||||
};
|
||||
|
||||
static int ipheth_rx_submit(struct ipheth_device *dev, gfp_t mem_flags);
|
||||
@@ -259,7 +260,7 @@ static void ipheth_rcvbulk_callback(struct urb *urb)
|
||||
|
||||
dev->net->stats.rx_packets++;
|
||||
dev->net->stats.rx_bytes += len;
|
||||
-
|
||||
+ dev->confirmed_pairing = true;
|
||||
netif_rx(skb);
|
||||
ipheth_rx_submit(dev, GFP_ATOMIC);
|
||||
}
|
||||
@@ -280,14 +281,24 @@ static void ipheth_sndbulk_callback(struct urb *urb)
|
||||
dev_err(&dev->intf->dev, "%s: urb status: %d\n",
|
||||
__func__, status);
|
||||
|
||||
- netif_wake_queue(dev->net);
|
||||
+ if (status == 0)
|
||||
+ netif_wake_queue(dev->net);
|
||||
+ else
|
||||
+ // on URB error, trigger immediate poll
|
||||
+ schedule_delayed_work(&dev->carrier_work, 0);
|
||||
}
|
||||
|
||||
static int ipheth_carrier_set(struct ipheth_device *dev)
|
||||
{
|
||||
- struct usb_device *udev = dev->udev;
|
||||
+ struct usb_device *udev;
|
||||
int retval;
|
||||
|
||||
+ if (!dev)
|
||||
+ return 0;
|
||||
+ if (!dev->confirmed_pairing)
|
||||
+ return 0;
|
||||
+
|
||||
+ udev = dev->udev;
|
||||
retval = usb_control_msg(udev,
|
||||
usb_rcvctrlpipe(udev, IPHETH_CTRL_ENDP),
|
||||
IPHETH_CMD_CARRIER_CHECK, /* request */
|
||||
@@ -302,11 +313,14 @@ static int ipheth_carrier_set(struct ipheth_device *dev)
|
||||
return retval;
|
||||
}
|
||||
|
||||
- if (dev->ctrl_buf[0] == IPHETH_CARRIER_ON)
|
||||
+ if (dev->ctrl_buf[0] == IPHETH_CARRIER_ON) {
|
||||
netif_carrier_on(dev->net);
|
||||
- else
|
||||
+ if (dev->tx_urb->status != -EINPROGRESS)
|
||||
+ netif_wake_queue(dev->net);
|
||||
+ } else {
|
||||
netif_carrier_off(dev->net);
|
||||
-
|
||||
+ netif_stop_queue(dev->net);
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -386,7 +400,6 @@ static int ipheth_open(struct net_device *net)
|
||||
return retval;
|
||||
|
||||
schedule_delayed_work(&dev->carrier_work, IPHETH_CARRIER_CHECK_TIMEOUT);
|
||||
- netif_start_queue(net);
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -489,7 +502,7 @@ static int ipheth_probe(struct usb_interface *intf,
|
||||
dev->udev = udev;
|
||||
dev->net = netdev;
|
||||
dev->intf = intf;
|
||||
-
|
||||
+ dev->confirmed_pairing = false;
|
||||
/* Set up endpoints */
|
||||
hintf = usb_altnum_to_altsetting(intf, IPHETH_ALT_INTFNUM);
|
||||
if (hintf == NULL) {
|
||||
@@ -540,7 +553,9 @@ static int ipheth_probe(struct usb_interface *intf,
|
||||
retval = -EIO;
|
||||
goto err_register_netdev;
|
||||
}
|
||||
-
|
||||
+ // carrier down and transmit queues stopped until packet from device
|
||||
+ netif_carrier_off(netdev);
|
||||
+ netif_tx_stop_all_queues(netdev);
|
||||
dev_info(&intf->dev, "Apple iPhone USB Ethernet device attached\n");
|
||||
return 0;
|
||||
|
||||
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
|
||||
index 237688af179b..f7630cf581cd 100644
|
||||
--- a/drivers/s390/scsi/zfcp_fc.c
|
||||
+++ b/drivers/s390/scsi/zfcp_fc.c
|
||||
@@ -238,10 +238,6 @@ static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range,
|
||||
list_for_each_entry(port, &adapter->port_list, list) {
|
||||
if ((port->d_id & range) == (ntoh24(page->rscn_fid) & range))
|
||||
zfcp_fc_test_link(port);
|
||||
- if (!port->d_id)
|
||||
- zfcp_erp_port_reopen(port,
|
||||
- ZFCP_STATUS_COMMON_ERP_FAILED,
|
||||
- "fcrscn1");
|
||||
}
|
||||
read_unlock_irqrestore(&adapter->port_list_lock, flags);
|
||||
}
|
||||
@@ -249,6 +245,7 @@ static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range,
|
||||
static void zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req)
|
||||
{
|
||||
struct fsf_status_read_buffer *status_buffer = (void *)fsf_req->data;
|
||||
+ struct zfcp_adapter *adapter = fsf_req->adapter;
|
||||
struct fc_els_rscn *head;
|
||||
struct fc_els_rscn_page *page;
|
||||
u16 i;
|
||||
@@ -261,6 +258,22 @@ static void zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req)
|
||||
/* see FC-FS */
|
||||
no_entries = head->rscn_plen / sizeof(struct fc_els_rscn_page);
|
||||
|
||||
+ if (no_entries > 1) {
|
||||
+ /* handle failed ports */
|
||||
+ unsigned long flags;
|
||||
+ struct zfcp_port *port;
|
||||
+
|
||||
+ read_lock_irqsave(&adapter->port_list_lock, flags);
|
||||
+ list_for_each_entry(port, &adapter->port_list, list) {
|
||||
+ if (port->d_id)
|
||||
+ continue;
|
||||
+ zfcp_erp_port_reopen(port,
|
||||
+ ZFCP_STATUS_COMMON_ERP_FAILED,
|
||||
+ "fcrscn1");
|
||||
+ }
|
||||
+ read_unlock_irqrestore(&adapter->port_list_lock, flags);
|
||||
+ }
|
||||
+
|
||||
for (i = 1; i < no_entries; i++) {
|
||||
/* skip head and start with 1st element */
|
||||
page++;
|
||||
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
|
||||
index f9f899ec9427..c158967b59d7 100644
|
||||
--- a/drivers/scsi/qla4xxx/ql4_os.c
|
||||
+++ b/drivers/scsi/qla4xxx/ql4_os.c
|
||||
@@ -3207,6 +3207,8 @@ static int qla4xxx_conn_bind(struct iscsi_cls_session *cls_session,
|
||||
if (iscsi_conn_bind(cls_session, cls_conn, is_leading))
|
||||
return -EINVAL;
|
||||
ep = iscsi_lookup_endpoint(transport_fd);
|
||||
+ if (!ep)
|
||||
+ return -EINVAL;
|
||||
conn = cls_conn->dd_data;
|
||||
qla_conn = conn->dd_data;
|
||||
qla_conn->qla_ep = ep->dd_data;
|
||||
diff --git a/drivers/staging/rtl8712/rtl8712_cmd.c b/drivers/staging/rtl8712/rtl8712_cmd.c
|
||||
index 9f61583af150..41b667c8385c 100644
|
||||
--- a/drivers/staging/rtl8712/rtl8712_cmd.c
|
||||
+++ b/drivers/staging/rtl8712/rtl8712_cmd.c
|
||||
@@ -158,17 +158,9 @@ static u8 write_macreg_hdl(struct _adapter *padapter, u8 *pbuf)
|
||||
|
||||
static u8 read_bbreg_hdl(struct _adapter *padapter, u8 *pbuf)
|
||||
{
|
||||
- u32 val;
|
||||
- void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj *pcmd);
|
||||
struct cmd_obj *pcmd = (struct cmd_obj *)pbuf;
|
||||
|
||||
- if (pcmd->rsp && pcmd->rspsz > 0)
|
||||
- memcpy(pcmd->rsp, (u8 *)&val, pcmd->rspsz);
|
||||
- pcmd_callback = cmd_callback[pcmd->cmdcode].callback;
|
||||
- if (!pcmd_callback)
|
||||
- r8712_free_cmd_obj(pcmd);
|
||||
- else
|
||||
- pcmd_callback(padapter, pcmd);
|
||||
+ r8712_free_cmd_obj(pcmd);
|
||||
return H2C_SUCCESS;
|
||||
}
|
||||
|
||||
diff --git a/drivers/staging/rtl8712/rtl8712_cmd.h b/drivers/staging/rtl8712/rtl8712_cmd.h
|
||||
index 67e9e910aef9..d10a59d4a550 100644
|
||||
--- a/drivers/staging/rtl8712/rtl8712_cmd.h
|
||||
+++ b/drivers/staging/rtl8712/rtl8712_cmd.h
|
||||
@@ -152,7 +152,7 @@ enum rtl8712_h2c_cmd {
|
||||
static struct _cmd_callback cmd_callback[] = {
|
||||
{GEN_CMD_CODE(_Read_MACREG), NULL}, /*0*/
|
||||
{GEN_CMD_CODE(_Write_MACREG), NULL},
|
||||
- {GEN_CMD_CODE(_Read_BBREG), &r8712_getbbrfreg_cmdrsp_callback},
|
||||
+ {GEN_CMD_CODE(_Read_BBREG), NULL},
|
||||
{GEN_CMD_CODE(_Write_BBREG), NULL},
|
||||
{GEN_CMD_CODE(_Read_RFREG), &r8712_getbbrfreg_cmdrsp_callback},
|
||||
{GEN_CMD_CODE(_Write_RFREG), NULL}, /*5*/
|
||||
diff --git a/drivers/tty/serial/ar933x_uart.c b/drivers/tty/serial/ar933x_uart.c
|
||||
index 73137f4aac20..d4462512605b 100644
|
||||
--- a/drivers/tty/serial/ar933x_uart.c
|
||||
+++ b/drivers/tty/serial/ar933x_uart.c
|
||||
@@ -52,11 +52,6 @@ struct ar933x_uart_port {
|
||||
struct clk *clk;
|
||||
};
|
||||
|
||||
-static inline bool ar933x_uart_console_enabled(void)
|
||||
-{
|
||||
- return IS_ENABLED(CONFIG_SERIAL_AR933X_CONSOLE);
|
||||
-}
|
||||
-
|
||||
static inline unsigned int ar933x_uart_read(struct ar933x_uart_port *up,
|
||||
int offset)
|
||||
{
|
||||
@@ -511,6 +506,7 @@ static struct uart_ops ar933x_uart_ops = {
|
||||
.verify_port = ar933x_uart_verify_port,
|
||||
};
|
||||
|
||||
+#ifdef CONFIG_SERIAL_AR933X_CONSOLE
|
||||
static struct ar933x_uart_port *
|
||||
ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS];
|
||||
|
||||
@@ -607,14 +603,7 @@ static struct console ar933x_uart_console = {
|
||||
.index = -1,
|
||||
.data = &ar933x_uart_driver,
|
||||
};
|
||||
-
|
||||
-static void ar933x_uart_add_console_port(struct ar933x_uart_port *up)
|
||||
-{
|
||||
- if (!ar933x_uart_console_enabled())
|
||||
- return;
|
||||
-
|
||||
- ar933x_console_ports[up->port.line] = up;
|
||||
-}
|
||||
+#endif /* CONFIG_SERIAL_AR933X_CONSOLE */
|
||||
|
||||
static struct uart_driver ar933x_uart_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
@@ -703,7 +692,9 @@ static int ar933x_uart_probe(struct platform_device *pdev)
|
||||
baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP);
|
||||
up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD);
|
||||
|
||||
- ar933x_uart_add_console_port(up);
|
||||
+#ifdef CONFIG_SERIAL_AR933X_CONSOLE
|
||||
+ ar933x_console_ports[up->port.line] = up;
|
||||
+#endif
|
||||
|
||||
ret = uart_add_one_port(&ar933x_uart_driver, &up->port);
|
||||
if (ret)
|
||||
@@ -752,8 +743,9 @@ static int __init ar933x_uart_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
- if (ar933x_uart_console_enabled())
|
||||
- ar933x_uart_driver.cons = &ar933x_uart_console;
|
||||
+#ifdef CONFIG_SERIAL_AR933X_CONSOLE
|
||||
+ ar933x_uart_driver.cons = &ar933x_uart_console;
|
||||
+#endif
|
||||
|
||||
ret = uart_register_driver(&ar933x_uart_driver);
|
||||
if (ret)
|
||||
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
|
||||
index ea6b62cece88..82451bb6622b 100644
|
||||
--- a/drivers/tty/serial/sc16is7xx.c
|
||||
+++ b/drivers/tty/serial/sc16is7xx.c
|
||||
@@ -1482,7 +1482,7 @@ static int __init sc16is7xx_init(void)
|
||||
ret = i2c_add_driver(&sc16is7xx_i2c_uart_driver);
|
||||
if (ret < 0) {
|
||||
pr_err("failed to init sc16is7xx i2c --> %d\n", ret);
|
||||
- return ret;
|
||||
+ goto err_i2c;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1490,10 +1490,18 @@ static int __init sc16is7xx_init(void)
|
||||
ret = spi_register_driver(&sc16is7xx_spi_uart_driver);
|
||||
if (ret < 0) {
|
||||
pr_err("failed to init sc16is7xx spi --> %d\n", ret);
|
||||
- return ret;
|
||||
+ goto err_spi;
|
||||
}
|
||||
#endif
|
||||
return ret;
|
||||
+
|
||||
+err_spi:
|
||||
+#ifdef CONFIG_SERIAL_SC16IS7XX_I2C
|
||||
+ i2c_del_driver(&sc16is7xx_i2c_uart_driver);
|
||||
+#endif
|
||||
+err_i2c:
|
||||
+ uart_unregister_driver(&sc16is7xx_uart);
|
||||
+ return ret;
|
||||
}
|
||||
module_init(sc16is7xx_init);
|
||||
|
||||
diff --git a/drivers/usb/gadget/udc/net2272.c b/drivers/usb/gadget/udc/net2272.c
|
||||
index 40396a265a3f..f57d293a1791 100644
|
||||
--- a/drivers/usb/gadget/udc/net2272.c
|
||||
+++ b/drivers/usb/gadget/udc/net2272.c
|
||||
@@ -958,6 +958,7 @@ net2272_dequeue(struct usb_ep *_ep, struct usb_request *_req)
|
||||
break;
|
||||
}
|
||||
if (&req->req != _req) {
|
||||
+ ep->stopped = stopped;
|
||||
spin_unlock_irqrestore(&ep->dev->lock, flags);
|
||||
return -EINVAL;
|
||||
}
|
||||
diff --git a/drivers/usb/gadget/udc/net2280.c b/drivers/usb/gadget/udc/net2280.c
|
||||
index 7a8c36642293..dfaed8e8cc52 100644
|
||||
--- a/drivers/usb/gadget/udc/net2280.c
|
||||
+++ b/drivers/usb/gadget/udc/net2280.c
|
||||
@@ -870,9 +870,6 @@ static void start_queue(struct net2280_ep *ep, u32 dmactl, u32 td_dma)
|
||||
(void) readl(&ep->dev->pci->pcimstctl);
|
||||
|
||||
writel(BIT(DMA_START), &dma->dmastat);
|
||||
-
|
||||
- if (!ep->is_in)
|
||||
- stop_out_naking(ep);
|
||||
}
|
||||
|
||||
static void start_dma(struct net2280_ep *ep, struct net2280_request *req)
|
||||
@@ -911,6 +908,7 @@ static void start_dma(struct net2280_ep *ep, struct net2280_request *req)
|
||||
writel(BIT(DMA_START), &dma->dmastat);
|
||||
return;
|
||||
}
|
||||
+ stop_out_naking(ep);
|
||||
}
|
||||
|
||||
tmp = dmactl_default;
|
||||
@@ -1279,9 +1277,9 @@ static int net2280_dequeue(struct usb_ep *_ep, struct usb_request *_req)
|
||||
break;
|
||||
}
|
||||
if (&req->req != _req) {
|
||||
+ ep->stopped = stopped;
|
||||
spin_unlock_irqrestore(&ep->dev->lock, flags);
|
||||
- dev_err(&ep->dev->pdev->dev, "%s: Request mismatch\n",
|
||||
- __func__);
|
||||
+ ep_dbg(ep->dev, "%s: Request mismatch\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
|
||||
index 43618976d68a..3efb7b0e8269 100644
|
||||
--- a/drivers/usb/host/u132-hcd.c
|
||||
+++ b/drivers/usb/host/u132-hcd.c
|
||||
@@ -3208,6 +3208,9 @@ static int __init u132_hcd_init(void)
|
||||
printk(KERN_INFO "driver %s\n", hcd_name);
|
||||
workqueue = create_singlethread_workqueue("u132");
|
||||
retval = platform_driver_register(&u132_platform_driver);
|
||||
+ if (retval)
|
||||
+ destroy_workqueue(workqueue);
|
||||
+
|
||||
return retval;
|
||||
}
|
||||
|
||||
diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
|
||||
index 1d48e62f4f52..0d5b667c0e65 100644
|
||||
--- a/drivers/vfio/vfio_iommu_type1.c
|
||||
+++ b/drivers/vfio/vfio_iommu_type1.c
|
||||
@@ -53,10 +53,16 @@ module_param_named(disable_hugepages,
|
||||
MODULE_PARM_DESC(disable_hugepages,
|
||||
"Disable VFIO IOMMU support for IOMMU hugepages.");
|
||||
|
||||
+static unsigned int dma_entry_limit __read_mostly = U16_MAX;
|
||||
+module_param_named(dma_entry_limit, dma_entry_limit, uint, 0644);
|
||||
+MODULE_PARM_DESC(dma_entry_limit,
|
||||
+ "Maximum number of user DMA mappings per container (65535).");
|
||||
+
|
||||
struct vfio_iommu {
|
||||
struct list_head domain_list;
|
||||
struct mutex lock;
|
||||
struct rb_root dma_list;
|
||||
+ unsigned int dma_avail;
|
||||
bool v2;
|
||||
bool nesting;
|
||||
};
|
||||
@@ -384,6 +390,7 @@ static void vfio_remove_dma(struct vfio_iommu *iommu, struct vfio_dma *dma)
|
||||
vfio_unmap_unpin(iommu, dma);
|
||||
vfio_unlink_dma(iommu, dma);
|
||||
kfree(dma);
|
||||
+ iommu->dma_avail++;
|
||||
}
|
||||
|
||||
static unsigned long vfio_pgsize_bitmap(struct vfio_iommu *iommu)
|
||||
@@ -584,12 +591,18 @@ static int vfio_dma_do_map(struct vfio_iommu *iommu,
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
+ if (!iommu->dma_avail) {
|
||||
+ mutex_unlock(&iommu->lock);
|
||||
+ return -ENOSPC;
|
||||
+ }
|
||||
+
|
||||
dma = kzalloc(sizeof(*dma), GFP_KERNEL);
|
||||
if (!dma) {
|
||||
mutex_unlock(&iommu->lock);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
+ iommu->dma_avail--;
|
||||
dma->iova = iova;
|
||||
dma->vaddr = vaddr;
|
||||
dma->prot = prot;
|
||||
@@ -905,6 +918,7 @@ static void *vfio_iommu_type1_open(unsigned long arg)
|
||||
|
||||
INIT_LIST_HEAD(&iommu->domain_list);
|
||||
iommu->dma_list = RB_ROOT;
|
||||
+ iommu->dma_avail = dma_entry_limit;
|
||||
mutex_init(&iommu->lock);
|
||||
|
||||
return iommu;
|
||||
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
|
||||
index 30d9d9e7057d..7a4052501866 100644
|
||||
--- a/fs/ceph/inode.c
|
||||
+++ b/fs/ceph/inode.c
|
||||
@@ -523,6 +523,7 @@ static void ceph_i_callback(struct rcu_head *head)
|
||||
struct inode *inode = container_of(head, struct inode, i_rcu);
|
||||
struct ceph_inode_info *ci = ceph_inode(inode);
|
||||
|
||||
+ kfree(ci->i_symlink);
|
||||
kmem_cache_free(ceph_inode_cachep, ci);
|
||||
}
|
||||
|
||||
@@ -554,7 +555,6 @@ void ceph_destroy_inode(struct inode *inode)
|
||||
ceph_put_snap_realm(mdsc, realm);
|
||||
}
|
||||
|
||||
- kfree(ci->i_symlink);
|
||||
while ((n = rb_first(&ci->i_fragtree)) != NULL) {
|
||||
frag = rb_entry(n, struct ceph_inode_frag, node);
|
||||
rb_erase(n, &ci->i_fragtree);
|
||||
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
|
||||
index ebecfb8fba06..28d8a57a9908 100644
|
||||
--- a/fs/nfs/client.c
|
||||
+++ b/fs/nfs/client.c
|
||||
@@ -440,7 +440,7 @@ void nfs_init_timeout_values(struct rpc_timeout *to, int proto,
|
||||
case XPRT_TRANSPORT_RDMA:
|
||||
if (retrans == NFS_UNSPEC_RETRANS)
|
||||
to->to_retries = NFS_DEF_TCP_RETRANS;
|
||||
- if (timeo == NFS_UNSPEC_TIMEO || to->to_retries == 0)
|
||||
+ if (timeo == NFS_UNSPEC_TIMEO || to->to_initval == 0)
|
||||
to->to_initval = NFS_DEF_TCP_TIMEO * HZ / 10;
|
||||
if (to->to_initval > NFS_MAX_TCP_TIMEOUT)
|
||||
to->to_initval = NFS_MAX_TCP_TIMEOUT;
|
||||
diff --git a/net/bridge/br_netfilter_hooks.c b/net/bridge/br_netfilter_hooks.c
|
||||
index 38865deab3ac..0c96773d1829 100644
|
||||
--- a/net/bridge/br_netfilter_hooks.c
|
||||
+++ b/net/bridge/br_netfilter_hooks.c
|
||||
@@ -512,6 +512,7 @@ static unsigned int br_nf_pre_routing(void *priv,
|
||||
nf_bridge->ipv4_daddr = ip_hdr(skb)->daddr;
|
||||
|
||||
skb->protocol = htons(ETH_P_IP);
|
||||
+ skb->transport_header = skb->network_header + ip_hdr(skb)->ihl * 4;
|
||||
|
||||
NF_HOOK(NFPROTO_IPV4, NF_INET_PRE_ROUTING, state->net, state->sk, skb,
|
||||
skb->dev, NULL,
|
||||
diff --git a/net/bridge/br_netfilter_ipv6.c b/net/bridge/br_netfilter_ipv6.c
|
||||
index a1b57cb07f1e..8c08dd07419f 100644
|
||||
--- a/net/bridge/br_netfilter_ipv6.c
|
||||
+++ b/net/bridge/br_netfilter_ipv6.c
|
||||
@@ -235,6 +235,8 @@ unsigned int br_nf_pre_routing_ipv6(void *priv,
|
||||
nf_bridge->ipv6_daddr = ipv6_hdr(skb)->daddr;
|
||||
|
||||
skb->protocol = htons(ETH_P_IPV6);
|
||||
+ skb->transport_header = skb->network_header + sizeof(struct ipv6hdr);
|
||||
+
|
||||
NF_HOOK(NFPROTO_IPV6, NF_INET_PRE_ROUTING, state->net, state->sk, skb,
|
||||
skb->dev, NULL,
|
||||
br_nf_pre_routing_finish_ipv6);
|
||||
diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c
|
||||
index 93820e0d8814..4ee8acded0a4 100644
|
||||
--- a/net/netfilter/nft_set_rbtree.c
|
||||
+++ b/net/netfilter/nft_set_rbtree.c
|
||||
@@ -191,10 +191,6 @@ static void *nft_rbtree_deactivate(const struct net *net,
|
||||
else if (d > 0)
|
||||
parent = parent->rb_right;
|
||||
else {
|
||||
- if (!nft_set_elem_active(&rbe->ext, genmask)) {
|
||||
- parent = parent->rb_left;
|
||||
- continue;
|
||||
- }
|
||||
if (nft_rbtree_interval_end(rbe) &&
|
||||
!nft_rbtree_interval_end(this)) {
|
||||
parent = parent->rb_left;
|
||||
@@ -203,6 +199,9 @@ static void *nft_rbtree_deactivate(const struct net *net,
|
||||
nft_rbtree_interval_end(this)) {
|
||||
parent = parent->rb_right;
|
||||
continue;
|
||||
+ } else if (!nft_set_elem_active(&rbe->ext, genmask)) {
|
||||
+ parent = parent->rb_left;
|
||||
+ continue;
|
||||
}
|
||||
nft_set_elem_change_active(net, set, &rbe->ext);
|
||||
return rbe;
|
||||
diff --git a/scripts/kconfig/lxdialog/inputbox.c b/scripts/kconfig/lxdialog/inputbox.c
|
||||
index d58de1dc5360..510049a7bd1d 100644
|
||||
--- a/scripts/kconfig/lxdialog/inputbox.c
|
||||
+++ b/scripts/kconfig/lxdialog/inputbox.c
|
||||
@@ -126,7 +126,8 @@ do_resize:
|
||||
case KEY_DOWN:
|
||||
break;
|
||||
case KEY_BACKSPACE:
|
||||
- case 127:
|
||||
+ case 8: /* ^H */
|
||||
+ case 127: /* ^? */
|
||||
if (pos) {
|
||||
wattrset(dialog, dlg.inputbox.atr);
|
||||
if (input_x == 0) {
|
||||
diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
|
||||
index d42d534a66cd..f7049e288e93 100644
|
||||
--- a/scripts/kconfig/nconf.c
|
||||
+++ b/scripts/kconfig/nconf.c
|
||||
@@ -1046,7 +1046,7 @@ static int do_match(int key, struct match_state *state, int *ans)
|
||||
state->match_direction = FIND_NEXT_MATCH_UP;
|
||||
*ans = get_mext_match(state->pattern,
|
||||
state->match_direction);
|
||||
- } else if (key == KEY_BACKSPACE || key == 127) {
|
||||
+ } else if (key == KEY_BACKSPACE || key == 8 || key == 127) {
|
||||
state->pattern[strlen(state->pattern)-1] = '\0';
|
||||
adj_match_dir(&state->match_direction);
|
||||
} else
|
||||
diff --git a/scripts/kconfig/nconf.gui.c b/scripts/kconfig/nconf.gui.c
|
||||
index 4b2f44c20caf..9a65035cf787 100644
|
||||
--- a/scripts/kconfig/nconf.gui.c
|
||||
+++ b/scripts/kconfig/nconf.gui.c
|
||||
@@ -439,7 +439,8 @@ int dialog_inputbox(WINDOW *main_window,
|
||||
case KEY_F(F_EXIT):
|
||||
case KEY_F(F_BACK):
|
||||
break;
|
||||
- case 127:
|
||||
+ case 8: /* ^H */
|
||||
+ case 127: /* ^? */
|
||||
case KEY_BACKSPACE:
|
||||
if (cursor_position > 0) {
|
||||
memmove(&result[cursor_position-1],
|
||||
File diff suppressed because it is too large
Load Diff
221
patch/kernel/odroidn2-dev/general-packaging-4.20-dev.patch
Normal file
221
patch/kernel/odroidn2-dev/general-packaging-4.20-dev.patch
Normal file
@@ -0,0 +1,221 @@
|
||||
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
|
||||
index 90c9a8a..3c79b90 100755
|
||||
--- a/scripts/package/builddeb
|
||||
+++ b/scripts/package/builddeb
|
||||
@@ -29,6 +29,27 @@ create_package() {
|
||||
# in case we are in a restrictive umask environment like 0077
|
||||
chmod -R a+rX "$pdir"
|
||||
|
||||
+ # Create preinstall and post install script to remove dtb
|
||||
+ if [[ "$1" == *dtb* ]]; then
|
||||
+ echo "if [ -d /boot/dtb-$version ]; then mv /boot/dtb-$version /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/preinst
|
||||
+ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst
|
||||
+ echo "if [ -d /boot/dtb ]; then mv /boot/dtb /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst
|
||||
+ echo "exit 0" >> $pdir/DEBIAN/preinst
|
||||
+ chmod 775 $pdir/DEBIAN/preinst
|
||||
+
|
||||
+ echo "if [ -d /boot/dtb-$version.old ]; then rm -rf /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/postinst
|
||||
+ echo "ln -sf dtb-$version /boot/dtb > /dev/null 2>&1 || mv /boot/dtb-$version /boot/dtb" >> $pdir/DEBIAN/postinst
|
||||
+ echo "exit 0" >> $pdir/DEBIAN/postinst
|
||||
+ chmod 775 $pdir/DEBIAN/postinst
|
||||
+ fi
|
||||
+
|
||||
+ # Create postinstall script for headers
|
||||
+ if [[ "$1" == *headers* ]]; then
|
||||
+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;make -s scripts >/dev/null 2>&1" >> $pdir/DEBIAN/postinst
|
||||
+ echo "exit 0" >> $pdir/DEBIAN/postinst
|
||||
+ chmod 775 $pdir/DEBIAN/postinst
|
||||
+ fi
|
||||
+
|
||||
# Create the package
|
||||
dpkg-gencontrol -p$pname -P"$pdir"
|
||||
dpkg --build "$pdir" ..
|
||||
@@ -39,9 +60,11 @@ tmpdir="$objtree/debian/tmp"
|
||||
kernel_headers_dir="$objtree/debian/hdrtmp"
|
||||
libc_headers_dir="$objtree/debian/headertmp"
|
||||
dbg_dir="$objtree/debian/dbgtmp"
|
||||
-packagename=linux-image-$version
|
||||
-kernel_headers_packagename=linux-headers-$version
|
||||
-libc_headers_packagename=linux-libc-dev
|
||||
+dtb_dir="$objtree/debian/dtbtmp"
|
||||
+packagename=linux-image-dev"$LOCALVERSION"
|
||||
+kernel_headers_packagename=linux-headers-dev"$LOCALVERSION"
|
||||
+dtb_packagename=linux-dtb-dev"$LOCALVERSION"
|
||||
+libc_headers_packagename=linux-libc-dev-dev"$LOCALVERSION"
|
||||
dbg_packagename=$packagename-dbg
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
@@ -52,6 +75,15 @@ fi
|
||||
# XXX: have each arch Makefile export a variable of the canonical image install
|
||||
# path instead
|
||||
case $ARCH in
|
||||
+aarch64|arm64)
|
||||
+ image_name=Image
|
||||
+ installed_image_path="boot/vmlinuz-$version"
|
||||
+
|
||||
+ ;;
|
||||
+arm*)
|
||||
+ image_name=zImage
|
||||
+ installed_image_path="boot/vmlinuz-$version"
|
||||
+ ;;
|
||||
um)
|
||||
installed_image_path="usr/bin/linux-$version"
|
||||
;;
|
||||
@@ -65,7 +97,9 @@ esac
|
||||
BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)"
|
||||
|
||||
# Setup the directory structure
|
||||
-rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files
|
||||
+rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" $objtree/debian/files
|
||||
+mkdir -m 755 -p "$dtb_dir/DEBIAN"
|
||||
+mkdir -p "$dtb_dir/boot/dtb-$version" "$dtb_dir/usr/share/doc/$dtb_packagename"
|
||||
mkdir -m 755 -p "$tmpdir/DEBIAN"
|
||||
mkdir -p "$tmpdir/lib" "$tmpdir/boot"
|
||||
mkdir -p "$kernel_headers_dir/lib/modules/$version/"
|
||||
@@ -118,6 +152,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then
|
||||
+ #mkdir -p "$tmpdir/boot/dtb"
|
||||
+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install
|
||||
+fi
|
||||
+
|
||||
if [ "$ARCH" != "um" ]; then
|
||||
$MAKE headers_check KBUILD_SRC=
|
||||
$MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr"
|
||||
@@ -137,7 +176,7 @@ fi
|
||||
for script in postinst postrm preinst prerm ; do
|
||||
mkdir -p "$tmpdir$debhookdir/$script.d"
|
||||
cat <<EOF > "$tmpdir/DEBIAN/$script"
|
||||
-#!/bin/sh
|
||||
+#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
@@ -153,9 +192,60 @@ EOF
|
||||
chmod 755 "$tmpdir/DEBIAN/$script"
|
||||
done
|
||||
|
||||
+##
|
||||
+## Create sym link to kernel image
|
||||
+##
|
||||
+sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst
|
||||
+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst
|
||||
+cat >> $tmpdir/DEBIAN/postinst <<EOT
|
||||
+if [ "\$(grep nand /proc/partitions)" != "" ] && [ "\$(grep mmc /proc/partitions)" = "" ]; then
|
||||
+ mkimage -A arm -O linux -T kernel -C none -a "0x40008000" -e "0x40008000" -n "Linux kernel" -d /$installed_image_path /boot/uImage > /dev/null 2>&1
|
||||
+ cp /boot/uImage /tmp/uImage
|
||||
+ sync
|
||||
+ mountpoint -q /boot || mount /boot
|
||||
+ cp /tmp/uImage /boot/uImage
|
||||
+ rm -f /$installed_image_path
|
||||
+else
|
||||
+ ln -sf $(basename $installed_image_path) /boot/$image_name || mv /$installed_image_path /boot/$image_name
|
||||
+fi
|
||||
+touch /boot/.next
|
||||
+exit 0
|
||||
+EOT
|
||||
+
|
||||
+##
|
||||
+## FAT install workaround
|
||||
+##
|
||||
+sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst
|
||||
+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst
|
||||
+cat >> $tmpdir/DEBIAN/preinst <<EOT
|
||||
+# exit if we are running chroot
|
||||
+if [ "\$(stat -c %d:%i /)" != "\$(stat -c %d:%i /proc/1/root/.)" ]; then exit 0; fi
|
||||
+
|
||||
+check_and_unmount (){
|
||||
+ boot_device=\$(mountpoint -d /boot)
|
||||
+
|
||||
+ for file in /dev/* ; do
|
||||
+ CURRENT_DEVICE=\$(printf "%d:%d" \$(stat --printf="0x%t 0x%T" \$file))
|
||||
+ if [[ "\$CURRENT_DEVICE" = "\$boot_device" ]]; then
|
||||
+ boot_partition=\$file
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+
|
||||
+ bootfstype=\$(blkid -s TYPE -o value \$boot_partition)
|
||||
+ if [ "\$bootfstype" = "vfat" ]; then
|
||||
+ umount /boot
|
||||
+ rm -f /boot/System.map* /boot/config* /boot/vmlinuz* /boot/$image_name /boot/uImage
|
||||
+ fi
|
||||
+}
|
||||
+mountpoint -q /boot && check_and_unmount
|
||||
+EOT
|
||||
+echo "exit 0" >> $tmpdir/DEBIAN/preinst
|
||||
+
|
||||
# Build kernel header package
|
||||
(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles"
|
||||
(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles"
|
||||
+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles"
|
||||
(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
|
||||
(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles"
|
||||
if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
|
||||
@@ -167,15 +257,19 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
|
||||
fi
|
||||
destdir=$kernel_headers_dir/usr/src/linux-headers-$version
|
||||
mkdir -p "$destdir"
|
||||
+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.patch)
|
||||
(cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -)
|
||||
(cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -)
|
||||
(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be
|
||||
ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
|
||||
rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
|
||||
|
||||
+(cd $destdir; make M=scripts clean)
|
||||
+
|
||||
if [ "$ARCH" != "um" ]; then
|
||||
create_package "$kernel_headers_packagename" "$kernel_headers_dir"
|
||||
- create_package "$libc_headers_packagename" "$libc_headers_dir"
|
||||
+ # create_package "$libc_headers_packagename" "$libc_headers_dir"
|
||||
+ create_package "$dtb_packagename" "$dtb_dir"
|
||||
fi
|
||||
|
||||
create_package "$packagename" "$tmpdir"
|
||||
diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
|
||||
index 6adb3a1..00e12eb 100755
|
||||
--- a/scripts/package/mkdebian
|
||||
+++ b/scripts/package/mkdebian
|
||||
@@ -61,10 +61,12 @@ else
|
||||
packageversion=$version-$revision
|
||||
fi
|
||||
sourcename=$KDEB_SOURCENAME
|
||||
-packagename=linux-image-$version
|
||||
-kernel_headers_packagename=linux-headers-$version
|
||||
+packagename=linux-image-dev$LOCALVERSION
|
||||
+kernel_headers_packagename=linux-headers-dev$LOCALVERSION
|
||||
+dtb_packagename=linux-dtb-dev$LOCALVERSION
|
||||
dbg_packagename=$packagename-dbg
|
||||
debarch=
|
||||
+image_name=
|
||||
set_debarch
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
@@ -168,6 +170,11 @@ Architecture: $debarch
|
||||
Description: Linux kernel debugging symbols for $version
|
||||
This package will come in handy if you need to debug the kernel. It provides
|
||||
all the necessary debug symbols for the kernel and its modules.
|
||||
+
|
||||
+Package: $dtb_packagename
|
||||
+Architecture: $debarch
|
||||
+Description: Linux DTB, version $version
|
||||
+ This package contains device blobs from the Linux kernel, version $version
|
||||
EOF
|
||||
|
||||
cat <<EOF > debian/rules
|
||||
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
|
||||
index f839ecd9..cd276162 100644
|
||||
--- a/arch/arm64/Makefile
|
||||
+++ b/arch/arm64/Makefile
|
||||
@@ -103,7 +103,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
|
||||
|
||||
# Default target when executing plain make
|
||||
boot := arch/arm64/boot
|
||||
-KBUILD_IMAGE := $(boot)/Image.gz
|
||||
+KBUILD_IMAGE := $(boot)/Image
|
||||
|
||||
all: Image.gz $(KBUILD_DTBS)
|
||||
|
||||
221
patch/kernel/odroidn2-next/general-packaging-4.20-dev.patch
Normal file
221
patch/kernel/odroidn2-next/general-packaging-4.20-dev.patch
Normal file
@@ -0,0 +1,221 @@
|
||||
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
|
||||
index 90c9a8a..3c79b90 100755
|
||||
--- a/scripts/package/builddeb
|
||||
+++ b/scripts/package/builddeb
|
||||
@@ -29,6 +29,27 @@ create_package() {
|
||||
# in case we are in a restrictive umask environment like 0077
|
||||
chmod -R a+rX "$pdir"
|
||||
|
||||
+ # Create preinstall and post install script to remove dtb
|
||||
+ if [[ "$1" == *dtb* ]]; then
|
||||
+ echo "if [ -d /boot/dtb-$version ]; then mv /boot/dtb-$version /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/preinst
|
||||
+ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst
|
||||
+ echo "if [ -d /boot/dtb ]; then mv /boot/dtb /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst
|
||||
+ echo "exit 0" >> $pdir/DEBIAN/preinst
|
||||
+ chmod 775 $pdir/DEBIAN/preinst
|
||||
+
|
||||
+ echo "if [ -d /boot/dtb-$version.old ]; then rm -rf /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/postinst
|
||||
+ echo "ln -sf dtb-$version /boot/dtb > /dev/null 2>&1 || mv /boot/dtb-$version /boot/dtb" >> $pdir/DEBIAN/postinst
|
||||
+ echo "exit 0" >> $pdir/DEBIAN/postinst
|
||||
+ chmod 775 $pdir/DEBIAN/postinst
|
||||
+ fi
|
||||
+
|
||||
+ # Create postinstall script for headers
|
||||
+ if [[ "$1" == *headers* ]]; then
|
||||
+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;make -s scripts >/dev/null 2>&1" >> $pdir/DEBIAN/postinst
|
||||
+ echo "exit 0" >> $pdir/DEBIAN/postinst
|
||||
+ chmod 775 $pdir/DEBIAN/postinst
|
||||
+ fi
|
||||
+
|
||||
# Create the package
|
||||
dpkg-gencontrol -p$pname -P"$pdir"
|
||||
dpkg --build "$pdir" ..
|
||||
@@ -39,9 +60,11 @@ tmpdir="$objtree/debian/tmp"
|
||||
kernel_headers_dir="$objtree/debian/hdrtmp"
|
||||
libc_headers_dir="$objtree/debian/headertmp"
|
||||
dbg_dir="$objtree/debian/dbgtmp"
|
||||
-packagename=linux-image-$version
|
||||
-kernel_headers_packagename=linux-headers-$version
|
||||
-libc_headers_packagename=linux-libc-dev
|
||||
+dtb_dir="$objtree/debian/dtbtmp"
|
||||
+packagename=linux-image-next"$LOCALVERSION"
|
||||
+kernel_headers_packagename=linux-headers-next"$LOCALVERSION"
|
||||
+dtb_packagename=linux-dtb-next"$LOCALVERSION"
|
||||
+libc_headers_packagename=linux-libc-dev-next"$LOCALVERSION"
|
||||
dbg_packagename=$packagename-dbg
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
@@ -52,6 +75,15 @@ fi
|
||||
# XXX: have each arch Makefile export a variable of the canonical image install
|
||||
# path instead
|
||||
case $ARCH in
|
||||
+aarch64|arm64)
|
||||
+ image_name=Image
|
||||
+ installed_image_path="boot/vmlinuz-$version"
|
||||
+
|
||||
+ ;;
|
||||
+arm*)
|
||||
+ image_name=zImage
|
||||
+ installed_image_path="boot/vmlinuz-$version"
|
||||
+ ;;
|
||||
um)
|
||||
installed_image_path="usr/bin/linux-$version"
|
||||
;;
|
||||
@@ -65,7 +97,9 @@ esac
|
||||
BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)"
|
||||
|
||||
# Setup the directory structure
|
||||
-rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files
|
||||
+rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" $objtree/debian/files
|
||||
+mkdir -m 755 -p "$dtb_dir/DEBIAN"
|
||||
+mkdir -p "$dtb_dir/boot/dtb-$version" "$dtb_dir/usr/share/doc/$dtb_packagename"
|
||||
mkdir -m 755 -p "$tmpdir/DEBIAN"
|
||||
mkdir -p "$tmpdir/lib" "$tmpdir/boot"
|
||||
mkdir -p "$kernel_headers_dir/lib/modules/$version/"
|
||||
@@ -118,6 +152,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then
|
||||
+ #mkdir -p "$tmpdir/boot/dtb"
|
||||
+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install
|
||||
+fi
|
||||
+
|
||||
if [ "$ARCH" != "um" ]; then
|
||||
$MAKE headers_check KBUILD_SRC=
|
||||
$MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr"
|
||||
@@ -137,7 +176,7 @@ fi
|
||||
for script in postinst postrm preinst prerm ; do
|
||||
mkdir -p "$tmpdir$debhookdir/$script.d"
|
||||
cat <<EOF > "$tmpdir/DEBIAN/$script"
|
||||
-#!/bin/sh
|
||||
+#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
@@ -153,9 +192,60 @@ EOF
|
||||
chmod 755 "$tmpdir/DEBIAN/$script"
|
||||
done
|
||||
|
||||
+##
|
||||
+## Create sym link to kernel image
|
||||
+##
|
||||
+sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst
|
||||
+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst
|
||||
+cat >> $tmpdir/DEBIAN/postinst <<EOT
|
||||
+if [ "\$(grep nand /proc/partitions)" != "" ] && [ "\$(grep mmc /proc/partitions)" = "" ]; then
|
||||
+ mkimage -A arm -O linux -T kernel -C none -a "0x40008000" -e "0x40008000" -n "Linux kernel" -d /$installed_image_path /boot/uImage > /dev/null 2>&1
|
||||
+ cp /boot/uImage /tmp/uImage
|
||||
+ sync
|
||||
+ mountpoint -q /boot || mount /boot
|
||||
+ cp /tmp/uImage /boot/uImage
|
||||
+ rm -f /$installed_image_path
|
||||
+else
|
||||
+ ln -sf $(basename $installed_image_path) /boot/$image_name || mv /$installed_image_path /boot/$image_name
|
||||
+fi
|
||||
+touch /boot/.next
|
||||
+exit 0
|
||||
+EOT
|
||||
+
|
||||
+##
|
||||
+## FAT install workaround
|
||||
+##
|
||||
+sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst
|
||||
+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst
|
||||
+cat >> $tmpdir/DEBIAN/preinst <<EOT
|
||||
+# exit if we are running chroot
|
||||
+if [ "\$(stat -c %d:%i /)" != "\$(stat -c %d:%i /proc/1/root/.)" ]; then exit 0; fi
|
||||
+
|
||||
+check_and_unmount (){
|
||||
+ boot_device=\$(mountpoint -d /boot)
|
||||
+
|
||||
+ for file in /dev/* ; do
|
||||
+ CURRENT_DEVICE=\$(printf "%d:%d" \$(stat --printf="0x%t 0x%T" \$file))
|
||||
+ if [[ "\$CURRENT_DEVICE" = "\$boot_device" ]]; then
|
||||
+ boot_partition=\$file
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+
|
||||
+ bootfstype=\$(blkid -s TYPE -o value \$boot_partition)
|
||||
+ if [ "\$bootfstype" = "vfat" ]; then
|
||||
+ umount /boot
|
||||
+ rm -f /boot/System.map* /boot/config* /boot/vmlinuz* /boot/$image_name /boot/uImage
|
||||
+ fi
|
||||
+}
|
||||
+mountpoint -q /boot && check_and_unmount
|
||||
+EOT
|
||||
+echo "exit 0" >> $tmpdir/DEBIAN/preinst
|
||||
+
|
||||
# Build kernel header package
|
||||
(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles"
|
||||
(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles"
|
||||
+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles"
|
||||
(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
|
||||
(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles"
|
||||
if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then
|
||||
@@ -167,15 +257,19 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
|
||||
fi
|
||||
destdir=$kernel_headers_dir/usr/src/linux-headers-$version
|
||||
mkdir -p "$destdir"
|
||||
+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.patch)
|
||||
(cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -)
|
||||
(cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -)
|
||||
(cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be
|
||||
ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
|
||||
rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
|
||||
|
||||
+(cd $destdir; make M=scripts clean)
|
||||
+
|
||||
if [ "$ARCH" != "um" ]; then
|
||||
create_package "$kernel_headers_packagename" "$kernel_headers_dir"
|
||||
- create_package "$libc_headers_packagename" "$libc_headers_dir"
|
||||
+ # create_package "$libc_headers_packagename" "$libc_headers_dir"
|
||||
+ create_package "$dtb_packagename" "$dtb_dir"
|
||||
fi
|
||||
|
||||
create_package "$packagename" "$tmpdir"
|
||||
diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
|
||||
index 6adb3a1..00e12eb 100755
|
||||
--- a/scripts/package/mkdebian
|
||||
+++ b/scripts/package/mkdebian
|
||||
@@ -61,10 +61,12 @@ else
|
||||
packageversion=$version-$revision
|
||||
fi
|
||||
sourcename=$KDEB_SOURCENAME
|
||||
-packagename=linux-image-$version
|
||||
-kernel_headers_packagename=linux-headers-$version
|
||||
+packagename=linux-image-next$LOCALVERSION
|
||||
+kernel_headers_packagename=linux-headers-next$LOCALVERSION
|
||||
+dtb_packagename=linux-dtb-next$LOCALVERSION
|
||||
dbg_packagename=$packagename-dbg
|
||||
debarch=
|
||||
+image_name=
|
||||
set_debarch
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
@@ -168,6 +170,11 @@ Architecture: $debarch
|
||||
Description: Linux kernel debugging symbols for $version
|
||||
This package will come in handy if you need to debug the kernel. It provides
|
||||
all the necessary debug symbols for the kernel and its modules.
|
||||
+
|
||||
+Package: $dtb_packagename
|
||||
+Architecture: $debarch
|
||||
+Description: Linux DTB, version $version
|
||||
+ This package contains device blobs from the Linux kernel, version $version
|
||||
EOF
|
||||
|
||||
cat <<EOF > debian/rules
|
||||
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
|
||||
index f839ecd9..cd276162 100644
|
||||
--- a/arch/arm64/Makefile
|
||||
+++ b/arch/arm64/Makefile
|
||||
@@ -103,7 +103,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
|
||||
|
||||
# Default target when executing plain make
|
||||
boot := arch/arm64/boot
|
||||
-KBUILD_IMAGE := $(boot)/Image.gz
|
||||
+KBUILD_IMAGE := $(boot)/Image
|
||||
|
||||
all: Image.gz $(KBUILD_DTBS)
|
||||
|
||||
Reference in New Issue
Block a user