diff --git a/root/target/linux/bcm27xx/patches-5.15/0098-config-Add-default-configs.patch b/root/target/linux/bcm27xx/patches-5.15/0098-config-Add-default-configs.patch deleted file mode 100644 index bad882a8..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0098-config-Add-default-configs.patch +++ /dev/null @@ -1,7269 +0,0 @@ -From 2d76f6720baf3f9a99e22670ee2c3155cb1dd56a Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 098/634] config: Add default configs - ---- - arch/arm/configs/bcm2709_defconfig | 1445 +++++++++++++++++++++++++ - arch/arm/configs/bcm2711_defconfig | 1484 +++++++++++++++++++++++++ - arch/arm/configs/bcmrpi_defconfig | 1458 +++++++++++++++++++++++++ - arch/arm64/configs/bcm2711_defconfig | 1492 ++++++++++++++++++++++++++ - arch/arm64/configs/bcmrpi3_defconfig | 1339 +++++++++++++++++++++++ - 5 files changed, 7218 insertions(+) - create mode 100644 arch/arm/configs/bcm2709_defconfig - create mode 100644 arch/arm/configs/bcm2711_defconfig - create mode 100644 arch/arm/configs/bcmrpi_defconfig - create mode 100644 arch/arm64/configs/bcm2711_defconfig - create mode 100644 arch/arm64/configs/bcmrpi3_defconfig - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -new file mode 100644 -index 000000000000..c791261d7827 ---- /dev/null -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -0,0 +1,1445 @@ -+CONFIG_LOCALVERSION="-v7" -+# CONFIG_LOCALVERSION_AUTO is not set -+CONFIG_SYSVIPC=y -+CONFIG_POSIX_MQUEUE=y -+CONFIG_GENERIC_IRQ_DEBUGFS=y -+CONFIG_NO_HZ=y -+CONFIG_HIGH_RES_TIMERS=y -+CONFIG_BPF_SYSCALL=y -+CONFIG_PREEMPT_VOLUNTARY=y -+CONFIG_BSD_PROCESS_ACCT=y -+CONFIG_BSD_PROCESS_ACCT_V3=y -+CONFIG_TASKSTATS=y -+CONFIG_TASK_DELAY_ACCT=y -+CONFIG_TASK_XACCT=y -+CONFIG_TASK_IO_ACCOUNTING=y -+CONFIG_IKCONFIG=m -+CONFIG_IKCONFIG_PROC=y -+CONFIG_MEMCG=y -+CONFIG_BLK_CGROUP=y -+CONFIG_CFS_BANDWIDTH=y -+CONFIG_CGROUP_PIDS=y -+CONFIG_CGROUP_FREEZER=y -+CONFIG_CPUSETS=y -+CONFIG_CGROUP_DEVICE=y -+CONFIG_CGROUP_CPUACCT=y -+CONFIG_CGROUP_PERF=y -+CONFIG_CGROUP_BPF=y -+CONFIG_NAMESPACES=y -+CONFIG_USER_NS=y -+CONFIG_SCHED_AUTOGROUP=y -+CONFIG_BLK_DEV_INITRD=y -+CONFIG_EMBEDDED=y -+# CONFIG_COMPAT_BRK is not set -+CONFIG_PROFILING=y -+CONFIG_ARCH_BCM=y -+CONFIG_ARCH_BCM2835=y -+# CONFIG_CACHE_L2X0 is not set -+CONFIG_SMP=y -+CONFIG_VMSPLIT_2G=y -+# CONFIG_CPU_SW_DOMAIN_PAN is not set -+CONFIG_UACCESS_WITH_MEMCPY=y -+# CONFIG_ATAGS is not set -+CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_STAT=y -+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y -+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+CONFIG_CPU_FREQ_GOV_ONDEMAND=y -+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -+CONFIG_CPUFREQ_DT=y -+CONFIG_ARM_RASPBERRYPI_CPUFREQ=y -+CONFIG_VFP=y -+CONFIG_NEON=y -+CONFIG_KERNEL_MODE_NEON=y -+# CONFIG_SUSPEND is not set -+CONFIG_RASPBERRYPI_FIRMWARE=y -+CONFIG_CRYPTO_SHA1_ARM_NEON=m -+CONFIG_CRYPTO_AES_ARM=m -+CONFIG_CRYPTO_AES_ARM_BS=m -+CONFIG_JUMP_LABEL=y -+CONFIG_MODULES=y -+CONFIG_MODULE_UNLOAD=y -+CONFIG_MODVERSIONS=y -+CONFIG_MODULE_SRCVERSION_ALL=y -+CONFIG_PARTITION_ADVANCED=y -+CONFIG_MAC_PARTITION=y -+CONFIG_BINFMT_MISC=m -+CONFIG_CLEANCACHE=y -+CONFIG_FRONTSWAP=y -+CONFIG_CMA=y -+CONFIG_ZSWAP=y -+CONFIG_Z3FOLD=m -+CONFIG_ZSMALLOC=m -+CONFIG_NET=y -+CONFIG_PACKET=y -+CONFIG_UNIX=y -+CONFIG_XFRM_USER=y -+CONFIG_NET_KEY=m -+CONFIG_INET=y -+CONFIG_IP_MULTICAST=y -+CONFIG_IP_ADVANCED_ROUTER=y -+CONFIG_IP_MULTIPLE_TABLES=y -+CONFIG_IP_ROUTE_MULTIPATH=y -+CONFIG_IP_ROUTE_VERBOSE=y -+CONFIG_IP_PNP=y -+CONFIG_IP_PNP_DHCP=y -+CONFIG_IP_PNP_RARP=y -+CONFIG_NET_IPIP=m -+CONFIG_NET_IPGRE_DEMUX=m -+CONFIG_NET_IPGRE=m -+CONFIG_IP_MROUTE=y -+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IP_PIMSM_V1=y -+CONFIG_IP_PIMSM_V2=y -+CONFIG_NET_IPVTI=m -+CONFIG_NET_FOU=m -+CONFIG_INET_AH=m -+CONFIG_INET_ESP=m -+CONFIG_INET_IPCOMP=m -+CONFIG_INET_DIAG=m -+CONFIG_TCP_CONG_ADVANCED=y -+CONFIG_TCP_CONG_BBR=m -+CONFIG_IPV6=m -+CONFIG_IPV6_ROUTER_PREF=y -+CONFIG_IPV6_ROUTE_INFO=y -+CONFIG_INET6_AH=m -+CONFIG_INET6_ESP=m -+CONFIG_INET6_ESP_OFFLOAD=m -+CONFIG_INET6_IPCOMP=m -+CONFIG_IPV6_ILA=m -+CONFIG_IPV6_VTI=m -+CONFIG_IPV6_SIT_6RD=y -+CONFIG_IPV6_GRE=m -+CONFIG_IPV6_MULTIPLE_TABLES=y -+CONFIG_IPV6_SUBTREES=y -+CONFIG_IPV6_MROUTE=y -+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IPV6_PIMSM_V2=y -+CONFIG_NETFILTER=y -+CONFIG_BRIDGE_NETFILTER=m -+CONFIG_NF_CONNTRACK=m -+CONFIG_NF_CONNTRACK_ZONES=y -+CONFIG_NF_CONNTRACK_EVENTS=y -+CONFIG_NF_CONNTRACK_TIMESTAMP=y -+CONFIG_NF_CONNTRACK_AMANDA=m -+CONFIG_NF_CONNTRACK_FTP=m -+CONFIG_NF_CONNTRACK_H323=m -+CONFIG_NF_CONNTRACK_IRC=m -+CONFIG_NF_CONNTRACK_NETBIOS_NS=m -+CONFIG_NF_CONNTRACK_SNMP=m -+CONFIG_NF_CONNTRACK_PPTP=m -+CONFIG_NF_CONNTRACK_SANE=m -+CONFIG_NF_CONNTRACK_SIP=m -+CONFIG_NF_CONNTRACK_TFTP=m -+CONFIG_NF_CT_NETLINK=m -+CONFIG_NF_TABLES=m -+CONFIG_NF_TABLES_INET=y -+CONFIG_NF_TABLES_NETDEV=y -+CONFIG_NFT_NUMGEN=m -+CONFIG_NFT_CT=m -+CONFIG_NFT_FLOW_OFFLOAD=m -+CONFIG_NFT_COUNTER=m -+CONFIG_NFT_CONNLIMIT=m -+CONFIG_NFT_LOG=m -+CONFIG_NFT_LIMIT=m -+CONFIG_NFT_MASQ=m -+CONFIG_NFT_REDIR=m -+CONFIG_NFT_NAT=m -+CONFIG_NFT_TUNNEL=m -+CONFIG_NFT_OBJREF=m -+CONFIG_NFT_QUEUE=m -+CONFIG_NFT_QUOTA=m -+CONFIG_NFT_REJECT=m -+CONFIG_NFT_COMPAT=m -+CONFIG_NFT_HASH=m -+CONFIG_NFT_FIB_INET=m -+CONFIG_NFT_SOCKET=m -+CONFIG_NFT_OSF=m -+CONFIG_NFT_TPROXY=m -+CONFIG_NFT_DUP_NETDEV=m -+CONFIG_NFT_FWD_NETDEV=m -+CONFIG_NFT_FIB_NETDEV=m -+CONFIG_NF_FLOW_TABLE_INET=m -+CONFIG_NF_FLOW_TABLE=m -+CONFIG_NETFILTER_XT_SET=m -+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -+CONFIG_NETFILTER_XT_TARGET_DSCP=m -+CONFIG_NETFILTER_XT_TARGET_HMARK=m -+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -+CONFIG_NETFILTER_XT_TARGET_LED=m -+CONFIG_NETFILTER_XT_TARGET_LOG=m -+CONFIG_NETFILTER_XT_TARGET_MARK=m -+CONFIG_NETFILTER_XT_TARGET_NFLOG=m -+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -+CONFIG_NETFILTER_XT_TARGET_TEE=m -+CONFIG_NETFILTER_XT_TARGET_TPROXY=m -+CONFIG_NETFILTER_XT_TARGET_TRACE=m -+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -+CONFIG_NETFILTER_XT_MATCH_BPF=m -+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -+CONFIG_NETFILTER_XT_MATCH_COMMENT=m -+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -+CONFIG_NETFILTER_XT_MATCH_CPU=m -+CONFIG_NETFILTER_XT_MATCH_DCCP=m -+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -+CONFIG_NETFILTER_XT_MATCH_DSCP=m -+CONFIG_NETFILTER_XT_MATCH_ESP=m -+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_HELPER=m -+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -+CONFIG_NETFILTER_XT_MATCH_IPVS=m -+CONFIG_NETFILTER_XT_MATCH_LENGTH=m -+CONFIG_NETFILTER_XT_MATCH_LIMIT=m -+CONFIG_NETFILTER_XT_MATCH_MAC=m -+CONFIG_NETFILTER_XT_MATCH_MARK=m -+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -+CONFIG_NETFILTER_XT_MATCH_NFACCT=m -+CONFIG_NETFILTER_XT_MATCH_OSF=m -+CONFIG_NETFILTER_XT_MATCH_OWNER=m -+CONFIG_NETFILTER_XT_MATCH_POLICY=m -+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -+CONFIG_NETFILTER_XT_MATCH_QUOTA=m -+CONFIG_NETFILTER_XT_MATCH_RATEEST=m -+CONFIG_NETFILTER_XT_MATCH_REALM=m -+CONFIG_NETFILTER_XT_MATCH_RECENT=m -+CONFIG_NETFILTER_XT_MATCH_SOCKET=m -+CONFIG_NETFILTER_XT_MATCH_STATE=m -+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -+CONFIG_NETFILTER_XT_MATCH_STRING=m -+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -+CONFIG_NETFILTER_XT_MATCH_TIME=m -+CONFIG_NETFILTER_XT_MATCH_U32=m -+CONFIG_IP_SET=m -+CONFIG_IP_SET_BITMAP_IP=m -+CONFIG_IP_SET_BITMAP_IPMAC=m -+CONFIG_IP_SET_BITMAP_PORT=m -+CONFIG_IP_SET_HASH_IP=m -+CONFIG_IP_SET_HASH_IPPORT=m -+CONFIG_IP_SET_HASH_IPPORTIP=m -+CONFIG_IP_SET_HASH_IPPORTNET=m -+CONFIG_IP_SET_HASH_NET=m -+CONFIG_IP_SET_HASH_NETPORT=m -+CONFIG_IP_SET_HASH_NETIFACE=m -+CONFIG_IP_SET_LIST_SET=m -+CONFIG_IP_VS=m -+CONFIG_IP_VS_PROTO_TCP=y -+CONFIG_IP_VS_PROTO_UDP=y -+CONFIG_IP_VS_PROTO_ESP=y -+CONFIG_IP_VS_PROTO_AH=y -+CONFIG_IP_VS_PROTO_SCTP=y -+CONFIG_IP_VS_RR=m -+CONFIG_IP_VS_WRR=m -+CONFIG_IP_VS_LC=m -+CONFIG_IP_VS_WLC=m -+CONFIG_IP_VS_LBLC=m -+CONFIG_IP_VS_LBLCR=m -+CONFIG_IP_VS_DH=m -+CONFIG_IP_VS_SH=m -+CONFIG_IP_VS_SED=m -+CONFIG_IP_VS_NQ=m -+CONFIG_IP_VS_FTP=m -+CONFIG_IP_VS_PE_SIP=m -+CONFIG_NFT_DUP_IPV4=m -+CONFIG_NFT_FIB_IPV4=m -+CONFIG_NF_TABLES_ARP=y -+CONFIG_NF_FLOW_TABLE_IPV4=m -+CONFIG_NF_LOG_ARP=m -+CONFIG_IP_NF_IPTABLES=m -+CONFIG_IP_NF_MATCH_AH=m -+CONFIG_IP_NF_MATCH_ECN=m -+CONFIG_IP_NF_MATCH_RPFILTER=m -+CONFIG_IP_NF_MATCH_TTL=m -+CONFIG_IP_NF_FILTER=m -+CONFIG_IP_NF_TARGET_REJECT=m -+CONFIG_IP_NF_NAT=m -+CONFIG_IP_NF_TARGET_MASQUERADE=m -+CONFIG_IP_NF_TARGET_NETMAP=m -+CONFIG_IP_NF_TARGET_REDIRECT=m -+CONFIG_IP_NF_MANGLE=m -+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_ARPTABLES=m -+CONFIG_IP_NF_ARPFILTER=m -+CONFIG_IP_NF_ARP_MANGLE=m -+CONFIG_NFT_DUP_IPV6=m -+CONFIG_NFT_FIB_IPV6=m -+CONFIG_NF_FLOW_TABLE_IPV6=m -+CONFIG_IP6_NF_IPTABLES=m -+CONFIG_IP6_NF_MATCH_AH=m -+CONFIG_IP6_NF_MATCH_EUI64=m -+CONFIG_IP6_NF_MATCH_FRAG=m -+CONFIG_IP6_NF_MATCH_OPTS=m -+CONFIG_IP6_NF_MATCH_HL=m -+CONFIG_IP6_NF_MATCH_IPV6HEADER=m -+CONFIG_IP6_NF_MATCH_MH=m -+CONFIG_IP6_NF_MATCH_RPFILTER=m -+CONFIG_IP6_NF_MATCH_RT=m -+CONFIG_IP6_NF_MATCH_SRH=m -+CONFIG_IP6_NF_TARGET_HL=m -+CONFIG_IP6_NF_FILTER=m -+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 -+CONFIG_NF_TABLES_BRIDGE=m -+CONFIG_NFT_BRIDGE_REJECT=m -+CONFIG_BRIDGE_NF_EBTABLES=m -+CONFIG_BRIDGE_EBT_BROUTE=m -+CONFIG_BRIDGE_EBT_T_FILTER=m -+CONFIG_BRIDGE_EBT_T_NAT=m -+CONFIG_BRIDGE_EBT_802_3=m -+CONFIG_BRIDGE_EBT_AMONG=m -+CONFIG_BRIDGE_EBT_ARP=m -+CONFIG_BRIDGE_EBT_IP=m -+CONFIG_BRIDGE_EBT_IP6=m -+CONFIG_BRIDGE_EBT_LIMIT=m -+CONFIG_BRIDGE_EBT_MARK=m -+CONFIG_BRIDGE_EBT_PKTTYPE=m -+CONFIG_BRIDGE_EBT_STP=m -+CONFIG_BRIDGE_EBT_VLAN=m -+CONFIG_BRIDGE_EBT_ARPREPLY=m -+CONFIG_BRIDGE_EBT_DNAT=m -+CONFIG_BRIDGE_EBT_MARK_T=m -+CONFIG_BRIDGE_EBT_REDIRECT=m -+CONFIG_BRIDGE_EBT_SNAT=m -+CONFIG_BRIDGE_EBT_LOG=m -+CONFIG_BRIDGE_EBT_NFLOG=m -+CONFIG_SCTP_COOKIE_HMAC_SHA1=y -+CONFIG_ATM=m -+CONFIG_L2TP=m -+CONFIG_L2TP_V3=y -+CONFIG_L2TP_IP=m -+CONFIG_L2TP_ETH=m -+CONFIG_BRIDGE=m -+CONFIG_VLAN_8021Q=m -+CONFIG_VLAN_8021Q_GVRP=y -+CONFIG_ATALK=m -+CONFIG_6LOWPAN=m -+CONFIG_IEEE802154=m -+CONFIG_IEEE802154_6LOWPAN=m -+CONFIG_MAC802154=m -+CONFIG_NET_SCHED=y -+CONFIG_NET_SCH_CBQ=m -+CONFIG_NET_SCH_HTB=m -+CONFIG_NET_SCH_HFSC=m -+CONFIG_NET_SCH_ATM=m -+CONFIG_NET_SCH_PRIO=m -+CONFIG_NET_SCH_MULTIQ=m -+CONFIG_NET_SCH_RED=m -+CONFIG_NET_SCH_SFB=m -+CONFIG_NET_SCH_SFQ=m -+CONFIG_NET_SCH_TEQL=m -+CONFIG_NET_SCH_TBF=m -+CONFIG_NET_SCH_GRED=m -+CONFIG_NET_SCH_DSMARK=m -+CONFIG_NET_SCH_NETEM=m -+CONFIG_NET_SCH_DRR=m -+CONFIG_NET_SCH_MQPRIO=m -+CONFIG_NET_SCH_CHOKE=m -+CONFIG_NET_SCH_QFQ=m -+CONFIG_NET_SCH_CODEL=m -+CONFIG_NET_SCH_FQ_CODEL=m -+CONFIG_NET_SCH_CAKE=m -+CONFIG_NET_SCH_FQ=m -+CONFIG_NET_SCH_HHF=m -+CONFIG_NET_SCH_PIE=m -+CONFIG_NET_SCH_INGRESS=m -+CONFIG_NET_SCH_PLUG=m -+CONFIG_NET_CLS_BASIC=m -+CONFIG_NET_CLS_TCINDEX=m -+CONFIG_NET_CLS_ROUTE4=m -+CONFIG_NET_CLS_FW=m -+CONFIG_NET_CLS_U32=m -+CONFIG_CLS_U32_MARK=y -+CONFIG_NET_CLS_RSVP=m -+CONFIG_NET_CLS_RSVP6=m -+CONFIG_NET_CLS_FLOW=m -+CONFIG_NET_CLS_CGROUP=m -+CONFIG_NET_EMATCH=y -+CONFIG_NET_EMATCH_CMP=m -+CONFIG_NET_EMATCH_NBYTE=m -+CONFIG_NET_EMATCH_U32=m -+CONFIG_NET_EMATCH_META=m -+CONFIG_NET_EMATCH_TEXT=m -+CONFIG_NET_EMATCH_IPSET=m -+CONFIG_NET_CLS_ACT=y -+CONFIG_NET_ACT_POLICE=m -+CONFIG_NET_ACT_GACT=m -+CONFIG_GACT_PROB=y -+CONFIG_NET_ACT_MIRRED=m -+CONFIG_NET_ACT_IPT=m -+CONFIG_NET_ACT_NAT=m -+CONFIG_NET_ACT_PEDIT=m -+CONFIG_NET_ACT_SIMP=m -+CONFIG_NET_ACT_SKBEDIT=m -+CONFIG_NET_ACT_CSUM=m -+CONFIG_BATMAN_ADV=m -+CONFIG_OPENVSWITCH=m -+CONFIG_CGROUP_NET_PRIO=y -+CONFIG_NET_PKTGEN=m -+CONFIG_HAMRADIO=y -+CONFIG_AX25=m -+CONFIG_NETROM=m -+CONFIG_ROSE=m -+CONFIG_MKISS=m -+CONFIG_6PACK=m -+CONFIG_BPQETHER=m -+CONFIG_BAYCOM_SER_FDX=m -+CONFIG_BAYCOM_SER_HDX=m -+CONFIG_YAM=m -+CONFIG_CAN=m -+CONFIG_CAN_J1939=m -+CONFIG_CAN_ISOTP=m -+CONFIG_CAN_VCAN=m -+CONFIG_CAN_SLCAN=m -+CONFIG_CAN_MCP251X=m -+CONFIG_CAN_MCP251XFD=m -+CONFIG_CAN_EMS_USB=m -+CONFIG_CAN_GS_USB=m -+CONFIG_BT=m -+CONFIG_BT_RFCOMM=m -+CONFIG_BT_RFCOMM_TTY=y -+CONFIG_BT_BNEP=m -+CONFIG_BT_BNEP_MC_FILTER=y -+CONFIG_BT_BNEP_PROTO_FILTER=y -+CONFIG_BT_HIDP=m -+CONFIG_BT_6LOWPAN=m -+CONFIG_BT_HCIBTUSB=m -+CONFIG_BT_HCIUART=m -+CONFIG_BT_HCIUART_3WIRE=y -+CONFIG_BT_HCIUART_BCM=y -+CONFIG_BT_HCIBCM203X=m -+CONFIG_BT_HCIBPA10X=m -+CONFIG_BT_HCIBFUSB=m -+CONFIG_BT_HCIVHCI=m -+CONFIG_BT_MRVL=m -+CONFIG_BT_MRVL_SDIO=m -+CONFIG_BT_ATH3K=m -+CONFIG_CFG80211=m -+CONFIG_CFG80211_WEXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_MESH=y -+CONFIG_RFKILL=m -+CONFIG_RFKILL_INPUT=y -+CONFIG_NET_9P=m -+CONFIG_NFC=m -+CONFIG_UEVENT_HELPER=y -+CONFIG_DEVTMPFS=y -+CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_MTD=m -+CONFIG_MTD_BLOCK=m -+CONFIG_MTD_BLOCK2MTD=m -+CONFIG_MTD_SPI_NOR=m -+CONFIG_MTD_UBI=m -+CONFIG_OF_CONFIGFS=y -+CONFIG_ZRAM=m -+CONFIG_BLK_DEV_LOOP=y -+CONFIG_BLK_DEV_CRYPTOLOOP=m -+CONFIG_BLK_DEV_DRBD=m -+CONFIG_BLK_DEV_NBD=m -+CONFIG_BLK_DEV_RAM=y -+CONFIG_CDROM_PKTCDVD=m -+CONFIG_ATA_OVER_ETH=m -+CONFIG_EEPROM_AT24=m -+CONFIG_TI_ST=m -+CONFIG_SCSI=y -+# CONFIG_SCSI_PROC_FS is not set -+CONFIG_BLK_DEV_SD=y -+CONFIG_CHR_DEV_ST=m -+CONFIG_BLK_DEV_SR=m -+CONFIG_CHR_DEV_SG=m -+CONFIG_SCSI_ISCSI_ATTRS=y -+CONFIG_ISCSI_TCP=m -+CONFIG_ISCSI_BOOT_SYSFS=m -+CONFIG_MD=y -+CONFIG_MD_LINEAR=m -+CONFIG_BLK_DEV_DM=m -+CONFIG_DM_CRYPT=m -+CONFIG_DM_SNAPSHOT=m -+CONFIG_DM_THIN_PROVISIONING=m -+CONFIG_DM_CACHE=m -+CONFIG_DM_MIRROR=m -+CONFIG_DM_LOG_USERSPACE=m -+CONFIG_DM_RAID=m -+CONFIG_DM_ZERO=m -+CONFIG_DM_DELAY=m -+CONFIG_NETDEVICES=y -+CONFIG_BONDING=m -+CONFIG_DUMMY=m -+CONFIG_WIREGUARD=m -+CONFIG_IFB=m -+CONFIG_MACVLAN=m -+CONFIG_IPVLAN=m -+CONFIG_VXLAN=m -+CONFIG_NETCONSOLE=m -+CONFIG_TUN=m -+CONFIG_VETH=m -+CONFIG_NET_VRF=m -+CONFIG_ENC28J60=m -+CONFIG_QCA7000_SPI=m -+CONFIG_QCA7000_UART=m -+CONFIG_WIZNET_W5100=m -+CONFIG_WIZNET_W5100_SPI=m -+CONFIG_MDIO_BITBANG=m -+CONFIG_PPP=m -+CONFIG_PPP_BSDCOMP=m -+CONFIG_PPP_DEFLATE=m -+CONFIG_PPP_FILTER=y -+CONFIG_PPP_MPPE=m -+CONFIG_PPP_MULTILINK=y -+CONFIG_PPPOATM=m -+CONFIG_PPPOE=m -+CONFIG_PPPOL2TP=m -+CONFIG_PPP_ASYNC=m -+CONFIG_PPP_SYNC_TTY=m -+CONFIG_SLIP=m -+CONFIG_SLIP_COMPRESSED=y -+CONFIG_SLIP_SMART=y -+CONFIG_USB_CATC=m -+CONFIG_USB_KAWETH=m -+CONFIG_USB_PEGASUS=m -+CONFIG_USB_RTL8150=m -+CONFIG_USB_RTL8152=m -+CONFIG_USB_LAN78XX=y -+CONFIG_USB_USBNET=y -+CONFIG_USB_NET_AX8817X=m -+CONFIG_USB_NET_AX88179_178A=m -+CONFIG_USB_NET_CDCETHER=m -+CONFIG_USB_NET_CDC_EEM=m -+CONFIG_USB_NET_CDC_NCM=m -+CONFIG_USB_NET_HUAWEI_CDC_NCM=m -+CONFIG_USB_NET_CDC_MBIM=m -+CONFIG_USB_NET_DM9601=m -+CONFIG_USB_NET_SR9700=m -+CONFIG_USB_NET_SR9800=m -+CONFIG_USB_NET_SMSC75XX=m -+CONFIG_USB_NET_SMSC95XX=y -+CONFIG_USB_NET_GL620A=m -+CONFIG_USB_NET_NET1080=m -+CONFIG_USB_NET_PLUSB=m -+CONFIG_USB_NET_MCS7830=m -+CONFIG_USB_NET_CDC_SUBSET=m -+CONFIG_USB_ALI_M5632=y -+CONFIG_USB_AN2720=y -+CONFIG_USB_EPSON2888=y -+CONFIG_USB_KC2190=y -+CONFIG_USB_NET_ZAURUS=m -+CONFIG_USB_NET_CX82310_ETH=m -+CONFIG_USB_NET_KALMIA=m -+CONFIG_USB_NET_QMI_WWAN=m -+CONFIG_USB_HSO=m -+CONFIG_USB_NET_INT51X1=m -+CONFIG_USB_IPHETH=m -+CONFIG_USB_SIERRA_NET=m -+CONFIG_USB_VL600=m -+CONFIG_USB_NET_AQC111=m -+CONFIG_ATH9K=m -+CONFIG_ATH9K_HTC=m -+CONFIG_CARL9170=m -+CONFIG_ATH6KL=m -+CONFIG_ATH6KL_USB=m -+CONFIG_AR5523=m -+CONFIG_AT76C50X_USB=m -+CONFIG_B43=m -+# CONFIG_B43_PHY_N is not set -+CONFIG_B43LEGACY=m -+CONFIG_BRCMFMAC=m -+CONFIG_BRCMFMAC_USB=y -+CONFIG_BRCMDBG=y -+CONFIG_HOSTAP=m -+CONFIG_P54_COMMON=m -+CONFIG_P54_USB=m -+CONFIG_LIBERTAS=m -+CONFIG_LIBERTAS_USB=m -+CONFIG_LIBERTAS_SDIO=m -+CONFIG_LIBERTAS_THINFIRM=m -+CONFIG_LIBERTAS_THINFIRM_USB=m -+CONFIG_MWIFIEX=m -+CONFIG_MWIFIEX_SDIO=m -+CONFIG_MT7601U=m -+CONFIG_MT76x0U=m -+CONFIG_MT76x2U=m -+CONFIG_RT2X00=m -+CONFIG_RT2500USB=m -+CONFIG_RT73USB=m -+CONFIG_RT2800USB=m -+CONFIG_RT2800USB_RT3573=y -+CONFIG_RT2800USB_RT53XX=y -+CONFIG_RT2800USB_RT55XX=y -+CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_RTL8187=m -+CONFIG_RTL8192CU=m -+CONFIG_RTL8XXXU=m -+CONFIG_USB_ZD1201=m -+CONFIG_ZD1211RW=m -+CONFIG_MAC80211_HWSIM=m -+CONFIG_USB_NET_RNDIS_WLAN=m -+CONFIG_IEEE802154_AT86RF230=m -+CONFIG_IEEE802154_MRF24J40=m -+CONFIG_IEEE802154_CC2520=m -+CONFIG_INPUT_MOUSEDEV=y -+CONFIG_INPUT_JOYDEV=m -+CONFIG_INPUT_EVDEV=y -+# CONFIG_KEYBOARD_ATKBD is not set -+CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_MATRIX=m -+CONFIG_KEYBOARD_CAP11XX=m -+# CONFIG_INPUT_MOUSE is not set -+CONFIG_INPUT_JOYSTICK=y -+CONFIG_JOYSTICK_IFORCE=m -+CONFIG_JOYSTICK_IFORCE_USB=m -+CONFIG_JOYSTICK_XPAD=m -+CONFIG_JOYSTICK_XPAD_FF=y -+CONFIG_JOYSTICK_XPAD_LEDS=y -+CONFIG_JOYSTICK_PSXPAD_SPI=m -+CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -+CONFIG_JOYSTICK_RPISENSE=m -+CONFIG_INPUT_TOUCHSCREEN=y -+CONFIG_TOUCHSCREEN_ADS7846=m -+CONFIG_TOUCHSCREEN_EGALAX=m -+CONFIG_TOUCHSCREEN_EXC3000=m -+CONFIG_TOUCHSCREEN_GOODIX=m -+CONFIG_TOUCHSCREEN_ILI210X=m -+CONFIG_TOUCHSCREEN_EDT_FT5X06=m -+CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m -+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -+CONFIG_TOUCHSCREEN_STMPE=m -+CONFIG_INPUT_MISC=y -+CONFIG_INPUT_AD714X=m -+CONFIG_INPUT_ATI_REMOTE2=m -+CONFIG_INPUT_KEYSPAN_REMOTE=m -+CONFIG_INPUT_POWERMATE=m -+CONFIG_INPUT_YEALINK=m -+CONFIG_INPUT_CM109=m -+CONFIG_INPUT_UINPUT=m -+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -+CONFIG_INPUT_ADXL34X=m -+CONFIG_INPUT_CMA3000=m -+CONFIG_SERIO=m -+CONFIG_SERIO_RAW=m -+CONFIG_GAMEPORT=m -+CONFIG_GAMEPORT_NS558=m -+CONFIG_GAMEPORT_L4=m -+CONFIG_BRCM_CHAR_DRIVERS=y -+CONFIG_BCM_VCIO=y -+CONFIG_BCM2835_DEVGPIOMEM=y -+# CONFIG_LEGACY_PTYS is not set -+CONFIG_SERIAL_8250=y -+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -+CONFIG_SERIAL_8250_CONSOLE=y -+# CONFIG_SERIAL_8250_DMA is not set -+CONFIG_SERIAL_8250_NR_UARTS=1 -+CONFIG_SERIAL_8250_RUNTIME_UARTS=0 -+CONFIG_SERIAL_8250_EXTENDED=y -+CONFIG_SERIAL_8250_SHARE_IRQ=y -+CONFIG_SERIAL_8250_BCM2835AUX=y -+CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_AMBA_PL011=y -+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -+CONFIG_SERIAL_SC16IS7XX=m -+CONFIG_SERIAL_SC16IS7XX_SPI=y -+CONFIG_SERIAL_DEV_BUS=y -+CONFIG_TTY_PRINTK=y -+CONFIG_HW_RANDOM=y -+CONFIG_TCG_TPM=m -+CONFIG_TCG_TIS_SPI=m -+CONFIG_RANDOM_TRUST_BOOTLOADER=y -+CONFIG_I2C=y -+CONFIG_I2C_CHARDEV=m -+CONFIG_I2C_MUX_GPMUX=m -+CONFIG_I2C_MUX_PCA954x=m -+CONFIG_I2C_MUX_PINCTRL=m -+CONFIG_I2C_BCM2708=m -+CONFIG_I2C_BCM2835=m -+# CONFIG_I2C_BRCMSTB is not set -+CONFIG_I2C_GPIO=m -+CONFIG_I2C_ROBOTFUZZ_OSIF=m -+CONFIG_I2C_TINY_USB=m -+CONFIG_SPI=y -+CONFIG_SPI_BCM2835=m -+CONFIG_SPI_BCM2835AUX=m -+CONFIG_SPI_GPIO=m -+CONFIG_SPI_SPIDEV=m -+CONFIG_SPI_SLAVE=y -+CONFIG_PPS_CLIENT_LDISC=m -+CONFIG_PPS_CLIENT_GPIO=m -+CONFIG_PINCTRL_MCP23S08=m -+CONFIG_GPIO_SYSFS=y -+CONFIG_GPIO_BCM_VIRT=y -+CONFIG_GPIO_PCA953X=m -+CONFIG_GPIO_PCA953X_IRQ=y -+CONFIG_GPIO_PCF857X=m -+CONFIG_GPIO_ARIZONA=m -+CONFIG_GPIO_FSM=m -+CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MOCKUP=m -+CONFIG_W1=m -+CONFIG_W1_MASTER_DS2490=m -+CONFIG_W1_MASTER_DS2482=m -+CONFIG_W1_MASTER_DS1WM=m -+CONFIG_W1_MASTER_GPIO=m -+CONFIG_W1_SLAVE_THERM=m -+CONFIG_W1_SLAVE_SMEM=m -+CONFIG_W1_SLAVE_DS2408=m -+CONFIG_W1_SLAVE_DS2413=m -+CONFIG_W1_SLAVE_DS2406=m -+CONFIG_W1_SLAVE_DS2423=m -+CONFIG_W1_SLAVE_DS2431=m -+CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2438=m -+CONFIG_W1_SLAVE_DS2780=m -+CONFIG_W1_SLAVE_DS2781=m -+CONFIG_W1_SLAVE_DS28E04=m -+CONFIG_W1_SLAVE_DS28E17=m -+CONFIG_POWER_RESET=y -+CONFIG_POWER_RESET_GPIO=y -+CONFIG_RPI_POE_POWER=m -+CONFIG_BATTERY_DS2760=m -+CONFIG_BATTERY_MAX17040=m -+CONFIG_BATTERY_GAUGE_LTC2941=m -+CONFIG_SENSORS_DS1621=m -+CONFIG_SENSORS_GPIO_FAN=m -+CONFIG_SENSORS_IIO_HWMON=m -+CONFIG_SENSORS_JC42=m -+CONFIG_SENSORS_LM75=m -+CONFIG_SENSORS_PWM_FAN=m -+CONFIG_SENSORS_RASPBERRYPI_HWMON=m -+CONFIG_SENSORS_SHT21=m -+CONFIG_SENSORS_SHT3x=m -+CONFIG_SENSORS_SHTC1=m -+CONFIG_SENSORS_INA2XX=m -+CONFIG_SENSORS_TMP102=m -+CONFIG_THERMAL=y -+CONFIG_BCM2835_THERMAL=y -+CONFIG_WATCHDOG=y -+CONFIG_GPIO_WATCHDOG=m -+CONFIG_BCM2835_WDT=y -+CONFIG_MFD_STMPE=y -+CONFIG_STMPE_SPI=y -+CONFIG_MFD_ARIZONA_I2C=m -+CONFIG_MFD_ARIZONA_SPI=m -+CONFIG_MFD_WM5102=y -+CONFIG_REGULATOR=y -+CONFIG_REGULATOR_FIXED_VOLTAGE=m -+CONFIG_REGULATOR_ARIZONA_LDO1=m -+CONFIG_REGULATOR_ARIZONA_MICSUPP=m -+CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m -+CONFIG_RC_CORE=y -+CONFIG_LIRC=y -+CONFIG_BPF_LIRC_MODE2=y -+CONFIG_RC_DECODERS=y -+CONFIG_IR_NEC_DECODER=m -+CONFIG_IR_RC5_DECODER=m -+CONFIG_IR_RC6_DECODER=m -+CONFIG_IR_JVC_DECODER=m -+CONFIG_IR_SONY_DECODER=m -+CONFIG_IR_SANYO_DECODER=m -+CONFIG_IR_SHARP_DECODER=m -+CONFIG_IR_MCE_KBD_DECODER=m -+CONFIG_IR_XMP_DECODER=m -+CONFIG_IR_IMON_DECODER=m -+CONFIG_RC_DEVICES=y -+CONFIG_RC_ATI_REMOTE=m -+CONFIG_IR_IMON=m -+CONFIG_IR_MCEUSB=m -+CONFIG_IR_REDRAT3=m -+CONFIG_IR_STREAMZAP=m -+CONFIG_IR_IGUANA=m -+CONFIG_IR_TTUSBIR=m -+CONFIG_RC_LOOPBACK=m -+CONFIG_IR_GPIO_CIR=m -+CONFIG_IR_GPIO_TX=m -+CONFIG_IR_PWM_TX=m -+CONFIG_MEDIA_CEC_RC=y -+CONFIG_MEDIA_SUPPORT=m -+CONFIG_MEDIA_USB_SUPPORT=y -+CONFIG_USB_VIDEO_CLASS=m -+CONFIG_USB_PWC=m -+CONFIG_VIDEO_CPIA2=m -+CONFIG_USB_ZR364XX=m -+CONFIG_USB_STKWEBCAM=m -+CONFIG_USB_S2255=m -+CONFIG_VIDEO_USBTV=m -+CONFIG_VIDEO_PVRUSB2=m -+CONFIG_VIDEO_HDPVR=m -+CONFIG_VIDEO_STK1160_COMMON=m -+CONFIG_VIDEO_GO7007=m -+CONFIG_VIDEO_GO7007_USB=m -+CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -+CONFIG_VIDEO_AU0828=m -+CONFIG_VIDEO_AU0828_RC=y -+CONFIG_VIDEO_CX231XX=m -+CONFIG_VIDEO_CX231XX_ALSA=m -+CONFIG_VIDEO_CX231XX_DVB=m -+CONFIG_VIDEO_TM6000=m -+CONFIG_VIDEO_TM6000_ALSA=m -+CONFIG_VIDEO_TM6000_DVB=m -+CONFIG_DVB_USB=m -+CONFIG_DVB_USB_A800=m -+CONFIG_DVB_USB_DIBUSB_MB=m -+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -+CONFIG_DVB_USB_DIBUSB_MC=m -+CONFIG_DVB_USB_DIB0700=m -+CONFIG_DVB_USB_UMT_010=m -+CONFIG_DVB_USB_CXUSB=m -+CONFIG_DVB_USB_M920X=m -+CONFIG_DVB_USB_DIGITV=m -+CONFIG_DVB_USB_VP7045=m -+CONFIG_DVB_USB_VP702X=m -+CONFIG_DVB_USB_GP8PSK=m -+CONFIG_DVB_USB_NOVA_T_USB2=m -+CONFIG_DVB_USB_TTUSB2=m -+CONFIG_DVB_USB_DTT200U=m -+CONFIG_DVB_USB_OPERA1=m -+CONFIG_DVB_USB_AF9005=m -+CONFIG_DVB_USB_AF9005_REMOTE=m -+CONFIG_DVB_USB_PCTV452E=m -+CONFIG_DVB_USB_DW2102=m -+CONFIG_DVB_USB_CINERGY_T2=m -+CONFIG_DVB_USB_DTV5100=m -+CONFIG_DVB_USB_AZ6027=m -+CONFIG_DVB_USB_TECHNISAT_USB2=m -+CONFIG_DVB_USB_V2=m -+CONFIG_DVB_USB_AF9015=m -+CONFIG_DVB_USB_AF9035=m -+CONFIG_DVB_USB_ANYSEE=m -+CONFIG_DVB_USB_AU6610=m -+CONFIG_DVB_USB_AZ6007=m -+CONFIG_DVB_USB_CE6230=m -+CONFIG_DVB_USB_EC168=m -+CONFIG_DVB_USB_GL861=m -+CONFIG_DVB_USB_LME2510=m -+CONFIG_DVB_USB_MXL111SF=m -+CONFIG_DVB_USB_RTL28XXU=m -+CONFIG_DVB_USB_DVBSKY=m -+CONFIG_SMS_USB_DRV=m -+CONFIG_DVB_B2C2_FLEXCOP_USB=m -+CONFIG_DVB_AS102=m -+CONFIG_VIDEO_EM28XX=m -+CONFIG_VIDEO_EM28XX_V4L2=m -+CONFIG_VIDEO_EM28XX_ALSA=m -+CONFIG_VIDEO_EM28XX_DVB=m -+CONFIG_RADIO_SI470X=m -+CONFIG_USB_SI470X=m -+CONFIG_I2C_SI470X=m -+CONFIG_RADIO_SI4713=m -+CONFIG_I2C_SI4713=m -+CONFIG_USB_MR800=m -+CONFIG_USB_DSBR=m -+CONFIG_RADIO_SHARK=m -+CONFIG_RADIO_SHARK2=m -+CONFIG_USB_KEENE=m -+CONFIG_USB_MA901=m -+CONFIG_RADIO_TEA5764=m -+CONFIG_RADIO_SAA7706H=m -+CONFIG_RADIO_TEF6862=m -+CONFIG_RADIO_WL1273=m -+CONFIG_RADIO_WL128X=m -+CONFIG_V4L_PLATFORM_DRIVERS=y -+CONFIG_VIDEO_BCM2835_UNICAM=m -+CONFIG_VIDEO_UDA1342=m -+CONFIG_VIDEO_SONY_BTF_MPX=m -+CONFIG_VIDEO_ADV7180=m -+CONFIG_VIDEO_TC358743=m -+CONFIG_VIDEO_TVP5150=m -+CONFIG_VIDEO_TW2804=m -+CONFIG_VIDEO_TW9903=m -+CONFIG_VIDEO_TW9906=m -+CONFIG_VIDEO_IMX219=m -+CONFIG_VIDEO_IMX290=m -+CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_OV5647=m -+CONFIG_VIDEO_OV7251=m -+CONFIG_VIDEO_OV7640=m -+CONFIG_VIDEO_OV9281=m -+CONFIG_VIDEO_IRS1125=m -+CONFIG_VIDEO_MT9V011=m -+CONFIG_DRM=m -+CONFIG_DRM_LOAD_EDID_FIRMWARE=y -+CONFIG_DRM_UDL=m -+CONFIG_DRM_PANEL_SIMPLE=m -+CONFIG_DRM_PANEL_JDI_LT070ME05000=m -+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -+CONFIG_DRM_DISPLAY_CONNECTOR=m -+CONFIG_DRM_SIMPLE_BRIDGE=m -+CONFIG_DRM_TOSHIBA_TC358762=m -+CONFIG_DRM_VC4=m -+CONFIG_DRM_VC4_HDMI_CEC=y -+CONFIG_TINYDRM_ILI9225=m -+CONFIG_TINYDRM_ILI9341=m -+CONFIG_TINYDRM_MI0283QT=m -+CONFIG_TINYDRM_REPAPER=m -+CONFIG_TINYDRM_ST7586=m -+CONFIG_TINYDRM_ST7735R=m -+CONFIG_DRM_GUD=m -+CONFIG_FB=y -+CONFIG_FB_BCM2708=y -+CONFIG_FB_UDL=m -+CONFIG_FB_SIMPLE=y -+CONFIG_FB_SSD1307=m -+CONFIG_FB_RPISENSE=m -+CONFIG_BACKLIGHT_RPI=m -+CONFIG_BACKLIGHT_GPIO=m -+CONFIG_FRAMEBUFFER_CONSOLE=y -+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -+CONFIG_LOGO=y -+# CONFIG_LOGO_LINUX_MONO is not set -+# CONFIG_LOGO_LINUX_VGA16 is not set -+CONFIG_SOUND=y -+CONFIG_SND=m -+CONFIG_SND_OSSEMUL=y -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_HRTIMER=m -+CONFIG_SND_SEQUENCER=m -+CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_DUMMY=m -+CONFIG_SND_ALOOP=m -+CONFIG_SND_VIRMIDI=m -+CONFIG_SND_MTPAV=m -+CONFIG_SND_SERIAL_U16550=m -+CONFIG_SND_MPU401=m -+CONFIG_SND_USB_AUDIO=m -+CONFIG_SND_USB_UA101=m -+CONFIG_SND_USB_CAIAQ=m -+CONFIG_SND_USB_CAIAQ_INPUT=y -+CONFIG_SND_USB_6FIRE=m -+CONFIG_SND_USB_HIFACE=m -+CONFIG_SND_USB_TONEPORT=m -+CONFIG_SND_SOC=m -+CONFIG_SND_BCM2835_SOC_I2S=m -+CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m -+CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m -+CONFIG_SND_BCM2708_SOC_PIFI_40=m -+CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m -+CONFIG_SND_BCM2708_SOC_RPI_DAC=m -+CONFIG_SND_BCM2708_SOC_RPI_PROTO=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m -+CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m -+CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m -+CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m -+CONFIG_SND_AUDIOSENSE_PI=m -+CONFIG_SND_DIGIDAC1_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m -+CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m -+CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m -+CONFIG_SND_PISOUND=m -+CONFIG_SND_SOC_AD193X_SPI=m -+CONFIG_SND_SOC_AD193X_I2C=m -+CONFIG_SND_SOC_ADAU1701=m -+CONFIG_SND_SOC_ADAU7002=m -+CONFIG_SND_SOC_AK4554=m -+CONFIG_SND_SOC_CS4265=m -+CONFIG_SND_SOC_ICS43432=m -+CONFIG_SND_SOC_MA120X0P=m -+CONFIG_SND_SOC_MAX98357A=m -+CONFIG_SND_SOC_SPDIF=m -+CONFIG_SND_SOC_WM8804_I2C=m -+CONFIG_SND_SOC_WM8960=m -+CONFIG_SND_SIMPLE_CARD=m -+CONFIG_HID_BATTERY_STRENGTH=y -+CONFIG_HIDRAW=y -+CONFIG_UHID=m -+CONFIG_HID_A4TECH=m -+CONFIG_HID_ACRUX=m -+CONFIG_HID_APPLE=m -+CONFIG_HID_ASUS=m -+CONFIG_HID_BELKIN=m -+CONFIG_HID_BETOP_FF=m -+CONFIG_HID_BIGBEN_FF=m -+CONFIG_HID_CHERRY=m -+CONFIG_HID_CHICONY=m -+CONFIG_HID_CYPRESS=m -+CONFIG_HID_DRAGONRISE=m -+CONFIG_HID_EMS_FF=m -+CONFIG_HID_ELECOM=m -+CONFIG_HID_ELO=m -+CONFIG_HID_EZKEY=m -+CONFIG_HID_GEMBIRD=m -+CONFIG_HID_HOLTEK=m -+CONFIG_HID_KEYTOUCH=m -+CONFIG_HID_KYE=m -+CONFIG_HID_UCLOGIC=m -+CONFIG_HID_WALTOP=m -+CONFIG_HID_GYRATION=m -+CONFIG_HID_TWINHAN=m -+CONFIG_HID_KENSINGTON=m -+CONFIG_HID_LCPOWER=m -+CONFIG_HID_LOGITECH=m -+CONFIG_HID_LOGITECH_DJ=m -+CONFIG_LOGITECH_FF=y -+CONFIG_LOGIRUMBLEPAD2_FF=y -+CONFIG_LOGIG940_FF=y -+CONFIG_HID_MAGICMOUSE=m -+CONFIG_HID_MICROSOFT=m -+CONFIG_HID_MONTEREY=m -+CONFIG_HID_MULTITOUCH=m -+CONFIG_HID_NTRIG=m -+CONFIG_HID_ORTEK=m -+CONFIG_HID_PANTHERLORD=m -+CONFIG_HID_PETALYNX=m -+CONFIG_HID_PICOLCD=m -+CONFIG_HID_ROCCAT=m -+CONFIG_HID_SAMSUNG=m -+CONFIG_HID_SONY=m -+CONFIG_SONY_FF=y -+CONFIG_HID_SPEEDLINK=m -+CONFIG_HID_STEAM=m -+CONFIG_HID_SUNPLUS=m -+CONFIG_HID_GREENASIA=m -+CONFIG_HID_SMARTJOYPLUS=m -+CONFIG_HID_TOPSEED=m -+CONFIG_HID_THINGM=m -+CONFIG_HID_THRUSTMASTER=m -+CONFIG_HID_WACOM=m -+CONFIG_HID_WIIMOTE=m -+CONFIG_HID_XINMO=m -+CONFIG_HID_ZEROPLUS=m -+CONFIG_HID_ZYDACRON=m -+CONFIG_HID_PID=y -+CONFIG_USB_HIDDEV=y -+CONFIG_USB=y -+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -+CONFIG_USB_MON=m -+CONFIG_USB_DWCOTG=y -+CONFIG_USB_PRINTER=m -+CONFIG_USB_TMC=m -+CONFIG_USB_STORAGE=y -+CONFIG_USB_STORAGE_REALTEK=m -+CONFIG_USB_STORAGE_DATAFAB=m -+CONFIG_USB_STORAGE_FREECOM=m -+CONFIG_USB_STORAGE_ISD200=m -+CONFIG_USB_STORAGE_USBAT=m -+CONFIG_USB_STORAGE_SDDR09=m -+CONFIG_USB_STORAGE_SDDR55=m -+CONFIG_USB_STORAGE_JUMPSHOT=m -+CONFIG_USB_STORAGE_ALAUDA=m -+CONFIG_USB_STORAGE_ONETOUCH=m -+CONFIG_USB_STORAGE_KARMA=m -+CONFIG_USB_STORAGE_CYPRESS_ATACB=m -+CONFIG_USB_STORAGE_ENE_UB6250=m -+CONFIG_USB_UAS=m -+CONFIG_USB_MDC800=m -+CONFIG_USB_MICROTEK=m -+CONFIG_USBIP_CORE=m -+CONFIG_USBIP_VHCI_HCD=m -+CONFIG_USBIP_HOST=m -+CONFIG_USBIP_VUDC=m -+CONFIG_USB_DWC2=m -+CONFIG_USB_SERIAL=m -+CONFIG_USB_SERIAL_GENERIC=y -+CONFIG_USB_SERIAL_AIRCABLE=m -+CONFIG_USB_SERIAL_ARK3116=m -+CONFIG_USB_SERIAL_BELKIN=m -+CONFIG_USB_SERIAL_CH341=m -+CONFIG_USB_SERIAL_WHITEHEAT=m -+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -+CONFIG_USB_SERIAL_CP210X=m -+CONFIG_USB_SERIAL_CYPRESS_M8=m -+CONFIG_USB_SERIAL_EMPEG=m -+CONFIG_USB_SERIAL_FTDI_SIO=m -+CONFIG_USB_SERIAL_VISOR=m -+CONFIG_USB_SERIAL_IPAQ=m -+CONFIG_USB_SERIAL_IR=m -+CONFIG_USB_SERIAL_EDGEPORT=m -+CONFIG_USB_SERIAL_EDGEPORT_TI=m -+CONFIG_USB_SERIAL_F81232=m -+CONFIG_USB_SERIAL_GARMIN=m -+CONFIG_USB_SERIAL_IPW=m -+CONFIG_USB_SERIAL_IUU=m -+CONFIG_USB_SERIAL_KEYSPAN_PDA=m -+CONFIG_USB_SERIAL_KEYSPAN=m -+CONFIG_USB_SERIAL_KLSI=m -+CONFIG_USB_SERIAL_KOBIL_SCT=m -+CONFIG_USB_SERIAL_MCT_U232=m -+CONFIG_USB_SERIAL_METRO=m -+CONFIG_USB_SERIAL_MOS7720=m -+CONFIG_USB_SERIAL_MOS7840=m -+CONFIG_USB_SERIAL_NAVMAN=m -+CONFIG_USB_SERIAL_PL2303=m -+CONFIG_USB_SERIAL_OTI6858=m -+CONFIG_USB_SERIAL_QCAUX=m -+CONFIG_USB_SERIAL_QUALCOMM=m -+CONFIG_USB_SERIAL_SPCP8X5=m -+CONFIG_USB_SERIAL_SAFE=m -+CONFIG_USB_SERIAL_SIERRAWIRELESS=m -+CONFIG_USB_SERIAL_SYMBOL=m -+CONFIG_USB_SERIAL_TI=m -+CONFIG_USB_SERIAL_CYBERJACK=m -+CONFIG_USB_SERIAL_OPTION=m -+CONFIG_USB_SERIAL_OMNINET=m -+CONFIG_USB_SERIAL_OPTICON=m -+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_EMI62=m -+CONFIG_USB_EMI26=m -+CONFIG_USB_ADUTUX=m -+CONFIG_USB_SEVSEG=m -+CONFIG_USB_LEGOTOWER=m -+CONFIG_USB_LCD=m -+CONFIG_USB_CYPRESS_CY7C63=m -+CONFIG_USB_CYTHERM=m -+CONFIG_USB_IDMOUSE=m -+CONFIG_USB_FTDI_ELAN=m -+CONFIG_USB_APPLEDISPLAY=m -+CONFIG_USB_LD=m -+CONFIG_USB_TRANCEVIBRATOR=m -+CONFIG_USB_IOWARRIOR=m -+CONFIG_USB_TEST=m -+CONFIG_USB_ISIGHTFW=m -+CONFIG_USB_YUREX=m -+CONFIG_USB_ATM=m -+CONFIG_USB_SPEEDTOUCH=m -+CONFIG_USB_CXACRU=m -+CONFIG_USB_UEAGLEATM=m -+CONFIG_USB_XUSBATM=m -+CONFIG_NOP_USB_XCEIV=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_ZERO=m -+CONFIG_USB_AUDIO=m -+CONFIG_USB_ETH=m -+CONFIG_USB_GADGETFS=m -+CONFIG_USB_MASS_STORAGE=m -+CONFIG_USB_G_SERIAL=m -+CONFIG_USB_MIDI_GADGET=m -+CONFIG_USB_G_PRINTER=m -+CONFIG_USB_CDC_COMPOSITE=m -+CONFIG_USB_G_ACM_MS=m -+CONFIG_USB_G_MULTI=m -+CONFIG_USB_G_HID=m -+CONFIG_USB_G_WEBCAM=m -+CONFIG_MMC=y -+CONFIG_MMC_BLOCK_MINORS=32 -+CONFIG_MMC_BCM2835_MMC=y -+CONFIG_MMC_BCM2835_DMA=y -+CONFIG_MMC_BCM2835_SDHOST=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_SPI=m -+CONFIG_LEDS_CLASS=y -+CONFIG_LEDS_PCA9532=m -+CONFIG_LEDS_GPIO=y -+CONFIG_LEDS_PCA955X=m -+CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_IS31FL32XX=m -+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=m -+CONFIG_LEDS_TRIGGER_CAMERA=m -+CONFIG_LEDS_TRIGGER_INPUT=y -+CONFIG_LEDS_TRIGGER_PANIC=y -+CONFIG_LEDS_TRIGGER_NETDEV=m -+CONFIG_LEDS_TRIGGER_ACTPWR=y -+CONFIG_ACCESSIBILITY=y -+CONFIG_SPEAKUP=m -+CONFIG_SPEAKUP_SYNTH_SOFT=m -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_DRV_ABX80X=m -+CONFIG_RTC_DRV_DS1307=m -+CONFIG_RTC_DRV_DS1374=m -+CONFIG_RTC_DRV_DS1672=m -+CONFIG_RTC_DRV_MAX6900=m -+CONFIG_RTC_DRV_RS5C372=m -+CONFIG_RTC_DRV_ISL1208=m -+CONFIG_RTC_DRV_ISL12022=m -+CONFIG_RTC_DRV_X1205=m -+CONFIG_RTC_DRV_PCF8523=m -+CONFIG_RTC_DRV_PCF85063=m -+CONFIG_RTC_DRV_PCF85363=m -+CONFIG_RTC_DRV_PCF8563=m -+CONFIG_RTC_DRV_PCF8583=m -+CONFIG_RTC_DRV_M41T80=m -+CONFIG_RTC_DRV_BQ32K=m -+CONFIG_RTC_DRV_S35390A=m -+CONFIG_RTC_DRV_FM3130=m -+CONFIG_RTC_DRV_RX8581=m -+CONFIG_RTC_DRV_RX8025=m -+CONFIG_RTC_DRV_EM3027=m -+CONFIG_RTC_DRV_RV3028=m -+CONFIG_RTC_DRV_SD3078=m -+CONFIG_RTC_DRV_M41T93=m -+CONFIG_RTC_DRV_M41T94=m -+CONFIG_RTC_DRV_DS1302=m -+CONFIG_RTC_DRV_DS1305=m -+CONFIG_RTC_DRV_DS1390=m -+CONFIG_RTC_DRV_R9701=m -+CONFIG_RTC_DRV_RX4581=m -+CONFIG_RTC_DRV_RS5C348=m -+CONFIG_RTC_DRV_MAX6902=m -+CONFIG_RTC_DRV_PCF2123=m -+CONFIG_RTC_DRV_DS3232=m -+CONFIG_RTC_DRV_PCF2127=m -+CONFIG_RTC_DRV_RV3029C2=m -+CONFIG_DMADEVICES=y -+CONFIG_DMA_BCM2835=y -+CONFIG_DMA_BCM2708=y -+CONFIG_DMABUF_HEAPS=y -+CONFIG_DMABUF_HEAPS_SYSTEM=y -+CONFIG_DMABUF_HEAPS_CMA=y -+CONFIG_AUXDISPLAY=y -+CONFIG_HD44780=m -+CONFIG_UIO=m -+CONFIG_UIO_PDRV_GENIRQ=m -+CONFIG_STAGING=y -+CONFIG_PRISM2_USB=m -+CONFIG_R8712U=m -+CONFIG_R8188EU=m -+CONFIG_VT6656=m -+CONFIG_STAGING_MEDIA=y -+CONFIG_FB_TFT=m -+CONFIG_FB_TFT_AGM1264K_FL=m -+CONFIG_FB_TFT_BD663474=m -+CONFIG_FB_TFT_HX8340BN=m -+CONFIG_FB_TFT_HX8347D=m -+CONFIG_FB_TFT_HX8353D=m -+CONFIG_FB_TFT_HX8357D=m -+CONFIG_FB_TFT_ILI9163=m -+CONFIG_FB_TFT_ILI9320=m -+CONFIG_FB_TFT_ILI9325=m -+CONFIG_FB_TFT_ILI9340=m -+CONFIG_FB_TFT_ILI9341=m -+CONFIG_FB_TFT_ILI9481=m -+CONFIG_FB_TFT_ILI9486=m -+CONFIG_FB_TFT_PCD8544=m -+CONFIG_FB_TFT_RA8875=m -+CONFIG_FB_TFT_S6D02A1=m -+CONFIG_FB_TFT_S6D1121=m -+CONFIG_FB_TFT_SH1106=m -+CONFIG_FB_TFT_SSD1289=m -+CONFIG_FB_TFT_SSD1306=m -+CONFIG_FB_TFT_SSD1331=m -+CONFIG_FB_TFT_SSD1351=m -+CONFIG_FB_TFT_ST7735R=m -+CONFIG_FB_TFT_ST7789V=m -+CONFIG_FB_TFT_TINYLCD=m -+CONFIG_FB_TFT_TLS8204=m -+CONFIG_FB_TFT_UC1701=m -+CONFIG_FB_TFT_UPD161704=m -+CONFIG_FB_TFT_WATTEROTT=m -+CONFIG_BCM2835_VCHIQ=y -+CONFIG_SND_BCM2835=m -+CONFIG_VIDEO_BCM2835=m -+CONFIG_VIDEO_CODEC_BCM2835=m -+CONFIG_VIDEO_ISP_BCM2835=m -+CONFIG_CLK_RASPBERRYPI=y -+CONFIG_MAILBOX=y -+CONFIG_BCM2835_MBOX=y -+# CONFIG_IOMMU_SUPPORT is not set -+CONFIG_RASPBERRYPI_POWER=y -+CONFIG_IIO=m -+CONFIG_IIO_BUFFER_CB=m -+CONFIG_MCP320X=m -+CONFIG_MCP3422=m -+CONFIG_TI_ADS1015=m -+CONFIG_BME680=m -+CONFIG_CCS811=m -+CONFIG_SENSIRION_SGP30=m -+CONFIG_SPS30_I2C=m -+CONFIG_DHT11=m -+CONFIG_HDC100X=m -+CONFIG_HTU21=m -+CONFIG_INV_MPU6050_I2C=m -+CONFIG_APDS9960=m -+CONFIG_BH1750=m -+CONFIG_TSL4531=m -+CONFIG_VEML6070=m -+CONFIG_BMP280=m -+CONFIG_MAXIM_THERMOCOUPLE=m -+CONFIG_MAX31856=m -+CONFIG_PWM_BCM2835=m -+CONFIG_PWM_PCA9685=m -+CONFIG_PWM_RASPBERRYPI_POE=m -+CONFIG_RPI_AXIPERF=m -+CONFIG_EXT4_FS=y -+CONFIG_EXT4_FS_POSIX_ACL=y -+CONFIG_EXT4_FS_SECURITY=y -+CONFIG_REISERFS_FS=m -+CONFIG_REISERFS_FS_XATTR=y -+CONFIG_REISERFS_FS_POSIX_ACL=y -+CONFIG_REISERFS_FS_SECURITY=y -+CONFIG_JFS_FS=m -+CONFIG_JFS_POSIX_ACL=y -+CONFIG_JFS_SECURITY=y -+CONFIG_JFS_STATISTICS=y -+CONFIG_XFS_FS=m -+CONFIG_XFS_QUOTA=y -+CONFIG_XFS_POSIX_ACL=y -+CONFIG_XFS_RT=y -+CONFIG_GFS2_FS=m -+CONFIG_OCFS2_FS=m -+CONFIG_BTRFS_FS=m -+CONFIG_BTRFS_FS_POSIX_ACL=y -+CONFIG_NILFS2_FS=m -+CONFIG_F2FS_FS=y -+CONFIG_FS_ENCRYPTION=y -+CONFIG_FANOTIFY=y -+CONFIG_QFMT_V1=m -+CONFIG_QFMT_V2=m -+CONFIG_AUTOFS4_FS=y -+CONFIG_FUSE_FS=m -+CONFIG_CUSE=m -+CONFIG_OVERLAY_FS=m -+CONFIG_FSCACHE=y -+CONFIG_FSCACHE_STATS=y -+CONFIG_CACHEFILES=y -+CONFIG_ISO9660_FS=m -+CONFIG_JOLIET=y -+CONFIG_ZISOFS=y -+CONFIG_UDF_FS=m -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -+CONFIG_EXFAT_FS=m -+CONFIG_NTFS_FS=m -+CONFIG_NTFS_RW=y -+CONFIG_TMPFS=y -+CONFIG_TMPFS_POSIX_ACL=y -+CONFIG_ECRYPT_FS=m -+CONFIG_HFS_FS=m -+CONFIG_HFSPLUS_FS=m -+CONFIG_JFFS2_FS=m -+CONFIG_JFFS2_SUMMARY=y -+CONFIG_UBIFS_FS=m -+CONFIG_SQUASHFS=m -+CONFIG_SQUASHFS_XATTR=y -+CONFIG_SQUASHFS_LZO=y -+CONFIG_SQUASHFS_XZ=y -+CONFIG_NFS_FS=y -+CONFIG_NFS_V3_ACL=y -+CONFIG_NFS_V4=y -+CONFIG_NFS_SWAP=y -+CONFIG_NFS_V4_1=y -+CONFIG_NFS_V4_2=y -+CONFIG_ROOT_NFS=y -+CONFIG_NFS_FSCACHE=y -+CONFIG_NFSD=m -+CONFIG_NFSD_V3_ACL=y -+CONFIG_NFSD_V4=y -+CONFIG_CIFS=m -+CONFIG_CIFS_UPCALL=y -+CONFIG_CIFS_XATTR=y -+CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_FSCACHE=y -+CONFIG_9P_FS=m -+CONFIG_9P_FS_POSIX_ACL=y -+CONFIG_NLS_DEFAULT="utf8" -+CONFIG_NLS_CODEPAGE_437=y -+CONFIG_NLS_CODEPAGE_737=m -+CONFIG_NLS_CODEPAGE_775=m -+CONFIG_NLS_CODEPAGE_850=m -+CONFIG_NLS_CODEPAGE_852=m -+CONFIG_NLS_CODEPAGE_855=m -+CONFIG_NLS_CODEPAGE_857=m -+CONFIG_NLS_CODEPAGE_860=m -+CONFIG_NLS_CODEPAGE_861=m -+CONFIG_NLS_CODEPAGE_862=m -+CONFIG_NLS_CODEPAGE_863=m -+CONFIG_NLS_CODEPAGE_864=m -+CONFIG_NLS_CODEPAGE_865=m -+CONFIG_NLS_CODEPAGE_866=m -+CONFIG_NLS_CODEPAGE_869=m -+CONFIG_NLS_CODEPAGE_936=m -+CONFIG_NLS_CODEPAGE_950=m -+CONFIG_NLS_CODEPAGE_932=m -+CONFIG_NLS_CODEPAGE_949=m -+CONFIG_NLS_CODEPAGE_874=m -+CONFIG_NLS_ISO8859_8=m -+CONFIG_NLS_CODEPAGE_1250=m -+CONFIG_NLS_CODEPAGE_1251=m -+CONFIG_NLS_ASCII=y -+CONFIG_NLS_ISO8859_1=m -+CONFIG_NLS_ISO8859_2=m -+CONFIG_NLS_ISO8859_3=m -+CONFIG_NLS_ISO8859_4=m -+CONFIG_NLS_ISO8859_5=m -+CONFIG_NLS_ISO8859_6=m -+CONFIG_NLS_ISO8859_7=m -+CONFIG_NLS_ISO8859_9=m -+CONFIG_NLS_ISO8859_13=m -+CONFIG_NLS_ISO8859_14=m -+CONFIG_NLS_ISO8859_15=m -+CONFIG_NLS_KOI8_R=m -+CONFIG_NLS_KOI8_U=m -+CONFIG_DLM=m -+CONFIG_SECURITY=y -+CONFIG_SECURITY_APPARMOR=y -+CONFIG_LSM="" -+CONFIG_CRYPTO_USER=m -+CONFIG_CRYPTO_CHACHA20POLY1305=m -+CONFIG_CRYPTO_ADIANTUM=m -+CONFIG_CRYPTO_XCBC=m -+CONFIG_CRYPTO_WP512=m -+CONFIG_CRYPTO_CAST5=m -+CONFIG_CRYPTO_DES=y -+CONFIG_CRYPTO_LZ4=m -+CONFIG_CRYPTO_USER_API_HASH=m -+CONFIG_CRYPTO_USER_API_SKCIPHER=m -+CONFIG_CRYPTO_USER_API_RNG=m -+CONFIG_CRYPTO_USER_API_AEAD=m -+# CONFIG_CRYPTO_HW is not set -+CONFIG_CRC_ITU_T=y -+CONFIG_LIBCRC32C=y -+CONFIG_DMA_CMA=y -+CONFIG_CMA_SIZE_MBYTES=5 -+CONFIG_PRINTK_TIME=y -+CONFIG_BOOT_PRINTK_DELAY=y -+CONFIG_KGDB=y -+CONFIG_KGDB_KDB=y -+CONFIG_KDB_KEYBOARD=y -+CONFIG_DEBUG_MEMORY_INIT=y -+CONFIG_DETECT_HUNG_TASK=y -+# CONFIG_RCU_TRACE is not set -+CONFIG_LATENCYTOP=y -+CONFIG_FUNCTION_PROFILER=y -+CONFIG_STACK_TRACER=y -+CONFIG_IRQSOFF_TRACER=y -+CONFIG_SCHED_TRACER=y -+CONFIG_BLK_DEV_IO_TRACE=y -+# CONFIG_UPROBE_EVENTS is not set -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -new file mode 100644 -index 000000000000..219f2ac0bbee ---- /dev/null -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -0,0 +1,1484 @@ -+CONFIG_LOCALVERSION="-v7l" -+# CONFIG_LOCALVERSION_AUTO is not set -+CONFIG_SYSVIPC=y -+CONFIG_POSIX_MQUEUE=y -+CONFIG_GENERIC_IRQ_DEBUGFS=y -+CONFIG_NO_HZ=y -+CONFIG_HIGH_RES_TIMERS=y -+CONFIG_BPF_SYSCALL=y -+CONFIG_PREEMPT_VOLUNTARY=y -+CONFIG_BSD_PROCESS_ACCT=y -+CONFIG_BSD_PROCESS_ACCT_V3=y -+CONFIG_TASKSTATS=y -+CONFIG_TASK_DELAY_ACCT=y -+CONFIG_TASK_XACCT=y -+CONFIG_TASK_IO_ACCOUNTING=y -+CONFIG_IKCONFIG=m -+CONFIG_IKCONFIG_PROC=y -+CONFIG_MEMCG=y -+CONFIG_BLK_CGROUP=y -+CONFIG_CFS_BANDWIDTH=y -+CONFIG_CGROUP_PIDS=y -+CONFIG_CGROUP_FREEZER=y -+CONFIG_CPUSETS=y -+CONFIG_CGROUP_DEVICE=y -+CONFIG_CGROUP_CPUACCT=y -+CONFIG_CGROUP_PERF=y -+CONFIG_CGROUP_BPF=y -+CONFIG_NAMESPACES=y -+CONFIG_USER_NS=y -+CONFIG_SCHED_AUTOGROUP=y -+CONFIG_BLK_DEV_INITRD=y -+CONFIG_EMBEDDED=y -+# CONFIG_COMPAT_BRK is not set -+CONFIG_PROFILING=y -+CONFIG_ARCH_BCM=y -+CONFIG_ARCH_BCM2835=y -+CONFIG_ARM_LPAE=y -+# CONFIG_CACHE_L2X0 is not set -+CONFIG_SMP=y -+CONFIG_HIGHMEM=y -+CONFIG_UACCESS_WITH_MEMCPY=y -+# CONFIG_ATAGS is not set -+CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_STAT=y -+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y -+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+CONFIG_CPU_FREQ_GOV_ONDEMAND=y -+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -+CONFIG_CPUFREQ_DT=y -+CONFIG_ARM_RASPBERRYPI_CPUFREQ=y -+CONFIG_VFP=y -+CONFIG_NEON=y -+CONFIG_KERNEL_MODE_NEON=y -+# CONFIG_SUSPEND is not set -+CONFIG_RASPBERRYPI_FIRMWARE=y -+CONFIG_CRYPTO_SHA1_ARM_NEON=m -+CONFIG_CRYPTO_AES_ARM=m -+CONFIG_CRYPTO_AES_ARM_BS=m -+CONFIG_JUMP_LABEL=y -+CONFIG_MODULES=y -+CONFIG_MODULE_UNLOAD=y -+CONFIG_MODVERSIONS=y -+CONFIG_MODULE_SRCVERSION_ALL=y -+CONFIG_BLK_DEV_THROTTLING=y -+CONFIG_PARTITION_ADVANCED=y -+CONFIG_MAC_PARTITION=y -+CONFIG_BINFMT_MISC=m -+CONFIG_CLEANCACHE=y -+CONFIG_FRONTSWAP=y -+CONFIG_CMA=y -+CONFIG_ZSWAP=y -+CONFIG_Z3FOLD=m -+CONFIG_ZSMALLOC=m -+CONFIG_NET=y -+CONFIG_PACKET=y -+CONFIG_UNIX=y -+CONFIG_XFRM_USER=y -+CONFIG_NET_KEY=m -+CONFIG_INET=y -+CONFIG_IP_MULTICAST=y -+CONFIG_IP_ADVANCED_ROUTER=y -+CONFIG_IP_MULTIPLE_TABLES=y -+CONFIG_IP_ROUTE_MULTIPATH=y -+CONFIG_IP_ROUTE_VERBOSE=y -+CONFIG_IP_PNP=y -+CONFIG_IP_PNP_DHCP=y -+CONFIG_IP_PNP_RARP=y -+CONFIG_NET_IPIP=m -+CONFIG_NET_IPGRE_DEMUX=m -+CONFIG_NET_IPGRE=m -+CONFIG_IP_MROUTE=y -+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IP_PIMSM_V1=y -+CONFIG_IP_PIMSM_V2=y -+CONFIG_NET_IPVTI=m -+CONFIG_NET_FOU=m -+CONFIG_INET_AH=m -+CONFIG_INET_ESP=m -+CONFIG_INET_IPCOMP=m -+CONFIG_INET_DIAG=m -+CONFIG_TCP_CONG_ADVANCED=y -+CONFIG_TCP_CONG_BBR=m -+CONFIG_IPV6=m -+CONFIG_IPV6_ROUTER_PREF=y -+CONFIG_IPV6_ROUTE_INFO=y -+CONFIG_INET6_AH=m -+CONFIG_INET6_ESP=m -+CONFIG_INET6_ESP_OFFLOAD=m -+CONFIG_INET6_IPCOMP=m -+CONFIG_IPV6_ILA=m -+CONFIG_IPV6_VTI=m -+CONFIG_IPV6_SIT_6RD=y -+CONFIG_IPV6_GRE=m -+CONFIG_IPV6_MULTIPLE_TABLES=y -+CONFIG_IPV6_SUBTREES=y -+CONFIG_IPV6_MROUTE=y -+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IPV6_PIMSM_V2=y -+CONFIG_NETFILTER=y -+CONFIG_BRIDGE_NETFILTER=m -+CONFIG_NF_CONNTRACK=m -+CONFIG_NF_CONNTRACK_ZONES=y -+CONFIG_NF_CONNTRACK_EVENTS=y -+CONFIG_NF_CONNTRACK_TIMESTAMP=y -+CONFIG_NF_CONNTRACK_AMANDA=m -+CONFIG_NF_CONNTRACK_FTP=m -+CONFIG_NF_CONNTRACK_H323=m -+CONFIG_NF_CONNTRACK_IRC=m -+CONFIG_NF_CONNTRACK_NETBIOS_NS=m -+CONFIG_NF_CONNTRACK_SNMP=m -+CONFIG_NF_CONNTRACK_PPTP=m -+CONFIG_NF_CONNTRACK_SANE=m -+CONFIG_NF_CONNTRACK_SIP=m -+CONFIG_NF_CONNTRACK_TFTP=m -+CONFIG_NF_CT_NETLINK=m -+CONFIG_NF_TABLES=m -+CONFIG_NF_TABLES_INET=y -+CONFIG_NF_TABLES_NETDEV=y -+CONFIG_NFT_NUMGEN=m -+CONFIG_NFT_CT=m -+CONFIG_NFT_FLOW_OFFLOAD=m -+CONFIG_NFT_COUNTER=m -+CONFIG_NFT_CONNLIMIT=m -+CONFIG_NFT_LOG=m -+CONFIG_NFT_LIMIT=m -+CONFIG_NFT_MASQ=m -+CONFIG_NFT_REDIR=m -+CONFIG_NFT_NAT=m -+CONFIG_NFT_TUNNEL=m -+CONFIG_NFT_OBJREF=m -+CONFIG_NFT_QUEUE=m -+CONFIG_NFT_QUOTA=m -+CONFIG_NFT_REJECT=m -+CONFIG_NFT_COMPAT=m -+CONFIG_NFT_HASH=m -+CONFIG_NFT_FIB_INET=m -+CONFIG_NFT_SOCKET=m -+CONFIG_NFT_OSF=m -+CONFIG_NFT_TPROXY=m -+CONFIG_NFT_DUP_NETDEV=m -+CONFIG_NFT_FWD_NETDEV=m -+CONFIG_NFT_FIB_NETDEV=m -+CONFIG_NF_FLOW_TABLE_INET=m -+CONFIG_NF_FLOW_TABLE=m -+CONFIG_NETFILTER_XT_SET=m -+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -+CONFIG_NETFILTER_XT_TARGET_DSCP=m -+CONFIG_NETFILTER_XT_TARGET_HMARK=m -+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -+CONFIG_NETFILTER_XT_TARGET_LED=m -+CONFIG_NETFILTER_XT_TARGET_LOG=m -+CONFIG_NETFILTER_XT_TARGET_MARK=m -+CONFIG_NETFILTER_XT_TARGET_NFLOG=m -+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -+CONFIG_NETFILTER_XT_TARGET_TEE=m -+CONFIG_NETFILTER_XT_TARGET_TPROXY=m -+CONFIG_NETFILTER_XT_TARGET_TRACE=m -+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -+CONFIG_NETFILTER_XT_MATCH_BPF=m -+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -+CONFIG_NETFILTER_XT_MATCH_COMMENT=m -+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -+CONFIG_NETFILTER_XT_MATCH_CPU=m -+CONFIG_NETFILTER_XT_MATCH_DCCP=m -+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -+CONFIG_NETFILTER_XT_MATCH_DSCP=m -+CONFIG_NETFILTER_XT_MATCH_ESP=m -+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_HELPER=m -+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -+CONFIG_NETFILTER_XT_MATCH_IPVS=m -+CONFIG_NETFILTER_XT_MATCH_LENGTH=m -+CONFIG_NETFILTER_XT_MATCH_LIMIT=m -+CONFIG_NETFILTER_XT_MATCH_MAC=m -+CONFIG_NETFILTER_XT_MATCH_MARK=m -+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -+CONFIG_NETFILTER_XT_MATCH_NFACCT=m -+CONFIG_NETFILTER_XT_MATCH_OSF=m -+CONFIG_NETFILTER_XT_MATCH_OWNER=m -+CONFIG_NETFILTER_XT_MATCH_POLICY=m -+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -+CONFIG_NETFILTER_XT_MATCH_QUOTA=m -+CONFIG_NETFILTER_XT_MATCH_RATEEST=m -+CONFIG_NETFILTER_XT_MATCH_REALM=m -+CONFIG_NETFILTER_XT_MATCH_RECENT=m -+CONFIG_NETFILTER_XT_MATCH_SOCKET=m -+CONFIG_NETFILTER_XT_MATCH_STATE=m -+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -+CONFIG_NETFILTER_XT_MATCH_STRING=m -+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -+CONFIG_NETFILTER_XT_MATCH_TIME=m -+CONFIG_NETFILTER_XT_MATCH_U32=m -+CONFIG_IP_SET=m -+CONFIG_IP_SET_BITMAP_IP=m -+CONFIG_IP_SET_BITMAP_IPMAC=m -+CONFIG_IP_SET_BITMAP_PORT=m -+CONFIG_IP_SET_HASH_IP=m -+CONFIG_IP_SET_HASH_IPPORT=m -+CONFIG_IP_SET_HASH_IPPORTIP=m -+CONFIG_IP_SET_HASH_IPPORTNET=m -+CONFIG_IP_SET_HASH_NET=m -+CONFIG_IP_SET_HASH_NETPORT=m -+CONFIG_IP_SET_HASH_NETIFACE=m -+CONFIG_IP_SET_LIST_SET=m -+CONFIG_IP_VS=m -+CONFIG_IP_VS_PROTO_TCP=y -+CONFIG_IP_VS_PROTO_UDP=y -+CONFIG_IP_VS_PROTO_ESP=y -+CONFIG_IP_VS_PROTO_AH=y -+CONFIG_IP_VS_PROTO_SCTP=y -+CONFIG_IP_VS_RR=m -+CONFIG_IP_VS_WRR=m -+CONFIG_IP_VS_LC=m -+CONFIG_IP_VS_WLC=m -+CONFIG_IP_VS_LBLC=m -+CONFIG_IP_VS_LBLCR=m -+CONFIG_IP_VS_DH=m -+CONFIG_IP_VS_SH=m -+CONFIG_IP_VS_SED=m -+CONFIG_IP_VS_NQ=m -+CONFIG_IP_VS_FTP=m -+CONFIG_IP_VS_PE_SIP=m -+CONFIG_NFT_DUP_IPV4=m -+CONFIG_NFT_FIB_IPV4=m -+CONFIG_NF_TABLES_ARP=y -+CONFIG_NF_FLOW_TABLE_IPV4=m -+CONFIG_NF_LOG_ARP=m -+CONFIG_IP_NF_IPTABLES=m -+CONFIG_IP_NF_MATCH_AH=m -+CONFIG_IP_NF_MATCH_ECN=m -+CONFIG_IP_NF_MATCH_RPFILTER=m -+CONFIG_IP_NF_MATCH_TTL=m -+CONFIG_IP_NF_FILTER=m -+CONFIG_IP_NF_TARGET_REJECT=m -+CONFIG_IP_NF_NAT=m -+CONFIG_IP_NF_TARGET_MASQUERADE=m -+CONFIG_IP_NF_TARGET_NETMAP=m -+CONFIG_IP_NF_TARGET_REDIRECT=m -+CONFIG_IP_NF_MANGLE=m -+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_ARPTABLES=m -+CONFIG_IP_NF_ARPFILTER=m -+CONFIG_IP_NF_ARP_MANGLE=m -+CONFIG_NFT_DUP_IPV6=m -+CONFIG_NFT_FIB_IPV6=m -+CONFIG_NF_FLOW_TABLE_IPV6=m -+CONFIG_IP6_NF_IPTABLES=m -+CONFIG_IP6_NF_MATCH_AH=m -+CONFIG_IP6_NF_MATCH_EUI64=m -+CONFIG_IP6_NF_MATCH_FRAG=m -+CONFIG_IP6_NF_MATCH_OPTS=m -+CONFIG_IP6_NF_MATCH_HL=m -+CONFIG_IP6_NF_MATCH_IPV6HEADER=m -+CONFIG_IP6_NF_MATCH_MH=m -+CONFIG_IP6_NF_MATCH_RPFILTER=m -+CONFIG_IP6_NF_MATCH_RT=m -+CONFIG_IP6_NF_MATCH_SRH=m -+CONFIG_IP6_NF_TARGET_HL=m -+CONFIG_IP6_NF_FILTER=m -+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 -+CONFIG_NF_TABLES_BRIDGE=m -+CONFIG_NFT_BRIDGE_REJECT=m -+CONFIG_BRIDGE_NF_EBTABLES=m -+CONFIG_BRIDGE_EBT_BROUTE=m -+CONFIG_BRIDGE_EBT_T_FILTER=m -+CONFIG_BRIDGE_EBT_T_NAT=m -+CONFIG_BRIDGE_EBT_802_3=m -+CONFIG_BRIDGE_EBT_AMONG=m -+CONFIG_BRIDGE_EBT_ARP=m -+CONFIG_BRIDGE_EBT_IP=m -+CONFIG_BRIDGE_EBT_IP6=m -+CONFIG_BRIDGE_EBT_LIMIT=m -+CONFIG_BRIDGE_EBT_MARK=m -+CONFIG_BRIDGE_EBT_PKTTYPE=m -+CONFIG_BRIDGE_EBT_STP=m -+CONFIG_BRIDGE_EBT_VLAN=m -+CONFIG_BRIDGE_EBT_ARPREPLY=m -+CONFIG_BRIDGE_EBT_DNAT=m -+CONFIG_BRIDGE_EBT_MARK_T=m -+CONFIG_BRIDGE_EBT_REDIRECT=m -+CONFIG_BRIDGE_EBT_SNAT=m -+CONFIG_BRIDGE_EBT_LOG=m -+CONFIG_BRIDGE_EBT_NFLOG=m -+CONFIG_SCTP_COOKIE_HMAC_SHA1=y -+CONFIG_ATM=m -+CONFIG_L2TP=m -+CONFIG_L2TP_V3=y -+CONFIG_L2TP_IP=m -+CONFIG_L2TP_ETH=m -+CONFIG_BRIDGE=m -+CONFIG_VLAN_8021Q=m -+CONFIG_VLAN_8021Q_GVRP=y -+CONFIG_ATALK=m -+CONFIG_6LOWPAN=m -+CONFIG_IEEE802154=m -+CONFIG_IEEE802154_6LOWPAN=m -+CONFIG_MAC802154=m -+CONFIG_NET_SCHED=y -+CONFIG_NET_SCH_CBQ=m -+CONFIG_NET_SCH_HTB=m -+CONFIG_NET_SCH_HFSC=m -+CONFIG_NET_SCH_ATM=m -+CONFIG_NET_SCH_PRIO=m -+CONFIG_NET_SCH_MULTIQ=m -+CONFIG_NET_SCH_RED=m -+CONFIG_NET_SCH_SFB=m -+CONFIG_NET_SCH_SFQ=m -+CONFIG_NET_SCH_TEQL=m -+CONFIG_NET_SCH_TBF=m -+CONFIG_NET_SCH_GRED=m -+CONFIG_NET_SCH_DSMARK=m -+CONFIG_NET_SCH_NETEM=m -+CONFIG_NET_SCH_DRR=m -+CONFIG_NET_SCH_MQPRIO=m -+CONFIG_NET_SCH_CHOKE=m -+CONFIG_NET_SCH_QFQ=m -+CONFIG_NET_SCH_CODEL=m -+CONFIG_NET_SCH_FQ_CODEL=m -+CONFIG_NET_SCH_CAKE=m -+CONFIG_NET_SCH_FQ=m -+CONFIG_NET_SCH_HHF=m -+CONFIG_NET_SCH_PIE=m -+CONFIG_NET_SCH_INGRESS=m -+CONFIG_NET_SCH_PLUG=m -+CONFIG_NET_CLS_BASIC=m -+CONFIG_NET_CLS_TCINDEX=m -+CONFIG_NET_CLS_ROUTE4=m -+CONFIG_NET_CLS_FW=m -+CONFIG_NET_CLS_U32=m -+CONFIG_CLS_U32_MARK=y -+CONFIG_NET_CLS_RSVP=m -+CONFIG_NET_CLS_RSVP6=m -+CONFIG_NET_CLS_FLOW=m -+CONFIG_NET_CLS_CGROUP=m -+CONFIG_NET_EMATCH=y -+CONFIG_NET_EMATCH_CMP=m -+CONFIG_NET_EMATCH_NBYTE=m -+CONFIG_NET_EMATCH_U32=m -+CONFIG_NET_EMATCH_META=m -+CONFIG_NET_EMATCH_TEXT=m -+CONFIG_NET_EMATCH_IPSET=m -+CONFIG_NET_CLS_ACT=y -+CONFIG_NET_ACT_POLICE=m -+CONFIG_NET_ACT_GACT=m -+CONFIG_GACT_PROB=y -+CONFIG_NET_ACT_MIRRED=m -+CONFIG_NET_ACT_IPT=m -+CONFIG_NET_ACT_NAT=m -+CONFIG_NET_ACT_PEDIT=m -+CONFIG_NET_ACT_SIMP=m -+CONFIG_NET_ACT_SKBEDIT=m -+CONFIG_NET_ACT_CSUM=m -+CONFIG_BATMAN_ADV=m -+CONFIG_OPENVSWITCH=m -+CONFIG_CGROUP_NET_PRIO=y -+CONFIG_NET_PKTGEN=m -+CONFIG_HAMRADIO=y -+CONFIG_AX25=m -+CONFIG_NETROM=m -+CONFIG_ROSE=m -+CONFIG_MKISS=m -+CONFIG_6PACK=m -+CONFIG_BPQETHER=m -+CONFIG_BAYCOM_SER_FDX=m -+CONFIG_BAYCOM_SER_HDX=m -+CONFIG_YAM=m -+CONFIG_CAN=m -+CONFIG_CAN_J1939=m -+CONFIG_CAN_ISOTP=m -+CONFIG_CAN_VCAN=m -+CONFIG_CAN_SLCAN=m -+CONFIG_CAN_MCP251X=m -+CONFIG_CAN_MCP251XFD=m -+CONFIG_CAN_EMS_USB=m -+CONFIG_CAN_GS_USB=m -+CONFIG_BT=m -+CONFIG_BT_RFCOMM=m -+CONFIG_BT_RFCOMM_TTY=y -+CONFIG_BT_BNEP=m -+CONFIG_BT_BNEP_MC_FILTER=y -+CONFIG_BT_BNEP_PROTO_FILTER=y -+CONFIG_BT_HIDP=m -+CONFIG_BT_6LOWPAN=m -+CONFIG_BT_HCIBTUSB=m -+CONFIG_BT_HCIUART=m -+CONFIG_BT_HCIUART_3WIRE=y -+CONFIG_BT_HCIUART_BCM=y -+CONFIG_BT_HCIBCM203X=m -+CONFIG_BT_HCIBPA10X=m -+CONFIG_BT_HCIBFUSB=m -+CONFIG_BT_HCIVHCI=m -+CONFIG_BT_MRVL=m -+CONFIG_BT_MRVL_SDIO=m -+CONFIG_BT_ATH3K=m -+CONFIG_CFG80211=m -+CONFIG_CFG80211_WEXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_MESH=y -+CONFIG_RFKILL=m -+CONFIG_RFKILL_INPUT=y -+CONFIG_NET_9P=m -+CONFIG_NFC=m -+CONFIG_PCI=y -+CONFIG_PCIEPORTBUS=y -+# CONFIG_PCIEASPM is not set -+CONFIG_PCI_MSI=y -+CONFIG_PCIE_BRCMSTB=y -+CONFIG_UEVENT_HELPER=y -+CONFIG_DEVTMPFS=y -+CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_MTD=m -+CONFIG_MTD_BLOCK=m -+CONFIG_MTD_BLOCK2MTD=m -+CONFIG_MTD_SPI_NOR=m -+CONFIG_MTD_UBI=m -+CONFIG_OF_CONFIGFS=y -+CONFIG_ZRAM=m -+CONFIG_BLK_DEV_LOOP=y -+CONFIG_BLK_DEV_CRYPTOLOOP=m -+CONFIG_BLK_DEV_DRBD=m -+CONFIG_BLK_DEV_NBD=m -+CONFIG_BLK_DEV_RAM=y -+CONFIG_CDROM_PKTCDVD=m -+CONFIG_ATA_OVER_ETH=m -+CONFIG_BLK_DEV_NVME=y -+CONFIG_EEPROM_AT24=m -+CONFIG_TI_ST=m -+CONFIG_SCSI=y -+# CONFIG_SCSI_PROC_FS is not set -+CONFIG_BLK_DEV_SD=y -+CONFIG_CHR_DEV_ST=m -+CONFIG_BLK_DEV_SR=m -+CONFIG_CHR_DEV_SG=m -+CONFIG_SCSI_ISCSI_ATTRS=y -+CONFIG_ISCSI_TCP=m -+CONFIG_ISCSI_BOOT_SYSFS=m -+CONFIG_ATA=m -+CONFIG_SATA_AHCI=m -+CONFIG_SATA_MV=m -+CONFIG_MD=y -+CONFIG_MD_LINEAR=m -+CONFIG_BLK_DEV_DM=m -+CONFIG_DM_CRYPT=m -+CONFIG_DM_SNAPSHOT=m -+CONFIG_DM_THIN_PROVISIONING=m -+CONFIG_DM_CACHE=m -+CONFIG_DM_MIRROR=m -+CONFIG_DM_LOG_USERSPACE=m -+CONFIG_DM_RAID=m -+CONFIG_DM_ZERO=m -+CONFIG_DM_DELAY=m -+CONFIG_NETDEVICES=y -+CONFIG_BONDING=m -+CONFIG_DUMMY=m -+CONFIG_WIREGUARD=m -+CONFIG_IFB=m -+CONFIG_MACVLAN=m -+CONFIG_IPVLAN=m -+CONFIG_VXLAN=m -+CONFIG_NETCONSOLE=m -+CONFIG_TUN=m -+CONFIG_VETH=m -+CONFIG_NET_VRF=m -+CONFIG_BCMGENET=y -+CONFIG_ENC28J60=m -+CONFIG_QCA7000_SPI=m -+CONFIG_QCA7000_UART=m -+CONFIG_WIZNET_W5100=m -+CONFIG_WIZNET_W5100_SPI=m -+CONFIG_MICREL_PHY=y -+CONFIG_MDIO_BITBANG=m -+CONFIG_PPP=m -+CONFIG_PPP_BSDCOMP=m -+CONFIG_PPP_DEFLATE=m -+CONFIG_PPP_FILTER=y -+CONFIG_PPP_MPPE=m -+CONFIG_PPP_MULTILINK=y -+CONFIG_PPPOATM=m -+CONFIG_PPPOE=m -+CONFIG_PPPOL2TP=m -+CONFIG_PPP_ASYNC=m -+CONFIG_PPP_SYNC_TTY=m -+CONFIG_SLIP=m -+CONFIG_SLIP_COMPRESSED=y -+CONFIG_SLIP_SMART=y -+CONFIG_USB_CATC=m -+CONFIG_USB_KAWETH=m -+CONFIG_USB_PEGASUS=m -+CONFIG_USB_RTL8150=m -+CONFIG_USB_RTL8152=y -+CONFIG_USB_LAN78XX=y -+CONFIG_USB_USBNET=y -+CONFIG_USB_NET_AX8817X=m -+CONFIG_USB_NET_AX88179_178A=m -+CONFIG_USB_NET_CDCETHER=m -+CONFIG_USB_NET_CDC_EEM=m -+CONFIG_USB_NET_CDC_NCM=m -+CONFIG_USB_NET_HUAWEI_CDC_NCM=m -+CONFIG_USB_NET_CDC_MBIM=m -+CONFIG_USB_NET_DM9601=m -+CONFIG_USB_NET_SR9700=m -+CONFIG_USB_NET_SR9800=m -+CONFIG_USB_NET_SMSC75XX=m -+CONFIG_USB_NET_SMSC95XX=y -+CONFIG_USB_NET_GL620A=m -+CONFIG_USB_NET_NET1080=m -+CONFIG_USB_NET_PLUSB=m -+CONFIG_USB_NET_MCS7830=m -+CONFIG_USB_NET_CDC_SUBSET=m -+CONFIG_USB_ALI_M5632=y -+CONFIG_USB_AN2720=y -+CONFIG_USB_EPSON2888=y -+CONFIG_USB_KC2190=y -+CONFIG_USB_NET_ZAURUS=m -+CONFIG_USB_NET_CX82310_ETH=m -+CONFIG_USB_NET_KALMIA=m -+CONFIG_USB_NET_QMI_WWAN=m -+CONFIG_USB_HSO=m -+CONFIG_USB_NET_INT51X1=m -+CONFIG_USB_IPHETH=m -+CONFIG_USB_SIERRA_NET=m -+CONFIG_USB_VL600=m -+CONFIG_USB_NET_AQC111=m -+CONFIG_ATH9K=m -+CONFIG_ATH9K_HTC=m -+CONFIG_CARL9170=m -+CONFIG_ATH6KL=m -+CONFIG_ATH6KL_USB=m -+CONFIG_AR5523=m -+CONFIG_AT76C50X_USB=m -+CONFIG_B43=m -+# CONFIG_B43_PHY_N is not set -+CONFIG_B43LEGACY=m -+CONFIG_BRCMFMAC=m -+CONFIG_BRCMFMAC_USB=y -+CONFIG_BRCMDBG=y -+CONFIG_HOSTAP=m -+CONFIG_P54_COMMON=m -+CONFIG_P54_USB=m -+CONFIG_LIBERTAS=m -+CONFIG_LIBERTAS_USB=m -+CONFIG_LIBERTAS_SDIO=m -+CONFIG_LIBERTAS_THINFIRM=m -+CONFIG_LIBERTAS_THINFIRM_USB=m -+CONFIG_MWIFIEX=m -+CONFIG_MWIFIEX_SDIO=m -+CONFIG_MT7601U=m -+CONFIG_MT76x0U=m -+CONFIG_MT76x2U=m -+CONFIG_RT2X00=m -+CONFIG_RT2500USB=m -+CONFIG_RT73USB=m -+CONFIG_RT2800USB=m -+CONFIG_RT2800USB_RT3573=y -+CONFIG_RT2800USB_RT53XX=y -+CONFIG_RT2800USB_RT55XX=y -+CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_RTL8187=m -+CONFIG_RTL8192CU=m -+CONFIG_RTL8XXXU=m -+CONFIG_USB_ZD1201=m -+CONFIG_ZD1211RW=m -+CONFIG_MAC80211_HWSIM=m -+CONFIG_USB_NET_RNDIS_WLAN=m -+CONFIG_IEEE802154_AT86RF230=m -+CONFIG_IEEE802154_MRF24J40=m -+CONFIG_IEEE802154_CC2520=m -+CONFIG_INPUT_MOUSEDEV=y -+CONFIG_INPUT_JOYDEV=m -+CONFIG_INPUT_EVDEV=y -+# CONFIG_KEYBOARD_ATKBD is not set -+CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_MATRIX=m -+CONFIG_KEYBOARD_CAP11XX=m -+# CONFIG_INPUT_MOUSE is not set -+CONFIG_INPUT_JOYSTICK=y -+CONFIG_JOYSTICK_IFORCE=m -+CONFIG_JOYSTICK_IFORCE_USB=m -+CONFIG_JOYSTICK_XPAD=m -+CONFIG_JOYSTICK_XPAD_FF=y -+CONFIG_JOYSTICK_XPAD_LEDS=y -+CONFIG_JOYSTICK_PSXPAD_SPI=m -+CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -+CONFIG_JOYSTICK_RPISENSE=m -+CONFIG_INPUT_TOUCHSCREEN=y -+CONFIG_TOUCHSCREEN_ADS7846=m -+CONFIG_TOUCHSCREEN_EGALAX=m -+CONFIG_TOUCHSCREEN_EXC3000=m -+CONFIG_TOUCHSCREEN_GOODIX=m -+CONFIG_TOUCHSCREEN_ILI210X=m -+CONFIG_TOUCHSCREEN_EDT_FT5X06=m -+CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m -+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -+CONFIG_TOUCHSCREEN_STMPE=m -+CONFIG_INPUT_MISC=y -+CONFIG_INPUT_AD714X=m -+CONFIG_INPUT_ATI_REMOTE2=m -+CONFIG_INPUT_KEYSPAN_REMOTE=m -+CONFIG_INPUT_POWERMATE=m -+CONFIG_INPUT_YEALINK=m -+CONFIG_INPUT_CM109=m -+CONFIG_INPUT_UINPUT=m -+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -+CONFIG_INPUT_ADXL34X=m -+CONFIG_INPUT_CMA3000=m -+CONFIG_SERIO=m -+CONFIG_SERIO_RAW=m -+CONFIG_GAMEPORT=m -+CONFIG_GAMEPORT_NS558=m -+CONFIG_GAMEPORT_L4=m -+CONFIG_BRCM_CHAR_DRIVERS=y -+CONFIG_BCM_VCIO=y -+CONFIG_BCM2835_DEVGPIOMEM=y -+CONFIG_RPIVID_MEM=m -+# CONFIG_LEGACY_PTYS is not set -+CONFIG_SERIAL_8250=y -+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -+CONFIG_SERIAL_8250_CONSOLE=y -+# CONFIG_SERIAL_8250_DMA is not set -+CONFIG_SERIAL_8250_NR_UARTS=1 -+CONFIG_SERIAL_8250_RUNTIME_UARTS=0 -+CONFIG_SERIAL_8250_EXTENDED=y -+CONFIG_SERIAL_8250_SHARE_IRQ=y -+CONFIG_SERIAL_8250_BCM2835AUX=y -+CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_AMBA_PL011=y -+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -+CONFIG_SERIAL_SC16IS7XX=m -+CONFIG_SERIAL_SC16IS7XX_SPI=y -+CONFIG_SERIAL_DEV_BUS=y -+CONFIG_TTY_PRINTK=y -+CONFIG_HW_RANDOM=y -+CONFIG_TCG_TPM=m -+CONFIG_TCG_TIS_SPI=m -+CONFIG_RANDOM_TRUST_BOOTLOADER=y -+CONFIG_I2C=y -+CONFIG_I2C_CHARDEV=m -+CONFIG_I2C_MUX_GPMUX=m -+CONFIG_I2C_MUX_PCA954x=m -+CONFIG_I2C_MUX_PINCTRL=m -+CONFIG_I2C_BCM2708=m -+CONFIG_I2C_BCM2835=m -+CONFIG_I2C_BRCMSTB=m -+CONFIG_I2C_GPIO=m -+CONFIG_I2C_ROBOTFUZZ_OSIF=m -+CONFIG_I2C_TINY_USB=m -+CONFIG_SPI=y -+CONFIG_SPI_BCM2835=m -+CONFIG_SPI_BCM2835AUX=m -+CONFIG_SPI_GPIO=m -+CONFIG_SPI_SPIDEV=m -+CONFIG_SPI_SLAVE=y -+CONFIG_PPS_CLIENT_LDISC=m -+CONFIG_PPS_CLIENT_GPIO=m -+CONFIG_PINCTRL_MCP23S08=m -+CONFIG_GPIO_SYSFS=y -+CONFIG_GPIO_BCM_VIRT=y -+CONFIG_GPIO_PCA953X=m -+CONFIG_GPIO_PCA953X_IRQ=y -+CONFIG_GPIO_PCF857X=m -+CONFIG_GPIO_ARIZONA=m -+CONFIG_GPIO_FSM=m -+CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MOCKUP=m -+CONFIG_W1=m -+CONFIG_W1_MASTER_DS2490=m -+CONFIG_W1_MASTER_DS2482=m -+CONFIG_W1_MASTER_DS1WM=m -+CONFIG_W1_MASTER_GPIO=m -+CONFIG_W1_SLAVE_THERM=m -+CONFIG_W1_SLAVE_SMEM=m -+CONFIG_W1_SLAVE_DS2408=m -+CONFIG_W1_SLAVE_DS2413=m -+CONFIG_W1_SLAVE_DS2406=m -+CONFIG_W1_SLAVE_DS2423=m -+CONFIG_W1_SLAVE_DS2431=m -+CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2438=m -+CONFIG_W1_SLAVE_DS2780=m -+CONFIG_W1_SLAVE_DS2781=m -+CONFIG_W1_SLAVE_DS28E04=m -+CONFIG_W1_SLAVE_DS28E17=m -+CONFIG_POWER_RESET=y -+CONFIG_POWER_RESET_GPIO=y -+CONFIG_RPI_POE_POWER=m -+CONFIG_BATTERY_DS2760=m -+CONFIG_BATTERY_MAX17040=m -+CONFIG_BATTERY_GAUGE_LTC2941=m -+CONFIG_SENSORS_DS1621=m -+CONFIG_SENSORS_GPIO_FAN=m -+CONFIG_SENSORS_IIO_HWMON=m -+CONFIG_SENSORS_JC42=m -+CONFIG_SENSORS_LM75=m -+CONFIG_SENSORS_PWM_FAN=m -+CONFIG_SENSORS_RASPBERRYPI_HWMON=m -+CONFIG_SENSORS_SHT21=m -+CONFIG_SENSORS_SHT3x=m -+CONFIG_SENSORS_SHTC1=m -+CONFIG_SENSORS_INA2XX=m -+CONFIG_SENSORS_TMP102=m -+CONFIG_THERMAL=y -+CONFIG_BCM2711_THERMAL=y -+CONFIG_WATCHDOG=y -+CONFIG_GPIO_WATCHDOG=m -+CONFIG_BCM2835_WDT=y -+CONFIG_MFD_STMPE=y -+CONFIG_STMPE_SPI=y -+CONFIG_MFD_ARIZONA_I2C=m -+CONFIG_MFD_ARIZONA_SPI=m -+CONFIG_MFD_WM5102=y -+CONFIG_REGULATOR=y -+CONFIG_REGULATOR_FIXED_VOLTAGE=y -+CONFIG_REGULATOR_ARIZONA_LDO1=m -+CONFIG_REGULATOR_ARIZONA_MICSUPP=m -+CONFIG_REGULATOR_GPIO=y -+CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m -+CONFIG_RC_CORE=y -+CONFIG_LIRC=y -+CONFIG_BPF_LIRC_MODE2=y -+CONFIG_RC_DECODERS=y -+CONFIG_IR_NEC_DECODER=m -+CONFIG_IR_RC5_DECODER=m -+CONFIG_IR_RC6_DECODER=m -+CONFIG_IR_JVC_DECODER=m -+CONFIG_IR_SONY_DECODER=m -+CONFIG_IR_SANYO_DECODER=m -+CONFIG_IR_SHARP_DECODER=m -+CONFIG_IR_MCE_KBD_DECODER=m -+CONFIG_IR_XMP_DECODER=m -+CONFIG_IR_IMON_DECODER=m -+CONFIG_RC_DEVICES=y -+CONFIG_RC_ATI_REMOTE=m -+CONFIG_IR_IMON=m -+CONFIG_IR_MCEUSB=m -+CONFIG_IR_REDRAT3=m -+CONFIG_IR_STREAMZAP=m -+CONFIG_IR_IGUANA=m -+CONFIG_IR_TTUSBIR=m -+CONFIG_RC_LOOPBACK=m -+CONFIG_IR_GPIO_CIR=m -+CONFIG_IR_GPIO_TX=m -+CONFIG_IR_PWM_TX=m -+CONFIG_MEDIA_CEC_RC=y -+CONFIG_MEDIA_SUPPORT=m -+CONFIG_MEDIA_USB_SUPPORT=y -+CONFIG_USB_VIDEO_CLASS=m -+CONFIG_USB_PWC=m -+CONFIG_VIDEO_CPIA2=m -+CONFIG_USB_ZR364XX=m -+CONFIG_USB_STKWEBCAM=m -+CONFIG_USB_S2255=m -+CONFIG_VIDEO_USBTV=m -+CONFIG_VIDEO_PVRUSB2=m -+CONFIG_VIDEO_HDPVR=m -+CONFIG_VIDEO_STK1160_COMMON=m -+CONFIG_VIDEO_GO7007=m -+CONFIG_VIDEO_GO7007_USB=m -+CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -+CONFIG_VIDEO_AU0828=m -+CONFIG_VIDEO_AU0828_RC=y -+CONFIG_VIDEO_CX231XX=m -+CONFIG_VIDEO_CX231XX_ALSA=m -+CONFIG_VIDEO_CX231XX_DVB=m -+CONFIG_VIDEO_TM6000=m -+CONFIG_VIDEO_TM6000_ALSA=m -+CONFIG_VIDEO_TM6000_DVB=m -+CONFIG_DVB_USB=m -+CONFIG_DVB_USB_A800=m -+CONFIG_DVB_USB_DIBUSB_MB=m -+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -+CONFIG_DVB_USB_DIBUSB_MC=m -+CONFIG_DVB_USB_DIB0700=m -+CONFIG_DVB_USB_UMT_010=m -+CONFIG_DVB_USB_CXUSB=m -+CONFIG_DVB_USB_M920X=m -+CONFIG_DVB_USB_DIGITV=m -+CONFIG_DVB_USB_VP7045=m -+CONFIG_DVB_USB_VP702X=m -+CONFIG_DVB_USB_GP8PSK=m -+CONFIG_DVB_USB_NOVA_T_USB2=m -+CONFIG_DVB_USB_TTUSB2=m -+CONFIG_DVB_USB_DTT200U=m -+CONFIG_DVB_USB_OPERA1=m -+CONFIG_DVB_USB_AF9005=m -+CONFIG_DVB_USB_AF9005_REMOTE=m -+CONFIG_DVB_USB_PCTV452E=m -+CONFIG_DVB_USB_DW2102=m -+CONFIG_DVB_USB_CINERGY_T2=m -+CONFIG_DVB_USB_DTV5100=m -+CONFIG_DVB_USB_AZ6027=m -+CONFIG_DVB_USB_TECHNISAT_USB2=m -+CONFIG_DVB_USB_V2=m -+CONFIG_DVB_USB_AF9015=m -+CONFIG_DVB_USB_AF9035=m -+CONFIG_DVB_USB_ANYSEE=m -+CONFIG_DVB_USB_AU6610=m -+CONFIG_DVB_USB_AZ6007=m -+CONFIG_DVB_USB_CE6230=m -+CONFIG_DVB_USB_EC168=m -+CONFIG_DVB_USB_GL861=m -+CONFIG_DVB_USB_LME2510=m -+CONFIG_DVB_USB_MXL111SF=m -+CONFIG_DVB_USB_RTL28XXU=m -+CONFIG_DVB_USB_DVBSKY=m -+CONFIG_SMS_USB_DRV=m -+CONFIG_DVB_B2C2_FLEXCOP_USB=m -+CONFIG_DVB_AS102=m -+CONFIG_VIDEO_EM28XX=m -+CONFIG_VIDEO_EM28XX_V4L2=m -+CONFIG_VIDEO_EM28XX_ALSA=m -+CONFIG_VIDEO_EM28XX_DVB=m -+CONFIG_RADIO_SI470X=m -+CONFIG_USB_SI470X=m -+CONFIG_I2C_SI470X=m -+CONFIG_RADIO_SI4713=m -+CONFIG_I2C_SI4713=m -+CONFIG_USB_MR800=m -+CONFIG_USB_DSBR=m -+CONFIG_RADIO_SHARK=m -+CONFIG_RADIO_SHARK2=m -+CONFIG_USB_KEENE=m -+CONFIG_USB_MA901=m -+CONFIG_RADIO_TEA5764=m -+CONFIG_RADIO_SAA7706H=m -+CONFIG_RADIO_TEF6862=m -+CONFIG_RADIO_WL1273=m -+CONFIG_RADIO_WL128X=m -+CONFIG_V4L_PLATFORM_DRIVERS=y -+CONFIG_VIDEO_BCM2835_UNICAM=m -+CONFIG_VIDEO_UDA1342=m -+CONFIG_VIDEO_SONY_BTF_MPX=m -+CONFIG_VIDEO_ADV7180=m -+CONFIG_VIDEO_TC358743=m -+CONFIG_VIDEO_TVP5150=m -+CONFIG_VIDEO_TW2804=m -+CONFIG_VIDEO_TW9903=m -+CONFIG_VIDEO_TW9906=m -+CONFIG_VIDEO_IMX219=m -+CONFIG_VIDEO_IMX290=m -+CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_OV5647=m -+CONFIG_VIDEO_OV7251=m -+CONFIG_VIDEO_OV7640=m -+CONFIG_VIDEO_OV9281=m -+CONFIG_VIDEO_IRS1125=m -+CONFIG_VIDEO_MT9V011=m -+CONFIG_DRM=m -+CONFIG_DRM_LOAD_EDID_FIRMWARE=y -+CONFIG_DRM_UDL=m -+CONFIG_DRM_PANEL_SIMPLE=m -+CONFIG_DRM_PANEL_JDI_LT070ME05000=m -+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -+CONFIG_DRM_DISPLAY_CONNECTOR=m -+CONFIG_DRM_SIMPLE_BRIDGE=m -+CONFIG_DRM_TOSHIBA_TC358762=m -+CONFIG_DRM_V3D=m -+CONFIG_DRM_VC4=m -+CONFIG_DRM_VC4_HDMI_CEC=y -+CONFIG_TINYDRM_ILI9225=m -+CONFIG_TINYDRM_ILI9341=m -+CONFIG_TINYDRM_MI0283QT=m -+CONFIG_TINYDRM_REPAPER=m -+CONFIG_TINYDRM_ST7586=m -+CONFIG_TINYDRM_ST7735R=m -+CONFIG_DRM_GUD=m -+CONFIG_FB=y -+CONFIG_FB_BCM2708=y -+CONFIG_FB_UDL=m -+CONFIG_FB_SIMPLE=y -+CONFIG_FB_SSD1307=m -+CONFIG_FB_RPISENSE=m -+CONFIG_BACKLIGHT_RPI=m -+CONFIG_BACKLIGHT_GPIO=m -+CONFIG_FRAMEBUFFER_CONSOLE=y -+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -+CONFIG_LOGO=y -+# CONFIG_LOGO_LINUX_MONO is not set -+# CONFIG_LOGO_LINUX_VGA16 is not set -+CONFIG_SOUND=y -+CONFIG_SND=m -+CONFIG_SND_OSSEMUL=y -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_HRTIMER=m -+CONFIG_SND_SEQUENCER=m -+CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_DUMMY=m -+CONFIG_SND_ALOOP=m -+CONFIG_SND_VIRMIDI=m -+CONFIG_SND_MTPAV=m -+CONFIG_SND_SERIAL_U16550=m -+CONFIG_SND_MPU401=m -+CONFIG_SND_USB_AUDIO=m -+CONFIG_SND_USB_UA101=m -+CONFIG_SND_USB_CAIAQ=m -+CONFIG_SND_USB_CAIAQ_INPUT=y -+CONFIG_SND_USB_6FIRE=m -+CONFIG_SND_USB_HIFACE=m -+CONFIG_SND_USB_TONEPORT=m -+CONFIG_SND_SOC=m -+CONFIG_SND_BCM2835_SOC_I2S=m -+CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m -+CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m -+CONFIG_SND_BCM2708_SOC_PIFI_40=m -+CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m -+CONFIG_SND_BCM2708_SOC_RPI_DAC=m -+CONFIG_SND_BCM2708_SOC_RPI_PROTO=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m -+CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m -+CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m -+CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m -+CONFIG_SND_AUDIOSENSE_PI=m -+CONFIG_SND_DIGIDAC1_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m -+CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m -+CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m -+CONFIG_SND_PISOUND=m -+CONFIG_SND_SOC_AD193X_SPI=m -+CONFIG_SND_SOC_AD193X_I2C=m -+CONFIG_SND_SOC_ADAU1701=m -+CONFIG_SND_SOC_ADAU7002=m -+CONFIG_SND_SOC_AK4554=m -+CONFIG_SND_SOC_CS4265=m -+CONFIG_SND_SOC_ICS43432=m -+CONFIG_SND_SOC_MA120X0P=m -+CONFIG_SND_SOC_MAX98357A=m -+CONFIG_SND_SOC_SPDIF=m -+CONFIG_SND_SOC_WM8804_I2C=m -+CONFIG_SND_SOC_WM8960=m -+CONFIG_SND_SIMPLE_CARD=m -+CONFIG_HID_BATTERY_STRENGTH=y -+CONFIG_HIDRAW=y -+CONFIG_UHID=m -+CONFIG_HID_A4TECH=m -+CONFIG_HID_ACRUX=m -+CONFIG_HID_APPLE=m -+CONFIG_HID_ASUS=m -+CONFIG_HID_BELKIN=m -+CONFIG_HID_BETOP_FF=m -+CONFIG_HID_BIGBEN_FF=m -+CONFIG_HID_CHERRY=m -+CONFIG_HID_CHICONY=m -+CONFIG_HID_CYPRESS=m -+CONFIG_HID_DRAGONRISE=m -+CONFIG_HID_EMS_FF=m -+CONFIG_HID_ELECOM=m -+CONFIG_HID_ELO=m -+CONFIG_HID_EZKEY=m -+CONFIG_HID_GEMBIRD=m -+CONFIG_HID_HOLTEK=m -+CONFIG_HID_KEYTOUCH=m -+CONFIG_HID_KYE=m -+CONFIG_HID_UCLOGIC=m -+CONFIG_HID_WALTOP=m -+CONFIG_HID_GYRATION=m -+CONFIG_HID_TWINHAN=m -+CONFIG_HID_KENSINGTON=m -+CONFIG_HID_LCPOWER=m -+CONFIG_HID_LOGITECH=m -+CONFIG_HID_LOGITECH_DJ=m -+CONFIG_LOGITECH_FF=y -+CONFIG_LOGIRUMBLEPAD2_FF=y -+CONFIG_LOGIG940_FF=y -+CONFIG_HID_MAGICMOUSE=m -+CONFIG_HID_MICROSOFT=m -+CONFIG_HID_MONTEREY=m -+CONFIG_HID_MULTITOUCH=m -+CONFIG_HID_NTRIG=m -+CONFIG_HID_ORTEK=m -+CONFIG_HID_PANTHERLORD=m -+CONFIG_HID_PETALYNX=m -+CONFIG_HID_PICOLCD=m -+CONFIG_HID_ROCCAT=m -+CONFIG_HID_SAMSUNG=m -+CONFIG_HID_SONY=m -+CONFIG_SONY_FF=y -+CONFIG_HID_SPEEDLINK=m -+CONFIG_HID_STEAM=m -+CONFIG_HID_SUNPLUS=m -+CONFIG_HID_GREENASIA=m -+CONFIG_HID_SMARTJOYPLUS=m -+CONFIG_HID_TOPSEED=m -+CONFIG_HID_THINGM=m -+CONFIG_HID_THRUSTMASTER=m -+CONFIG_HID_WACOM=m -+CONFIG_HID_WIIMOTE=m -+CONFIG_HID_XINMO=m -+CONFIG_HID_ZEROPLUS=m -+CONFIG_HID_ZYDACRON=m -+CONFIG_HID_PID=y -+CONFIG_USB_HIDDEV=y -+CONFIG_USB=y -+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -+CONFIG_USB_MON=m -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_PLATFORM=y -+CONFIG_USB_DWCOTG=y -+CONFIG_USB_PRINTER=m -+CONFIG_USB_TMC=m -+CONFIG_USB_STORAGE=y -+CONFIG_USB_STORAGE_REALTEK=m -+CONFIG_USB_STORAGE_DATAFAB=m -+CONFIG_USB_STORAGE_FREECOM=m -+CONFIG_USB_STORAGE_ISD200=m -+CONFIG_USB_STORAGE_USBAT=m -+CONFIG_USB_STORAGE_SDDR09=m -+CONFIG_USB_STORAGE_SDDR55=m -+CONFIG_USB_STORAGE_JUMPSHOT=m -+CONFIG_USB_STORAGE_ALAUDA=m -+CONFIG_USB_STORAGE_ONETOUCH=m -+CONFIG_USB_STORAGE_KARMA=m -+CONFIG_USB_STORAGE_CYPRESS_ATACB=m -+CONFIG_USB_STORAGE_ENE_UB6250=m -+CONFIG_USB_UAS=y -+CONFIG_USB_MDC800=m -+CONFIG_USB_MICROTEK=m -+CONFIG_USBIP_CORE=m -+CONFIG_USBIP_VHCI_HCD=m -+CONFIG_USBIP_HOST=m -+CONFIG_USBIP_VUDC=m -+CONFIG_USB_DWC2=m -+CONFIG_USB_SERIAL=m -+CONFIG_USB_SERIAL_GENERIC=y -+CONFIG_USB_SERIAL_AIRCABLE=m -+CONFIG_USB_SERIAL_ARK3116=m -+CONFIG_USB_SERIAL_BELKIN=m -+CONFIG_USB_SERIAL_CH341=m -+CONFIG_USB_SERIAL_WHITEHEAT=m -+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -+CONFIG_USB_SERIAL_CP210X=m -+CONFIG_USB_SERIAL_CYPRESS_M8=m -+CONFIG_USB_SERIAL_EMPEG=m -+CONFIG_USB_SERIAL_FTDI_SIO=m -+CONFIG_USB_SERIAL_VISOR=m -+CONFIG_USB_SERIAL_IPAQ=m -+CONFIG_USB_SERIAL_IR=m -+CONFIG_USB_SERIAL_EDGEPORT=m -+CONFIG_USB_SERIAL_EDGEPORT_TI=m -+CONFIG_USB_SERIAL_F81232=m -+CONFIG_USB_SERIAL_GARMIN=m -+CONFIG_USB_SERIAL_IPW=m -+CONFIG_USB_SERIAL_IUU=m -+CONFIG_USB_SERIAL_KEYSPAN_PDA=m -+CONFIG_USB_SERIAL_KEYSPAN=m -+CONFIG_USB_SERIAL_KLSI=m -+CONFIG_USB_SERIAL_KOBIL_SCT=m -+CONFIG_USB_SERIAL_MCT_U232=m -+CONFIG_USB_SERIAL_METRO=m -+CONFIG_USB_SERIAL_MOS7720=m -+CONFIG_USB_SERIAL_MOS7840=m -+CONFIG_USB_SERIAL_NAVMAN=m -+CONFIG_USB_SERIAL_PL2303=m -+CONFIG_USB_SERIAL_OTI6858=m -+CONFIG_USB_SERIAL_QCAUX=m -+CONFIG_USB_SERIAL_QUALCOMM=m -+CONFIG_USB_SERIAL_SPCP8X5=m -+CONFIG_USB_SERIAL_SAFE=m -+CONFIG_USB_SERIAL_SIERRAWIRELESS=m -+CONFIG_USB_SERIAL_SYMBOL=m -+CONFIG_USB_SERIAL_TI=m -+CONFIG_USB_SERIAL_CYBERJACK=m -+CONFIG_USB_SERIAL_OPTION=m -+CONFIG_USB_SERIAL_OMNINET=m -+CONFIG_USB_SERIAL_OPTICON=m -+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_EMI62=m -+CONFIG_USB_EMI26=m -+CONFIG_USB_ADUTUX=m -+CONFIG_USB_SEVSEG=m -+CONFIG_USB_LEGOTOWER=m -+CONFIG_USB_LCD=m -+CONFIG_USB_CYPRESS_CY7C63=m -+CONFIG_USB_CYTHERM=m -+CONFIG_USB_IDMOUSE=m -+CONFIG_USB_FTDI_ELAN=m -+CONFIG_USB_APPLEDISPLAY=m -+CONFIG_USB_LD=m -+CONFIG_USB_TRANCEVIBRATOR=m -+CONFIG_USB_IOWARRIOR=m -+CONFIG_USB_TEST=m -+CONFIG_USB_ISIGHTFW=m -+CONFIG_USB_YUREX=m -+CONFIG_USB_ATM=m -+CONFIG_USB_SPEEDTOUCH=m -+CONFIG_USB_CXACRU=m -+CONFIG_USB_UEAGLEATM=m -+CONFIG_USB_XUSBATM=m -+CONFIG_NOP_USB_XCEIV=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_CONFIGFS=m -+CONFIG_USB_CONFIGFS_SERIAL=y -+CONFIG_USB_CONFIGFS_ACM=y -+CONFIG_USB_CONFIGFS_OBEX=y -+CONFIG_USB_CONFIGFS_NCM=y -+CONFIG_USB_CONFIGFS_ECM=y -+CONFIG_USB_CONFIGFS_ECM_SUBSET=y -+CONFIG_USB_CONFIGFS_RNDIS=y -+CONFIG_USB_CONFIGFS_EEM=y -+CONFIG_USB_CONFIGFS_MASS_STORAGE=y -+CONFIG_USB_CONFIGFS_F_LB_SS=y -+CONFIG_USB_CONFIGFS_F_FS=y -+CONFIG_USB_CONFIGFS_F_UAC1=y -+CONFIG_USB_CONFIGFS_F_UAC2=y -+CONFIG_USB_CONFIGFS_F_MIDI=y -+CONFIG_USB_CONFIGFS_F_HID=y -+CONFIG_USB_CONFIGFS_F_UVC=y -+CONFIG_USB_CONFIGFS_F_PRINTER=y -+CONFIG_USB_ZERO=m -+CONFIG_USB_AUDIO=m -+CONFIG_USB_ETH=m -+CONFIG_USB_GADGETFS=m -+CONFIG_USB_MASS_STORAGE=m -+CONFIG_USB_G_SERIAL=m -+CONFIG_USB_MIDI_GADGET=m -+CONFIG_USB_G_PRINTER=m -+CONFIG_USB_CDC_COMPOSITE=m -+CONFIG_USB_G_ACM_MS=m -+CONFIG_USB_G_MULTI=m -+CONFIG_USB_G_HID=m -+CONFIG_USB_G_WEBCAM=m -+CONFIG_MMC=y -+CONFIG_MMC_BLOCK_MINORS=32 -+CONFIG_MMC_BCM2835_MMC=y -+CONFIG_MMC_BCM2835_DMA=y -+CONFIG_MMC_BCM2835_SDHOST=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_SDHCI_IPROC=y -+CONFIG_MMC_SPI=m -+CONFIG_LEDS_CLASS=y -+CONFIG_LEDS_PCA9532=m -+CONFIG_LEDS_GPIO=y -+CONFIG_LEDS_PCA955X=m -+CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_IS31FL32XX=m -+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=m -+CONFIG_LEDS_TRIGGER_CAMERA=m -+CONFIG_LEDS_TRIGGER_INPUT=y -+CONFIG_LEDS_TRIGGER_PANIC=y -+CONFIG_LEDS_TRIGGER_NETDEV=m -+CONFIG_LEDS_TRIGGER_ACTPWR=y -+CONFIG_ACCESSIBILITY=y -+CONFIG_SPEAKUP=m -+CONFIG_SPEAKUP_SYNTH_SOFT=m -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_DRV_ABX80X=m -+CONFIG_RTC_DRV_DS1307=m -+CONFIG_RTC_DRV_DS1374=m -+CONFIG_RTC_DRV_DS1672=m -+CONFIG_RTC_DRV_MAX6900=m -+CONFIG_RTC_DRV_RS5C372=m -+CONFIG_RTC_DRV_ISL1208=m -+CONFIG_RTC_DRV_ISL12022=m -+CONFIG_RTC_DRV_X1205=m -+CONFIG_RTC_DRV_PCF8523=m -+CONFIG_RTC_DRV_PCF85063=m -+CONFIG_RTC_DRV_PCF85363=m -+CONFIG_RTC_DRV_PCF8563=m -+CONFIG_RTC_DRV_PCF8583=m -+CONFIG_RTC_DRV_M41T80=m -+CONFIG_RTC_DRV_BQ32K=m -+CONFIG_RTC_DRV_S35390A=m -+CONFIG_RTC_DRV_FM3130=m -+CONFIG_RTC_DRV_RX8581=m -+CONFIG_RTC_DRV_RX8025=m -+CONFIG_RTC_DRV_EM3027=m -+CONFIG_RTC_DRV_RV3028=m -+CONFIG_RTC_DRV_SD3078=m -+CONFIG_RTC_DRV_M41T93=m -+CONFIG_RTC_DRV_M41T94=m -+CONFIG_RTC_DRV_DS1302=m -+CONFIG_RTC_DRV_DS1305=m -+CONFIG_RTC_DRV_DS1390=m -+CONFIG_RTC_DRV_R9701=m -+CONFIG_RTC_DRV_RX4581=m -+CONFIG_RTC_DRV_RS5C348=m -+CONFIG_RTC_DRV_MAX6902=m -+CONFIG_RTC_DRV_PCF2123=m -+CONFIG_RTC_DRV_DS3232=m -+CONFIG_RTC_DRV_PCF2127=m -+CONFIG_RTC_DRV_RV3029C2=m -+CONFIG_DMADEVICES=y -+CONFIG_DMA_BCM2835=y -+CONFIG_DMA_BCM2708=y -+CONFIG_DMABUF_HEAPS=y -+CONFIG_DMABUF_HEAPS_SYSTEM=y -+CONFIG_DMABUF_HEAPS_CMA=y -+CONFIG_AUXDISPLAY=y -+CONFIG_HD44780=m -+CONFIG_UIO=m -+CONFIG_UIO_PDRV_GENIRQ=m -+CONFIG_STAGING=y -+CONFIG_PRISM2_USB=m -+CONFIG_R8712U=m -+CONFIG_R8188EU=m -+CONFIG_VT6656=m -+CONFIG_STAGING_MEDIA=y -+CONFIG_VIDEO_RPIVID=m -+CONFIG_FB_TFT=m -+CONFIG_FB_TFT_AGM1264K_FL=m -+CONFIG_FB_TFT_BD663474=m -+CONFIG_FB_TFT_HX8340BN=m -+CONFIG_FB_TFT_HX8347D=m -+CONFIG_FB_TFT_HX8353D=m -+CONFIG_FB_TFT_HX8357D=m -+CONFIG_FB_TFT_ILI9163=m -+CONFIG_FB_TFT_ILI9320=m -+CONFIG_FB_TFT_ILI9325=m -+CONFIG_FB_TFT_ILI9340=m -+CONFIG_FB_TFT_ILI9341=m -+CONFIG_FB_TFT_ILI9481=m -+CONFIG_FB_TFT_ILI9486=m -+CONFIG_FB_TFT_PCD8544=m -+CONFIG_FB_TFT_RA8875=m -+CONFIG_FB_TFT_S6D02A1=m -+CONFIG_FB_TFT_S6D1121=m -+CONFIG_FB_TFT_SH1106=m -+CONFIG_FB_TFT_SSD1289=m -+CONFIG_FB_TFT_SSD1306=m -+CONFIG_FB_TFT_SSD1331=m -+CONFIG_FB_TFT_SSD1351=m -+CONFIG_FB_TFT_ST7735R=m -+CONFIG_FB_TFT_ST7789V=m -+CONFIG_FB_TFT_TINYLCD=m -+CONFIG_FB_TFT_TLS8204=m -+CONFIG_FB_TFT_UC1701=m -+CONFIG_FB_TFT_UPD161704=m -+CONFIG_FB_TFT_WATTEROTT=m -+CONFIG_BCM2835_VCHIQ=y -+CONFIG_SND_BCM2835=m -+CONFIG_VIDEO_BCM2835=m -+CONFIG_VIDEO_CODEC_BCM2835=m -+CONFIG_VIDEO_ISP_BCM2835=m -+CONFIG_CLK_RASPBERRYPI=y -+CONFIG_MAILBOX=y -+CONFIG_BCM2835_MBOX=y -+# CONFIG_IOMMU_SUPPORT is not set -+CONFIG_RASPBERRYPI_POWER=y -+CONFIG_IIO=m -+CONFIG_IIO_BUFFER_CB=m -+CONFIG_MCP320X=m -+CONFIG_MCP3422=m -+CONFIG_TI_ADS1015=m -+CONFIG_BME680=m -+CONFIG_CCS811=m -+CONFIG_SENSIRION_SGP30=m -+CONFIG_SPS30_I2C=m -+CONFIG_DHT11=m -+CONFIG_HDC100X=m -+CONFIG_HTU21=m -+CONFIG_INV_MPU6050_I2C=m -+CONFIG_APDS9960=m -+CONFIG_BH1750=m -+CONFIG_TSL4531=m -+CONFIG_VEML6070=m -+CONFIG_BMP280=m -+CONFIG_MAXIM_THERMOCOUPLE=m -+CONFIG_MAX31856=m -+CONFIG_PWM_BCM2835=m -+CONFIG_PWM_PCA9685=m -+CONFIG_PWM_RASPBERRYPI_POE=m -+CONFIG_RPI_AXIPERF=m -+CONFIG_NVMEM_RMEM=m -+CONFIG_EXT4_FS=y -+CONFIG_EXT4_FS_POSIX_ACL=y -+CONFIG_EXT4_FS_SECURITY=y -+CONFIG_REISERFS_FS=m -+CONFIG_REISERFS_FS_XATTR=y -+CONFIG_REISERFS_FS_POSIX_ACL=y -+CONFIG_REISERFS_FS_SECURITY=y -+CONFIG_JFS_FS=m -+CONFIG_JFS_POSIX_ACL=y -+CONFIG_JFS_SECURITY=y -+CONFIG_JFS_STATISTICS=y -+CONFIG_XFS_FS=m -+CONFIG_XFS_QUOTA=y -+CONFIG_XFS_POSIX_ACL=y -+CONFIG_XFS_RT=y -+CONFIG_GFS2_FS=m -+CONFIG_OCFS2_FS=m -+CONFIG_BTRFS_FS=m -+CONFIG_BTRFS_FS_POSIX_ACL=y -+CONFIG_NILFS2_FS=m -+CONFIG_F2FS_FS=y -+CONFIG_FS_ENCRYPTION=y -+CONFIG_FANOTIFY=y -+CONFIG_QFMT_V1=m -+CONFIG_QFMT_V2=m -+CONFIG_AUTOFS4_FS=y -+CONFIG_FUSE_FS=m -+CONFIG_CUSE=m -+CONFIG_OVERLAY_FS=m -+CONFIG_FSCACHE=y -+CONFIG_FSCACHE_STATS=y -+CONFIG_CACHEFILES=y -+CONFIG_ISO9660_FS=m -+CONFIG_JOLIET=y -+CONFIG_ZISOFS=y -+CONFIG_UDF_FS=m -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -+CONFIG_EXFAT_FS=m -+CONFIG_NTFS_FS=m -+CONFIG_NTFS_RW=y -+CONFIG_TMPFS=y -+CONFIG_TMPFS_POSIX_ACL=y -+CONFIG_ECRYPT_FS=m -+CONFIG_HFS_FS=m -+CONFIG_HFSPLUS_FS=m -+CONFIG_JFFS2_FS=m -+CONFIG_JFFS2_SUMMARY=y -+CONFIG_UBIFS_FS=m -+CONFIG_SQUASHFS=m -+CONFIG_SQUASHFS_XATTR=y -+CONFIG_SQUASHFS_LZO=y -+CONFIG_SQUASHFS_XZ=y -+CONFIG_NFS_FS=y -+CONFIG_NFS_V3_ACL=y -+CONFIG_NFS_V4=y -+CONFIG_NFS_SWAP=y -+CONFIG_NFS_V4_1=y -+CONFIG_NFS_V4_2=y -+CONFIG_ROOT_NFS=y -+CONFIG_NFS_FSCACHE=y -+CONFIG_NFSD=m -+CONFIG_NFSD_V3_ACL=y -+CONFIG_NFSD_V4=y -+CONFIG_CIFS=m -+CONFIG_CIFS_UPCALL=y -+CONFIG_CIFS_XATTR=y -+CONFIG_CIFS_POSIX=y -+CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_FSCACHE=y -+CONFIG_9P_FS=m -+CONFIG_9P_FS_POSIX_ACL=y -+CONFIG_NLS_DEFAULT="utf8" -+CONFIG_NLS_CODEPAGE_437=y -+CONFIG_NLS_CODEPAGE_737=m -+CONFIG_NLS_CODEPAGE_775=m -+CONFIG_NLS_CODEPAGE_850=m -+CONFIG_NLS_CODEPAGE_852=m -+CONFIG_NLS_CODEPAGE_855=m -+CONFIG_NLS_CODEPAGE_857=m -+CONFIG_NLS_CODEPAGE_860=m -+CONFIG_NLS_CODEPAGE_861=m -+CONFIG_NLS_CODEPAGE_862=m -+CONFIG_NLS_CODEPAGE_863=m -+CONFIG_NLS_CODEPAGE_864=m -+CONFIG_NLS_CODEPAGE_865=m -+CONFIG_NLS_CODEPAGE_866=m -+CONFIG_NLS_CODEPAGE_869=m -+CONFIG_NLS_CODEPAGE_936=m -+CONFIG_NLS_CODEPAGE_950=m -+CONFIG_NLS_CODEPAGE_932=m -+CONFIG_NLS_CODEPAGE_949=m -+CONFIG_NLS_CODEPAGE_874=m -+CONFIG_NLS_ISO8859_8=m -+CONFIG_NLS_CODEPAGE_1250=m -+CONFIG_NLS_CODEPAGE_1251=m -+CONFIG_NLS_ASCII=y -+CONFIG_NLS_ISO8859_1=m -+CONFIG_NLS_ISO8859_2=m -+CONFIG_NLS_ISO8859_3=m -+CONFIG_NLS_ISO8859_4=m -+CONFIG_NLS_ISO8859_5=m -+CONFIG_NLS_ISO8859_6=m -+CONFIG_NLS_ISO8859_7=m -+CONFIG_NLS_ISO8859_9=m -+CONFIG_NLS_ISO8859_13=m -+CONFIG_NLS_ISO8859_14=m -+CONFIG_NLS_ISO8859_15=m -+CONFIG_NLS_KOI8_R=m -+CONFIG_NLS_KOI8_U=m -+CONFIG_DLM=m -+CONFIG_SECURITY=y -+CONFIG_SECURITY_APPARMOR=y -+CONFIG_LSM="" -+CONFIG_CRYPTO_USER=m -+CONFIG_CRYPTO_CHACHA20POLY1305=m -+CONFIG_CRYPTO_ADIANTUM=m -+CONFIG_CRYPTO_XCBC=m -+CONFIG_CRYPTO_WP512=m -+CONFIG_CRYPTO_CAST5=m -+CONFIG_CRYPTO_DES=y -+CONFIG_CRYPTO_LZ4=m -+CONFIG_CRYPTO_USER_API_HASH=m -+CONFIG_CRYPTO_USER_API_SKCIPHER=m -+CONFIG_CRYPTO_USER_API_RNG=m -+CONFIG_CRYPTO_USER_API_AEAD=m -+# CONFIG_CRYPTO_HW is not set -+CONFIG_CRC_ITU_T=y -+CONFIG_LIBCRC32C=y -+CONFIG_DMA_CMA=y -+CONFIG_CMA_SIZE_MBYTES=5 -+CONFIG_PRINTK_TIME=y -+CONFIG_BOOT_PRINTK_DELAY=y -+CONFIG_KGDB=y -+CONFIG_KGDB_KDB=y -+CONFIG_KDB_KEYBOARD=y -+CONFIG_DEBUG_MEMORY_INIT=y -+CONFIG_DETECT_HUNG_TASK=y -+# CONFIG_RCU_TRACE is not set -+CONFIG_LATENCYTOP=y -+CONFIG_FUNCTION_PROFILER=y -+CONFIG_STACK_TRACER=y -+CONFIG_IRQSOFF_TRACER=y -+CONFIG_SCHED_TRACER=y -+CONFIG_BLK_DEV_IO_TRACE=y -+# CONFIG_UPROBE_EVENTS is not set -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -new file mode 100644 -index 000000000000..18540a4f9cd7 ---- /dev/null -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -0,0 +1,1458 @@ -+# CONFIG_LOCALVERSION_AUTO is not set -+CONFIG_SYSVIPC=y -+CONFIG_POSIX_MQUEUE=y -+CONFIG_GENERIC_IRQ_DEBUGFS=y -+CONFIG_NO_HZ=y -+CONFIG_HIGH_RES_TIMERS=y -+CONFIG_BPF_SYSCALL=y -+CONFIG_PREEMPT_VOLUNTARY=y -+CONFIG_BSD_PROCESS_ACCT=y -+CONFIG_BSD_PROCESS_ACCT_V3=y -+CONFIG_TASKSTATS=y -+CONFIG_TASK_DELAY_ACCT=y -+CONFIG_TASK_XACCT=y -+CONFIG_TASK_IO_ACCOUNTING=y -+CONFIG_IKCONFIG=m -+CONFIG_IKCONFIG_PROC=y -+CONFIG_MEMCG=y -+CONFIG_BLK_CGROUP=y -+CONFIG_CFS_BANDWIDTH=y -+CONFIG_CGROUP_PIDS=y -+CONFIG_CGROUP_FREEZER=y -+CONFIG_CGROUP_DEVICE=y -+CONFIG_CGROUP_CPUACCT=y -+CONFIG_CGROUP_PERF=y -+CONFIG_CGROUP_BPF=y -+CONFIG_NAMESPACES=y -+CONFIG_USER_NS=y -+CONFIG_SCHED_AUTOGROUP=y -+CONFIG_BLK_DEV_INITRD=y -+CONFIG_EMBEDDED=y -+# CONFIG_COMPAT_BRK is not set -+CONFIG_PROFILING=y -+CONFIG_ARCH_MULTI_V6=y -+# CONFIG_ARCH_MULTI_V7 is not set -+CONFIG_ARCH_BCM=y -+CONFIG_ARCH_BCM2835=y -+# CONFIG_CACHE_L2X0 is not set -+# CONFIG_CPU_SW_DOMAIN_PAN is not set -+CONFIG_UACCESS_WITH_MEMCPY=y -+# CONFIG_ATAGS is not set -+CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_STAT=y -+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y -+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+CONFIG_CPU_FREQ_GOV_ONDEMAND=y -+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -+CONFIG_CPUFREQ_DT=y -+CONFIG_ARM_RASPBERRYPI_CPUFREQ=y -+CONFIG_VFP=y -+# CONFIG_SUSPEND is not set -+CONFIG_RASPBERRYPI_FIRMWARE=y -+CONFIG_CRYPTO_SHA1_ARM=m -+CONFIG_CRYPTO_AES_ARM=m -+CONFIG_JUMP_LABEL=y -+CONFIG_MODULES=y -+CONFIG_MODULE_UNLOAD=y -+CONFIG_MODVERSIONS=y -+CONFIG_MODULE_SRCVERSION_ALL=y -+CONFIG_PARTITION_ADVANCED=y -+CONFIG_MAC_PARTITION=y -+CONFIG_BINFMT_MISC=m -+CONFIG_CLEANCACHE=y -+CONFIG_FRONTSWAP=y -+CONFIG_CMA=y -+CONFIG_ZSWAP=y -+CONFIG_Z3FOLD=m -+CONFIG_ZSMALLOC=m -+CONFIG_NET=y -+CONFIG_PACKET=y -+CONFIG_UNIX=y -+CONFIG_XFRM_USER=y -+CONFIG_NET_KEY=m -+CONFIG_INET=y -+CONFIG_IP_MULTICAST=y -+CONFIG_IP_ADVANCED_ROUTER=y -+CONFIG_IP_MULTIPLE_TABLES=y -+CONFIG_IP_ROUTE_MULTIPATH=y -+CONFIG_IP_ROUTE_VERBOSE=y -+CONFIG_IP_PNP=y -+CONFIG_IP_PNP_DHCP=y -+CONFIG_IP_PNP_RARP=y -+CONFIG_NET_IPIP=m -+CONFIG_NET_IPGRE_DEMUX=m -+CONFIG_NET_IPGRE=m -+CONFIG_IP_MROUTE=y -+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IP_PIMSM_V1=y -+CONFIG_IP_PIMSM_V2=y -+CONFIG_NET_IPVTI=m -+CONFIG_NET_FOU=m -+CONFIG_INET_AH=m -+CONFIG_INET_ESP=m -+CONFIG_INET_IPCOMP=m -+CONFIG_INET_DIAG=m -+CONFIG_TCP_CONG_ADVANCED=y -+CONFIG_TCP_CONG_BBR=m -+CONFIG_IPV6=m -+CONFIG_IPV6_ROUTER_PREF=y -+CONFIG_IPV6_ROUTE_INFO=y -+CONFIG_INET6_AH=m -+CONFIG_INET6_ESP=m -+CONFIG_INET6_ESP_OFFLOAD=m -+CONFIG_INET6_IPCOMP=m -+CONFIG_IPV6_ILA=m -+CONFIG_IPV6_VTI=m -+CONFIG_IPV6_SIT_6RD=y -+CONFIG_IPV6_GRE=m -+CONFIG_IPV6_MULTIPLE_TABLES=y -+CONFIG_IPV6_SUBTREES=y -+CONFIG_IPV6_MROUTE=y -+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IPV6_PIMSM_V2=y -+CONFIG_NETFILTER=y -+CONFIG_BRIDGE_NETFILTER=m -+CONFIG_NF_CONNTRACK=m -+CONFIG_NF_CONNTRACK_ZONES=y -+CONFIG_NF_CONNTRACK_EVENTS=y -+CONFIG_NF_CONNTRACK_TIMESTAMP=y -+CONFIG_NF_CONNTRACK_AMANDA=m -+CONFIG_NF_CONNTRACK_FTP=m -+CONFIG_NF_CONNTRACK_H323=m -+CONFIG_NF_CONNTRACK_IRC=m -+CONFIG_NF_CONNTRACK_NETBIOS_NS=m -+CONFIG_NF_CONNTRACK_SNMP=m -+CONFIG_NF_CONNTRACK_PPTP=m -+CONFIG_NF_CONNTRACK_SANE=m -+CONFIG_NF_CONNTRACK_SIP=m -+CONFIG_NF_CONNTRACK_TFTP=m -+CONFIG_NF_CT_NETLINK=m -+CONFIG_NF_TABLES=m -+CONFIG_NF_TABLES_INET=y -+CONFIG_NF_TABLES_NETDEV=y -+CONFIG_NFT_NUMGEN=m -+CONFIG_NFT_CT=m -+CONFIG_NFT_FLOW_OFFLOAD=m -+CONFIG_NFT_COUNTER=m -+CONFIG_NFT_CONNLIMIT=m -+CONFIG_NFT_LOG=m -+CONFIG_NFT_LIMIT=m -+CONFIG_NFT_MASQ=m -+CONFIG_NFT_REDIR=m -+CONFIG_NFT_NAT=m -+CONFIG_NFT_TUNNEL=m -+CONFIG_NFT_OBJREF=m -+CONFIG_NFT_QUEUE=m -+CONFIG_NFT_QUOTA=m -+CONFIG_NFT_REJECT=m -+CONFIG_NFT_COMPAT=m -+CONFIG_NFT_HASH=m -+CONFIG_NFT_FIB_INET=m -+CONFIG_NFT_SOCKET=m -+CONFIG_NFT_OSF=m -+CONFIG_NFT_TPROXY=m -+CONFIG_NFT_DUP_NETDEV=m -+CONFIG_NFT_FWD_NETDEV=m -+CONFIG_NFT_FIB_NETDEV=m -+CONFIG_NF_FLOW_TABLE_INET=m -+CONFIG_NF_FLOW_TABLE=m -+CONFIG_NETFILTER_XT_SET=m -+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -+CONFIG_NETFILTER_XT_TARGET_DSCP=m -+CONFIG_NETFILTER_XT_TARGET_HMARK=m -+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -+CONFIG_NETFILTER_XT_TARGET_LED=m -+CONFIG_NETFILTER_XT_TARGET_LOG=m -+CONFIG_NETFILTER_XT_TARGET_MARK=m -+CONFIG_NETFILTER_XT_TARGET_NFLOG=m -+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -+CONFIG_NETFILTER_XT_TARGET_TEE=m -+CONFIG_NETFILTER_XT_TARGET_TPROXY=m -+CONFIG_NETFILTER_XT_TARGET_TRACE=m -+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -+CONFIG_NETFILTER_XT_MATCH_BPF=m -+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -+CONFIG_NETFILTER_XT_MATCH_COMMENT=m -+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -+CONFIG_NETFILTER_XT_MATCH_CPU=m -+CONFIG_NETFILTER_XT_MATCH_DCCP=m -+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -+CONFIG_NETFILTER_XT_MATCH_DSCP=m -+CONFIG_NETFILTER_XT_MATCH_ESP=m -+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_HELPER=m -+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -+CONFIG_NETFILTER_XT_MATCH_IPVS=m -+CONFIG_NETFILTER_XT_MATCH_LENGTH=m -+CONFIG_NETFILTER_XT_MATCH_LIMIT=m -+CONFIG_NETFILTER_XT_MATCH_MAC=m -+CONFIG_NETFILTER_XT_MATCH_MARK=m -+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -+CONFIG_NETFILTER_XT_MATCH_NFACCT=m -+CONFIG_NETFILTER_XT_MATCH_OSF=m -+CONFIG_NETFILTER_XT_MATCH_OWNER=m -+CONFIG_NETFILTER_XT_MATCH_POLICY=m -+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -+CONFIG_NETFILTER_XT_MATCH_QUOTA=m -+CONFIG_NETFILTER_XT_MATCH_RATEEST=m -+CONFIG_NETFILTER_XT_MATCH_REALM=m -+CONFIG_NETFILTER_XT_MATCH_RECENT=m -+CONFIG_NETFILTER_XT_MATCH_SOCKET=m -+CONFIG_NETFILTER_XT_MATCH_STATE=m -+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -+CONFIG_NETFILTER_XT_MATCH_STRING=m -+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -+CONFIG_NETFILTER_XT_MATCH_TIME=m -+CONFIG_NETFILTER_XT_MATCH_U32=m -+CONFIG_IP_SET=m -+CONFIG_IP_SET_BITMAP_IP=m -+CONFIG_IP_SET_BITMAP_IPMAC=m -+CONFIG_IP_SET_BITMAP_PORT=m -+CONFIG_IP_SET_HASH_IP=m -+CONFIG_IP_SET_HASH_IPPORT=m -+CONFIG_IP_SET_HASH_IPPORTIP=m -+CONFIG_IP_SET_HASH_IPPORTNET=m -+CONFIG_IP_SET_HASH_NET=m -+CONFIG_IP_SET_HASH_NETPORT=m -+CONFIG_IP_SET_HASH_NETIFACE=m -+CONFIG_IP_SET_LIST_SET=m -+CONFIG_IP_VS=m -+CONFIG_IP_VS_PROTO_TCP=y -+CONFIG_IP_VS_PROTO_UDP=y -+CONFIG_IP_VS_PROTO_ESP=y -+CONFIG_IP_VS_PROTO_AH=y -+CONFIG_IP_VS_PROTO_SCTP=y -+CONFIG_IP_VS_RR=m -+CONFIG_IP_VS_WRR=m -+CONFIG_IP_VS_LC=m -+CONFIG_IP_VS_WLC=m -+CONFIG_IP_VS_LBLC=m -+CONFIG_IP_VS_LBLCR=m -+CONFIG_IP_VS_DH=m -+CONFIG_IP_VS_SH=m -+CONFIG_IP_VS_SED=m -+CONFIG_IP_VS_NQ=m -+CONFIG_IP_VS_FTP=m -+CONFIG_IP_VS_PE_SIP=m -+CONFIG_NFT_DUP_IPV4=m -+CONFIG_NFT_FIB_IPV4=m -+CONFIG_NF_TABLES_ARP=y -+CONFIG_NF_FLOW_TABLE_IPV4=m -+CONFIG_NF_LOG_ARP=m -+CONFIG_IP_NF_IPTABLES=m -+CONFIG_IP_NF_MATCH_AH=m -+CONFIG_IP_NF_MATCH_ECN=m -+CONFIG_IP_NF_MATCH_RPFILTER=m -+CONFIG_IP_NF_MATCH_TTL=m -+CONFIG_IP_NF_FILTER=m -+CONFIG_IP_NF_TARGET_REJECT=m -+CONFIG_IP_NF_NAT=m -+CONFIG_IP_NF_TARGET_MASQUERADE=m -+CONFIG_IP_NF_TARGET_NETMAP=m -+CONFIG_IP_NF_TARGET_REDIRECT=m -+CONFIG_IP_NF_MANGLE=m -+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_ARPTABLES=m -+CONFIG_IP_NF_ARPFILTER=m -+CONFIG_IP_NF_ARP_MANGLE=m -+CONFIG_NFT_DUP_IPV6=m -+CONFIG_NFT_FIB_IPV6=m -+CONFIG_NF_FLOW_TABLE_IPV6=m -+CONFIG_IP6_NF_IPTABLES=m -+CONFIG_IP6_NF_MATCH_AH=m -+CONFIG_IP6_NF_MATCH_EUI64=m -+CONFIG_IP6_NF_MATCH_FRAG=m -+CONFIG_IP6_NF_MATCH_OPTS=m -+CONFIG_IP6_NF_MATCH_HL=m -+CONFIG_IP6_NF_MATCH_IPV6HEADER=m -+CONFIG_IP6_NF_MATCH_MH=m -+CONFIG_IP6_NF_MATCH_RPFILTER=m -+CONFIG_IP6_NF_MATCH_RT=m -+CONFIG_IP6_NF_MATCH_SRH=m -+CONFIG_IP6_NF_TARGET_HL=m -+CONFIG_IP6_NF_FILTER=m -+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 -+CONFIG_NF_TABLES_BRIDGE=m -+CONFIG_NFT_BRIDGE_REJECT=m -+CONFIG_BRIDGE_NF_EBTABLES=m -+CONFIG_BRIDGE_EBT_BROUTE=m -+CONFIG_BRIDGE_EBT_T_FILTER=m -+CONFIG_BRIDGE_EBT_T_NAT=m -+CONFIG_BRIDGE_EBT_802_3=m -+CONFIG_BRIDGE_EBT_AMONG=m -+CONFIG_BRIDGE_EBT_ARP=m -+CONFIG_BRIDGE_EBT_IP=m -+CONFIG_BRIDGE_EBT_IP6=m -+CONFIG_BRIDGE_EBT_LIMIT=m -+CONFIG_BRIDGE_EBT_MARK=m -+CONFIG_BRIDGE_EBT_PKTTYPE=m -+CONFIG_BRIDGE_EBT_STP=m -+CONFIG_BRIDGE_EBT_VLAN=m -+CONFIG_BRIDGE_EBT_ARPREPLY=m -+CONFIG_BRIDGE_EBT_DNAT=m -+CONFIG_BRIDGE_EBT_MARK_T=m -+CONFIG_BRIDGE_EBT_REDIRECT=m -+CONFIG_BRIDGE_EBT_SNAT=m -+CONFIG_BRIDGE_EBT_LOG=m -+CONFIG_BRIDGE_EBT_NFLOG=m -+CONFIG_SCTP_COOKIE_HMAC_SHA1=y -+CONFIG_ATM=m -+CONFIG_L2TP=m -+CONFIG_L2TP_V3=y -+CONFIG_L2TP_IP=m -+CONFIG_L2TP_ETH=m -+CONFIG_BRIDGE=m -+CONFIG_VLAN_8021Q=m -+CONFIG_VLAN_8021Q_GVRP=y -+CONFIG_ATALK=m -+CONFIG_6LOWPAN=m -+CONFIG_IEEE802154=m -+CONFIG_IEEE802154_6LOWPAN=m -+CONFIG_MAC802154=m -+CONFIG_NET_SCHED=y -+CONFIG_NET_SCH_CBQ=m -+CONFIG_NET_SCH_HTB=m -+CONFIG_NET_SCH_HFSC=m -+CONFIG_NET_SCH_ATM=m -+CONFIG_NET_SCH_PRIO=m -+CONFIG_NET_SCH_MULTIQ=m -+CONFIG_NET_SCH_RED=m -+CONFIG_NET_SCH_SFB=m -+CONFIG_NET_SCH_SFQ=m -+CONFIG_NET_SCH_TEQL=m -+CONFIG_NET_SCH_TBF=m -+CONFIG_NET_SCH_GRED=m -+CONFIG_NET_SCH_DSMARK=m -+CONFIG_NET_SCH_NETEM=m -+CONFIG_NET_SCH_DRR=m -+CONFIG_NET_SCH_MQPRIO=m -+CONFIG_NET_SCH_CHOKE=m -+CONFIG_NET_SCH_QFQ=m -+CONFIG_NET_SCH_CODEL=m -+CONFIG_NET_SCH_FQ_CODEL=m -+CONFIG_NET_SCH_CAKE=m -+CONFIG_NET_SCH_FQ=m -+CONFIG_NET_SCH_HHF=m -+CONFIG_NET_SCH_PIE=m -+CONFIG_NET_SCH_INGRESS=m -+CONFIG_NET_SCH_PLUG=m -+CONFIG_NET_CLS_BASIC=m -+CONFIG_NET_CLS_TCINDEX=m -+CONFIG_NET_CLS_ROUTE4=m -+CONFIG_NET_CLS_FW=m -+CONFIG_NET_CLS_U32=m -+CONFIG_CLS_U32_MARK=y -+CONFIG_NET_CLS_RSVP=m -+CONFIG_NET_CLS_RSVP6=m -+CONFIG_NET_CLS_FLOW=m -+CONFIG_NET_CLS_CGROUP=m -+CONFIG_NET_EMATCH=y -+CONFIG_NET_EMATCH_CMP=m -+CONFIG_NET_EMATCH_NBYTE=m -+CONFIG_NET_EMATCH_U32=m -+CONFIG_NET_EMATCH_META=m -+CONFIG_NET_EMATCH_TEXT=m -+CONFIG_NET_EMATCH_IPSET=m -+CONFIG_NET_CLS_ACT=y -+CONFIG_NET_ACT_POLICE=m -+CONFIG_NET_ACT_GACT=m -+CONFIG_GACT_PROB=y -+CONFIG_NET_ACT_MIRRED=m -+CONFIG_NET_ACT_IPT=m -+CONFIG_NET_ACT_NAT=m -+CONFIG_NET_ACT_PEDIT=m -+CONFIG_NET_ACT_SIMP=m -+CONFIG_NET_ACT_SKBEDIT=m -+CONFIG_NET_ACT_CSUM=m -+CONFIG_BATMAN_ADV=m -+CONFIG_OPENVSWITCH=m -+CONFIG_CGROUP_NET_PRIO=y -+CONFIG_NET_PKTGEN=m -+CONFIG_HAMRADIO=y -+CONFIG_AX25=m -+CONFIG_NETROM=m -+CONFIG_ROSE=m -+CONFIG_MKISS=m -+CONFIG_6PACK=m -+CONFIG_BPQETHER=m -+CONFIG_BAYCOM_SER_FDX=m -+CONFIG_BAYCOM_SER_HDX=m -+CONFIG_YAM=m -+CONFIG_CAN=m -+CONFIG_CAN_J1939=m -+CONFIG_CAN_ISOTP=m -+CONFIG_CAN_VCAN=m -+CONFIG_CAN_SLCAN=m -+CONFIG_CAN_MCP251X=m -+CONFIG_CAN_MCP251XFD=m -+CONFIG_CAN_EMS_USB=m -+CONFIG_CAN_GS_USB=m -+CONFIG_BT=m -+CONFIG_BT_RFCOMM=m -+CONFIG_BT_RFCOMM_TTY=y -+CONFIG_BT_BNEP=m -+CONFIG_BT_BNEP_MC_FILTER=y -+CONFIG_BT_BNEP_PROTO_FILTER=y -+CONFIG_BT_HIDP=m -+CONFIG_BT_6LOWPAN=m -+CONFIG_BT_HCIBTUSB=m -+CONFIG_BT_HCIUART=m -+CONFIG_BT_HCIUART_3WIRE=y -+CONFIG_BT_HCIUART_BCM=y -+CONFIG_BT_HCIBCM203X=m -+CONFIG_BT_HCIBPA10X=m -+CONFIG_BT_HCIBFUSB=m -+CONFIG_BT_HCIVHCI=m -+CONFIG_BT_MRVL=m -+CONFIG_BT_MRVL_SDIO=m -+CONFIG_BT_ATH3K=m -+CONFIG_CFG80211=m -+CONFIG_CFG80211_WEXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_MESH=y -+CONFIG_RFKILL=m -+CONFIG_RFKILL_INPUT=y -+CONFIG_NET_9P=m -+CONFIG_NFC=m -+CONFIG_UEVENT_HELPER=y -+CONFIG_DEVTMPFS=y -+CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_MTD=m -+CONFIG_MTD_BLOCK=m -+CONFIG_MTD_BLOCK2MTD=m -+CONFIG_MTD_SPI_NOR=m -+CONFIG_MTD_UBI=m -+CONFIG_OF_CONFIGFS=y -+CONFIG_ZRAM=m -+CONFIG_BLK_DEV_LOOP=y -+CONFIG_BLK_DEV_CRYPTOLOOP=m -+CONFIG_BLK_DEV_DRBD=m -+CONFIG_BLK_DEV_NBD=m -+CONFIG_BLK_DEV_RAM=y -+CONFIG_CDROM_PKTCDVD=m -+CONFIG_ATA_OVER_ETH=m -+CONFIG_EEPROM_AT24=m -+CONFIG_TI_ST=m -+CONFIG_SCSI=y -+# CONFIG_SCSI_PROC_FS is not set -+CONFIG_BLK_DEV_SD=y -+CONFIG_CHR_DEV_ST=m -+CONFIG_BLK_DEV_SR=m -+CONFIG_CHR_DEV_SG=m -+CONFIG_SCSI_ISCSI_ATTRS=y -+CONFIG_ISCSI_TCP=m -+CONFIG_ISCSI_BOOT_SYSFS=m -+CONFIG_MD=y -+CONFIG_MD_LINEAR=m -+CONFIG_BLK_DEV_DM=m -+CONFIG_DM_CRYPT=m -+CONFIG_DM_SNAPSHOT=m -+CONFIG_DM_THIN_PROVISIONING=m -+CONFIG_DM_CACHE=m -+CONFIG_DM_MIRROR=m -+CONFIG_DM_LOG_USERSPACE=m -+CONFIG_DM_RAID=m -+CONFIG_DM_ZERO=m -+CONFIG_DM_DELAY=m -+CONFIG_NETDEVICES=y -+CONFIG_BONDING=m -+CONFIG_DUMMY=m -+CONFIG_WIREGUARD=m -+CONFIG_IFB=m -+CONFIG_MACVLAN=m -+CONFIG_IPVLAN=m -+CONFIG_VXLAN=m -+CONFIG_NETCONSOLE=m -+CONFIG_TUN=m -+CONFIG_VETH=m -+CONFIG_NET_VRF=m -+CONFIG_ENC28J60=m -+CONFIG_QCA7000_SPI=m -+CONFIG_QCA7000_UART=m -+CONFIG_WIZNET_W5100=m -+CONFIG_WIZNET_W5100_SPI=m -+CONFIG_MDIO_BITBANG=m -+CONFIG_PPP=m -+CONFIG_PPP_BSDCOMP=m -+CONFIG_PPP_DEFLATE=m -+CONFIG_PPP_FILTER=y -+CONFIG_PPP_MPPE=m -+CONFIG_PPP_MULTILINK=y -+CONFIG_PPPOATM=m -+CONFIG_PPPOE=m -+CONFIG_PPPOL2TP=m -+CONFIG_PPP_ASYNC=m -+CONFIG_PPP_SYNC_TTY=m -+CONFIG_SLIP=m -+CONFIG_SLIP_COMPRESSED=y -+CONFIG_SLIP_SMART=y -+CONFIG_USB_CATC=m -+CONFIG_USB_KAWETH=m -+CONFIG_USB_PEGASUS=m -+CONFIG_USB_RTL8150=m -+CONFIG_USB_RTL8152=m -+CONFIG_USB_LAN78XX=m -+CONFIG_USB_USBNET=y -+CONFIG_USB_NET_AX8817X=m -+CONFIG_USB_NET_AX88179_178A=m -+CONFIG_USB_NET_CDCETHER=m -+CONFIG_USB_NET_CDC_EEM=m -+CONFIG_USB_NET_CDC_NCM=m -+CONFIG_USB_NET_HUAWEI_CDC_NCM=m -+CONFIG_USB_NET_CDC_MBIM=m -+CONFIG_USB_NET_DM9601=m -+CONFIG_USB_NET_SR9700=m -+CONFIG_USB_NET_SR9800=m -+CONFIG_USB_NET_SMSC75XX=m -+CONFIG_USB_NET_SMSC95XX=y -+CONFIG_USB_NET_GL620A=m -+CONFIG_USB_NET_NET1080=m -+CONFIG_USB_NET_PLUSB=m -+CONFIG_USB_NET_MCS7830=m -+CONFIG_USB_NET_CDC_SUBSET=m -+CONFIG_USB_ALI_M5632=y -+CONFIG_USB_AN2720=y -+CONFIG_USB_EPSON2888=y -+CONFIG_USB_KC2190=y -+CONFIG_USB_NET_ZAURUS=m -+CONFIG_USB_NET_CX82310_ETH=m -+CONFIG_USB_NET_KALMIA=m -+CONFIG_USB_NET_QMI_WWAN=m -+CONFIG_USB_HSO=m -+CONFIG_USB_NET_INT51X1=m -+CONFIG_USB_IPHETH=m -+CONFIG_USB_SIERRA_NET=m -+CONFIG_USB_VL600=m -+CONFIG_USB_NET_AQC111=m -+CONFIG_ATH9K=m -+CONFIG_ATH9K_HTC=m -+CONFIG_CARL9170=m -+CONFIG_ATH6KL=m -+CONFIG_ATH6KL_USB=m -+CONFIG_AR5523=m -+CONFIG_AT76C50X_USB=m -+CONFIG_B43=m -+# CONFIG_B43_PHY_N is not set -+CONFIG_B43LEGACY=m -+CONFIG_BRCMFMAC=m -+CONFIG_BRCMFMAC_USB=y -+CONFIG_BRCMDBG=y -+CONFIG_HOSTAP=m -+CONFIG_P54_COMMON=m -+CONFIG_P54_USB=m -+CONFIG_LIBERTAS=m -+CONFIG_LIBERTAS_USB=m -+CONFIG_LIBERTAS_SDIO=m -+CONFIG_LIBERTAS_THINFIRM=m -+CONFIG_LIBERTAS_THINFIRM_USB=m -+CONFIG_MWIFIEX=m -+CONFIG_MWIFIEX_SDIO=m -+CONFIG_MT7601U=m -+CONFIG_MT76x0U=m -+CONFIG_MT76x2U=m -+CONFIG_RT2X00=m -+CONFIG_RT2500USB=m -+CONFIG_RT73USB=m -+CONFIG_RT2800USB=m -+CONFIG_RT2800USB_RT3573=y -+CONFIG_RT2800USB_RT53XX=y -+CONFIG_RT2800USB_RT55XX=y -+CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_RTL8187=m -+CONFIG_RTL8192CU=m -+CONFIG_RTL8XXXU=m -+CONFIG_USB_ZD1201=m -+CONFIG_ZD1211RW=m -+CONFIG_MAC80211_HWSIM=m -+CONFIG_USB_NET_RNDIS_WLAN=m -+CONFIG_IEEE802154_AT86RF230=m -+CONFIG_IEEE802154_MRF24J40=m -+CONFIG_IEEE802154_CC2520=m -+CONFIG_INPUT_MOUSEDEV=y -+CONFIG_INPUT_JOYDEV=m -+CONFIG_INPUT_EVDEV=y -+# CONFIG_KEYBOARD_ATKBD is not set -+CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_MATRIX=m -+CONFIG_KEYBOARD_CAP11XX=m -+# CONFIG_INPUT_MOUSE is not set -+CONFIG_INPUT_JOYSTICK=y -+CONFIG_JOYSTICK_IFORCE=m -+CONFIG_JOYSTICK_IFORCE_USB=m -+CONFIG_JOYSTICK_XPAD=m -+CONFIG_JOYSTICK_XPAD_FF=y -+CONFIG_JOYSTICK_XPAD_LEDS=y -+CONFIG_JOYSTICK_PSXPAD_SPI=m -+CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -+CONFIG_JOYSTICK_RPISENSE=m -+CONFIG_INPUT_TOUCHSCREEN=y -+CONFIG_TOUCHSCREEN_ADS7846=m -+CONFIG_TOUCHSCREEN_EGALAX=m -+CONFIG_TOUCHSCREEN_EXC3000=m -+CONFIG_TOUCHSCREEN_GOODIX=m -+CONFIG_TOUCHSCREEN_ILI210X=m -+CONFIG_TOUCHSCREEN_EDT_FT5X06=m -+CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m -+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -+CONFIG_TOUCHSCREEN_STMPE=m -+CONFIG_INPUT_MISC=y -+CONFIG_INPUT_AD714X=m -+CONFIG_INPUT_ATI_REMOTE2=m -+CONFIG_INPUT_KEYSPAN_REMOTE=m -+CONFIG_INPUT_POWERMATE=m -+CONFIG_INPUT_YEALINK=m -+CONFIG_INPUT_CM109=m -+CONFIG_INPUT_UINPUT=m -+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -+CONFIG_INPUT_ADXL34X=m -+CONFIG_INPUT_CMA3000=m -+CONFIG_SERIO=m -+CONFIG_SERIO_RAW=m -+CONFIG_GAMEPORT=m -+CONFIG_GAMEPORT_NS558=m -+CONFIG_GAMEPORT_L4=m -+CONFIG_BRCM_CHAR_DRIVERS=y -+CONFIG_BCM_VCIO=y -+CONFIG_BCM2835_DEVGPIOMEM=y -+# CONFIG_LEGACY_PTYS is not set -+CONFIG_SERIAL_8250=y -+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -+CONFIG_SERIAL_8250_CONSOLE=y -+# CONFIG_SERIAL_8250_DMA is not set -+CONFIG_SERIAL_8250_NR_UARTS=1 -+CONFIG_SERIAL_8250_RUNTIME_UARTS=0 -+CONFIG_SERIAL_8250_EXTENDED=y -+CONFIG_SERIAL_8250_SHARE_IRQ=y -+CONFIG_SERIAL_8250_BCM2835AUX=y -+CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_AMBA_PL011=y -+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -+CONFIG_SERIAL_SC16IS7XX=m -+CONFIG_SERIAL_SC16IS7XX_SPI=y -+CONFIG_SERIAL_DEV_BUS=y -+CONFIG_TTY_PRINTK=y -+CONFIG_HW_RANDOM=y -+CONFIG_TCG_TPM=m -+CONFIG_TCG_TIS_SPI=m -+CONFIG_RANDOM_TRUST_BOOTLOADER=y -+CONFIG_I2C=y -+CONFIG_I2C_CHARDEV=m -+CONFIG_I2C_MUX_GPMUX=m -+CONFIG_I2C_MUX_PCA954x=m -+CONFIG_I2C_MUX_PINCTRL=m -+CONFIG_I2C_BCM2708=m -+CONFIG_I2C_BCM2835=m -+# CONFIG_I2C_BRCMSTB is not set -+CONFIG_I2C_GPIO=m -+CONFIG_I2C_ROBOTFUZZ_OSIF=m -+CONFIG_I2C_TINY_USB=m -+CONFIG_SPI=y -+CONFIG_SPI_BCM2835=m -+CONFIG_SPI_BCM2835AUX=m -+CONFIG_SPI_GPIO=m -+CONFIG_SPI_SPIDEV=m -+CONFIG_SPI_SLAVE=y -+CONFIG_PPS_CLIENT_LDISC=m -+CONFIG_PPS_CLIENT_GPIO=m -+CONFIG_PINCTRL_MCP23S08=m -+CONFIG_GPIO_SYSFS=y -+CONFIG_GPIO_PCA953X=m -+CONFIG_GPIO_PCA953X_IRQ=y -+CONFIG_GPIO_PCF857X=m -+CONFIG_GPIO_ARIZONA=m -+CONFIG_GPIO_FSM=m -+CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MOCKUP=m -+CONFIG_W1=m -+CONFIG_W1_MASTER_DS2490=m -+CONFIG_W1_MASTER_DS2482=m -+CONFIG_W1_MASTER_DS1WM=m -+CONFIG_W1_MASTER_GPIO=m -+CONFIG_W1_SLAVE_THERM=m -+CONFIG_W1_SLAVE_SMEM=m -+CONFIG_W1_SLAVE_DS2408=m -+CONFIG_W1_SLAVE_DS2413=m -+CONFIG_W1_SLAVE_DS2406=m -+CONFIG_W1_SLAVE_DS2423=m -+CONFIG_W1_SLAVE_DS2431=m -+CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2438=m -+CONFIG_W1_SLAVE_DS2780=m -+CONFIG_W1_SLAVE_DS2781=m -+CONFIG_W1_SLAVE_DS28E04=m -+CONFIG_W1_SLAVE_DS28E17=m -+CONFIG_POWER_RESET=y -+CONFIG_POWER_RESET_GPIO=y -+CONFIG_RPI_POE_POWER=m -+CONFIG_BATTERY_DS2760=m -+CONFIG_BATTERY_MAX17040=m -+CONFIG_BATTERY_GAUGE_LTC2941=m -+CONFIG_SENSORS_DS1621=m -+CONFIG_SENSORS_GPIO_FAN=m -+CONFIG_SENSORS_IIO_HWMON=m -+CONFIG_SENSORS_JC42=m -+CONFIG_SENSORS_LM75=m -+CONFIG_SENSORS_PWM_FAN=m -+CONFIG_SENSORS_RASPBERRYPI_HWMON=m -+CONFIG_SENSORS_SHT21=m -+CONFIG_SENSORS_SHT3x=m -+CONFIG_SENSORS_SHTC1=m -+CONFIG_SENSORS_INA2XX=m -+CONFIG_SENSORS_TMP102=m -+CONFIG_THERMAL=y -+CONFIG_BCM2835_THERMAL=y -+CONFIG_WATCHDOG=y -+CONFIG_GPIO_WATCHDOG=m -+CONFIG_BCM2835_WDT=y -+CONFIG_MFD_STMPE=y -+CONFIG_STMPE_SPI=y -+CONFIG_MFD_ARIZONA_I2C=m -+CONFIG_MFD_ARIZONA_SPI=m -+CONFIG_MFD_WM5102=y -+CONFIG_REGULATOR=y -+CONFIG_REGULATOR_FIXED_VOLTAGE=m -+CONFIG_REGULATOR_ARIZONA_LDO1=m -+CONFIG_REGULATOR_ARIZONA_MICSUPP=m -+CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m -+CONFIG_RC_CORE=y -+CONFIG_LIRC=y -+CONFIG_BPF_LIRC_MODE2=y -+CONFIG_RC_DECODERS=y -+CONFIG_IR_NEC_DECODER=m -+CONFIG_IR_RC5_DECODER=m -+CONFIG_IR_RC6_DECODER=m -+CONFIG_IR_JVC_DECODER=m -+CONFIG_IR_SONY_DECODER=m -+CONFIG_IR_SANYO_DECODER=m -+CONFIG_IR_SHARP_DECODER=m -+CONFIG_IR_MCE_KBD_DECODER=m -+CONFIG_IR_XMP_DECODER=m -+CONFIG_IR_IMON_DECODER=m -+CONFIG_RC_DEVICES=y -+CONFIG_RC_ATI_REMOTE=m -+CONFIG_IR_IMON=m -+CONFIG_IR_MCEUSB=m -+CONFIG_IR_REDRAT3=m -+CONFIG_IR_STREAMZAP=m -+CONFIG_IR_IGUANA=m -+CONFIG_IR_TTUSBIR=m -+CONFIG_RC_LOOPBACK=m -+CONFIG_IR_GPIO_CIR=m -+CONFIG_IR_GPIO_TX=m -+CONFIG_IR_PWM_TX=m -+CONFIG_MEDIA_CEC_RC=y -+CONFIG_MEDIA_SUPPORT=m -+CONFIG_MEDIA_USB_SUPPORT=y -+CONFIG_USB_VIDEO_CLASS=m -+CONFIG_USB_PWC=m -+CONFIG_VIDEO_CPIA2=m -+CONFIG_USB_ZR364XX=m -+CONFIG_USB_STKWEBCAM=m -+CONFIG_USB_S2255=m -+CONFIG_VIDEO_USBTV=m -+CONFIG_VIDEO_PVRUSB2=m -+CONFIG_VIDEO_HDPVR=m -+CONFIG_VIDEO_STK1160_COMMON=m -+CONFIG_VIDEO_GO7007=m -+CONFIG_VIDEO_GO7007_USB=m -+CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -+CONFIG_VIDEO_AU0828=m -+CONFIG_VIDEO_AU0828_RC=y -+CONFIG_VIDEO_CX231XX=m -+CONFIG_VIDEO_CX231XX_ALSA=m -+CONFIG_VIDEO_CX231XX_DVB=m -+CONFIG_VIDEO_TM6000=m -+CONFIG_VIDEO_TM6000_ALSA=m -+CONFIG_VIDEO_TM6000_DVB=m -+CONFIG_DVB_USB=m -+CONFIG_DVB_USB_A800=m -+CONFIG_DVB_USB_DIBUSB_MB=m -+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -+CONFIG_DVB_USB_DIBUSB_MC=m -+CONFIG_DVB_USB_DIB0700=m -+CONFIG_DVB_USB_UMT_010=m -+CONFIG_DVB_USB_CXUSB=m -+CONFIG_DVB_USB_M920X=m -+CONFIG_DVB_USB_DIGITV=m -+CONFIG_DVB_USB_VP7045=m -+CONFIG_DVB_USB_VP702X=m -+CONFIG_DVB_USB_GP8PSK=m -+CONFIG_DVB_USB_NOVA_T_USB2=m -+CONFIG_DVB_USB_TTUSB2=m -+CONFIG_DVB_USB_DTT200U=m -+CONFIG_DVB_USB_OPERA1=m -+CONFIG_DVB_USB_AF9005=m -+CONFIG_DVB_USB_AF9005_REMOTE=m -+CONFIG_DVB_USB_PCTV452E=m -+CONFIG_DVB_USB_DW2102=m -+CONFIG_DVB_USB_CINERGY_T2=m -+CONFIG_DVB_USB_DTV5100=m -+CONFIG_DVB_USB_AZ6027=m -+CONFIG_DVB_USB_TECHNISAT_USB2=m -+CONFIG_DVB_USB_V2=m -+CONFIG_DVB_USB_AF9015=m -+CONFIG_DVB_USB_AF9035=m -+CONFIG_DVB_USB_ANYSEE=m -+CONFIG_DVB_USB_AU6610=m -+CONFIG_DVB_USB_AZ6007=m -+CONFIG_DVB_USB_CE6230=m -+CONFIG_DVB_USB_EC168=m -+CONFIG_DVB_USB_GL861=m -+CONFIG_DVB_USB_LME2510=m -+CONFIG_DVB_USB_MXL111SF=m -+CONFIG_DVB_USB_RTL28XXU=m -+CONFIG_DVB_USB_DVBSKY=m -+CONFIG_SMS_USB_DRV=m -+CONFIG_DVB_B2C2_FLEXCOP_USB=m -+CONFIG_DVB_AS102=m -+CONFIG_VIDEO_EM28XX=m -+CONFIG_VIDEO_EM28XX_V4L2=m -+CONFIG_VIDEO_EM28XX_ALSA=m -+CONFIG_VIDEO_EM28XX_DVB=m -+CONFIG_RADIO_SI470X=m -+CONFIG_USB_SI470X=m -+CONFIG_I2C_SI470X=m -+CONFIG_RADIO_SI4713=m -+CONFIG_I2C_SI4713=m -+CONFIG_USB_MR800=m -+CONFIG_USB_DSBR=m -+CONFIG_RADIO_SHARK=m -+CONFIG_RADIO_SHARK2=m -+CONFIG_USB_KEENE=m -+CONFIG_USB_MA901=m -+CONFIG_RADIO_TEA5764=m -+CONFIG_RADIO_SAA7706H=m -+CONFIG_RADIO_TEF6862=m -+CONFIG_RADIO_WL1273=m -+CONFIG_RADIO_WL128X=m -+CONFIG_V4L_PLATFORM_DRIVERS=y -+CONFIG_VIDEO_BCM2835_UNICAM=m -+CONFIG_VIDEO_UDA1342=m -+CONFIG_VIDEO_SONY_BTF_MPX=m -+CONFIG_VIDEO_ADV7180=m -+CONFIG_VIDEO_TC358743=m -+CONFIG_VIDEO_TVP5150=m -+CONFIG_VIDEO_TW2804=m -+CONFIG_VIDEO_TW9903=m -+CONFIG_VIDEO_TW9906=m -+CONFIG_VIDEO_IMX219=m -+CONFIG_VIDEO_IMX290=m -+CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_OV5647=m -+CONFIG_VIDEO_OV7251=m -+CONFIG_VIDEO_OV7640=m -+CONFIG_VIDEO_OV9281=m -+CONFIG_VIDEO_IRS1125=m -+CONFIG_VIDEO_MT9V011=m -+CONFIG_DRM=m -+CONFIG_DRM_LOAD_EDID_FIRMWARE=y -+CONFIG_DRM_UDL=m -+CONFIG_DRM_PANEL_SIMPLE=m -+CONFIG_DRM_PANEL_JDI_LT070ME05000=m -+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -+CONFIG_DRM_DISPLAY_CONNECTOR=m -+CONFIG_DRM_SIMPLE_BRIDGE=m -+CONFIG_DRM_TOSHIBA_TC358762=m -+CONFIG_DRM_VC4=m -+CONFIG_DRM_VC4_HDMI_CEC=y -+CONFIG_TINYDRM_ILI9225=m -+CONFIG_TINYDRM_ILI9341=m -+CONFIG_TINYDRM_MI0283QT=m -+CONFIG_TINYDRM_REPAPER=m -+CONFIG_TINYDRM_ST7586=m -+CONFIG_TINYDRM_ST7735R=m -+CONFIG_DRM_GUD=m -+CONFIG_FB=y -+CONFIG_FB_BCM2708=y -+CONFIG_FB_UDL=m -+CONFIG_FB_SIMPLE=y -+CONFIG_FB_SSD1307=m -+CONFIG_FB_RPISENSE=m -+CONFIG_BACKLIGHT_RPI=m -+CONFIG_BACKLIGHT_GPIO=m -+CONFIG_FRAMEBUFFER_CONSOLE=y -+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -+CONFIG_LOGO=y -+# CONFIG_LOGO_LINUX_MONO is not set -+# CONFIG_LOGO_LINUX_VGA16 is not set -+CONFIG_SOUND=y -+CONFIG_SND=m -+CONFIG_SND_OSSEMUL=y -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_HRTIMER=m -+CONFIG_SND_SEQUENCER=m -+CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_DUMMY=m -+CONFIG_SND_ALOOP=m -+CONFIG_SND_VIRMIDI=m -+CONFIG_SND_MTPAV=m -+CONFIG_SND_SERIAL_U16550=m -+CONFIG_SND_MPU401=m -+CONFIG_SND_USB_AUDIO=m -+CONFIG_SND_USB_UA101=m -+CONFIG_SND_USB_CAIAQ=m -+CONFIG_SND_USB_CAIAQ_INPUT=y -+CONFIG_SND_USB_6FIRE=m -+CONFIG_SND_USB_HIFACE=m -+CONFIG_SND_USB_TONEPORT=m -+CONFIG_SND_SOC=m -+CONFIG_SND_BCM2835_SOC_I2S=m -+CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m -+CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m -+CONFIG_SND_BCM2708_SOC_PIFI_40=m -+CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m -+CONFIG_SND_BCM2708_SOC_RPI_DAC=m -+CONFIG_SND_BCM2708_SOC_RPI_PROTO=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m -+CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m -+CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m -+CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m -+CONFIG_SND_AUDIOSENSE_PI=m -+CONFIG_SND_DIGIDAC1_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m -+CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m -+CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m -+CONFIG_SND_PISOUND=m -+CONFIG_SND_SOC_AD193X_SPI=m -+CONFIG_SND_SOC_AD193X_I2C=m -+CONFIG_SND_SOC_ADAU1701=m -+CONFIG_SND_SOC_ADAU7002=m -+CONFIG_SND_SOC_AK4554=m -+CONFIG_SND_SOC_CS4265=m -+CONFIG_SND_SOC_ICS43432=m -+CONFIG_SND_SOC_MA120X0P=m -+CONFIG_SND_SOC_MAX98357A=m -+CONFIG_SND_SOC_SPDIF=m -+CONFIG_SND_SOC_WM8804_I2C=m -+CONFIG_SND_SOC_WM8960=m -+CONFIG_SND_SIMPLE_CARD=m -+CONFIG_HID_BATTERY_STRENGTH=y -+CONFIG_HIDRAW=y -+CONFIG_UHID=m -+CONFIG_HID_A4TECH=m -+CONFIG_HID_ACRUX=m -+CONFIG_HID_APPLE=m -+CONFIG_HID_ASUS=m -+CONFIG_HID_BELKIN=m -+CONFIG_HID_BETOP_FF=m -+CONFIG_HID_BIGBEN_FF=m -+CONFIG_HID_CHERRY=m -+CONFIG_HID_CHICONY=m -+CONFIG_HID_CYPRESS=m -+CONFIG_HID_DRAGONRISE=m -+CONFIG_HID_EMS_FF=m -+CONFIG_HID_ELECOM=m -+CONFIG_HID_ELO=m -+CONFIG_HID_EZKEY=m -+CONFIG_HID_GEMBIRD=m -+CONFIG_HID_HOLTEK=m -+CONFIG_HID_KEYTOUCH=m -+CONFIG_HID_KYE=m -+CONFIG_HID_UCLOGIC=m -+CONFIG_HID_WALTOP=m -+CONFIG_HID_GYRATION=m -+CONFIG_HID_TWINHAN=m -+CONFIG_HID_KENSINGTON=m -+CONFIG_HID_LCPOWER=m -+CONFIG_HID_LOGITECH=m -+CONFIG_HID_LOGITECH_DJ=m -+CONFIG_LOGITECH_FF=y -+CONFIG_LOGIRUMBLEPAD2_FF=y -+CONFIG_LOGIG940_FF=y -+CONFIG_HID_MAGICMOUSE=m -+CONFIG_HID_MICROSOFT=m -+CONFIG_HID_MONTEREY=m -+CONFIG_HID_MULTITOUCH=m -+CONFIG_HID_NTRIG=m -+CONFIG_HID_ORTEK=m -+CONFIG_HID_PANTHERLORD=m -+CONFIG_HID_PETALYNX=m -+CONFIG_HID_PICOLCD=m -+CONFIG_HID_ROCCAT=m -+CONFIG_HID_SAMSUNG=m -+CONFIG_HID_SONY=m -+CONFIG_SONY_FF=y -+CONFIG_HID_SPEEDLINK=m -+CONFIG_HID_STEAM=m -+CONFIG_HID_SUNPLUS=m -+CONFIG_HID_GREENASIA=m -+CONFIG_HID_SMARTJOYPLUS=m -+CONFIG_HID_TOPSEED=m -+CONFIG_HID_THINGM=m -+CONFIG_HID_THRUSTMASTER=m -+CONFIG_HID_WACOM=m -+CONFIG_HID_WIIMOTE=m -+CONFIG_HID_XINMO=m -+CONFIG_HID_ZEROPLUS=m -+CONFIG_HID_ZYDACRON=m -+CONFIG_HID_PID=y -+CONFIG_USB_HIDDEV=y -+CONFIG_USB=y -+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -+CONFIG_USB_MON=m -+CONFIG_USB_DWCOTG=y -+CONFIG_USB_PRINTER=m -+CONFIG_USB_TMC=m -+CONFIG_USB_STORAGE=y -+CONFIG_USB_STORAGE_REALTEK=m -+CONFIG_USB_STORAGE_DATAFAB=m -+CONFIG_USB_STORAGE_FREECOM=m -+CONFIG_USB_STORAGE_ISD200=m -+CONFIG_USB_STORAGE_USBAT=m -+CONFIG_USB_STORAGE_SDDR09=m -+CONFIG_USB_STORAGE_SDDR55=m -+CONFIG_USB_STORAGE_JUMPSHOT=m -+CONFIG_USB_STORAGE_ALAUDA=m -+CONFIG_USB_STORAGE_ONETOUCH=m -+CONFIG_USB_STORAGE_KARMA=m -+CONFIG_USB_STORAGE_CYPRESS_ATACB=m -+CONFIG_USB_STORAGE_ENE_UB6250=m -+CONFIG_USB_UAS=m -+CONFIG_USB_MDC800=m -+CONFIG_USB_MICROTEK=m -+CONFIG_USBIP_CORE=m -+CONFIG_USBIP_VHCI_HCD=m -+CONFIG_USBIP_HOST=m -+CONFIG_USBIP_VUDC=m -+CONFIG_USB_DWC2=m -+CONFIG_USB_SERIAL=m -+CONFIG_USB_SERIAL_GENERIC=y -+CONFIG_USB_SERIAL_AIRCABLE=m -+CONFIG_USB_SERIAL_ARK3116=m -+CONFIG_USB_SERIAL_BELKIN=m -+CONFIG_USB_SERIAL_CH341=m -+CONFIG_USB_SERIAL_WHITEHEAT=m -+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -+CONFIG_USB_SERIAL_CP210X=m -+CONFIG_USB_SERIAL_CYPRESS_M8=m -+CONFIG_USB_SERIAL_EMPEG=m -+CONFIG_USB_SERIAL_FTDI_SIO=m -+CONFIG_USB_SERIAL_VISOR=m -+CONFIG_USB_SERIAL_IPAQ=m -+CONFIG_USB_SERIAL_IR=m -+CONFIG_USB_SERIAL_EDGEPORT=m -+CONFIG_USB_SERIAL_EDGEPORT_TI=m -+CONFIG_USB_SERIAL_F81232=m -+CONFIG_USB_SERIAL_GARMIN=m -+CONFIG_USB_SERIAL_IPW=m -+CONFIG_USB_SERIAL_IUU=m -+CONFIG_USB_SERIAL_KEYSPAN_PDA=m -+CONFIG_USB_SERIAL_KEYSPAN=m -+CONFIG_USB_SERIAL_KLSI=m -+CONFIG_USB_SERIAL_KOBIL_SCT=m -+CONFIG_USB_SERIAL_MCT_U232=m -+CONFIG_USB_SERIAL_METRO=m -+CONFIG_USB_SERIAL_MOS7720=m -+CONFIG_USB_SERIAL_MOS7840=m -+CONFIG_USB_SERIAL_NAVMAN=m -+CONFIG_USB_SERIAL_PL2303=m -+CONFIG_USB_SERIAL_OTI6858=m -+CONFIG_USB_SERIAL_QCAUX=m -+CONFIG_USB_SERIAL_QUALCOMM=m -+CONFIG_USB_SERIAL_SPCP8X5=m -+CONFIG_USB_SERIAL_SAFE=m -+CONFIG_USB_SERIAL_SIERRAWIRELESS=m -+CONFIG_USB_SERIAL_SYMBOL=m -+CONFIG_USB_SERIAL_TI=m -+CONFIG_USB_SERIAL_CYBERJACK=m -+CONFIG_USB_SERIAL_OPTION=m -+CONFIG_USB_SERIAL_OMNINET=m -+CONFIG_USB_SERIAL_OPTICON=m -+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_EMI62=m -+CONFIG_USB_EMI26=m -+CONFIG_USB_ADUTUX=m -+CONFIG_USB_SEVSEG=m -+CONFIG_USB_LEGOTOWER=m -+CONFIG_USB_LCD=m -+CONFIG_USB_CYPRESS_CY7C63=m -+CONFIG_USB_CYTHERM=m -+CONFIG_USB_IDMOUSE=m -+CONFIG_USB_FTDI_ELAN=m -+CONFIG_USB_APPLEDISPLAY=m -+CONFIG_USB_LD=m -+CONFIG_USB_TRANCEVIBRATOR=m -+CONFIG_USB_IOWARRIOR=m -+CONFIG_USB_TEST=m -+CONFIG_USB_ISIGHTFW=m -+CONFIG_USB_YUREX=m -+CONFIG_USB_ATM=m -+CONFIG_USB_SPEEDTOUCH=m -+CONFIG_USB_CXACRU=m -+CONFIG_USB_UEAGLEATM=m -+CONFIG_USB_XUSBATM=m -+CONFIG_NOP_USB_XCEIV=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_CONFIGFS=m -+CONFIG_USB_CONFIGFS_SERIAL=y -+CONFIG_USB_CONFIGFS_ACM=y -+CONFIG_USB_CONFIGFS_OBEX=y -+CONFIG_USB_CONFIGFS_NCM=y -+CONFIG_USB_CONFIGFS_ECM=y -+CONFIG_USB_CONFIGFS_ECM_SUBSET=y -+CONFIG_USB_CONFIGFS_RNDIS=y -+CONFIG_USB_CONFIGFS_EEM=y -+CONFIG_USB_CONFIGFS_MASS_STORAGE=y -+CONFIG_USB_CONFIGFS_F_LB_SS=y -+CONFIG_USB_CONFIGFS_F_FS=y -+CONFIG_USB_CONFIGFS_F_UAC1=y -+CONFIG_USB_CONFIGFS_F_UAC2=y -+CONFIG_USB_CONFIGFS_F_MIDI=y -+CONFIG_USB_CONFIGFS_F_HID=y -+CONFIG_USB_CONFIGFS_F_UVC=y -+CONFIG_USB_CONFIGFS_F_PRINTER=y -+CONFIG_USB_ZERO=m -+CONFIG_USB_AUDIO=m -+CONFIG_USB_ETH=m -+CONFIG_USB_GADGETFS=m -+CONFIG_USB_MASS_STORAGE=m -+CONFIG_USB_G_SERIAL=m -+CONFIG_USB_MIDI_GADGET=m -+CONFIG_USB_G_PRINTER=m -+CONFIG_USB_CDC_COMPOSITE=m -+CONFIG_USB_G_ACM_MS=m -+CONFIG_USB_G_MULTI=m -+CONFIG_USB_G_HID=m -+CONFIG_USB_G_WEBCAM=m -+CONFIG_MMC=y -+CONFIG_MMC_BLOCK_MINORS=32 -+CONFIG_MMC_BCM2835_MMC=y -+CONFIG_MMC_BCM2835_DMA=y -+CONFIG_MMC_BCM2835_SDHOST=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_SPI=m -+CONFIG_LEDS_CLASS=y -+CONFIG_LEDS_PCA9532=m -+CONFIG_LEDS_GPIO=y -+CONFIG_LEDS_PCA955X=m -+CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_IS31FL32XX=m -+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=m -+CONFIG_LEDS_TRIGGER_CAMERA=m -+CONFIG_LEDS_TRIGGER_INPUT=y -+CONFIG_LEDS_TRIGGER_PANIC=y -+CONFIG_LEDS_TRIGGER_NETDEV=m -+CONFIG_LEDS_TRIGGER_ACTPWR=y -+CONFIG_ACCESSIBILITY=y -+CONFIG_SPEAKUP=m -+CONFIG_SPEAKUP_SYNTH_SOFT=m -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_DRV_ABX80X=m -+CONFIG_RTC_DRV_DS1307=m -+CONFIG_RTC_DRV_DS1374=m -+CONFIG_RTC_DRV_DS1672=m -+CONFIG_RTC_DRV_MAX6900=m -+CONFIG_RTC_DRV_RS5C372=m -+CONFIG_RTC_DRV_ISL1208=m -+CONFIG_RTC_DRV_ISL12022=m -+CONFIG_RTC_DRV_X1205=m -+CONFIG_RTC_DRV_PCF8523=m -+CONFIG_RTC_DRV_PCF85063=m -+CONFIG_RTC_DRV_PCF85363=m -+CONFIG_RTC_DRV_PCF8563=m -+CONFIG_RTC_DRV_PCF8583=m -+CONFIG_RTC_DRV_M41T80=m -+CONFIG_RTC_DRV_BQ32K=m -+CONFIG_RTC_DRV_S35390A=m -+CONFIG_RTC_DRV_FM3130=m -+CONFIG_RTC_DRV_RX8581=m -+CONFIG_RTC_DRV_RX8025=m -+CONFIG_RTC_DRV_EM3027=m -+CONFIG_RTC_DRV_RV3028=m -+CONFIG_RTC_DRV_SD3078=m -+CONFIG_RTC_DRV_M41T93=m -+CONFIG_RTC_DRV_M41T94=m -+CONFIG_RTC_DRV_DS1302=m -+CONFIG_RTC_DRV_DS1305=m -+CONFIG_RTC_DRV_DS1390=m -+CONFIG_RTC_DRV_R9701=m -+CONFIG_RTC_DRV_RX4581=m -+CONFIG_RTC_DRV_RS5C348=m -+CONFIG_RTC_DRV_MAX6902=m -+CONFIG_RTC_DRV_PCF2123=m -+CONFIG_RTC_DRV_DS3232=m -+CONFIG_RTC_DRV_PCF2127=m -+CONFIG_RTC_DRV_RV3029C2=m -+CONFIG_DMADEVICES=y -+CONFIG_DMA_BCM2835=y -+CONFIG_DMA_BCM2708=y -+CONFIG_DMABUF_HEAPS=y -+CONFIG_DMABUF_HEAPS_SYSTEM=y -+CONFIG_DMABUF_HEAPS_CMA=y -+CONFIG_AUXDISPLAY=y -+CONFIG_HD44780=m -+CONFIG_UIO=m -+CONFIG_UIO_PDRV_GENIRQ=m -+CONFIG_STAGING=y -+CONFIG_PRISM2_USB=m -+CONFIG_R8712U=m -+CONFIG_R8188EU=m -+CONFIG_VT6656=m -+CONFIG_STAGING_MEDIA=y -+CONFIG_FB_TFT=m -+CONFIG_FB_TFT_AGM1264K_FL=m -+CONFIG_FB_TFT_BD663474=m -+CONFIG_FB_TFT_HX8340BN=m -+CONFIG_FB_TFT_HX8347D=m -+CONFIG_FB_TFT_HX8353D=m -+CONFIG_FB_TFT_HX8357D=m -+CONFIG_FB_TFT_ILI9163=m -+CONFIG_FB_TFT_ILI9320=m -+CONFIG_FB_TFT_ILI9325=m -+CONFIG_FB_TFT_ILI9340=m -+CONFIG_FB_TFT_ILI9341=m -+CONFIG_FB_TFT_ILI9481=m -+CONFIG_FB_TFT_ILI9486=m -+CONFIG_FB_TFT_PCD8544=m -+CONFIG_FB_TFT_RA8875=m -+CONFIG_FB_TFT_S6D02A1=m -+CONFIG_FB_TFT_S6D1121=m -+CONFIG_FB_TFT_SH1106=m -+CONFIG_FB_TFT_SSD1289=m -+CONFIG_FB_TFT_SSD1306=m -+CONFIG_FB_TFT_SSD1331=m -+CONFIG_FB_TFT_SSD1351=m -+CONFIG_FB_TFT_ST7735R=m -+CONFIG_FB_TFT_ST7789V=m -+CONFIG_FB_TFT_TINYLCD=m -+CONFIG_FB_TFT_TLS8204=m -+CONFIG_FB_TFT_UC1701=m -+CONFIG_FB_TFT_UPD161704=m -+CONFIG_FB_TFT_WATTEROTT=m -+CONFIG_BCM2835_VCHIQ=y -+CONFIG_SND_BCM2835=m -+CONFIG_VIDEO_BCM2835=m -+CONFIG_VIDEO_CODEC_BCM2835=m -+CONFIG_VIDEO_ISP_BCM2835=m -+CONFIG_CLK_RASPBERRYPI=y -+CONFIG_MAILBOX=y -+CONFIG_BCM2835_MBOX=y -+# CONFIG_IOMMU_SUPPORT is not set -+CONFIG_RASPBERRYPI_POWER=y -+CONFIG_IIO=m -+CONFIG_IIO_BUFFER_CB=m -+CONFIG_MCP320X=m -+CONFIG_MCP3422=m -+CONFIG_TI_ADS1015=m -+CONFIG_BME680=m -+CONFIG_CCS811=m -+CONFIG_SENSIRION_SGP30=m -+CONFIG_SPS30_I2C=m -+CONFIG_DHT11=m -+CONFIG_HDC100X=m -+CONFIG_HTU21=m -+CONFIG_INV_MPU6050_I2C=m -+CONFIG_APDS9960=m -+CONFIG_BH1750=m -+CONFIG_TSL4531=m -+CONFIG_VEML6070=m -+CONFIG_BMP280=m -+CONFIG_MAXIM_THERMOCOUPLE=m -+CONFIG_MAX31856=m -+CONFIG_PWM_BCM2835=m -+CONFIG_PWM_PCA9685=m -+CONFIG_PWM_RASPBERRYPI_POE=m -+CONFIG_RPI_AXIPERF=m -+CONFIG_EXT4_FS=y -+CONFIG_EXT4_FS_POSIX_ACL=y -+CONFIG_EXT4_FS_SECURITY=y -+CONFIG_REISERFS_FS=m -+CONFIG_REISERFS_FS_XATTR=y -+CONFIG_REISERFS_FS_POSIX_ACL=y -+CONFIG_REISERFS_FS_SECURITY=y -+CONFIG_JFS_FS=m -+CONFIG_JFS_POSIX_ACL=y -+CONFIG_JFS_SECURITY=y -+CONFIG_JFS_STATISTICS=y -+CONFIG_XFS_FS=m -+CONFIG_XFS_QUOTA=y -+CONFIG_XFS_POSIX_ACL=y -+CONFIG_XFS_RT=y -+CONFIG_GFS2_FS=m -+CONFIG_OCFS2_FS=m -+CONFIG_BTRFS_FS=m -+CONFIG_BTRFS_FS_POSIX_ACL=y -+CONFIG_NILFS2_FS=m -+CONFIG_F2FS_FS=y -+CONFIG_FANOTIFY=y -+CONFIG_QFMT_V1=m -+CONFIG_QFMT_V2=m -+CONFIG_AUTOFS4_FS=y -+CONFIG_FUSE_FS=m -+CONFIG_CUSE=m -+CONFIG_OVERLAY_FS=m -+CONFIG_FSCACHE=y -+CONFIG_FSCACHE_STATS=y -+CONFIG_CACHEFILES=y -+CONFIG_ISO9660_FS=m -+CONFIG_JOLIET=y -+CONFIG_ZISOFS=y -+CONFIG_UDF_FS=m -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -+CONFIG_EXFAT_FS=m -+CONFIG_NTFS_FS=m -+CONFIG_NTFS_RW=y -+CONFIG_TMPFS=y -+CONFIG_TMPFS_POSIX_ACL=y -+CONFIG_ECRYPT_FS=m -+CONFIG_HFS_FS=m -+CONFIG_HFSPLUS_FS=m -+CONFIG_JFFS2_FS=m -+CONFIG_JFFS2_SUMMARY=y -+CONFIG_UBIFS_FS=m -+CONFIG_SQUASHFS=m -+CONFIG_SQUASHFS_XATTR=y -+CONFIG_SQUASHFS_LZO=y -+CONFIG_SQUASHFS_XZ=y -+CONFIG_NFS_FS=y -+CONFIG_NFS_V3_ACL=y -+CONFIG_NFS_V4=y -+CONFIG_NFS_SWAP=y -+CONFIG_NFS_V4_1=y -+CONFIG_NFS_V4_2=y -+CONFIG_ROOT_NFS=y -+CONFIG_NFS_FSCACHE=y -+CONFIG_NFSD=m -+CONFIG_NFSD_V3_ACL=y -+CONFIG_NFSD_V4=y -+CONFIG_CIFS=m -+CONFIG_CIFS_UPCALL=y -+CONFIG_CIFS_XATTR=y -+CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_FSCACHE=y -+CONFIG_9P_FS=m -+CONFIG_9P_FS_POSIX_ACL=y -+CONFIG_NLS_DEFAULT="utf8" -+CONFIG_NLS_CODEPAGE_437=y -+CONFIG_NLS_CODEPAGE_737=m -+CONFIG_NLS_CODEPAGE_775=m -+CONFIG_NLS_CODEPAGE_850=m -+CONFIG_NLS_CODEPAGE_852=m -+CONFIG_NLS_CODEPAGE_855=m -+CONFIG_NLS_CODEPAGE_857=m -+CONFIG_NLS_CODEPAGE_860=m -+CONFIG_NLS_CODEPAGE_861=m -+CONFIG_NLS_CODEPAGE_862=m -+CONFIG_NLS_CODEPAGE_863=m -+CONFIG_NLS_CODEPAGE_864=m -+CONFIG_NLS_CODEPAGE_865=m -+CONFIG_NLS_CODEPAGE_866=m -+CONFIG_NLS_CODEPAGE_869=m -+CONFIG_NLS_CODEPAGE_936=m -+CONFIG_NLS_CODEPAGE_950=m -+CONFIG_NLS_CODEPAGE_932=m -+CONFIG_NLS_CODEPAGE_949=m -+CONFIG_NLS_CODEPAGE_874=m -+CONFIG_NLS_ISO8859_8=m -+CONFIG_NLS_CODEPAGE_1250=m -+CONFIG_NLS_CODEPAGE_1251=m -+CONFIG_NLS_ASCII=y -+CONFIG_NLS_ISO8859_1=m -+CONFIG_NLS_ISO8859_2=m -+CONFIG_NLS_ISO8859_3=m -+CONFIG_NLS_ISO8859_4=m -+CONFIG_NLS_ISO8859_5=m -+CONFIG_NLS_ISO8859_6=m -+CONFIG_NLS_ISO8859_7=m -+CONFIG_NLS_ISO8859_9=m -+CONFIG_NLS_ISO8859_13=m -+CONFIG_NLS_ISO8859_14=m -+CONFIG_NLS_ISO8859_15=m -+CONFIG_NLS_KOI8_R=m -+CONFIG_NLS_KOI8_U=m -+CONFIG_DLM=m -+CONFIG_SECURITY=y -+CONFIG_SECURITY_APPARMOR=y -+CONFIG_LSM="" -+CONFIG_CRYPTO_USER=m -+CONFIG_CRYPTO_CRYPTD=m -+CONFIG_CRYPTO_CHACHA20POLY1305=m -+CONFIG_CRYPTO_CBC=y -+CONFIG_CRYPTO_CTS=m -+CONFIG_CRYPTO_XTS=m -+CONFIG_CRYPTO_ADIANTUM=m -+CONFIG_CRYPTO_XCBC=m -+CONFIG_CRYPTO_WP512=m -+CONFIG_CRYPTO_CAST5=m -+CONFIG_CRYPTO_DES=y -+CONFIG_CRYPTO_LZ4=m -+CONFIG_CRYPTO_USER_API_HASH=m -+CONFIG_CRYPTO_USER_API_SKCIPHER=m -+CONFIG_CRYPTO_USER_API_RNG=m -+CONFIG_CRYPTO_USER_API_AEAD=m -+# CONFIG_CRYPTO_HW is not set -+CONFIG_CRC_ITU_T=y -+CONFIG_LIBCRC32C=y -+CONFIG_DMA_CMA=y -+CONFIG_CMA_SIZE_MBYTES=5 -+CONFIG_PRINTK_TIME=y -+CONFIG_BOOT_PRINTK_DELAY=y -+CONFIG_KGDB=y -+CONFIG_KGDB_KDB=y -+CONFIG_KDB_KEYBOARD=y -+CONFIG_DEBUG_MEMORY_INIT=y -+CONFIG_DETECT_HUNG_TASK=y -+CONFIG_LATENCYTOP=y -+CONFIG_FUNCTION_PROFILER=y -+CONFIG_STACK_TRACER=y -+CONFIG_IRQSOFF_TRACER=y -+CONFIG_SCHED_TRACER=y -+CONFIG_BLK_DEV_IO_TRACE=y -+# CONFIG_UPROBE_EVENTS is not set -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -new file mode 100644 -index 000000000000..bab586713394 ---- /dev/null -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -0,0 +1,1492 @@ -+CONFIG_LOCALVERSION="-v8" -+# CONFIG_LOCALVERSION_AUTO is not set -+CONFIG_SYSVIPC=y -+CONFIG_POSIX_MQUEUE=y -+CONFIG_GENERIC_IRQ_DEBUGFS=y -+CONFIG_NO_HZ=y -+CONFIG_HIGH_RES_TIMERS=y -+CONFIG_BPF_SYSCALL=y -+CONFIG_PREEMPT=y -+CONFIG_BSD_PROCESS_ACCT=y -+CONFIG_BSD_PROCESS_ACCT_V3=y -+CONFIG_TASKSTATS=y -+CONFIG_TASK_XACCT=y -+CONFIG_TASK_IO_ACCOUNTING=y -+CONFIG_IKCONFIG=m -+CONFIG_IKCONFIG_PROC=y -+CONFIG_MEMCG=y -+CONFIG_BLK_CGROUP=y -+CONFIG_CFS_BANDWIDTH=y -+CONFIG_CGROUP_PIDS=y -+CONFIG_CGROUP_FREEZER=y -+CONFIG_CPUSETS=y -+CONFIG_CGROUP_DEVICE=y -+CONFIG_CGROUP_CPUACCT=y -+CONFIG_CGROUP_PERF=y -+CONFIG_CGROUP_BPF=y -+CONFIG_NAMESPACES=y -+CONFIG_USER_NS=y -+CONFIG_SCHED_AUTOGROUP=y -+CONFIG_BLK_DEV_INITRD=y -+CONFIG_EMBEDDED=y -+# CONFIG_COMPAT_BRK is not set -+CONFIG_PROFILING=y -+CONFIG_ARCH_BCM2835=y -+# CONFIG_CAVIUM_ERRATUM_22375 is not set -+# CONFIG_CAVIUM_ERRATUM_23154 is not set -+# CONFIG_CAVIUM_ERRATUM_27456 is not set -+CONFIG_COMPAT=y -+CONFIG_ARMV8_DEPRECATED=y -+CONFIG_SWP_EMULATION=y -+CONFIG_CP15_BARRIER_EMULATION=y -+CONFIG_SETEND_EMULATION=y -+CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" -+# CONFIG_SUSPEND is not set -+CONFIG_CPU_IDLE=y -+CONFIG_ARM_CPUIDLE=y -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_STAT=y -+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y -+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+CONFIG_CPU_FREQ_GOV_ONDEMAND=y -+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -+CONFIG_CPUFREQ_DT=y -+CONFIG_ARM_RASPBERRYPI_CPUFREQ=y -+CONFIG_RASPBERRYPI_FIRMWARE=y -+CONFIG_VIRTUALIZATION=y -+CONFIG_KVM=y -+CONFIG_CRYPTO_AES_ARM64_BS=m -+CONFIG_JUMP_LABEL=y -+CONFIG_MODULES=y -+CONFIG_MODULE_UNLOAD=y -+CONFIG_MODVERSIONS=y -+CONFIG_MODULE_SRCVERSION_ALL=y -+CONFIG_BLK_DEV_THROTTLING=y -+CONFIG_PARTITION_ADVANCED=y -+CONFIG_MAC_PARTITION=y -+CONFIG_BINFMT_MISC=m -+CONFIG_CLEANCACHE=y -+CONFIG_FRONTSWAP=y -+CONFIG_CMA=y -+CONFIG_ZSWAP=y -+CONFIG_Z3FOLD=m -+CONFIG_ZSMALLOC=m -+CONFIG_NET=y -+CONFIG_PACKET=y -+CONFIG_UNIX=y -+CONFIG_XFRM_USER=y -+CONFIG_NET_KEY=m -+CONFIG_INET=y -+CONFIG_IP_MULTICAST=y -+CONFIG_IP_ADVANCED_ROUTER=y -+CONFIG_IP_MULTIPLE_TABLES=y -+CONFIG_IP_ROUTE_MULTIPATH=y -+CONFIG_IP_ROUTE_VERBOSE=y -+CONFIG_IP_PNP=y -+CONFIG_IP_PNP_DHCP=y -+CONFIG_IP_PNP_RARP=y -+CONFIG_NET_IPIP=m -+CONFIG_NET_IPGRE_DEMUX=m -+CONFIG_NET_IPGRE=m -+CONFIG_IP_MROUTE=y -+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IP_PIMSM_V1=y -+CONFIG_IP_PIMSM_V2=y -+CONFIG_NET_IPVTI=m -+CONFIG_NET_FOU=m -+CONFIG_INET_AH=m -+CONFIG_INET_ESP=m -+CONFIG_INET_IPCOMP=m -+CONFIG_INET_DIAG=m -+CONFIG_TCP_CONG_ADVANCED=y -+CONFIG_TCP_CONG_BBR=m -+CONFIG_IPV6=m -+CONFIG_IPV6_ROUTER_PREF=y -+CONFIG_IPV6_ROUTE_INFO=y -+CONFIG_INET6_AH=m -+CONFIG_INET6_ESP=m -+CONFIG_INET6_ESP_OFFLOAD=m -+CONFIG_INET6_IPCOMP=m -+CONFIG_IPV6_ILA=m -+CONFIG_IPV6_VTI=m -+CONFIG_IPV6_SIT_6RD=y -+CONFIG_IPV6_GRE=m -+CONFIG_IPV6_MULTIPLE_TABLES=y -+CONFIG_IPV6_SUBTREES=y -+CONFIG_IPV6_MROUTE=y -+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IPV6_PIMSM_V2=y -+CONFIG_NETFILTER=y -+CONFIG_BRIDGE_NETFILTER=m -+CONFIG_NF_CONNTRACK=m -+CONFIG_NF_CONNTRACK_ZONES=y -+CONFIG_NF_CONNTRACK_EVENTS=y -+CONFIG_NF_CONNTRACK_TIMESTAMP=y -+CONFIG_NF_CONNTRACK_AMANDA=m -+CONFIG_NF_CONNTRACK_FTP=m -+CONFIG_NF_CONNTRACK_H323=m -+CONFIG_NF_CONNTRACK_IRC=m -+CONFIG_NF_CONNTRACK_NETBIOS_NS=m -+CONFIG_NF_CONNTRACK_SNMP=m -+CONFIG_NF_CONNTRACK_PPTP=m -+CONFIG_NF_CONNTRACK_SANE=m -+CONFIG_NF_CONNTRACK_SIP=m -+CONFIG_NF_CONNTRACK_TFTP=m -+CONFIG_NF_CT_NETLINK=m -+CONFIG_NF_TABLES=m -+CONFIG_NF_TABLES_INET=y -+CONFIG_NF_TABLES_NETDEV=y -+CONFIG_NFT_NUMGEN=m -+CONFIG_NFT_CT=m -+CONFIG_NFT_FLOW_OFFLOAD=m -+CONFIG_NFT_COUNTER=m -+CONFIG_NFT_CONNLIMIT=m -+CONFIG_NFT_LOG=m -+CONFIG_NFT_LIMIT=m -+CONFIG_NFT_MASQ=m -+CONFIG_NFT_REDIR=m -+CONFIG_NFT_NAT=m -+CONFIG_NFT_TUNNEL=m -+CONFIG_NFT_OBJREF=m -+CONFIG_NFT_QUEUE=m -+CONFIG_NFT_QUOTA=m -+CONFIG_NFT_REJECT=m -+CONFIG_NFT_COMPAT=m -+CONFIG_NFT_HASH=m -+CONFIG_NFT_FIB_INET=m -+CONFIG_NFT_SOCKET=m -+CONFIG_NFT_OSF=m -+CONFIG_NFT_TPROXY=m -+CONFIG_NFT_DUP_NETDEV=m -+CONFIG_NFT_FWD_NETDEV=m -+CONFIG_NFT_FIB_NETDEV=m -+CONFIG_NF_FLOW_TABLE_INET=m -+CONFIG_NF_FLOW_TABLE=m -+CONFIG_NETFILTER_XT_SET=m -+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -+CONFIG_NETFILTER_XT_TARGET_DSCP=m -+CONFIG_NETFILTER_XT_TARGET_HMARK=m -+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -+CONFIG_NETFILTER_XT_TARGET_LED=m -+CONFIG_NETFILTER_XT_TARGET_LOG=m -+CONFIG_NETFILTER_XT_TARGET_MARK=m -+CONFIG_NETFILTER_XT_TARGET_NFLOG=m -+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -+CONFIG_NETFILTER_XT_TARGET_TEE=m -+CONFIG_NETFILTER_XT_TARGET_TPROXY=m -+CONFIG_NETFILTER_XT_TARGET_TRACE=m -+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -+CONFIG_NETFILTER_XT_MATCH_BPF=m -+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -+CONFIG_NETFILTER_XT_MATCH_COMMENT=m -+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -+CONFIG_NETFILTER_XT_MATCH_CPU=m -+CONFIG_NETFILTER_XT_MATCH_DCCP=m -+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -+CONFIG_NETFILTER_XT_MATCH_DSCP=m -+CONFIG_NETFILTER_XT_MATCH_ESP=m -+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_HELPER=m -+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -+CONFIG_NETFILTER_XT_MATCH_IPVS=m -+CONFIG_NETFILTER_XT_MATCH_LENGTH=m -+CONFIG_NETFILTER_XT_MATCH_LIMIT=m -+CONFIG_NETFILTER_XT_MATCH_MAC=m -+CONFIG_NETFILTER_XT_MATCH_MARK=m -+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -+CONFIG_NETFILTER_XT_MATCH_NFACCT=m -+CONFIG_NETFILTER_XT_MATCH_OSF=m -+CONFIG_NETFILTER_XT_MATCH_OWNER=m -+CONFIG_NETFILTER_XT_MATCH_POLICY=m -+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -+CONFIG_NETFILTER_XT_MATCH_QUOTA=m -+CONFIG_NETFILTER_XT_MATCH_RATEEST=m -+CONFIG_NETFILTER_XT_MATCH_REALM=m -+CONFIG_NETFILTER_XT_MATCH_RECENT=m -+CONFIG_NETFILTER_XT_MATCH_SOCKET=m -+CONFIG_NETFILTER_XT_MATCH_STATE=m -+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -+CONFIG_NETFILTER_XT_MATCH_STRING=m -+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -+CONFIG_NETFILTER_XT_MATCH_TIME=m -+CONFIG_NETFILTER_XT_MATCH_U32=m -+CONFIG_IP_SET=m -+CONFIG_IP_SET_BITMAP_IP=m -+CONFIG_IP_SET_BITMAP_IPMAC=m -+CONFIG_IP_SET_BITMAP_PORT=m -+CONFIG_IP_SET_HASH_IP=m -+CONFIG_IP_SET_HASH_IPPORT=m -+CONFIG_IP_SET_HASH_IPPORTIP=m -+CONFIG_IP_SET_HASH_IPPORTNET=m -+CONFIG_IP_SET_HASH_NET=m -+CONFIG_IP_SET_HASH_NETPORT=m -+CONFIG_IP_SET_HASH_NETIFACE=m -+CONFIG_IP_SET_LIST_SET=m -+CONFIG_IP_VS=m -+CONFIG_IP_VS_PROTO_TCP=y -+CONFIG_IP_VS_PROTO_UDP=y -+CONFIG_IP_VS_PROTO_ESP=y -+CONFIG_IP_VS_PROTO_AH=y -+CONFIG_IP_VS_PROTO_SCTP=y -+CONFIG_IP_VS_RR=m -+CONFIG_IP_VS_WRR=m -+CONFIG_IP_VS_LC=m -+CONFIG_IP_VS_WLC=m -+CONFIG_IP_VS_LBLC=m -+CONFIG_IP_VS_LBLCR=m -+CONFIG_IP_VS_DH=m -+CONFIG_IP_VS_SH=m -+CONFIG_IP_VS_SED=m -+CONFIG_IP_VS_NQ=m -+CONFIG_IP_VS_FTP=m -+CONFIG_IP_VS_PE_SIP=m -+CONFIG_NFT_DUP_IPV4=m -+CONFIG_NFT_FIB_IPV4=m -+CONFIG_NF_TABLES_ARP=y -+CONFIG_NF_FLOW_TABLE_IPV4=m -+CONFIG_NF_LOG_ARP=m -+CONFIG_IP_NF_IPTABLES=m -+CONFIG_IP_NF_MATCH_AH=m -+CONFIG_IP_NF_MATCH_ECN=m -+CONFIG_IP_NF_MATCH_RPFILTER=m -+CONFIG_IP_NF_MATCH_TTL=m -+CONFIG_IP_NF_FILTER=m -+CONFIG_IP_NF_TARGET_REJECT=m -+CONFIG_IP_NF_NAT=m -+CONFIG_IP_NF_TARGET_MASQUERADE=m -+CONFIG_IP_NF_TARGET_NETMAP=m -+CONFIG_IP_NF_TARGET_REDIRECT=m -+CONFIG_IP_NF_MANGLE=m -+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_ARPTABLES=m -+CONFIG_IP_NF_ARPFILTER=m -+CONFIG_IP_NF_ARP_MANGLE=m -+CONFIG_NFT_DUP_IPV6=m -+CONFIG_NFT_FIB_IPV6=m -+CONFIG_NF_FLOW_TABLE_IPV6=m -+CONFIG_IP6_NF_IPTABLES=m -+CONFIG_IP6_NF_MATCH_AH=m -+CONFIG_IP6_NF_MATCH_EUI64=m -+CONFIG_IP6_NF_MATCH_FRAG=m -+CONFIG_IP6_NF_MATCH_OPTS=m -+CONFIG_IP6_NF_MATCH_HL=m -+CONFIG_IP6_NF_MATCH_IPV6HEADER=m -+CONFIG_IP6_NF_MATCH_MH=m -+CONFIG_IP6_NF_MATCH_RPFILTER=m -+CONFIG_IP6_NF_MATCH_RT=m -+CONFIG_IP6_NF_MATCH_SRH=m -+CONFIG_IP6_NF_TARGET_HL=m -+CONFIG_IP6_NF_FILTER=m -+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 -+CONFIG_NF_TABLES_BRIDGE=m -+CONFIG_NFT_BRIDGE_REJECT=m -+CONFIG_BRIDGE_NF_EBTABLES=m -+CONFIG_BRIDGE_EBT_BROUTE=m -+CONFIG_BRIDGE_EBT_T_FILTER=m -+CONFIG_BRIDGE_EBT_T_NAT=m -+CONFIG_BRIDGE_EBT_802_3=m -+CONFIG_BRIDGE_EBT_AMONG=m -+CONFIG_BRIDGE_EBT_ARP=m -+CONFIG_BRIDGE_EBT_IP=m -+CONFIG_BRIDGE_EBT_IP6=m -+CONFIG_BRIDGE_EBT_LIMIT=m -+CONFIG_BRIDGE_EBT_MARK=m -+CONFIG_BRIDGE_EBT_PKTTYPE=m -+CONFIG_BRIDGE_EBT_STP=m -+CONFIG_BRIDGE_EBT_VLAN=m -+CONFIG_BRIDGE_EBT_ARPREPLY=m -+CONFIG_BRIDGE_EBT_DNAT=m -+CONFIG_BRIDGE_EBT_MARK_T=m -+CONFIG_BRIDGE_EBT_REDIRECT=m -+CONFIG_BRIDGE_EBT_SNAT=m -+CONFIG_BRIDGE_EBT_LOG=m -+CONFIG_BRIDGE_EBT_NFLOG=m -+CONFIG_SCTP_COOKIE_HMAC_SHA1=y -+CONFIG_ATM=m -+CONFIG_L2TP=m -+CONFIG_L2TP_V3=y -+CONFIG_L2TP_IP=m -+CONFIG_L2TP_ETH=m -+CONFIG_BRIDGE=m -+CONFIG_VLAN_8021Q=m -+CONFIG_VLAN_8021Q_GVRP=y -+CONFIG_ATALK=m -+CONFIG_6LOWPAN=m -+CONFIG_IEEE802154=m -+CONFIG_IEEE802154_6LOWPAN=m -+CONFIG_MAC802154=m -+CONFIG_NET_SCHED=y -+CONFIG_NET_SCH_CBQ=m -+CONFIG_NET_SCH_HTB=m -+CONFIG_NET_SCH_HFSC=m -+CONFIG_NET_SCH_ATM=m -+CONFIG_NET_SCH_PRIO=m -+CONFIG_NET_SCH_MULTIQ=m -+CONFIG_NET_SCH_RED=m -+CONFIG_NET_SCH_SFB=m -+CONFIG_NET_SCH_SFQ=m -+CONFIG_NET_SCH_TEQL=m -+CONFIG_NET_SCH_TBF=m -+CONFIG_NET_SCH_GRED=m -+CONFIG_NET_SCH_DSMARK=m -+CONFIG_NET_SCH_NETEM=m -+CONFIG_NET_SCH_DRR=m -+CONFIG_NET_SCH_MQPRIO=m -+CONFIG_NET_SCH_CHOKE=m -+CONFIG_NET_SCH_QFQ=m -+CONFIG_NET_SCH_CODEL=m -+CONFIG_NET_SCH_FQ_CODEL=m -+CONFIG_NET_SCH_CAKE=m -+CONFIG_NET_SCH_FQ=m -+CONFIG_NET_SCH_HHF=m -+CONFIG_NET_SCH_PIE=m -+CONFIG_NET_SCH_INGRESS=m -+CONFIG_NET_SCH_PLUG=m -+CONFIG_NET_CLS_BASIC=m -+CONFIG_NET_CLS_TCINDEX=m -+CONFIG_NET_CLS_ROUTE4=m -+CONFIG_NET_CLS_FW=m -+CONFIG_NET_CLS_U32=m -+CONFIG_CLS_U32_MARK=y -+CONFIG_NET_CLS_RSVP=m -+CONFIG_NET_CLS_RSVP6=m -+CONFIG_NET_CLS_FLOW=m -+CONFIG_NET_CLS_CGROUP=m -+CONFIG_NET_EMATCH=y -+CONFIG_NET_EMATCH_CMP=m -+CONFIG_NET_EMATCH_NBYTE=m -+CONFIG_NET_EMATCH_U32=m -+CONFIG_NET_EMATCH_META=m -+CONFIG_NET_EMATCH_TEXT=m -+CONFIG_NET_EMATCH_IPSET=m -+CONFIG_NET_CLS_ACT=y -+CONFIG_NET_ACT_POLICE=m -+CONFIG_NET_ACT_GACT=m -+CONFIG_GACT_PROB=y -+CONFIG_NET_ACT_MIRRED=m -+CONFIG_NET_ACT_IPT=m -+CONFIG_NET_ACT_NAT=m -+CONFIG_NET_ACT_PEDIT=m -+CONFIG_NET_ACT_SIMP=m -+CONFIG_NET_ACT_SKBEDIT=m -+CONFIG_NET_ACT_CSUM=m -+CONFIG_BATMAN_ADV=m -+CONFIG_OPENVSWITCH=m -+CONFIG_CGROUP_NET_PRIO=y -+CONFIG_NET_PKTGEN=m -+CONFIG_HAMRADIO=y -+CONFIG_AX25=m -+CONFIG_NETROM=m -+CONFIG_ROSE=m -+CONFIG_MKISS=m -+CONFIG_6PACK=m -+CONFIG_BPQETHER=m -+CONFIG_BAYCOM_SER_FDX=m -+CONFIG_BAYCOM_SER_HDX=m -+CONFIG_YAM=m -+CONFIG_CAN=m -+CONFIG_CAN_J1939=m -+CONFIG_CAN_ISOTP=m -+CONFIG_CAN_VCAN=m -+CONFIG_CAN_SLCAN=m -+CONFIG_CAN_MCP251X=m -+CONFIG_CAN_MCP251XFD=m -+CONFIG_CAN_EMS_USB=m -+CONFIG_CAN_GS_USB=m -+CONFIG_BT=m -+CONFIG_BT_RFCOMM=m -+CONFIG_BT_RFCOMM_TTY=y -+CONFIG_BT_BNEP=m -+CONFIG_BT_BNEP_MC_FILTER=y -+CONFIG_BT_BNEP_PROTO_FILTER=y -+CONFIG_BT_HIDP=m -+CONFIG_BT_6LOWPAN=m -+CONFIG_BT_HCIBTUSB=m -+CONFIG_BT_HCIUART=m -+CONFIG_BT_HCIUART_3WIRE=y -+CONFIG_BT_HCIUART_BCM=y -+CONFIG_BT_HCIBCM203X=m -+CONFIG_BT_HCIBPA10X=m -+CONFIG_BT_HCIBFUSB=m -+CONFIG_BT_HCIVHCI=m -+CONFIG_BT_MRVL=m -+CONFIG_BT_MRVL_SDIO=m -+CONFIG_BT_ATH3K=m -+CONFIG_CFG80211=m -+CONFIG_CFG80211_WEXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_MESH=y -+CONFIG_RFKILL=m -+CONFIG_RFKILL_INPUT=y -+CONFIG_NET_9P=m -+CONFIG_NFC=m -+CONFIG_PCI=y -+CONFIG_PCIE_BRCMSTB=y -+CONFIG_UEVENT_HELPER=y -+CONFIG_DEVTMPFS=y -+CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_MTD=m -+CONFIG_MTD_BLOCK=m -+CONFIG_MTD_BLOCK2MTD=m -+CONFIG_MTD_SPI_NOR=m -+CONFIG_MTD_UBI=m -+CONFIG_OF_CONFIGFS=y -+CONFIG_ZRAM=m -+CONFIG_BLK_DEV_LOOP=y -+CONFIG_BLK_DEV_CRYPTOLOOP=m -+CONFIG_BLK_DEV_DRBD=m -+CONFIG_BLK_DEV_NBD=m -+CONFIG_BLK_DEV_RAM=y -+CONFIG_CDROM_PKTCDVD=m -+CONFIG_ATA_OVER_ETH=m -+CONFIG_BLK_DEV_NVME=y -+CONFIG_EEPROM_AT24=m -+CONFIG_TI_ST=m -+CONFIG_SCSI=y -+# CONFIG_SCSI_PROC_FS is not set -+CONFIG_BLK_DEV_SD=y -+CONFIG_CHR_DEV_ST=m -+CONFIG_BLK_DEV_SR=m -+CONFIG_CHR_DEV_SG=m -+CONFIG_SCSI_ISCSI_ATTRS=y -+CONFIG_ISCSI_TCP=m -+CONFIG_ISCSI_BOOT_SYSFS=m -+CONFIG_ATA=m -+CONFIG_SATA_AHCI=m -+CONFIG_SATA_MV=m -+CONFIG_MD=y -+CONFIG_MD_LINEAR=m -+CONFIG_BLK_DEV_DM=m -+CONFIG_DM_CRYPT=m -+CONFIG_DM_SNAPSHOT=m -+CONFIG_DM_THIN_PROVISIONING=m -+CONFIG_DM_CACHE=m -+CONFIG_DM_MIRROR=m -+CONFIG_DM_LOG_USERSPACE=m -+CONFIG_DM_RAID=m -+CONFIG_DM_ZERO=m -+CONFIG_DM_DELAY=m -+CONFIG_NETDEVICES=y -+CONFIG_BONDING=m -+CONFIG_DUMMY=m -+CONFIG_WIREGUARD=m -+CONFIG_IFB=m -+CONFIG_MACVLAN=m -+CONFIG_MACVTAP=m -+CONFIG_IPVLAN=m -+CONFIG_VXLAN=m -+CONFIG_NETCONSOLE=m -+CONFIG_TUN=m -+CONFIG_VETH=m -+CONFIG_NET_VRF=m -+CONFIG_BCMGENET=y -+CONFIG_ENC28J60=m -+CONFIG_QCA7000_SPI=m -+CONFIG_QCA7000_UART=m -+CONFIG_WIZNET_W5100=m -+CONFIG_WIZNET_W5100_SPI=m -+CONFIG_MICREL_PHY=y -+CONFIG_MDIO_BITBANG=m -+CONFIG_PPP=m -+CONFIG_PPP_BSDCOMP=m -+CONFIG_PPP_DEFLATE=m -+CONFIG_PPP_FILTER=y -+CONFIG_PPP_MPPE=m -+CONFIG_PPP_MULTILINK=y -+CONFIG_PPPOATM=m -+CONFIG_PPPOE=m -+CONFIG_PPPOL2TP=m -+CONFIG_PPP_ASYNC=m -+CONFIG_PPP_SYNC_TTY=m -+CONFIG_SLIP=m -+CONFIG_SLIP_COMPRESSED=y -+CONFIG_SLIP_SMART=y -+CONFIG_USB_CATC=m -+CONFIG_USB_KAWETH=m -+CONFIG_USB_PEGASUS=m -+CONFIG_USB_RTL8150=m -+CONFIG_USB_RTL8152=y -+CONFIG_USB_LAN78XX=y -+CONFIG_USB_USBNET=y -+CONFIG_USB_NET_AX8817X=m -+CONFIG_USB_NET_AX88179_178A=m -+CONFIG_USB_NET_CDCETHER=m -+CONFIG_USB_NET_CDC_EEM=m -+CONFIG_USB_NET_CDC_NCM=m -+CONFIG_USB_NET_HUAWEI_CDC_NCM=m -+CONFIG_USB_NET_CDC_MBIM=m -+CONFIG_USB_NET_DM9601=m -+CONFIG_USB_NET_SR9700=m -+CONFIG_USB_NET_SR9800=m -+CONFIG_USB_NET_SMSC75XX=m -+CONFIG_USB_NET_SMSC95XX=y -+CONFIG_USB_NET_GL620A=m -+CONFIG_USB_NET_NET1080=m -+CONFIG_USB_NET_PLUSB=m -+CONFIG_USB_NET_MCS7830=m -+CONFIG_USB_NET_CDC_SUBSET=m -+CONFIG_USB_ALI_M5632=y -+CONFIG_USB_AN2720=y -+CONFIG_USB_EPSON2888=y -+CONFIG_USB_KC2190=y -+CONFIG_USB_NET_ZAURUS=m -+CONFIG_USB_NET_CX82310_ETH=m -+CONFIG_USB_NET_KALMIA=m -+CONFIG_USB_NET_QMI_WWAN=m -+CONFIG_USB_HSO=m -+CONFIG_USB_NET_INT51X1=m -+CONFIG_USB_IPHETH=m -+CONFIG_USB_SIERRA_NET=m -+CONFIG_USB_VL600=m -+CONFIG_USB_NET_AQC111=m -+CONFIG_ATH9K=m -+CONFIG_ATH9K_HTC=m -+CONFIG_CARL9170=m -+CONFIG_ATH6KL=m -+CONFIG_ATH6KL_USB=m -+CONFIG_AR5523=m -+CONFIG_AT76C50X_USB=m -+CONFIG_B43=m -+# CONFIG_B43_PHY_N is not set -+CONFIG_B43LEGACY=m -+CONFIG_BRCMFMAC=m -+CONFIG_BRCMFMAC_USB=y -+CONFIG_BRCMDBG=y -+CONFIG_HOSTAP=m -+CONFIG_P54_COMMON=m -+CONFIG_P54_USB=m -+CONFIG_LIBERTAS=m -+CONFIG_LIBERTAS_USB=m -+CONFIG_LIBERTAS_SDIO=m -+CONFIG_LIBERTAS_THINFIRM=m -+CONFIG_LIBERTAS_THINFIRM_USB=m -+CONFIG_MWIFIEX=m -+CONFIG_MWIFIEX_SDIO=m -+CONFIG_MT7601U=m -+CONFIG_MT76x0U=m -+CONFIG_MT76x2U=m -+CONFIG_RT2X00=m -+CONFIG_RT2500USB=m -+CONFIG_RT73USB=m -+CONFIG_RT2800USB=m -+CONFIG_RT2800USB_RT3573=y -+CONFIG_RT2800USB_RT53XX=y -+CONFIG_RT2800USB_RT55XX=y -+CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_RTL8187=m -+CONFIG_RTL8192CU=m -+CONFIG_RTL8XXXU=m -+CONFIG_USB_ZD1201=m -+CONFIG_ZD1211RW=m -+CONFIG_MAC80211_HWSIM=m -+CONFIG_USB_NET_RNDIS_WLAN=m -+CONFIG_IEEE802154_AT86RF230=m -+CONFIG_IEEE802154_MRF24J40=m -+CONFIG_IEEE802154_CC2520=m -+CONFIG_INPUT_MOUSEDEV=y -+CONFIG_INPUT_JOYDEV=m -+CONFIG_INPUT_EVDEV=y -+# CONFIG_KEYBOARD_ATKBD is not set -+CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_MATRIX=m -+CONFIG_KEYBOARD_CAP11XX=m -+# CONFIG_INPUT_MOUSE is not set -+CONFIG_INPUT_JOYSTICK=y -+CONFIG_JOYSTICK_IFORCE=m -+CONFIG_JOYSTICK_IFORCE_USB=m -+CONFIG_JOYSTICK_XPAD=m -+CONFIG_JOYSTICK_XPAD_FF=y -+CONFIG_JOYSTICK_XPAD_LEDS=y -+CONFIG_JOYSTICK_PSXPAD_SPI=m -+CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -+CONFIG_JOYSTICK_RPISENSE=m -+CONFIG_INPUT_TOUCHSCREEN=y -+CONFIG_TOUCHSCREEN_ADS7846=m -+CONFIG_TOUCHSCREEN_EGALAX=m -+CONFIG_TOUCHSCREEN_EXC3000=m -+CONFIG_TOUCHSCREEN_GOODIX=m -+CONFIG_TOUCHSCREEN_ILI210X=m -+CONFIG_TOUCHSCREEN_EDT_FT5X06=m -+CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m -+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -+CONFIG_TOUCHSCREEN_STMPE=m -+CONFIG_INPUT_MISC=y -+CONFIG_INPUT_AD714X=m -+CONFIG_INPUT_ATI_REMOTE2=m -+CONFIG_INPUT_KEYSPAN_REMOTE=m -+CONFIG_INPUT_POWERMATE=m -+CONFIG_INPUT_YEALINK=m -+CONFIG_INPUT_CM109=m -+CONFIG_INPUT_UINPUT=m -+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -+CONFIG_INPUT_ADXL34X=m -+CONFIG_INPUT_CMA3000=m -+CONFIG_SERIO=m -+CONFIG_SERIO_RAW=m -+CONFIG_GAMEPORT=m -+CONFIG_GAMEPORT_NS558=m -+CONFIG_GAMEPORT_L4=m -+CONFIG_BRCM_CHAR_DRIVERS=y -+CONFIG_BCM_VCIO=y -+CONFIG_BCM2835_DEVGPIOMEM=y -+CONFIG_RPIVID_MEM=m -+# CONFIG_LEGACY_PTYS is not set -+CONFIG_SERIAL_8250=y -+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -+CONFIG_SERIAL_8250_CONSOLE=y -+# CONFIG_SERIAL_8250_DMA is not set -+CONFIG_SERIAL_8250_NR_UARTS=1 -+CONFIG_SERIAL_8250_RUNTIME_UARTS=0 -+CONFIG_SERIAL_8250_EXTENDED=y -+CONFIG_SERIAL_8250_SHARE_IRQ=y -+CONFIG_SERIAL_8250_BCM2835AUX=y -+CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_AMBA_PL011=y -+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -+CONFIG_SERIAL_SC16IS7XX=m -+CONFIG_SERIAL_SC16IS7XX_SPI=y -+CONFIG_SERIAL_DEV_BUS=y -+CONFIG_TTY_PRINTK=y -+CONFIG_HW_RANDOM=y -+CONFIG_TCG_TPM=m -+CONFIG_TCG_TIS_SPI=m -+CONFIG_RANDOM_TRUST_BOOTLOADER=y -+CONFIG_I2C=y -+CONFIG_I2C_CHARDEV=m -+CONFIG_I2C_MUX_GPMUX=m -+CONFIG_I2C_MUX_PCA954x=m -+CONFIG_I2C_MUX_PINCTRL=m -+CONFIG_I2C_BCM2708=m -+CONFIG_I2C_BCM2835=m -+CONFIG_I2C_BRCMSTB=m -+CONFIG_I2C_GPIO=m -+CONFIG_I2C_ROBOTFUZZ_OSIF=m -+CONFIG_I2C_TINY_USB=m -+CONFIG_SPI=y -+CONFIG_SPI_BCM2835=m -+CONFIG_SPI_BCM2835AUX=m -+CONFIG_SPI_GPIO=m -+CONFIG_SPI_SPIDEV=m -+CONFIG_SPI_SLAVE=y -+CONFIG_PPS_CLIENT_LDISC=m -+CONFIG_PPS_CLIENT_GPIO=m -+CONFIG_PINCTRL_MCP23S08=m -+CONFIG_GPIO_SYSFS=y -+CONFIG_GPIO_BCM_VIRT=y -+CONFIG_GPIO_PCA953X=m -+CONFIG_GPIO_PCA953X_IRQ=y -+CONFIG_GPIO_PCF857X=m -+CONFIG_GPIO_ARIZONA=m -+CONFIG_GPIO_FSM=m -+CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MOCKUP=m -+CONFIG_W1=m -+CONFIG_W1_MASTER_DS2490=m -+CONFIG_W1_MASTER_DS2482=m -+CONFIG_W1_MASTER_DS1WM=m -+CONFIG_W1_MASTER_GPIO=m -+CONFIG_W1_SLAVE_THERM=m -+CONFIG_W1_SLAVE_SMEM=m -+CONFIG_W1_SLAVE_DS2408=m -+CONFIG_W1_SLAVE_DS2413=m -+CONFIG_W1_SLAVE_DS2406=m -+CONFIG_W1_SLAVE_DS2423=m -+CONFIG_W1_SLAVE_DS2431=m -+CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2438=m -+CONFIG_W1_SLAVE_DS2780=m -+CONFIG_W1_SLAVE_DS2781=m -+CONFIG_W1_SLAVE_DS28E04=m -+CONFIG_W1_SLAVE_DS28E17=m -+CONFIG_POWER_RESET_GPIO=y -+CONFIG_RPI_POE_POWER=m -+CONFIG_BATTERY_DS2760=m -+CONFIG_BATTERY_MAX17040=m -+CONFIG_BATTERY_GAUGE_LTC2941=m -+CONFIG_SENSORS_DS1621=m -+CONFIG_SENSORS_GPIO_FAN=m -+CONFIG_SENSORS_IIO_HWMON=m -+CONFIG_SENSORS_JC42=m -+CONFIG_SENSORS_LM75=m -+CONFIG_SENSORS_PWM_FAN=m -+CONFIG_SENSORS_RASPBERRYPI_HWMON=m -+CONFIG_SENSORS_SHT21=m -+CONFIG_SENSORS_SHT3x=m -+CONFIG_SENSORS_SHTC1=m -+CONFIG_SENSORS_INA2XX=m -+CONFIG_SENSORS_TMP102=m -+CONFIG_THERMAL=y -+CONFIG_BCM2711_THERMAL=y -+CONFIG_BCM2835_THERMAL=y -+CONFIG_WATCHDOG=y -+CONFIG_GPIO_WATCHDOG=m -+CONFIG_BCM2835_WDT=y -+CONFIG_MFD_STMPE=y -+CONFIG_STMPE_SPI=y -+CONFIG_MFD_SYSCON=y -+CONFIG_MFD_ARIZONA_I2C=m -+CONFIG_MFD_ARIZONA_SPI=m -+CONFIG_MFD_WM5102=y -+CONFIG_REGULATOR=y -+CONFIG_REGULATOR_FIXED_VOLTAGE=y -+CONFIG_REGULATOR_ARIZONA_LDO1=m -+CONFIG_REGULATOR_ARIZONA_MICSUPP=m -+CONFIG_REGULATOR_GPIO=y -+CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m -+CONFIG_RC_CORE=y -+CONFIG_LIRC=y -+CONFIG_BPF_LIRC_MODE2=y -+CONFIG_RC_DECODERS=y -+CONFIG_IR_NEC_DECODER=m -+CONFIG_IR_RC5_DECODER=m -+CONFIG_IR_RC6_DECODER=m -+CONFIG_IR_JVC_DECODER=m -+CONFIG_IR_SONY_DECODER=m -+CONFIG_IR_SANYO_DECODER=m -+CONFIG_IR_SHARP_DECODER=m -+CONFIG_IR_MCE_KBD_DECODER=m -+CONFIG_IR_XMP_DECODER=m -+CONFIG_IR_IMON_DECODER=m -+CONFIG_RC_DEVICES=y -+CONFIG_RC_ATI_REMOTE=m -+CONFIG_IR_IMON=m -+CONFIG_IR_MCEUSB=m -+CONFIG_IR_REDRAT3=m -+CONFIG_IR_STREAMZAP=m -+CONFIG_IR_IGUANA=m -+CONFIG_IR_TTUSBIR=m -+CONFIG_RC_LOOPBACK=m -+CONFIG_IR_GPIO_CIR=m -+CONFIG_IR_GPIO_TX=m -+CONFIG_IR_PWM_TX=m -+CONFIG_MEDIA_CEC_RC=y -+CONFIG_MEDIA_SUPPORT=m -+CONFIG_MEDIA_USB_SUPPORT=y -+CONFIG_USB_VIDEO_CLASS=m -+CONFIG_USB_PWC=m -+CONFIG_VIDEO_CPIA2=m -+CONFIG_USB_ZR364XX=m -+CONFIG_USB_STKWEBCAM=m -+CONFIG_USB_S2255=m -+CONFIG_VIDEO_USBTV=m -+CONFIG_VIDEO_PVRUSB2=m -+CONFIG_VIDEO_HDPVR=m -+CONFIG_VIDEO_STK1160_COMMON=m -+CONFIG_VIDEO_GO7007=m -+CONFIG_VIDEO_GO7007_USB=m -+CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -+CONFIG_VIDEO_AU0828=m -+CONFIG_VIDEO_AU0828_RC=y -+CONFIG_VIDEO_CX231XX=m -+CONFIG_VIDEO_CX231XX_ALSA=m -+CONFIG_VIDEO_CX231XX_DVB=m -+CONFIG_VIDEO_TM6000=m -+CONFIG_VIDEO_TM6000_ALSA=m -+CONFIG_VIDEO_TM6000_DVB=m -+CONFIG_DVB_USB=m -+CONFIG_DVB_USB_A800=m -+CONFIG_DVB_USB_DIBUSB_MB=m -+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -+CONFIG_DVB_USB_DIBUSB_MC=m -+CONFIG_DVB_USB_DIB0700=m -+CONFIG_DVB_USB_UMT_010=m -+CONFIG_DVB_USB_CXUSB=m -+CONFIG_DVB_USB_M920X=m -+CONFIG_DVB_USB_DIGITV=m -+CONFIG_DVB_USB_VP7045=m -+CONFIG_DVB_USB_VP702X=m -+CONFIG_DVB_USB_GP8PSK=m -+CONFIG_DVB_USB_NOVA_T_USB2=m -+CONFIG_DVB_USB_TTUSB2=m -+CONFIG_DVB_USB_DTT200U=m -+CONFIG_DVB_USB_OPERA1=m -+CONFIG_DVB_USB_AF9005=m -+CONFIG_DVB_USB_AF9005_REMOTE=m -+CONFIG_DVB_USB_PCTV452E=m -+CONFIG_DVB_USB_DW2102=m -+CONFIG_DVB_USB_CINERGY_T2=m -+CONFIG_DVB_USB_DTV5100=m -+CONFIG_DVB_USB_AZ6027=m -+CONFIG_DVB_USB_TECHNISAT_USB2=m -+CONFIG_DVB_USB_V2=m -+CONFIG_DVB_USB_AF9015=m -+CONFIG_DVB_USB_AF9035=m -+CONFIG_DVB_USB_ANYSEE=m -+CONFIG_DVB_USB_AU6610=m -+CONFIG_DVB_USB_AZ6007=m -+CONFIG_DVB_USB_CE6230=m -+CONFIG_DVB_USB_EC168=m -+CONFIG_DVB_USB_GL861=m -+CONFIG_DVB_USB_LME2510=m -+CONFIG_DVB_USB_MXL111SF=m -+CONFIG_DVB_USB_RTL28XXU=m -+CONFIG_DVB_USB_DVBSKY=m -+CONFIG_SMS_USB_DRV=m -+CONFIG_DVB_B2C2_FLEXCOP_USB=m -+CONFIG_DVB_AS102=m -+CONFIG_VIDEO_EM28XX=m -+CONFIG_VIDEO_EM28XX_V4L2=m -+CONFIG_VIDEO_EM28XX_ALSA=m -+CONFIG_VIDEO_EM28XX_DVB=m -+CONFIG_RADIO_SI470X=m -+CONFIG_USB_SI470X=m -+CONFIG_I2C_SI470X=m -+CONFIG_RADIO_SI4713=m -+CONFIG_I2C_SI4713=m -+CONFIG_USB_MR800=m -+CONFIG_USB_DSBR=m -+CONFIG_RADIO_SHARK=m -+CONFIG_RADIO_SHARK2=m -+CONFIG_USB_KEENE=m -+CONFIG_USB_MA901=m -+CONFIG_RADIO_TEA5764=m -+CONFIG_RADIO_SAA7706H=m -+CONFIG_RADIO_TEF6862=m -+CONFIG_RADIO_WL1273=m -+CONFIG_RADIO_WL128X=m -+CONFIG_V4L_PLATFORM_DRIVERS=y -+CONFIG_VIDEO_BCM2835_UNICAM=m -+CONFIG_V4L_TEST_DRIVERS=y -+CONFIG_VIDEO_VIMC=m -+CONFIG_VIDEO_VIVID=m -+CONFIG_VIDEO_VIM2M=m -+CONFIG_VIDEO_VICODEC=m -+CONFIG_VIDEO_UDA1342=m -+CONFIG_VIDEO_SONY_BTF_MPX=m -+CONFIG_VIDEO_ADV7180=m -+CONFIG_VIDEO_TC358743=m -+CONFIG_VIDEO_TVP5150=m -+CONFIG_VIDEO_TW2804=m -+CONFIG_VIDEO_TW9903=m -+CONFIG_VIDEO_TW9906=m -+CONFIG_VIDEO_IMX219=m -+CONFIG_VIDEO_IMX290=m -+CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_OV5647=m -+CONFIG_VIDEO_OV7251=m -+CONFIG_VIDEO_OV7640=m -+CONFIG_VIDEO_OV9281=m -+CONFIG_VIDEO_IRS1125=m -+CONFIG_VIDEO_MT9V011=m -+CONFIG_DRM=m -+CONFIG_DRM_LOAD_EDID_FIRMWARE=y -+CONFIG_DRM_UDL=m -+CONFIG_DRM_PANEL_SIMPLE=m -+CONFIG_DRM_PANEL_JDI_LT070ME05000=m -+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -+CONFIG_DRM_DISPLAY_CONNECTOR=m -+CONFIG_DRM_SIMPLE_BRIDGE=m -+CONFIG_DRM_TOSHIBA_TC358762=m -+CONFIG_DRM_V3D=m -+CONFIG_DRM_VC4=m -+CONFIG_DRM_VC4_HDMI_CEC=y -+CONFIG_TINYDRM_ILI9225=m -+CONFIG_TINYDRM_ILI9341=m -+CONFIG_TINYDRM_MI0283QT=m -+CONFIG_TINYDRM_REPAPER=m -+CONFIG_TINYDRM_ST7586=m -+CONFIG_TINYDRM_ST7735R=m -+CONFIG_DRM_GUD=m -+CONFIG_FB=y -+CONFIG_FB_BCM2708=y -+CONFIG_FB_UDL=m -+CONFIG_FB_SIMPLE=y -+CONFIG_FB_SSD1307=m -+CONFIG_FB_RPISENSE=m -+CONFIG_BACKLIGHT_RPI=m -+CONFIG_BACKLIGHT_GPIO=m -+CONFIG_FRAMEBUFFER_CONSOLE=y -+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -+CONFIG_LOGO=y -+# CONFIG_LOGO_LINUX_MONO is not set -+# CONFIG_LOGO_LINUX_VGA16 is not set -+CONFIG_SOUND=y -+CONFIG_SND=m -+CONFIG_SND_OSSEMUL=y -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_HRTIMER=m -+CONFIG_SND_SEQUENCER=m -+CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_DUMMY=m -+CONFIG_SND_ALOOP=m -+CONFIG_SND_VIRMIDI=m -+CONFIG_SND_MTPAV=m -+CONFIG_SND_SERIAL_U16550=m -+CONFIG_SND_MPU401=m -+CONFIG_SND_USB_AUDIO=m -+CONFIG_SND_USB_UA101=m -+CONFIG_SND_USB_CAIAQ=m -+CONFIG_SND_USB_CAIAQ_INPUT=y -+CONFIG_SND_USB_6FIRE=m -+CONFIG_SND_USB_HIFACE=m -+CONFIG_SND_USB_TONEPORT=m -+CONFIG_SND_SOC=m -+CONFIG_SND_BCM2835_SOC_I2S=m -+CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m -+CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m -+CONFIG_SND_BCM2708_SOC_PIFI_40=m -+CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m -+CONFIG_SND_BCM2708_SOC_RPI_DAC=m -+CONFIG_SND_BCM2708_SOC_RPI_PROTO=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m -+CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m -+CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m -+CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m -+CONFIG_SND_AUDIOSENSE_PI=m -+CONFIG_SND_DIGIDAC1_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m -+CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m -+CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m -+CONFIG_SND_PISOUND=m -+CONFIG_SND_SOC_AD193X_SPI=m -+CONFIG_SND_SOC_AD193X_I2C=m -+CONFIG_SND_SOC_ADAU1701=m -+CONFIG_SND_SOC_ADAU7002=m -+CONFIG_SND_SOC_AK4554=m -+CONFIG_SND_SOC_CS4265=m -+CONFIG_SND_SOC_ICS43432=m -+CONFIG_SND_SOC_MA120X0P=m -+CONFIG_SND_SOC_MAX98357A=m -+CONFIG_SND_SOC_SPDIF=m -+CONFIG_SND_SOC_WM8804_I2C=m -+CONFIG_SND_SOC_WM8960=m -+CONFIG_SND_SIMPLE_CARD=m -+CONFIG_HID_BATTERY_STRENGTH=y -+CONFIG_HIDRAW=y -+CONFIG_UHID=m -+CONFIG_HID_A4TECH=m -+CONFIG_HID_ACRUX=m -+CONFIG_HID_APPLE=m -+CONFIG_HID_ASUS=m -+CONFIG_HID_BELKIN=m -+CONFIG_HID_BETOP_FF=m -+CONFIG_HID_BIGBEN_FF=m -+CONFIG_HID_CHERRY=m -+CONFIG_HID_CHICONY=m -+CONFIG_HID_CYPRESS=m -+CONFIG_HID_DRAGONRISE=m -+CONFIG_HID_EMS_FF=m -+CONFIG_HID_ELECOM=m -+CONFIG_HID_ELO=m -+CONFIG_HID_EZKEY=m -+CONFIG_HID_GEMBIRD=m -+CONFIG_HID_HOLTEK=m -+CONFIG_HID_KEYTOUCH=m -+CONFIG_HID_KYE=m -+CONFIG_HID_UCLOGIC=m -+CONFIG_HID_WALTOP=m -+CONFIG_HID_GYRATION=m -+CONFIG_HID_TWINHAN=m -+CONFIG_HID_KENSINGTON=m -+CONFIG_HID_LCPOWER=m -+CONFIG_HID_LOGITECH=m -+CONFIG_HID_LOGITECH_DJ=m -+CONFIG_LOGITECH_FF=y -+CONFIG_LOGIRUMBLEPAD2_FF=y -+CONFIG_LOGIG940_FF=y -+CONFIG_HID_MAGICMOUSE=m -+CONFIG_HID_MICROSOFT=m -+CONFIG_HID_MONTEREY=m -+CONFIG_HID_MULTITOUCH=m -+CONFIG_HID_NTRIG=m -+CONFIG_HID_ORTEK=m -+CONFIG_HID_PANTHERLORD=m -+CONFIG_HID_PETALYNX=m -+CONFIG_HID_PICOLCD=m -+CONFIG_HID_ROCCAT=m -+CONFIG_HID_SAMSUNG=m -+CONFIG_HID_SONY=m -+CONFIG_SONY_FF=y -+CONFIG_HID_SPEEDLINK=m -+CONFIG_HID_STEAM=m -+CONFIG_HID_SUNPLUS=m -+CONFIG_HID_GREENASIA=m -+CONFIG_HID_SMARTJOYPLUS=m -+CONFIG_HID_TOPSEED=m -+CONFIG_HID_THINGM=m -+CONFIG_HID_THRUSTMASTER=m -+CONFIG_HID_WACOM=m -+CONFIG_HID_WIIMOTE=m -+CONFIG_HID_XINMO=m -+CONFIG_HID_ZEROPLUS=m -+CONFIG_HID_ZYDACRON=m -+CONFIG_HID_PID=y -+CONFIG_USB_HIDDEV=y -+CONFIG_USB=y -+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -+CONFIG_USB_MON=m -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_PLATFORM=y -+CONFIG_USB_DWCOTG=y -+CONFIG_USB_PRINTER=m -+CONFIG_USB_TMC=m -+CONFIG_USB_STORAGE=y -+CONFIG_USB_STORAGE_REALTEK=m -+CONFIG_USB_STORAGE_DATAFAB=m -+CONFIG_USB_STORAGE_FREECOM=m -+CONFIG_USB_STORAGE_ISD200=m -+CONFIG_USB_STORAGE_USBAT=m -+CONFIG_USB_STORAGE_SDDR09=m -+CONFIG_USB_STORAGE_SDDR55=m -+CONFIG_USB_STORAGE_JUMPSHOT=m -+CONFIG_USB_STORAGE_ALAUDA=m -+CONFIG_USB_STORAGE_ONETOUCH=m -+CONFIG_USB_STORAGE_KARMA=m -+CONFIG_USB_STORAGE_CYPRESS_ATACB=m -+CONFIG_USB_STORAGE_ENE_UB6250=m -+CONFIG_USB_UAS=y -+CONFIG_USB_MDC800=m -+CONFIG_USB_MICROTEK=m -+CONFIG_USBIP_CORE=m -+CONFIG_USBIP_VHCI_HCD=m -+CONFIG_USBIP_HOST=m -+CONFIG_USBIP_VUDC=m -+CONFIG_USB_DWC2=m -+CONFIG_USB_SERIAL=m -+CONFIG_USB_SERIAL_GENERIC=y -+CONFIG_USB_SERIAL_AIRCABLE=m -+CONFIG_USB_SERIAL_ARK3116=m -+CONFIG_USB_SERIAL_BELKIN=m -+CONFIG_USB_SERIAL_CH341=m -+CONFIG_USB_SERIAL_WHITEHEAT=m -+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -+CONFIG_USB_SERIAL_CP210X=m -+CONFIG_USB_SERIAL_CYPRESS_M8=m -+CONFIG_USB_SERIAL_EMPEG=m -+CONFIG_USB_SERIAL_FTDI_SIO=m -+CONFIG_USB_SERIAL_VISOR=m -+CONFIG_USB_SERIAL_IPAQ=m -+CONFIG_USB_SERIAL_IR=m -+CONFIG_USB_SERIAL_EDGEPORT=m -+CONFIG_USB_SERIAL_EDGEPORT_TI=m -+CONFIG_USB_SERIAL_F81232=m -+CONFIG_USB_SERIAL_GARMIN=m -+CONFIG_USB_SERIAL_IPW=m -+CONFIG_USB_SERIAL_IUU=m -+CONFIG_USB_SERIAL_KEYSPAN_PDA=m -+CONFIG_USB_SERIAL_KEYSPAN=m -+CONFIG_USB_SERIAL_KLSI=m -+CONFIG_USB_SERIAL_KOBIL_SCT=m -+CONFIG_USB_SERIAL_MCT_U232=m -+CONFIG_USB_SERIAL_METRO=m -+CONFIG_USB_SERIAL_MOS7720=m -+CONFIG_USB_SERIAL_MOS7840=m -+CONFIG_USB_SERIAL_NAVMAN=m -+CONFIG_USB_SERIAL_PL2303=m -+CONFIG_USB_SERIAL_OTI6858=m -+CONFIG_USB_SERIAL_QCAUX=m -+CONFIG_USB_SERIAL_QUALCOMM=m -+CONFIG_USB_SERIAL_SPCP8X5=m -+CONFIG_USB_SERIAL_SAFE=m -+CONFIG_USB_SERIAL_SIERRAWIRELESS=m -+CONFIG_USB_SERIAL_SYMBOL=m -+CONFIG_USB_SERIAL_TI=m -+CONFIG_USB_SERIAL_CYBERJACK=m -+CONFIG_USB_SERIAL_OPTION=m -+CONFIG_USB_SERIAL_OMNINET=m -+CONFIG_USB_SERIAL_OPTICON=m -+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_EMI62=m -+CONFIG_USB_EMI26=m -+CONFIG_USB_ADUTUX=m -+CONFIG_USB_SEVSEG=m -+CONFIG_USB_LEGOTOWER=m -+CONFIG_USB_LCD=m -+CONFIG_USB_CYPRESS_CY7C63=m -+CONFIG_USB_CYTHERM=m -+CONFIG_USB_IDMOUSE=m -+CONFIG_USB_FTDI_ELAN=m -+CONFIG_USB_APPLEDISPLAY=m -+CONFIG_USB_LD=m -+CONFIG_USB_TRANCEVIBRATOR=m -+CONFIG_USB_IOWARRIOR=m -+CONFIG_USB_TEST=m -+CONFIG_USB_ISIGHTFW=m -+CONFIG_USB_YUREX=m -+CONFIG_USB_ATM=m -+CONFIG_USB_SPEEDTOUCH=m -+CONFIG_USB_CXACRU=m -+CONFIG_USB_UEAGLEATM=m -+CONFIG_USB_XUSBATM=m -+CONFIG_NOP_USB_XCEIV=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_CONFIGFS=m -+CONFIG_USB_CONFIGFS_SERIAL=y -+CONFIG_USB_CONFIGFS_ACM=y -+CONFIG_USB_CONFIGFS_OBEX=y -+CONFIG_USB_CONFIGFS_NCM=y -+CONFIG_USB_CONFIGFS_ECM=y -+CONFIG_USB_CONFIGFS_ECM_SUBSET=y -+CONFIG_USB_CONFIGFS_RNDIS=y -+CONFIG_USB_CONFIGFS_EEM=y -+CONFIG_USB_CONFIGFS_MASS_STORAGE=y -+CONFIG_USB_CONFIGFS_F_LB_SS=y -+CONFIG_USB_CONFIGFS_F_FS=y -+CONFIG_USB_CONFIGFS_F_UAC1=y -+CONFIG_USB_CONFIGFS_F_UAC2=y -+CONFIG_USB_CONFIGFS_F_MIDI=y -+CONFIG_USB_CONFIGFS_F_HID=y -+CONFIG_USB_CONFIGFS_F_UVC=y -+CONFIG_USB_CONFIGFS_F_PRINTER=y -+CONFIG_USB_ZERO=m -+CONFIG_USB_AUDIO=m -+CONFIG_USB_ETH=m -+CONFIG_USB_GADGETFS=m -+CONFIG_USB_MASS_STORAGE=m -+CONFIG_USB_G_SERIAL=m -+CONFIG_USB_MIDI_GADGET=m -+CONFIG_USB_G_PRINTER=m -+CONFIG_USB_CDC_COMPOSITE=m -+CONFIG_USB_G_ACM_MS=m -+CONFIG_USB_G_MULTI=m -+CONFIG_USB_G_HID=m -+CONFIG_USB_G_WEBCAM=m -+CONFIG_MMC=y -+CONFIG_MMC_BLOCK_MINORS=32 -+CONFIG_MMC_BCM2835_MMC=y -+CONFIG_MMC_BCM2835_DMA=y -+CONFIG_MMC_BCM2835_SDHOST=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_SDHCI_IPROC=y -+CONFIG_MMC_SPI=m -+CONFIG_LEDS_CLASS=y -+CONFIG_LEDS_PCA9532=m -+CONFIG_LEDS_GPIO=y -+CONFIG_LEDS_PCA955X=m -+CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_IS31FL32XX=m -+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=m -+CONFIG_LEDS_TRIGGER_CAMERA=m -+CONFIG_LEDS_TRIGGER_INPUT=y -+CONFIG_LEDS_TRIGGER_PANIC=y -+CONFIG_LEDS_TRIGGER_NETDEV=m -+CONFIG_LEDS_TRIGGER_ACTPWR=y -+CONFIG_ACCESSIBILITY=y -+CONFIG_SPEAKUP=m -+CONFIG_SPEAKUP_SYNTH_SOFT=m -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_DRV_ABX80X=m -+CONFIG_RTC_DRV_DS1307=m -+CONFIG_RTC_DRV_DS1374=m -+CONFIG_RTC_DRV_DS1672=m -+CONFIG_RTC_DRV_MAX6900=m -+CONFIG_RTC_DRV_RS5C372=m -+CONFIG_RTC_DRV_ISL1208=m -+CONFIG_RTC_DRV_ISL12022=m -+CONFIG_RTC_DRV_X1205=m -+CONFIG_RTC_DRV_PCF8523=m -+CONFIG_RTC_DRV_PCF85063=m -+CONFIG_RTC_DRV_PCF85363=m -+CONFIG_RTC_DRV_PCF8563=m -+CONFIG_RTC_DRV_PCF8583=m -+CONFIG_RTC_DRV_M41T80=m -+CONFIG_RTC_DRV_BQ32K=m -+CONFIG_RTC_DRV_S35390A=m -+CONFIG_RTC_DRV_FM3130=m -+CONFIG_RTC_DRV_RX8581=m -+CONFIG_RTC_DRV_RX8025=m -+CONFIG_RTC_DRV_EM3027=m -+CONFIG_RTC_DRV_RV3028=m -+CONFIG_RTC_DRV_SD3078=m -+CONFIG_RTC_DRV_M41T93=m -+CONFIG_RTC_DRV_M41T94=m -+CONFIG_RTC_DRV_DS1302=m -+CONFIG_RTC_DRV_DS1305=m -+CONFIG_RTC_DRV_DS1390=m -+CONFIG_RTC_DRV_R9701=m -+CONFIG_RTC_DRV_RX4581=m -+CONFIG_RTC_DRV_RS5C348=m -+CONFIG_RTC_DRV_MAX6902=m -+CONFIG_RTC_DRV_PCF2123=m -+CONFIG_RTC_DRV_DS3232=m -+CONFIG_RTC_DRV_PCF2127=m -+CONFIG_RTC_DRV_RV3029C2=m -+CONFIG_DMADEVICES=y -+CONFIG_DMA_BCM2835=y -+CONFIG_DMA_BCM2708=y -+CONFIG_DMABUF_HEAPS=y -+CONFIG_DMABUF_HEAPS_SYSTEM=y -+CONFIG_DMABUF_HEAPS_CMA=y -+CONFIG_AUXDISPLAY=y -+CONFIG_HD44780=m -+CONFIG_UIO=m -+CONFIG_UIO_PDRV_GENIRQ=m -+CONFIG_VHOST_NET=m -+CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y -+CONFIG_STAGING=y -+CONFIG_PRISM2_USB=m -+CONFIG_R8712U=m -+CONFIG_R8188EU=m -+CONFIG_VT6656=m -+CONFIG_STAGING_MEDIA=y -+CONFIG_VIDEO_RPIVID=m -+CONFIG_ASHMEM=y -+CONFIG_FB_TFT=m -+CONFIG_FB_TFT_AGM1264K_FL=m -+CONFIG_FB_TFT_BD663474=m -+CONFIG_FB_TFT_HX8340BN=m -+CONFIG_FB_TFT_HX8347D=m -+CONFIG_FB_TFT_HX8353D=m -+CONFIG_FB_TFT_HX8357D=m -+CONFIG_FB_TFT_ILI9163=m -+CONFIG_FB_TFT_ILI9320=m -+CONFIG_FB_TFT_ILI9325=m -+CONFIG_FB_TFT_ILI9340=m -+CONFIG_FB_TFT_ILI9341=m -+CONFIG_FB_TFT_ILI9481=m -+CONFIG_FB_TFT_ILI9486=m -+CONFIG_FB_TFT_PCD8544=m -+CONFIG_FB_TFT_RA8875=m -+CONFIG_FB_TFT_S6D02A1=m -+CONFIG_FB_TFT_S6D1121=m -+CONFIG_FB_TFT_SH1106=m -+CONFIG_FB_TFT_SSD1289=m -+CONFIG_FB_TFT_SSD1306=m -+CONFIG_FB_TFT_SSD1331=m -+CONFIG_FB_TFT_SSD1351=m -+CONFIG_FB_TFT_ST7735R=m -+CONFIG_FB_TFT_ST7789V=m -+CONFIG_FB_TFT_TINYLCD=m -+CONFIG_FB_TFT_TLS8204=m -+CONFIG_FB_TFT_UC1701=m -+CONFIG_FB_TFT_UPD161704=m -+CONFIG_FB_TFT_WATTEROTT=m -+CONFIG_BCM2835_VCHIQ=y -+CONFIG_SND_BCM2835=m -+CONFIG_VIDEO_BCM2835=m -+CONFIG_VIDEO_CODEC_BCM2835=m -+CONFIG_VIDEO_ISP_BCM2835=m -+CONFIG_CLK_RASPBERRYPI=y -+CONFIG_MAILBOX=y -+CONFIG_BCM2835_MBOX=y -+# CONFIG_IOMMU_SUPPORT is not set -+CONFIG_RASPBERRYPI_POWER=y -+CONFIG_IIO=m -+CONFIG_IIO_BUFFER_CB=m -+CONFIG_MCP320X=m -+CONFIG_MCP3422=m -+CONFIG_TI_ADS1015=m -+CONFIG_BME680=m -+CONFIG_CCS811=m -+CONFIG_SENSIRION_SGP30=m -+CONFIG_SPS30_I2C=m -+CONFIG_DHT11=m -+CONFIG_HDC100X=m -+CONFIG_HTU21=m -+CONFIG_INV_MPU6050_I2C=m -+CONFIG_APDS9960=m -+CONFIG_BH1750=m -+CONFIG_TSL4531=m -+CONFIG_VEML6070=m -+CONFIG_BMP280=m -+CONFIG_MAXIM_THERMOCOUPLE=m -+CONFIG_MAX31856=m -+CONFIG_PWM_BCM2835=m -+CONFIG_PWM_PCA9685=m -+CONFIG_PWM_RASPBERRYPI_POE=m -+CONFIG_RPI_AXIPERF=m -+CONFIG_ANDROID=y -+CONFIG_ANDROID_BINDER_IPC=y -+CONFIG_ANDROID_BINDERFS=y -+CONFIG_NVMEM_RMEM=m -+CONFIG_EXT4_FS=y -+CONFIG_EXT4_FS_POSIX_ACL=y -+CONFIG_EXT4_FS_SECURITY=y -+CONFIG_REISERFS_FS=m -+CONFIG_REISERFS_FS_XATTR=y -+CONFIG_REISERFS_FS_POSIX_ACL=y -+CONFIG_REISERFS_FS_SECURITY=y -+CONFIG_JFS_FS=m -+CONFIG_JFS_POSIX_ACL=y -+CONFIG_JFS_SECURITY=y -+CONFIG_JFS_STATISTICS=y -+CONFIG_XFS_FS=m -+CONFIG_XFS_QUOTA=y -+CONFIG_XFS_POSIX_ACL=y -+CONFIG_XFS_RT=y -+CONFIG_GFS2_FS=m -+CONFIG_OCFS2_FS=m -+CONFIG_BTRFS_FS=m -+CONFIG_BTRFS_FS_POSIX_ACL=y -+CONFIG_NILFS2_FS=m -+CONFIG_F2FS_FS=y -+CONFIG_FS_ENCRYPTION=y -+CONFIG_FANOTIFY=y -+CONFIG_QFMT_V1=m -+CONFIG_QFMT_V2=m -+CONFIG_AUTOFS4_FS=y -+CONFIG_FUSE_FS=m -+CONFIG_CUSE=m -+CONFIG_OVERLAY_FS=m -+CONFIG_FSCACHE=y -+CONFIG_FSCACHE_STATS=y -+CONFIG_CACHEFILES=y -+CONFIG_ISO9660_FS=m -+CONFIG_JOLIET=y -+CONFIG_ZISOFS=y -+CONFIG_UDF_FS=m -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -+CONFIG_EXFAT_FS=m -+CONFIG_NTFS_FS=m -+CONFIG_NTFS_RW=y -+CONFIG_TMPFS=y -+CONFIG_TMPFS_POSIX_ACL=y -+CONFIG_ECRYPT_FS=m -+CONFIG_HFS_FS=m -+CONFIG_HFSPLUS_FS=m -+CONFIG_JFFS2_FS=m -+CONFIG_JFFS2_SUMMARY=y -+CONFIG_UBIFS_FS=m -+CONFIG_SQUASHFS=m -+CONFIG_SQUASHFS_XATTR=y -+CONFIG_SQUASHFS_LZO=y -+CONFIG_SQUASHFS_XZ=y -+CONFIG_NFS_FS=y -+CONFIG_NFS_V3_ACL=y -+CONFIG_NFS_V4=y -+CONFIG_NFS_SWAP=y -+CONFIG_NFS_V4_1=y -+CONFIG_NFS_V4_2=y -+CONFIG_ROOT_NFS=y -+CONFIG_NFS_FSCACHE=y -+CONFIG_NFSD=m -+CONFIG_NFSD_V3_ACL=y -+CONFIG_NFSD_V4=y -+CONFIG_CIFS=m -+CONFIG_CIFS_UPCALL=y -+CONFIG_CIFS_XATTR=y -+CONFIG_CIFS_POSIX=y -+CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_FSCACHE=y -+CONFIG_9P_FS=m -+CONFIG_9P_FS_POSIX_ACL=y -+CONFIG_NLS_DEFAULT="utf8" -+CONFIG_NLS_CODEPAGE_437=y -+CONFIG_NLS_CODEPAGE_737=m -+CONFIG_NLS_CODEPAGE_775=m -+CONFIG_NLS_CODEPAGE_850=m -+CONFIG_NLS_CODEPAGE_852=m -+CONFIG_NLS_CODEPAGE_855=m -+CONFIG_NLS_CODEPAGE_857=m -+CONFIG_NLS_CODEPAGE_860=m -+CONFIG_NLS_CODEPAGE_861=m -+CONFIG_NLS_CODEPAGE_862=m -+CONFIG_NLS_CODEPAGE_863=m -+CONFIG_NLS_CODEPAGE_864=m -+CONFIG_NLS_CODEPAGE_865=m -+CONFIG_NLS_CODEPAGE_866=m -+CONFIG_NLS_CODEPAGE_869=m -+CONFIG_NLS_CODEPAGE_936=m -+CONFIG_NLS_CODEPAGE_950=m -+CONFIG_NLS_CODEPAGE_932=m -+CONFIG_NLS_CODEPAGE_949=m -+CONFIG_NLS_CODEPAGE_874=m -+CONFIG_NLS_ISO8859_8=m -+CONFIG_NLS_CODEPAGE_1250=m -+CONFIG_NLS_CODEPAGE_1251=m -+CONFIG_NLS_ASCII=y -+CONFIG_NLS_ISO8859_1=m -+CONFIG_NLS_ISO8859_2=m -+CONFIG_NLS_ISO8859_3=m -+CONFIG_NLS_ISO8859_4=m -+CONFIG_NLS_ISO8859_5=m -+CONFIG_NLS_ISO8859_6=m -+CONFIG_NLS_ISO8859_7=m -+CONFIG_NLS_ISO8859_9=m -+CONFIG_NLS_ISO8859_13=m -+CONFIG_NLS_ISO8859_14=m -+CONFIG_NLS_ISO8859_15=m -+CONFIG_NLS_KOI8_R=m -+CONFIG_NLS_KOI8_U=m -+CONFIG_DLM=m -+CONFIG_SECURITY=y -+CONFIG_SECURITY_APPARMOR=y -+CONFIG_LSM="" -+CONFIG_CRYPTO_USER=m -+CONFIG_CRYPTO_CHACHA20POLY1305=m -+CONFIG_CRYPTO_ADIANTUM=m -+CONFIG_CRYPTO_XCBC=m -+CONFIG_CRYPTO_WP512=m -+CONFIG_CRYPTO_CAST5=m -+CONFIG_CRYPTO_DES=y -+CONFIG_CRYPTO_LZ4=m -+CONFIG_CRYPTO_USER_API_HASH=m -+CONFIG_CRYPTO_USER_API_SKCIPHER=m -+CONFIG_CRYPTO_USER_API_RNG=m -+CONFIG_CRYPTO_USER_API_AEAD=m -+# CONFIG_CRYPTO_HW is not set -+CONFIG_CRC_ITU_T=y -+CONFIG_LIBCRC32C=y -+CONFIG_DMA_CMA=y -+CONFIG_CMA_SIZE_MBYTES=5 -+CONFIG_PRINTK_TIME=y -+CONFIG_BOOT_PRINTK_DELAY=y -+CONFIG_KGDB=y -+CONFIG_KGDB_KDB=y -+CONFIG_KDB_KEYBOARD=y -+CONFIG_DEBUG_MEMORY_INIT=y -+CONFIG_DETECT_HUNG_TASK=y -+CONFIG_LATENCYTOP=y -+CONFIG_FUNCTION_PROFILER=y -+CONFIG_STACK_TRACER=y -+CONFIG_IRQSOFF_TRACER=y -+CONFIG_SCHED_TRACER=y -+CONFIG_BLK_DEV_IO_TRACE=y -+# CONFIG_UPROBE_EVENTS is not set -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -new file mode 100644 -index 000000000000..235fecf9c903 ---- /dev/null -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -0,0 +1,1339 @@ -+CONFIG_LOCALVERSION="-v8" -+# CONFIG_LOCALVERSION_AUTO is not set -+CONFIG_SYSVIPC=y -+CONFIG_POSIX_MQUEUE=y -+CONFIG_NO_HZ=y -+CONFIG_HIGH_RES_TIMERS=y -+CONFIG_BPF_SYSCALL=y -+CONFIG_PREEMPT=y -+CONFIG_BSD_PROCESS_ACCT=y -+CONFIG_BSD_PROCESS_ACCT_V3=y -+CONFIG_TASKSTATS=y -+CONFIG_TASK_DELAY_ACCT=y -+CONFIG_TASK_XACCT=y -+CONFIG_TASK_IO_ACCOUNTING=y -+CONFIG_IKCONFIG=m -+CONFIG_IKCONFIG_PROC=y -+CONFIG_MEMCG=y -+CONFIG_BLK_CGROUP=y -+CONFIG_CFS_BANDWIDTH=y -+CONFIG_CGROUP_PIDS=y -+CONFIG_CGROUP_FREEZER=y -+CONFIG_CPUSETS=y -+CONFIG_CGROUP_DEVICE=y -+CONFIG_CGROUP_CPUACCT=y -+CONFIG_CGROUP_PERF=y -+CONFIG_CGROUP_BPF=y -+CONFIG_NAMESPACES=y -+CONFIG_USER_NS=y -+CONFIG_SCHED_AUTOGROUP=y -+CONFIG_BLK_DEV_INITRD=y -+CONFIG_EMBEDDED=y -+# CONFIG_COMPAT_BRK is not set -+CONFIG_PROFILING=y -+CONFIG_ARCH_BCM2835=y -+# CONFIG_CAVIUM_ERRATUM_22375 is not set -+# CONFIG_CAVIUM_ERRATUM_23154 is not set -+# CONFIG_CAVIUM_ERRATUM_27456 is not set -+CONFIG_SCHED_MC=y -+CONFIG_NR_CPUS=4 -+CONFIG_HZ_1000=y -+CONFIG_COMPAT=y -+CONFIG_ARMV8_DEPRECATED=y -+CONFIG_SWP_EMULATION=y -+CONFIG_CP15_BARRIER_EMULATION=y -+CONFIG_SETEND_EMULATION=y -+CONFIG_RANDOMIZE_BASE=y -+CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" -+# CONFIG_SUSPEND is not set -+CONFIG_CPU_IDLE=y -+CONFIG_ARM_CPUIDLE=y -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_STAT=y -+CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y -+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+CONFIG_CPU_FREQ_GOV_ONDEMAND=y -+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -+CONFIG_CPUFREQ_DT=y -+CONFIG_ARM_RASPBERRYPI_CPUFREQ=y -+CONFIG_RASPBERRYPI_FIRMWARE=y -+CONFIG_CRYPTO_AES_ARM64_BS=m -+CONFIG_JUMP_LABEL=y -+CONFIG_MODULES=y -+CONFIG_MODULE_UNLOAD=y -+CONFIG_MODVERSIONS=y -+CONFIG_MODULE_SRCVERSION_ALL=y -+CONFIG_PARTITION_ADVANCED=y -+CONFIG_MAC_PARTITION=y -+CONFIG_BINFMT_MISC=y -+CONFIG_CLEANCACHE=y -+CONFIG_FRONTSWAP=y -+CONFIG_CMA=y -+CONFIG_ZSWAP=y -+CONFIG_Z3FOLD=m -+CONFIG_ZSMALLOC=m -+CONFIG_NET=y -+CONFIG_PACKET=y -+CONFIG_UNIX=y -+CONFIG_XFRM_USER=y -+CONFIG_NET_KEY=m -+CONFIG_INET=y -+CONFIG_IP_MULTICAST=y -+CONFIG_IP_ADVANCED_ROUTER=y -+CONFIG_IP_MULTIPLE_TABLES=y -+CONFIG_IP_ROUTE_MULTIPATH=y -+CONFIG_IP_ROUTE_VERBOSE=y -+CONFIG_IP_PNP=y -+CONFIG_IP_PNP_DHCP=y -+CONFIG_IP_PNP_RARP=y -+CONFIG_NET_IPIP=m -+CONFIG_NET_IPGRE_DEMUX=m -+CONFIG_NET_IPGRE=m -+CONFIG_IP_MROUTE=y -+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IP_PIMSM_V1=y -+CONFIG_IP_PIMSM_V2=y -+CONFIG_NET_FOU=m -+CONFIG_INET_AH=m -+CONFIG_INET_ESP=m -+CONFIG_INET_IPCOMP=m -+CONFIG_INET_DIAG=m -+CONFIG_TCP_CONG_ADVANCED=y -+CONFIG_TCP_CONG_BBR=m -+CONFIG_IPV6=m -+CONFIG_IPV6_ROUTER_PREF=y -+CONFIG_INET6_AH=m -+CONFIG_INET6_ESP=m -+CONFIG_INET6_ESP_OFFLOAD=m -+CONFIG_INET6_IPCOMP=m -+CONFIG_IPV6_ILA=m -+CONFIG_IPV6_VTI=m -+CONFIG_IPV6_GRE=m -+CONFIG_IPV6_MULTIPLE_TABLES=y -+CONFIG_IPV6_SUBTREES=y -+CONFIG_IPV6_MROUTE=y -+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -+CONFIG_IPV6_PIMSM_V2=y -+CONFIG_NETFILTER=y -+CONFIG_BRIDGE_NETFILTER=m -+CONFIG_NF_CONNTRACK=m -+CONFIG_NF_CONNTRACK_ZONES=y -+CONFIG_NF_CONNTRACK_EVENTS=y -+CONFIG_NF_CONNTRACK_TIMESTAMP=y -+CONFIG_NF_CONNTRACK_AMANDA=m -+CONFIG_NF_CONNTRACK_FTP=m -+CONFIG_NF_CONNTRACK_H323=m -+CONFIG_NF_CONNTRACK_IRC=m -+CONFIG_NF_CONNTRACK_NETBIOS_NS=m -+CONFIG_NF_CONNTRACK_SNMP=m -+CONFIG_NF_CONNTRACK_PPTP=m -+CONFIG_NF_CONNTRACK_SANE=m -+CONFIG_NF_CONNTRACK_SIP=m -+CONFIG_NF_CONNTRACK_TFTP=m -+CONFIG_NF_CT_NETLINK=m -+CONFIG_NF_TABLES=m -+CONFIG_NF_TABLES_INET=y -+CONFIG_NF_TABLES_NETDEV=y -+CONFIG_NFT_NUMGEN=m -+CONFIG_NFT_CT=m -+CONFIG_NFT_FLOW_OFFLOAD=m -+CONFIG_NFT_COUNTER=m -+CONFIG_NFT_CONNLIMIT=m -+CONFIG_NFT_LOG=m -+CONFIG_NFT_LIMIT=m -+CONFIG_NFT_MASQ=m -+CONFIG_NFT_REDIR=m -+CONFIG_NFT_NAT=m -+CONFIG_NFT_TUNNEL=m -+CONFIG_NFT_OBJREF=m -+CONFIG_NFT_QUEUE=m -+CONFIG_NFT_QUOTA=m -+CONFIG_NFT_REJECT=m -+CONFIG_NFT_COMPAT=m -+CONFIG_NFT_HASH=m -+CONFIG_NFT_FIB_INET=m -+CONFIG_NFT_SOCKET=m -+CONFIG_NFT_OSF=m -+CONFIG_NFT_TPROXY=m -+CONFIG_NFT_DUP_NETDEV=m -+CONFIG_NFT_FWD_NETDEV=m -+CONFIG_NFT_FIB_NETDEV=m -+CONFIG_NF_FLOW_TABLE_INET=m -+CONFIG_NF_FLOW_TABLE=m -+CONFIG_NETFILTER_XT_SET=m -+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -+CONFIG_NETFILTER_XT_TARGET_DSCP=m -+CONFIG_NETFILTER_XT_TARGET_HMARK=m -+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -+CONFIG_NETFILTER_XT_TARGET_LED=m -+CONFIG_NETFILTER_XT_TARGET_LOG=m -+CONFIG_NETFILTER_XT_TARGET_MARK=m -+CONFIG_NETFILTER_XT_TARGET_NFLOG=m -+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -+CONFIG_NETFILTER_XT_TARGET_TEE=m -+CONFIG_NETFILTER_XT_TARGET_TPROXY=m -+CONFIG_NETFILTER_XT_TARGET_TRACE=m -+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -+CONFIG_NETFILTER_XT_MATCH_BPF=m -+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -+CONFIG_NETFILTER_XT_MATCH_COMMENT=m -+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -+CONFIG_NETFILTER_XT_MATCH_CPU=m -+CONFIG_NETFILTER_XT_MATCH_DCCP=m -+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -+CONFIG_NETFILTER_XT_MATCH_DSCP=m -+CONFIG_NETFILTER_XT_MATCH_ESP=m -+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -+CONFIG_NETFILTER_XT_MATCH_HELPER=m -+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -+CONFIG_NETFILTER_XT_MATCH_IPVS=m -+CONFIG_NETFILTER_XT_MATCH_LENGTH=m -+CONFIG_NETFILTER_XT_MATCH_LIMIT=m -+CONFIG_NETFILTER_XT_MATCH_MAC=m -+CONFIG_NETFILTER_XT_MATCH_MARK=m -+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -+CONFIG_NETFILTER_XT_MATCH_NFACCT=m -+CONFIG_NETFILTER_XT_MATCH_OSF=m -+CONFIG_NETFILTER_XT_MATCH_OWNER=m -+CONFIG_NETFILTER_XT_MATCH_POLICY=m -+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -+CONFIG_NETFILTER_XT_MATCH_QUOTA=m -+CONFIG_NETFILTER_XT_MATCH_RATEEST=m -+CONFIG_NETFILTER_XT_MATCH_REALM=m -+CONFIG_NETFILTER_XT_MATCH_RECENT=m -+CONFIG_NETFILTER_XT_MATCH_SOCKET=m -+CONFIG_NETFILTER_XT_MATCH_STATE=m -+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -+CONFIG_NETFILTER_XT_MATCH_STRING=m -+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -+CONFIG_NETFILTER_XT_MATCH_TIME=m -+CONFIG_NETFILTER_XT_MATCH_U32=m -+CONFIG_IP_SET=m -+CONFIG_IP_SET_BITMAP_IP=m -+CONFIG_IP_SET_BITMAP_IPMAC=m -+CONFIG_IP_SET_BITMAP_PORT=m -+CONFIG_IP_SET_HASH_IP=m -+CONFIG_IP_SET_HASH_IPPORT=m -+CONFIG_IP_SET_HASH_IPPORTIP=m -+CONFIG_IP_SET_HASH_IPPORTNET=m -+CONFIG_IP_SET_HASH_NET=m -+CONFIG_IP_SET_HASH_NETPORT=m -+CONFIG_IP_SET_HASH_NETIFACE=m -+CONFIG_IP_SET_LIST_SET=m -+CONFIG_IP_VS=m -+CONFIG_IP_VS_PROTO_TCP=y -+CONFIG_IP_VS_PROTO_UDP=y -+CONFIG_IP_VS_PROTO_ESP=y -+CONFIG_IP_VS_PROTO_AH=y -+CONFIG_IP_VS_PROTO_SCTP=y -+CONFIG_IP_VS_RR=m -+CONFIG_IP_VS_WRR=m -+CONFIG_IP_VS_LC=m -+CONFIG_IP_VS_WLC=m -+CONFIG_IP_VS_LBLC=m -+CONFIG_IP_VS_LBLCR=m -+CONFIG_IP_VS_DH=m -+CONFIG_IP_VS_SH=m -+CONFIG_IP_VS_SED=m -+CONFIG_IP_VS_NQ=m -+CONFIG_IP_VS_FTP=m -+CONFIG_IP_VS_PE_SIP=m -+CONFIG_NFT_DUP_IPV4=m -+CONFIG_NFT_FIB_IPV4=m -+CONFIG_NF_TABLES_ARP=y -+CONFIG_NF_FLOW_TABLE_IPV4=m -+CONFIG_NF_LOG_ARP=m -+CONFIG_IP_NF_IPTABLES=m -+CONFIG_IP_NF_MATCH_AH=m -+CONFIG_IP_NF_MATCH_ECN=m -+CONFIG_IP_NF_MATCH_RPFILTER=m -+CONFIG_IP_NF_MATCH_TTL=m -+CONFIG_IP_NF_FILTER=m -+CONFIG_IP_NF_TARGET_REJECT=m -+CONFIG_IP_NF_NAT=m -+CONFIG_IP_NF_TARGET_MASQUERADE=m -+CONFIG_IP_NF_TARGET_NETMAP=m -+CONFIG_IP_NF_TARGET_REDIRECT=m -+CONFIG_IP_NF_MANGLE=m -+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_ARPTABLES=m -+CONFIG_IP_NF_ARPFILTER=m -+CONFIG_IP_NF_ARP_MANGLE=m -+CONFIG_NFT_DUP_IPV6=m -+CONFIG_NFT_FIB_IPV6=m -+CONFIG_NF_FLOW_TABLE_IPV6=m -+CONFIG_IP6_NF_IPTABLES=m -+CONFIG_IP6_NF_MATCH_AH=m -+CONFIG_IP6_NF_MATCH_EUI64=m -+CONFIG_IP6_NF_MATCH_FRAG=m -+CONFIG_IP6_NF_MATCH_OPTS=m -+CONFIG_IP6_NF_MATCH_HL=m -+CONFIG_IP6_NF_MATCH_IPV6HEADER=m -+CONFIG_IP6_NF_MATCH_MH=m -+CONFIG_IP6_NF_MATCH_RPFILTER=m -+CONFIG_IP6_NF_MATCH_RT=m -+CONFIG_IP6_NF_MATCH_SRH=m -+CONFIG_IP6_NF_TARGET_HL=m -+CONFIG_IP6_NF_FILTER=m -+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 -+CONFIG_NF_TABLES_BRIDGE=m -+CONFIG_NFT_BRIDGE_REJECT=m -+CONFIG_BRIDGE_NF_EBTABLES=m -+CONFIG_BRIDGE_EBT_BROUTE=m -+CONFIG_BRIDGE_EBT_T_FILTER=m -+CONFIG_BRIDGE_EBT_T_NAT=m -+CONFIG_BRIDGE_EBT_802_3=m -+CONFIG_BRIDGE_EBT_AMONG=m -+CONFIG_BRIDGE_EBT_ARP=m -+CONFIG_BRIDGE_EBT_IP=m -+CONFIG_BRIDGE_EBT_IP6=m -+CONFIG_BRIDGE_EBT_LIMIT=m -+CONFIG_BRIDGE_EBT_MARK=m -+CONFIG_BRIDGE_EBT_PKTTYPE=m -+CONFIG_BRIDGE_EBT_STP=m -+CONFIG_BRIDGE_EBT_VLAN=m -+CONFIG_BRIDGE_EBT_ARPREPLY=m -+CONFIG_BRIDGE_EBT_DNAT=m -+CONFIG_BRIDGE_EBT_MARK_T=m -+CONFIG_BRIDGE_EBT_REDIRECT=m -+CONFIG_BRIDGE_EBT_SNAT=m -+CONFIG_BRIDGE_EBT_LOG=m -+CONFIG_BRIDGE_EBT_NFLOG=m -+CONFIG_SCTP_COOKIE_HMAC_SHA1=y -+CONFIG_ATM=m -+CONFIG_L2TP=m -+CONFIG_L2TP_V3=y -+CONFIG_L2TP_IP=m -+CONFIG_L2TP_ETH=m -+CONFIG_BRIDGE=m -+CONFIG_VLAN_8021Q=m -+CONFIG_VLAN_8021Q_GVRP=y -+CONFIG_ATALK=m -+CONFIG_6LOWPAN=m -+CONFIG_IEEE802154=m -+CONFIG_IEEE802154_6LOWPAN=m -+CONFIG_MAC802154=m -+CONFIG_NET_SCHED=y -+CONFIG_NET_SCH_CBQ=m -+CONFIG_NET_SCH_HTB=m -+CONFIG_NET_SCH_HFSC=m -+CONFIG_NET_SCH_PRIO=m -+CONFIG_NET_SCH_MULTIQ=m -+CONFIG_NET_SCH_RED=m -+CONFIG_NET_SCH_SFB=m -+CONFIG_NET_SCH_SFQ=m -+CONFIG_NET_SCH_TEQL=m -+CONFIG_NET_SCH_TBF=m -+CONFIG_NET_SCH_GRED=m -+CONFIG_NET_SCH_DSMARK=m -+CONFIG_NET_SCH_NETEM=m -+CONFIG_NET_SCH_DRR=m -+CONFIG_NET_SCH_MQPRIO=m -+CONFIG_NET_SCH_CHOKE=m -+CONFIG_NET_SCH_QFQ=m -+CONFIG_NET_SCH_CODEL=m -+CONFIG_NET_SCH_FQ_CODEL=m -+CONFIG_NET_SCH_CAKE=m -+CONFIG_NET_SCH_FQ=m -+CONFIG_NET_SCH_INGRESS=m -+CONFIG_NET_SCH_PLUG=m -+CONFIG_NET_CLS_BASIC=m -+CONFIG_NET_CLS_TCINDEX=m -+CONFIG_NET_CLS_ROUTE4=m -+CONFIG_NET_CLS_FW=m -+CONFIG_NET_CLS_U32=m -+CONFIG_CLS_U32_MARK=y -+CONFIG_NET_CLS_RSVP=m -+CONFIG_NET_CLS_RSVP6=m -+CONFIG_NET_CLS_FLOW=m -+CONFIG_NET_CLS_CGROUP=m -+CONFIG_NET_EMATCH=y -+CONFIG_NET_EMATCH_CMP=m -+CONFIG_NET_EMATCH_NBYTE=m -+CONFIG_NET_EMATCH_U32=m -+CONFIG_NET_EMATCH_META=m -+CONFIG_NET_EMATCH_TEXT=m -+CONFIG_NET_EMATCH_IPSET=m -+CONFIG_NET_CLS_ACT=y -+CONFIG_NET_ACT_POLICE=m -+CONFIG_NET_ACT_GACT=m -+CONFIG_GACT_PROB=y -+CONFIG_NET_ACT_MIRRED=m -+CONFIG_NET_ACT_IPT=m -+CONFIG_NET_ACT_NAT=m -+CONFIG_NET_ACT_PEDIT=m -+CONFIG_NET_ACT_SIMP=m -+CONFIG_NET_ACT_SKBEDIT=m -+CONFIG_NET_ACT_CSUM=m -+CONFIG_BATMAN_ADV=m -+CONFIG_OPENVSWITCH=m -+CONFIG_CGROUP_NET_PRIO=y -+CONFIG_NET_PKTGEN=m -+CONFIG_HAMRADIO=y -+CONFIG_AX25=m -+CONFIG_NETROM=m -+CONFIG_ROSE=m -+CONFIG_MKISS=m -+CONFIG_6PACK=m -+CONFIG_BPQETHER=m -+CONFIG_BAYCOM_SER_FDX=m -+CONFIG_BAYCOM_SER_HDX=m -+CONFIG_YAM=m -+CONFIG_CAN=m -+CONFIG_CAN_J1939=m -+CONFIG_CAN_ISOTP=m -+CONFIG_CAN_VCAN=m -+CONFIG_CAN_MCP251X=m -+CONFIG_CAN_MCP251XFD=m -+CONFIG_CAN_EMS_USB=m -+CONFIG_BT=m -+CONFIG_BT_RFCOMM=m -+CONFIG_BT_RFCOMM_TTY=y -+CONFIG_BT_BNEP=m -+CONFIG_BT_BNEP_MC_FILTER=y -+CONFIG_BT_BNEP_PROTO_FILTER=y -+CONFIG_BT_HIDP=m -+CONFIG_BT_6LOWPAN=m -+CONFIG_BT_HCIBTUSB=m -+CONFIG_BT_HCIUART=m -+CONFIG_BT_HCIUART_3WIRE=y -+CONFIG_BT_HCIUART_BCM=y -+CONFIG_BT_HCIBCM203X=m -+CONFIG_BT_HCIBPA10X=m -+CONFIG_BT_HCIBFUSB=m -+CONFIG_BT_HCIVHCI=m -+CONFIG_BT_MRVL=m -+CONFIG_BT_MRVL_SDIO=m -+CONFIG_BT_ATH3K=m -+CONFIG_CFG80211=m -+CONFIG_CFG80211_WEXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_MESH=y -+CONFIG_RFKILL=m -+CONFIG_RFKILL_INPUT=y -+CONFIG_NET_9P=m -+CONFIG_NFC=m -+CONFIG_UEVENT_HELPER=y -+CONFIG_DEVTMPFS=y -+CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_MTD=m -+CONFIG_MTD_BLOCK=m -+CONFIG_MTD_UBI=m -+CONFIG_OF_CONFIGFS=y -+CONFIG_ZRAM=m -+CONFIG_BLK_DEV_LOOP=y -+CONFIG_BLK_DEV_CRYPTOLOOP=m -+CONFIG_BLK_DEV_DRBD=m -+CONFIG_BLK_DEV_NBD=m -+CONFIG_BLK_DEV_RAM=y -+CONFIG_CDROM_PKTCDVD=m -+CONFIG_ATA_OVER_ETH=m -+CONFIG_EEPROM_AT24=m -+CONFIG_TI_ST=m -+CONFIG_SCSI=y -+# CONFIG_SCSI_PROC_FS is not set -+CONFIG_BLK_DEV_SD=y -+CONFIG_CHR_DEV_ST=m -+CONFIG_BLK_DEV_SR=m -+CONFIG_CHR_DEV_SG=m -+CONFIG_SCSI_ISCSI_ATTRS=y -+CONFIG_ISCSI_TCP=m -+CONFIG_ISCSI_BOOT_SYSFS=m -+CONFIG_MD=y -+CONFIG_MD_LINEAR=m -+CONFIG_BLK_DEV_DM=m -+CONFIG_DM_CRYPT=m -+CONFIG_DM_SNAPSHOT=m -+CONFIG_DM_THIN_PROVISIONING=m -+CONFIG_DM_CACHE=m -+CONFIG_DM_MIRROR=m -+CONFIG_DM_LOG_USERSPACE=m -+CONFIG_DM_RAID=m -+CONFIG_DM_ZERO=m -+CONFIG_DM_DELAY=m -+CONFIG_NETDEVICES=y -+CONFIG_BONDING=m -+CONFIG_DUMMY=m -+CONFIG_WIREGUARD=m -+CONFIG_IFB=m -+CONFIG_MACVLAN=m -+CONFIG_MACVTAP=m -+CONFIG_IPVLAN=m -+CONFIG_VXLAN=m -+CONFIG_NETCONSOLE=m -+CONFIG_TUN=m -+CONFIG_VETH=m -+CONFIG_NET_VRF=m -+CONFIG_ENC28J60=m -+CONFIG_QCA7000_SPI=m -+CONFIG_QCA7000_UART=m -+CONFIG_WIZNET_W5100=m -+CONFIG_WIZNET_W5100_SPI=m -+CONFIG_MDIO_BITBANG=m -+CONFIG_PPP=m -+CONFIG_PPP_BSDCOMP=m -+CONFIG_PPP_DEFLATE=m -+CONFIG_PPP_FILTER=y -+CONFIG_PPP_MPPE=m -+CONFIG_PPP_MULTILINK=y -+CONFIG_PPPOATM=m -+CONFIG_PPPOE=m -+CONFIG_PPPOL2TP=m -+CONFIG_PPP_ASYNC=m -+CONFIG_PPP_SYNC_TTY=m -+CONFIG_SLIP=m -+CONFIG_SLIP_COMPRESSED=y -+CONFIG_SLIP_SMART=y -+CONFIG_USB_CATC=m -+CONFIG_USB_KAWETH=m -+CONFIG_USB_PEGASUS=m -+CONFIG_USB_RTL8150=m -+CONFIG_USB_RTL8152=m -+CONFIG_USB_LAN78XX=y -+CONFIG_USB_USBNET=y -+CONFIG_USB_NET_AX8817X=m -+CONFIG_USB_NET_AX88179_178A=m -+CONFIG_USB_NET_CDCETHER=m -+CONFIG_USB_NET_CDC_EEM=m -+CONFIG_USB_NET_CDC_NCM=m -+CONFIG_USB_NET_HUAWEI_CDC_NCM=m -+CONFIG_USB_NET_CDC_MBIM=m -+CONFIG_USB_NET_DM9601=m -+CONFIG_USB_NET_SR9700=m -+CONFIG_USB_NET_SR9800=m -+CONFIG_USB_NET_SMSC75XX=m -+CONFIG_USB_NET_SMSC95XX=y -+CONFIG_USB_NET_GL620A=m -+CONFIG_USB_NET_NET1080=m -+CONFIG_USB_NET_PLUSB=m -+CONFIG_USB_NET_MCS7830=m -+CONFIG_USB_NET_CDC_SUBSET=m -+CONFIG_USB_ALI_M5632=y -+CONFIG_USB_AN2720=y -+CONFIG_USB_EPSON2888=y -+CONFIG_USB_KC2190=y -+CONFIG_USB_NET_ZAURUS=m -+CONFIG_USB_NET_CX82310_ETH=m -+CONFIG_USB_NET_KALMIA=m -+CONFIG_USB_NET_QMI_WWAN=m -+CONFIG_USB_HSO=m -+CONFIG_USB_NET_INT51X1=m -+CONFIG_USB_IPHETH=m -+CONFIG_USB_SIERRA_NET=m -+CONFIG_USB_VL600=m -+CONFIG_USB_NET_AQC111=m -+CONFIG_ATH9K=m -+CONFIG_ATH9K_HTC=m -+CONFIG_CARL9170=m -+CONFIG_ATH6KL=m -+CONFIG_ATH6KL_USB=m -+CONFIG_AR5523=m -+CONFIG_AT76C50X_USB=m -+CONFIG_B43=m -+# CONFIG_B43_PHY_N is not set -+CONFIG_B43LEGACY=m -+CONFIG_BRCMFMAC=m -+CONFIG_BRCMFMAC_USB=y -+CONFIG_HOSTAP=m -+CONFIG_P54_COMMON=m -+CONFIG_P54_USB=m -+CONFIG_LIBERTAS=m -+CONFIG_LIBERTAS_USB=m -+CONFIG_LIBERTAS_SDIO=m -+CONFIG_LIBERTAS_THINFIRM=m -+CONFIG_LIBERTAS_THINFIRM_USB=m -+CONFIG_MWIFIEX=m -+CONFIG_MWIFIEX_SDIO=m -+CONFIG_MT7601U=m -+CONFIG_MT76x0U=m -+CONFIG_MT76x2U=m -+CONFIG_RT2X00=m -+CONFIG_RT2500USB=m -+CONFIG_RT73USB=m -+CONFIG_RT2800USB=m -+CONFIG_RT2800USB_RT3573=y -+CONFIG_RT2800USB_RT53XX=y -+CONFIG_RT2800USB_RT55XX=y -+CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_RTL8187=m -+CONFIG_RTL8192CU=m -+CONFIG_USB_ZD1201=m -+CONFIG_ZD1211RW=m -+CONFIG_MAC80211_HWSIM=m -+CONFIG_USB_NET_RNDIS_WLAN=m -+CONFIG_IEEE802154_AT86RF230=m -+CONFIG_IEEE802154_MRF24J40=m -+CONFIG_IEEE802154_CC2520=m -+CONFIG_INPUT_JOYDEV=m -+CONFIG_INPUT_EVDEV=y -+# CONFIG_KEYBOARD_ATKBD is not set -+CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_MATRIX=m -+CONFIG_KEYBOARD_CAP11XX=m -+# CONFIG_INPUT_MOUSE is not set -+CONFIG_INPUT_JOYSTICK=y -+CONFIG_JOYSTICK_IFORCE=m -+CONFIG_JOYSTICK_IFORCE_USB=m -+CONFIG_JOYSTICK_XPAD=m -+CONFIG_JOYSTICK_XPAD_FF=y -+CONFIG_JOYSTICK_XPAD_LEDS=y -+CONFIG_JOYSTICK_RPISENSE=m -+CONFIG_INPUT_TOUCHSCREEN=y -+CONFIG_TOUCHSCREEN_ADS7846=m -+CONFIG_TOUCHSCREEN_EGALAX=m -+CONFIG_TOUCHSCREEN_ILI210X=m -+CONFIG_TOUCHSCREEN_EKTF2127=m -+CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m -+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -+CONFIG_TOUCHSCREEN_STMPE=m -+CONFIG_INPUT_MISC=y -+CONFIG_INPUT_AD714X=m -+CONFIG_INPUT_ATI_REMOTE2=m -+CONFIG_INPUT_KEYSPAN_REMOTE=m -+CONFIG_INPUT_POWERMATE=m -+CONFIG_INPUT_YEALINK=m -+CONFIG_INPUT_CM109=m -+CONFIG_INPUT_UINPUT=m -+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -+CONFIG_INPUT_ADXL34X=m -+CONFIG_INPUT_CMA3000=m -+CONFIG_SERIO=m -+CONFIG_SERIO_RAW=m -+CONFIG_GAMEPORT=m -+CONFIG_GAMEPORT_NS558=m -+CONFIG_GAMEPORT_L4=m -+CONFIG_BRCM_CHAR_DRIVERS=y -+CONFIG_BCM_VCIO=y -+CONFIG_BCM2835_DEVGPIOMEM=y -+# CONFIG_BCM2835_SMI_DEV is not set -+# CONFIG_LEGACY_PTYS is not set -+CONFIG_SERIAL_8250=y -+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -+CONFIG_SERIAL_8250_CONSOLE=y -+# CONFIG_SERIAL_8250_DMA is not set -+CONFIG_SERIAL_8250_NR_UARTS=1 -+CONFIG_SERIAL_8250_RUNTIME_UARTS=0 -+CONFIG_SERIAL_8250_EXTENDED=y -+CONFIG_SERIAL_8250_SHARE_IRQ=y -+CONFIG_SERIAL_8250_BCM2835AUX=y -+CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_AMBA_PL011=y -+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -+CONFIG_SERIAL_SC16IS7XX=m -+CONFIG_SERIAL_SC16IS7XX_SPI=y -+CONFIG_SERIAL_DEV_BUS=y -+CONFIG_TTY_PRINTK=y -+CONFIG_HW_RANDOM=y -+CONFIG_TCG_TPM=m -+CONFIG_TCG_TIS_SPI=m -+CONFIG_RANDOM_TRUST_BOOTLOADER=y -+CONFIG_I2C=y -+CONFIG_I2C_CHARDEV=m -+CONFIG_I2C_MUX=m -+CONFIG_I2C_MUX_GPMUX=m -+CONFIG_I2C_MUX_PCA954x=m -+CONFIG_I2C_MUX_PINCTRL=m -+CONFIG_I2C_BCM2708=m -+CONFIG_I2C_BCM2835=m -+# CONFIG_I2C_BRCMSTB is not set -+CONFIG_I2C_GPIO=m -+CONFIG_SPI=y -+CONFIG_SPI_BCM2835=m -+CONFIG_SPI_BCM2835AUX=m -+CONFIG_SPI_SPIDEV=y -+CONFIG_PPS_CLIENT_LDISC=m -+CONFIG_PPS_CLIENT_GPIO=m -+CONFIG_GPIO_SYSFS=y -+CONFIG_GPIO_BCM_VIRT=y -+CONFIG_GPIO_PCA953X=m -+CONFIG_GPIO_PCA953X_IRQ=y -+CONFIG_GPIO_ARIZONA=m -+CONFIG_GPIO_FSM=m -+CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MOCKUP=m -+CONFIG_W1=m -+CONFIG_W1_MASTER_DS2490=m -+CONFIG_W1_MASTER_DS2482=m -+CONFIG_W1_MASTER_DS1WM=m -+CONFIG_W1_MASTER_GPIO=m -+CONFIG_W1_SLAVE_THERM=m -+CONFIG_W1_SLAVE_SMEM=m -+CONFIG_W1_SLAVE_DS2408=m -+CONFIG_W1_SLAVE_DS2413=m -+CONFIG_W1_SLAVE_DS2406=m -+CONFIG_W1_SLAVE_DS2423=m -+CONFIG_W1_SLAVE_DS2431=m -+CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2780=m -+CONFIG_W1_SLAVE_DS2781=m -+CONFIG_W1_SLAVE_DS28E04=m -+CONFIG_W1_SLAVE_DS28E17=m -+CONFIG_POWER_RESET_GPIO=y -+CONFIG_RPI_POE_POWER=m -+CONFIG_BATTERY_DS2760=m -+CONFIG_BATTERY_MAX17040=m -+CONFIG_SENSORS_IIO_HWMON=m -+CONFIG_SENSORS_LM75=m -+CONFIG_SENSORS_PWM_FAN=m -+CONFIG_SENSORS_RASPBERRYPI_HWMON=m -+CONFIG_SENSORS_SHT21=m -+CONFIG_SENSORS_SHTC1=m -+CONFIG_SENSORS_INA2XX=m -+CONFIG_THERMAL=y -+CONFIG_BCM2835_THERMAL=y -+CONFIG_WATCHDOG=y -+CONFIG_BCM2835_WDT=y -+CONFIG_MFD_STMPE=y -+CONFIG_STMPE_SPI=y -+CONFIG_MFD_ARIZONA_I2C=m -+CONFIG_MFD_ARIZONA_SPI=m -+CONFIG_MFD_WM5102=y -+CONFIG_REGULATOR=y -+CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m -+CONFIG_RC_CORE=y -+CONFIG_LIRC=y -+CONFIG_BPF_LIRC_MODE2=y -+CONFIG_RC_DECODERS=y -+CONFIG_IR_NEC_DECODER=m -+CONFIG_IR_RC5_DECODER=m -+CONFIG_IR_RC6_DECODER=m -+CONFIG_IR_JVC_DECODER=m -+CONFIG_IR_SONY_DECODER=m -+CONFIG_IR_SANYO_DECODER=m -+CONFIG_IR_SHARP_DECODER=m -+CONFIG_IR_MCE_KBD_DECODER=m -+CONFIG_IR_XMP_DECODER=m -+CONFIG_IR_IMON_DECODER=m -+CONFIG_RC_DEVICES=y -+CONFIG_RC_ATI_REMOTE=m -+CONFIG_IR_IMON=m -+CONFIG_IR_MCEUSB=m -+CONFIG_IR_REDRAT3=m -+CONFIG_IR_STREAMZAP=m -+CONFIG_IR_IGUANA=m -+CONFIG_IR_TTUSBIR=m -+CONFIG_RC_LOOPBACK=m -+CONFIG_IR_GPIO_CIR=m -+CONFIG_IR_GPIO_TX=m -+CONFIG_IR_PWM_TX=m -+CONFIG_MEDIA_CEC_RC=y -+CONFIG_MEDIA_SUPPORT=m -+CONFIG_MEDIA_USB_SUPPORT=y -+CONFIG_USB_VIDEO_CLASS=m -+CONFIG_USB_PWC=m -+CONFIG_VIDEO_CPIA2=m -+CONFIG_USB_ZR364XX=m -+CONFIG_USB_STKWEBCAM=m -+CONFIG_USB_S2255=m -+CONFIG_VIDEO_USBTV=m -+CONFIG_VIDEO_PVRUSB2=m -+CONFIG_VIDEO_HDPVR=m -+CONFIG_VIDEO_STK1160_COMMON=m -+CONFIG_VIDEO_GO7007=m -+CONFIG_VIDEO_GO7007_USB=m -+CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -+CONFIG_VIDEO_AU0828=m -+CONFIG_DVB_USB_V2=m -+CONFIG_DVB_USB_AF9035=m -+CONFIG_DVB_USB_ANYSEE=m -+CONFIG_DVB_USB_AU6610=m -+CONFIG_DVB_USB_AZ6007=m -+CONFIG_DVB_USB_CE6230=m -+CONFIG_DVB_USB_EC168=m -+CONFIG_DVB_USB_GL861=m -+CONFIG_DVB_USB_MXL111SF=m -+CONFIG_DVB_USB_DVBSKY=m -+CONFIG_SMS_USB_DRV=m -+CONFIG_DVB_B2C2_FLEXCOP_USB=m -+CONFIG_DVB_AS102=m -+CONFIG_VIDEO_EM28XX=m -+CONFIG_VIDEO_EM28XX_V4L2=m -+CONFIG_VIDEO_EM28XX_ALSA=m -+CONFIG_VIDEO_EM28XX_DVB=m -+CONFIG_RADIO_SI470X=m -+CONFIG_USB_SI470X=m -+CONFIG_I2C_SI470X=m -+CONFIG_RADIO_SI4713=m -+CONFIG_I2C_SI4713=m -+CONFIG_USB_MR800=m -+CONFIG_USB_DSBR=m -+CONFIG_RADIO_SHARK=m -+CONFIG_RADIO_SHARK2=m -+CONFIG_USB_KEENE=m -+CONFIG_USB_MA901=m -+CONFIG_RADIO_TEA5764=m -+CONFIG_RADIO_SAA7706H=m -+CONFIG_RADIO_TEF6862=m -+CONFIG_RADIO_WL1273=m -+CONFIG_RADIO_WL128X=m -+CONFIG_V4L_PLATFORM_DRIVERS=y -+CONFIG_VIDEO_BCM2835_UNICAM=m -+CONFIG_V4L_TEST_DRIVERS=y -+CONFIG_VIDEO_VIMC=m -+CONFIG_VIDEO_VIVID=m -+CONFIG_VIDEO_VIM2M=m -+CONFIG_VIDEO_VICODEC=m -+CONFIG_VIDEO_UDA1342=m -+CONFIG_VIDEO_SONY_BTF_MPX=m -+CONFIG_VIDEO_ADV7180=m -+CONFIG_VIDEO_TC358743=m -+CONFIG_VIDEO_TVP5150=m -+CONFIG_VIDEO_TW2804=m -+CONFIG_VIDEO_TW9903=m -+CONFIG_VIDEO_TW9906=m -+CONFIG_VIDEO_IMX219=m -+CONFIG_VIDEO_IMX290=m -+CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_OV5647=m -+CONFIG_VIDEO_OV7251=m -+CONFIG_VIDEO_OV7640=m -+CONFIG_VIDEO_OV9281=m -+CONFIG_VIDEO_IRS1125=m -+CONFIG_VIDEO_MT9V011=m -+CONFIG_DRM=m -+CONFIG_DRM_LOAD_EDID_FIRMWARE=y -+CONFIG_DRM_UDL=m -+CONFIG_DRM_PANEL_SIMPLE=m -+CONFIG_DRM_PANEL_JDI_LT070ME05000=m -+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -+CONFIG_DRM_DISPLAY_CONNECTOR=m -+CONFIG_DRM_SIMPLE_BRIDGE=m -+CONFIG_DRM_TOSHIBA_TC358762=m -+CONFIG_DRM_VC4=m -+CONFIG_DRM_VC4_HDMI_CEC=y -+CONFIG_DRM_GUD=m -+CONFIG_FB=y -+CONFIG_FB_BCM2708=y -+CONFIG_FB_UDL=m -+CONFIG_FB_SSD1307=m -+CONFIG_FB_RPISENSE=m -+CONFIG_BACKLIGHT_RPI=m -+CONFIG_BACKLIGHT_GPIO=m -+CONFIG_FRAMEBUFFER_CONSOLE=y -+CONFIG_LOGO=y -+# CONFIG_LOGO_LINUX_MONO is not set -+# CONFIG_LOGO_LINUX_VGA16 is not set -+CONFIG_SOUND=y -+CONFIG_SND=m -+CONFIG_SND_OSSEMUL=y -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_HRTIMER=m -+CONFIG_SND_SEQUENCER=m -+CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_DUMMY=m -+CONFIG_SND_ALOOP=m -+CONFIG_SND_VIRMIDI=m -+CONFIG_SND_MTPAV=m -+CONFIG_SND_SERIAL_U16550=m -+CONFIG_SND_MPU401=m -+CONFIG_SND_USB_AUDIO=m -+CONFIG_SND_USB_UA101=m -+CONFIG_SND_USB_CAIAQ=m -+CONFIG_SND_USB_CAIAQ_INPUT=y -+CONFIG_SND_USB_6FIRE=m -+CONFIG_SND_USB_TONEPORT=m -+CONFIG_SND_SOC=m -+CONFIG_SND_BCM2835_SOC_I2S=m -+CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSHD=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADCPRO=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSDSP=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m -+CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m -+CONFIG_SND_BCM2708_SOC_PIFI_40=m -+CONFIG_SND_BCM2708_SOC_RPI_DAC=m -+CONFIG_SND_BCM2708_SOC_RPI_PROTO=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_BOTH=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m -+CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m -+CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m -+CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m -+CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m -+CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD=m -+CONFIG_SND_AUDIOINJECTOR_ISOLATED_SOUNDCARD=m -+CONFIG_SND_AUDIOSENSE_PI=m -+CONFIG_SND_DIGIDAC1_SOUNDCARD=m -+CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO=m -+CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m -+CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m -+CONFIG_SND_PISOUND=m -+CONFIG_SND_SOC_AD193X_SPI=m -+CONFIG_SND_SOC_AD193X_I2C=m -+CONFIG_SND_SOC_ADAU1701=m -+CONFIG_SND_SOC_AK4554=m -+CONFIG_SND_SOC_CS4265=m -+CONFIG_SND_SOC_ICS43432=m -+CONFIG_SND_SOC_MA120X0P=m -+CONFIG_SND_SOC_MAX98357A=m -+CONFIG_SND_SOC_WM8804_I2C=m -+CONFIG_SND_SOC_WM8960=m -+CONFIG_SND_SIMPLE_CARD=m -+CONFIG_HIDRAW=y -+CONFIG_UHID=m -+CONFIG_HID_A4TECH=m -+CONFIG_HID_ACRUX=m -+CONFIG_HID_APPLE=m -+CONFIG_HID_BELKIN=m -+CONFIG_HID_BETOP_FF=m -+CONFIG_HID_CHERRY=m -+CONFIG_HID_CHICONY=m -+CONFIG_HID_CYPRESS=m -+CONFIG_HID_DRAGONRISE=m -+CONFIG_HID_EMS_FF=m -+CONFIG_HID_ELECOM=m -+CONFIG_HID_ELO=m -+CONFIG_HID_EZKEY=m -+CONFIG_HID_GEMBIRD=m -+CONFIG_HID_HOLTEK=m -+CONFIG_HID_KEYTOUCH=m -+CONFIG_HID_KYE=m -+CONFIG_HID_UCLOGIC=m -+CONFIG_HID_WALTOP=m -+CONFIG_HID_GYRATION=m -+CONFIG_HID_TWINHAN=m -+CONFIG_HID_KENSINGTON=m -+CONFIG_HID_LCPOWER=m -+CONFIG_HID_LOGITECH=m -+CONFIG_HID_LOGITECH_DJ=m -+CONFIG_LOGITECH_FF=y -+CONFIG_LOGIRUMBLEPAD2_FF=y -+CONFIG_LOGIG940_FF=y -+CONFIG_HID_MAGICMOUSE=m -+CONFIG_HID_MICROSOFT=m -+CONFIG_HID_MONTEREY=m -+CONFIG_HID_MULTITOUCH=m -+CONFIG_HID_NTRIG=m -+CONFIG_HID_ORTEK=m -+CONFIG_HID_PANTHERLORD=m -+CONFIG_HID_PETALYNX=m -+CONFIG_HID_PICOLCD=m -+CONFIG_HID_ROCCAT=m -+CONFIG_HID_SAMSUNG=m -+CONFIG_HID_SONY=m -+CONFIG_HID_SPEEDLINK=m -+CONFIG_HID_STEAM=m -+CONFIG_HID_SUNPLUS=m -+CONFIG_HID_GREENASIA=m -+CONFIG_HID_SMARTJOYPLUS=m -+CONFIG_HID_TOPSEED=m -+CONFIG_HID_THINGM=m -+CONFIG_HID_THRUSTMASTER=m -+CONFIG_HID_WACOM=m -+CONFIG_HID_WIIMOTE=m -+CONFIG_HID_XINMO=m -+CONFIG_HID_ZEROPLUS=m -+CONFIG_HID_ZYDACRON=m -+CONFIG_HID_PID=y -+CONFIG_USB_HIDDEV=y -+CONFIG_USB=y -+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -+CONFIG_USB_MON=m -+CONFIG_USB_DWCOTG=y -+CONFIG_USB_PRINTER=m -+CONFIG_USB_TMC=m -+CONFIG_USB_STORAGE=y -+CONFIG_USB_STORAGE_REALTEK=m -+CONFIG_USB_STORAGE_DATAFAB=m -+CONFIG_USB_STORAGE_FREECOM=m -+CONFIG_USB_STORAGE_ISD200=m -+CONFIG_USB_STORAGE_USBAT=m -+CONFIG_USB_STORAGE_SDDR09=m -+CONFIG_USB_STORAGE_SDDR55=m -+CONFIG_USB_STORAGE_JUMPSHOT=m -+CONFIG_USB_STORAGE_ALAUDA=m -+CONFIG_USB_STORAGE_ONETOUCH=m -+CONFIG_USB_STORAGE_KARMA=m -+CONFIG_USB_STORAGE_CYPRESS_ATACB=m -+CONFIG_USB_STORAGE_ENE_UB6250=m -+CONFIG_USB_UAS=m -+CONFIG_USB_MDC800=m -+CONFIG_USB_MICROTEK=m -+CONFIG_USBIP_CORE=m -+CONFIG_USBIP_VHCI_HCD=m -+CONFIG_USBIP_HOST=m -+CONFIG_USB_DWC2=y -+CONFIG_USB_DWC2_HOST=y -+CONFIG_USB_SERIAL=m -+CONFIG_USB_SERIAL_GENERIC=y -+CONFIG_USB_SERIAL_AIRCABLE=m -+CONFIG_USB_SERIAL_ARK3116=m -+CONFIG_USB_SERIAL_BELKIN=m -+CONFIG_USB_SERIAL_CH341=m -+CONFIG_USB_SERIAL_WHITEHEAT=m -+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -+CONFIG_USB_SERIAL_CP210X=m -+CONFIG_USB_SERIAL_CYPRESS_M8=m -+CONFIG_USB_SERIAL_EMPEG=m -+CONFIG_USB_SERIAL_FTDI_SIO=m -+CONFIG_USB_SERIAL_VISOR=m -+CONFIG_USB_SERIAL_IPAQ=m -+CONFIG_USB_SERIAL_IR=m -+CONFIG_USB_SERIAL_EDGEPORT=m -+CONFIG_USB_SERIAL_EDGEPORT_TI=m -+CONFIG_USB_SERIAL_F81232=m -+CONFIG_USB_SERIAL_GARMIN=m -+CONFIG_USB_SERIAL_IPW=m -+CONFIG_USB_SERIAL_IUU=m -+CONFIG_USB_SERIAL_KEYSPAN_PDA=m -+CONFIG_USB_SERIAL_KEYSPAN=m -+CONFIG_USB_SERIAL_KLSI=m -+CONFIG_USB_SERIAL_KOBIL_SCT=m -+CONFIG_USB_SERIAL_MCT_U232=m -+CONFIG_USB_SERIAL_METRO=m -+CONFIG_USB_SERIAL_MOS7720=m -+CONFIG_USB_SERIAL_MOS7840=m -+CONFIG_USB_SERIAL_NAVMAN=m -+CONFIG_USB_SERIAL_PL2303=m -+CONFIG_USB_SERIAL_OTI6858=m -+CONFIG_USB_SERIAL_QCAUX=m -+CONFIG_USB_SERIAL_QUALCOMM=m -+CONFIG_USB_SERIAL_SPCP8X5=m -+CONFIG_USB_SERIAL_SAFE=m -+CONFIG_USB_SERIAL_SIERRAWIRELESS=m -+CONFIG_USB_SERIAL_SYMBOL=m -+CONFIG_USB_SERIAL_TI=m -+CONFIG_USB_SERIAL_CYBERJACK=m -+CONFIG_USB_SERIAL_OPTION=m -+CONFIG_USB_SERIAL_OMNINET=m -+CONFIG_USB_SERIAL_OPTICON=m -+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_EMI62=m -+CONFIG_USB_EMI26=m -+CONFIG_USB_ADUTUX=m -+CONFIG_USB_SEVSEG=m -+CONFIG_USB_LEGOTOWER=m -+CONFIG_USB_LCD=m -+CONFIG_USB_CYPRESS_CY7C63=m -+CONFIG_USB_CYTHERM=m -+CONFIG_USB_IDMOUSE=m -+CONFIG_USB_FTDI_ELAN=m -+CONFIG_USB_APPLEDISPLAY=m -+CONFIG_USB_LD=m -+CONFIG_USB_TRANCEVIBRATOR=m -+CONFIG_USB_IOWARRIOR=m -+CONFIG_USB_TEST=m -+CONFIG_USB_ISIGHTFW=m -+CONFIG_USB_YUREX=m -+CONFIG_USB_ATM=m -+CONFIG_USB_SPEEDTOUCH=m -+CONFIG_USB_CXACRU=m -+CONFIG_USB_UEAGLEATM=m -+CONFIG_USB_XUSBATM=m -+CONFIG_NOP_USB_XCEIV=y -+CONFIG_USB_GADGET=y -+CONFIG_MMC=y -+CONFIG_MMC_BLOCK_MINORS=32 -+CONFIG_MMC_BCM2835_MMC=y -+CONFIG_MMC_BCM2835_DMA=y -+CONFIG_MMC_BCM2835_SDHOST=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_SDHCI_IPROC=m -+CONFIG_MMC_SPI=m -+CONFIG_LEDS_CLASS=y -+CONFIG_LEDS_PCA9532=m -+CONFIG_LEDS_GPIO=y -+CONFIG_LEDS_PCA955X=m -+CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_IS31FL32XX=m -+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=m -+CONFIG_LEDS_TRIGGER_CAMERA=m -+CONFIG_LEDS_TRIGGER_INPUT=y -+CONFIG_LEDS_TRIGGER_PANIC=y -+CONFIG_LEDS_TRIGGER_NETDEV=m -+CONFIG_LEDS_TRIGGER_ACTPWR=y -+CONFIG_ACCESSIBILITY=y -+CONFIG_SPEAKUP=m -+CONFIG_SPEAKUP_SYNTH_SOFT=m -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_DRV_ABX80X=m -+CONFIG_RTC_DRV_DS1307=m -+CONFIG_RTC_DRV_DS1374=m -+CONFIG_RTC_DRV_DS1672=m -+CONFIG_RTC_DRV_MAX6900=m -+CONFIG_RTC_DRV_RS5C372=m -+CONFIG_RTC_DRV_ISL1208=m -+CONFIG_RTC_DRV_ISL12022=m -+CONFIG_RTC_DRV_X1205=m -+CONFIG_RTC_DRV_PCF8523=m -+CONFIG_RTC_DRV_PCF85063=m -+CONFIG_RTC_DRV_PCF85363=m -+CONFIG_RTC_DRV_PCF8563=m -+CONFIG_RTC_DRV_PCF8583=m -+CONFIG_RTC_DRV_M41T80=m -+CONFIG_RTC_DRV_BQ32K=m -+CONFIG_RTC_DRV_S35390A=m -+CONFIG_RTC_DRV_FM3130=m -+CONFIG_RTC_DRV_RX8581=m -+CONFIG_RTC_DRV_RX8025=m -+CONFIG_RTC_DRV_EM3027=m -+CONFIG_RTC_DRV_RV3028=m -+CONFIG_RTC_DRV_SD3078=m -+CONFIG_RTC_DRV_M41T93=m -+CONFIG_RTC_DRV_M41T94=m -+CONFIG_RTC_DRV_DS1302=m -+CONFIG_RTC_DRV_DS1305=m -+CONFIG_RTC_DRV_DS1390=m -+CONFIG_RTC_DRV_R9701=m -+CONFIG_RTC_DRV_RX4581=m -+CONFIG_RTC_DRV_RS5C348=m -+CONFIG_RTC_DRV_MAX6902=m -+CONFIG_RTC_DRV_PCF2123=m -+CONFIG_RTC_DRV_DS3232=m -+CONFIG_RTC_DRV_PCF2127=m -+CONFIG_RTC_DRV_RV3029C2=m -+CONFIG_DMADEVICES=y -+CONFIG_DMA_BCM2835=y -+CONFIG_DMA_BCM2708=y -+CONFIG_DMABUF_HEAPS=y -+CONFIG_DMABUF_HEAPS_SYSTEM=y -+CONFIG_DMABUF_HEAPS_CMA=y -+CONFIG_UIO=m -+CONFIG_UIO_PDRV_GENIRQ=m -+CONFIG_STAGING=y -+CONFIG_PRISM2_USB=m -+CONFIG_R8712U=m -+CONFIG_R8188EU=m -+CONFIG_VT6656=m -+CONFIG_STAGING_MEDIA=y -+CONFIG_ASHMEM=y -+CONFIG_FB_TFT=m -+CONFIG_FB_TFT_AGM1264K_FL=m -+CONFIG_FB_TFT_BD663474=m -+CONFIG_FB_TFT_HX8340BN=m -+CONFIG_FB_TFT_HX8347D=m -+CONFIG_FB_TFT_HX8353D=m -+CONFIG_FB_TFT_HX8357D=m -+CONFIG_FB_TFT_ILI9163=m -+CONFIG_FB_TFT_ILI9320=m -+CONFIG_FB_TFT_ILI9325=m -+CONFIG_FB_TFT_ILI9340=m -+CONFIG_FB_TFT_ILI9341=m -+CONFIG_FB_TFT_ILI9481=m -+CONFIG_FB_TFT_ILI9486=m -+CONFIG_FB_TFT_PCD8544=m -+CONFIG_FB_TFT_RA8875=m -+CONFIG_FB_TFT_S6D02A1=m -+CONFIG_FB_TFT_S6D1121=m -+CONFIG_FB_TFT_SH1106=m -+CONFIG_FB_TFT_SSD1289=m -+CONFIG_FB_TFT_SSD1306=m -+CONFIG_FB_TFT_SSD1331=m -+CONFIG_FB_TFT_SSD1351=m -+CONFIG_FB_TFT_ST7735R=m -+CONFIG_FB_TFT_TINYLCD=m -+CONFIG_FB_TFT_TLS8204=m -+CONFIG_FB_TFT_UC1701=m -+CONFIG_FB_TFT_UPD161704=m -+CONFIG_FB_TFT_WATTEROTT=m -+CONFIG_BCM2835_VCHIQ=y -+CONFIG_SND_BCM2835=m -+CONFIG_VIDEO_BCM2835=m -+CONFIG_VIDEO_CODEC_BCM2835=m -+CONFIG_VIDEO_ISP_BCM2835=m -+CONFIG_CLK_RASPBERRYPI=y -+CONFIG_MAILBOX=y -+CONFIG_BCM2835_MBOX=y -+# CONFIG_IOMMU_SUPPORT is not set -+CONFIG_RASPBERRYPI_POWER=y -+CONFIG_IIO=m -+CONFIG_IIO_BUFFER_CB=m -+CONFIG_MCP320X=m -+CONFIG_MCP3422=m -+CONFIG_BME680=m -+CONFIG_CCS811=m -+CONFIG_SENSIRION_SGP30=m -+CONFIG_SPS30_I2C=m -+CONFIG_DHT11=m -+CONFIG_HTU21=m -+CONFIG_APDS9960=m -+CONFIG_BH1750=m -+CONFIG_MAXIM_THERMOCOUPLE=m -+CONFIG_MAX31856=m -+CONFIG_PWM_BCM2835=m -+CONFIG_PWM_PCA9685=m -+CONFIG_PWM_RASPBERRYPI_POE=m -+CONFIG_ANDROID=y -+CONFIG_ANDROID_BINDER_IPC=y -+CONFIG_ANDROID_BINDERFS=y -+CONFIG_EXT4_FS=y -+CONFIG_EXT4_FS_POSIX_ACL=y -+CONFIG_EXT4_FS_SECURITY=y -+CONFIG_REISERFS_FS=m -+CONFIG_REISERFS_FS_XATTR=y -+CONFIG_REISERFS_FS_POSIX_ACL=y -+CONFIG_REISERFS_FS_SECURITY=y -+CONFIG_JFS_FS=m -+CONFIG_JFS_POSIX_ACL=y -+CONFIG_JFS_SECURITY=y -+CONFIG_JFS_STATISTICS=y -+CONFIG_XFS_FS=m -+CONFIG_XFS_QUOTA=y -+CONFIG_XFS_POSIX_ACL=y -+CONFIG_XFS_RT=y -+CONFIG_GFS2_FS=m -+CONFIG_OCFS2_FS=m -+CONFIG_BTRFS_FS=m -+CONFIG_BTRFS_FS_POSIX_ACL=y -+CONFIG_NILFS2_FS=m -+CONFIG_F2FS_FS=y -+CONFIG_FS_ENCRYPTION=y -+CONFIG_FANOTIFY=y -+CONFIG_QFMT_V1=m -+CONFIG_QFMT_V2=m -+CONFIG_AUTOFS4_FS=y -+CONFIG_FUSE_FS=m -+CONFIG_CUSE=m -+CONFIG_OVERLAY_FS=m -+CONFIG_FSCACHE=y -+CONFIG_FSCACHE_STATS=y -+CONFIG_CACHEFILES=y -+CONFIG_ISO9660_FS=m -+CONFIG_JOLIET=y -+CONFIG_ZISOFS=y -+CONFIG_UDF_FS=m -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -+CONFIG_EXFAT_FS=m -+CONFIG_NTFS_FS=m -+CONFIG_NTFS_RW=y -+CONFIG_TMPFS=y -+CONFIG_TMPFS_POSIX_ACL=y -+CONFIG_ECRYPT_FS=m -+CONFIG_HFS_FS=m -+CONFIG_HFSPLUS_FS=m -+CONFIG_JFFS2_FS=m -+CONFIG_JFFS2_SUMMARY=y -+CONFIG_UBIFS_FS=m -+CONFIG_SQUASHFS=m -+CONFIG_SQUASHFS_XATTR=y -+CONFIG_SQUASHFS_LZO=y -+CONFIG_SQUASHFS_XZ=y -+CONFIG_NFS_FS=y -+CONFIG_NFS_V3_ACL=y -+CONFIG_NFS_V4=y -+CONFIG_NFS_SWAP=y -+CONFIG_NFS_V4_1=y -+CONFIG_NFS_V4_2=y -+CONFIG_ROOT_NFS=y -+CONFIG_NFS_FSCACHE=y -+CONFIG_NFSD=m -+CONFIG_NFSD_V3_ACL=y -+CONFIG_NFSD_V4=y -+CONFIG_CIFS=m -+CONFIG_CIFS_UPCALL=y -+CONFIG_CIFS_XATTR=y -+CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_FSCACHE=y -+CONFIG_9P_FS=m -+CONFIG_9P_FS_POSIX_ACL=y -+CONFIG_NLS_DEFAULT="utf8" -+CONFIG_NLS_CODEPAGE_437=y -+CONFIG_NLS_CODEPAGE_737=m -+CONFIG_NLS_CODEPAGE_775=m -+CONFIG_NLS_CODEPAGE_850=m -+CONFIG_NLS_CODEPAGE_852=m -+CONFIG_NLS_CODEPAGE_855=m -+CONFIG_NLS_CODEPAGE_857=m -+CONFIG_NLS_CODEPAGE_860=m -+CONFIG_NLS_CODEPAGE_861=m -+CONFIG_NLS_CODEPAGE_862=m -+CONFIG_NLS_CODEPAGE_863=m -+CONFIG_NLS_CODEPAGE_864=m -+CONFIG_NLS_CODEPAGE_865=m -+CONFIG_NLS_CODEPAGE_866=m -+CONFIG_NLS_CODEPAGE_869=m -+CONFIG_NLS_CODEPAGE_936=m -+CONFIG_NLS_CODEPAGE_950=m -+CONFIG_NLS_CODEPAGE_932=m -+CONFIG_NLS_CODEPAGE_949=m -+CONFIG_NLS_CODEPAGE_874=m -+CONFIG_NLS_ISO8859_8=m -+CONFIG_NLS_CODEPAGE_1250=m -+CONFIG_NLS_CODEPAGE_1251=m -+CONFIG_NLS_ASCII=y -+CONFIG_NLS_ISO8859_1=m -+CONFIG_NLS_ISO8859_2=m -+CONFIG_NLS_ISO8859_3=m -+CONFIG_NLS_ISO8859_4=m -+CONFIG_NLS_ISO8859_5=m -+CONFIG_NLS_ISO8859_6=m -+CONFIG_NLS_ISO8859_7=m -+CONFIG_NLS_ISO8859_9=m -+CONFIG_NLS_ISO8859_13=m -+CONFIG_NLS_ISO8859_14=m -+CONFIG_NLS_ISO8859_15=m -+CONFIG_NLS_KOI8_R=m -+CONFIG_NLS_KOI8_U=m -+CONFIG_DLM=m -+CONFIG_SECURITY=y -+CONFIG_SECURITY_APPARMOR=y -+CONFIG_LSM="" -+CONFIG_CRYPTO_USER=m -+CONFIG_CRYPTO_CHACHA20POLY1305=m -+CONFIG_CRYPTO_ADIANTUM=m -+CONFIG_CRYPTO_XCBC=m -+CONFIG_CRYPTO_WP512=m -+CONFIG_CRYPTO_CAST5=m -+CONFIG_CRYPTO_DES=y -+CONFIG_CRYPTO_LZ4=m -+CONFIG_CRYPTO_USER_API_HASH=m -+CONFIG_CRYPTO_USER_API_SKCIPHER=m -+CONFIG_CRYPTO_USER_API_RNG=m -+CONFIG_CRYPTO_USER_API_AEAD=m -+CONFIG_CRC_ITU_T=y -+CONFIG_LIBCRC32C=y -+CONFIG_DMA_CMA=y -+CONFIG_CMA_SIZE_MBYTES=5 -+CONFIG_PRINTK_TIME=y -+CONFIG_BOOT_PRINTK_DELAY=y -+CONFIG_KGDB=y -+CONFIG_KGDB_KDB=y -+CONFIG_KDB_KEYBOARD=y -+CONFIG_DEBUG_MEMORY_INIT=y -+CONFIG_DETECT_HUNG_TASK=y -+CONFIG_LATENCYTOP=y -+CONFIG_FUNCTION_PROFILER=y -+CONFIG_STACK_TRACER=y -+CONFIG_IRQSOFF_TRACER=y -+CONFIG_SCHED_TRACER=y -+CONFIG_BLK_DEV_IO_TRACE=y --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0249-brcmfmac-BCM43436-needs-dedicated-firmware.patch b/root/target/linux/bcm27xx/patches-5.15/0249-brcmfmac-BCM43436-needs-dedicated-firmware.patch deleted file mode 100644 index 84e60164..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0249-brcmfmac-BCM43436-needs-dedicated-firmware.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d22b60b8219dae5e68c94902b288ebe541c07e73 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 19 May 2020 09:46:12 +0100 -Subject: [PATCH 249/634] brcmfmac: BCM43436 needs dedicated firmware - -Signed-off-by: Phil Elwell ---- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 14b2cdafe378..60f4e689ef14 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -616,6 +616,7 @@ BRCMF_FW_DEF(4335, "brcmfmac4335-sdio"); - BRCMF_FW_DEF(43362, "brcmfmac43362-sdio"); - BRCMF_FW_DEF(4339, "brcmfmac4339-sdio"); - BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio"); -+BRCMF_FW_DEF(43436, "brcmfmac43436-sdio"); - /* Note the names are not postfixed with a1 for backward compatibility */ - BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio"); - BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio"); -@@ -650,6 +651,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { - BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1), -+ BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43436), -+ BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFA, 43430A1), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0), - BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456), - BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455), --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0340-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch b/root/target/linux/bcm27xx/patches-5.15/0340-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch deleted file mode 100644 index 9211174e..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0340-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch +++ /dev/null @@ -1,183 +0,0 @@ -From 85e00aae3a83bd2141aa251648f6e0a7416097b0 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard -Date: Thu, 8 Oct 2020 14:44:08 +0200 -Subject: [PATCH 340/634] drm/atomic: Pass the full state to CRTC atomic - enable/disable - -Commit 351f950db4ab28c321a1bd4b92e4bb03e34c4703 upstream. - -If the CRTC driver ever needs to access the full DRM state, it can't do so -at atomic_enable / atomic_disable time since drm_atomic_helper_swap_state -will have cleared the pointer from the struct drm_crtc_state to the struct -drm_atomic_state before calling those hooks. - -In order to allow that, let's pass the full DRM state to atomic_enable and -atomic_disable. The conversion was done using the coccinelle script below, -built tested on all the drivers and actually tested on vc4. - -virtual report - -@@ -struct drm_crtc_helper_funcs *FUNCS; -identifier dev, state; -identifier crtc, crtc_state; -@@ - - disable_outputs(struct drm_device *dev, struct drm_atomic_state *state) - { - <... -- FUNCS->atomic_disable(crtc, crtc_state); -+ FUNCS->atomic_disable(crtc, state); - ...> - } - -@@ -struct drm_crtc_helper_funcs *FUNCS; -identifier dev, state; -identifier crtc, crtc_state; -@@ - - drm_atomic_helper_commit_modeset_enables(struct drm_device *dev, struct drm_atomic_state *state) - { - <... -- FUNCS->atomic_enable(crtc, crtc_state); -+ FUNCS->atomic_enable(crtc, state); - ...> - } - -@@ -identifier crtc, old_state; -@@ - - struct drm_crtc_helper_funcs { - ... -- void (*atomic_enable)(struct drm_crtc *crtc, struct drm_crtc_state *old_state); -+ void (*atomic_enable)(struct drm_crtc *crtc, struct drm_atomic_state *state); - ... -- void (*atomic_disable)(struct drm_crtc *crtc, struct drm_crtc_state *old_state); -+ void (*atomic_disable)(struct drm_crtc *crtc, struct drm_atomic_state *state); - ... -} - -@ crtc_atomic_func @ -identifier helpers; -identifier func; -@@ - -( -static struct drm_crtc_helper_funcs helpers = { - ..., - .atomic_enable = func, - ..., -}; -| -static struct drm_crtc_helper_funcs helpers = { - ..., - .atomic_disable = func, - ..., -}; -) - -@ ignores_old_state @ -identifier crtc_atomic_func.func; -identifier crtc, old_state; -@@ - -void func(struct drm_crtc *crtc, - struct drm_crtc_state *old_state) -{ - ... when != old_state -} - -@ adds_old_state depends on crtc_atomic_func && !ignores_old_state @ -identifier crtc_atomic_func.func; -identifier crtc, old_state; -@@ - -void func(struct drm_crtc *crtc, struct drm_crtc_state *old_state) -{ -+ struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state, crtc); - ... -} - -@ depends on crtc_atomic_func @ -identifier crtc_atomic_func.func; -expression E; -type T; -@@ - -void func(...) -{ - ... -- T state = E; -+ T crtc_state = E; - <+... -- state -+ crtc_state - ...+> - -} - -@ depends on crtc_atomic_func @ -identifier crtc_atomic_func.func; -type T; -@@ - -void func(...) -{ - ... -- T state; -+ T crtc_state; - <+... -- state -+ crtc_state - ...+> - -} - -@ depends on crtc_atomic_func @ -identifier crtc_atomic_func.func; -identifier old_state; -identifier crtc; -@@ - -void func(struct drm_crtc *crtc, -- struct drm_crtc_state *old_state -+ struct drm_atomic_state *state - ) - { ... } - -@ include depends on adds_old_state @ -@@ - - #include - -@ no_include depends on !include && adds_old_state @ -@@ - -+ #include - #include - -Signed-off-by: Maxime Ripard -Acked-by: Daniel Vetter -Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef142a0c13f7870.1602161031.git-series.maxime@cerno.tech ---- - drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -index 768012243b44..eff9dc6029c2 100644 ---- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -@@ -797,6 +797,8 @@ static void dpu_crtc_disable(struct drm_crtc *crtc, - crtc); - struct dpu_crtc *dpu_crtc = to_dpu_crtc(crtc); - struct dpu_crtc_state *cstate = to_dpu_crtc_state(crtc->state); -+ struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state, -+ crtc); - struct drm_encoder *encoder; - unsigned long flags; - bool release_bandwidth = false; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0480-SQUASH-fbmem-Use-fallthrough-keyword.patch b/root/target/linux/bcm27xx/patches-5.15/0480-SQUASH-fbmem-Use-fallthrough-keyword.patch deleted file mode 100644 index 4046ea07..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0480-SQUASH-fbmem-Use-fallthrough-keyword.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d2f01c176f70c7047340748ecab0ba3a92ab8060 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 27 Jul 2021 09:24:20 +0100 -Subject: [PATCH 480/634] SQUASH: fbmem: Use fallthrough keyword - -Avoid a compiler warning by using the "fallthrough" pseudo-keyword in -place of the old "/* fall through */" comment convention. - -Signed-off-by: Phil Elwell ---- - drivers/video/fbdev/core/fbmem.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index f9b620f6a074..13f3eca3049a 100644 ---- a/drivers/video/fbdev/core/fbmem.c -+++ b/drivers/video/fbdev/core/fbmem.c -@@ -1201,7 +1201,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, - ret = fb_copyarea_user(info, ©); - break; - } -- /* fall through */ -+ fallthrough; - default: - lock_fb_info(info); - fb = info->fbops; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0514-regulator-rpi-panel-Handle-I2C-errors-timing-to-the-.patch b/root/target/linux/bcm27xx/patches-5.15/0514-regulator-rpi-panel-Handle-I2C-errors-timing-to-the-.patch deleted file mode 100644 index fd80880d..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0514-regulator-rpi-panel-Handle-I2C-errors-timing-to-the-.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 181abe23b615d7629365d94a2e956ca7e0e1fdc8 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 8 Sep 2021 14:56:03 +0100 -Subject: [PATCH 514/634] regulator: rpi-panel: Handle I2C errors/timing to the - Atmel - -The Atmel is doing some things in the I2C ISR, during which -period it will not respond to further commands. This is -particularly true of the POWERON command. - -Increase delays appropriately, and retry should I2C errors be -reported. - -Signed-off-by: Dave Stevenson ---- - .../regulator/rpi-panel-attiny-regulator.c | 56 +++++++++++++++---- - 1 file changed, 46 insertions(+), 10 deletions(-) - -diff --git a/drivers/regulator/rpi-panel-attiny-regulator.c b/drivers/regulator/rpi-panel-attiny-regulator.c -index 370b9ae363dd..00fb69efcfa2 100644 ---- a/drivers/regulator/rpi-panel-attiny-regulator.c -+++ b/drivers/regulator/rpi-panel-attiny-regulator.c -@@ -37,11 +37,24 @@ static const struct regmap_config attiny_regmap_config = { - static int attiny_lcd_power_enable(struct regulator_dev *rdev) - { - unsigned int data; -+ int ret, i; - - regmap_write(rdev->regmap, REG_POWERON, 1); -+ msleep(80); -+ - /* Wait for nPWRDWN to go low to indicate poweron is done. */ -- regmap_read_poll_timeout(rdev->regmap, REG_PORTB, data, -- data & BIT(0), 10, 1000000); -+ for (i = 0; i < 20; i++) { -+ ret = regmap_read(rdev->regmap, REG_PORTB, &data); -+ if (!ret) { -+ if (data & BIT(0)) -+ break; -+ } -+ usleep_range(10000, 12000); -+ } -+ usleep_range(10000, 12000); -+ -+ if (ret) -+ pr_err("%s: regmap_read_poll_timeout failed %d\n", __func__, ret); - - /* Default to the same orientation as the closed source - * firmware used for the panel. Runtime rotation -@@ -57,23 +70,34 @@ static int attiny_lcd_power_disable(struct regulator_dev *rdev) - { - regmap_write(rdev->regmap, REG_PWM, 0); - regmap_write(rdev->regmap, REG_POWERON, 0); -- udelay(1); -+ msleep(30); - return 0; - } - - static int attiny_lcd_power_is_enabled(struct regulator_dev *rdev) - { - unsigned int data; -- int ret; -+ int ret, i; - -- ret = regmap_read(rdev->regmap, REG_POWERON, &data); -+ for (i = 0; i < 10; i++) { -+ ret = regmap_read(rdev->regmap, REG_POWERON, &data); -+ if (!ret) -+ break; -+ usleep_range(10000, 12000); -+ } - if (ret < 0) - return ret; - - if (!(data & BIT(0))) - return 0; - -- ret = regmap_read(rdev->regmap, REG_PORTB, &data); -+ for (i = 0; i < 10; i++) { -+ ret = regmap_read(rdev->regmap, REG_PORTB, &data); -+ if (!ret) -+ break; -+ usleep_range(10000, 12000); -+ } -+ - if (ret < 0) - return ret; - -@@ -103,20 +127,32 @@ static int attiny_update_status(struct backlight_device *bl) - { - struct regmap *regmap = bl_get_data(bl); - int brightness = bl->props.brightness; -+ int ret, i; - - if (bl->props.power != FB_BLANK_UNBLANK || - bl->props.fb_blank != FB_BLANK_UNBLANK) - brightness = 0; - -- return regmap_write(regmap, REG_PWM, brightness); -+ for (i = 0; i < 10; i++) { -+ ret = regmap_write(regmap, REG_PWM, brightness); -+ if (!ret) -+ break; -+ } -+ -+ return ret; - } - - static int attiny_get_brightness(struct backlight_device *bl) - { - struct regmap *regmap = bl_get_data(bl); -- int ret, brightness; -+ int ret, brightness, i; -+ -+ for (i = 0; i < 10; i++) { -+ ret = regmap_read(regmap, REG_PWM, &brightness); -+ if (!ret) -+ break; -+ } - -- ret = regmap_read(regmap, REG_PWM, &brightness); - if (ret) - return ret; - -@@ -166,7 +202,7 @@ static int attiny_i2c_probe(struct i2c_client *i2c, - } - - regmap_write(regmap, REG_POWERON, 0); -- mdelay(1); -+ msleep(30); - - config.dev = &i2c->dev; - config.regmap = regmap; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0531-configs-Add-CAN_PEAK_USB-m.patch b/root/target/linux/bcm27xx/patches-5.15/0531-configs-Add-CAN_PEAK_USB-m.patch deleted file mode 100644 index 972e6703..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0531-configs-Add-CAN_PEAK_USB-m.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 55ca80e8dec9113305389535bdae3c7495e1c460 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Fri, 17 Sep 2021 15:18:51 +0100 -Subject: [PATCH 531/634] configs: Add CAN_PEAK_USB=m - -Add the driver for the PEAK Systems USB CAN interface. - -See: https://github.com/raspberrypi/linux/issues/4583 - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index c791261d7827..bbb951e55b19 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -415,6 +415,7 @@ CONFIG_CAN_MCP251X=m - CONFIG_CAN_MCP251XFD=m - CONFIG_CAN_EMS_USB=m - CONFIG_CAN_GS_USB=m -+CONFIG_CAN_PEAK_USB=m - CONFIG_BT=m - CONFIG_BT_RFCOMM=m - CONFIG_BT_RFCOMM_TTY=y -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index 219f2ac0bbee..89d4845f708f 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -416,6 +416,7 @@ CONFIG_CAN_MCP251X=m - CONFIG_CAN_MCP251XFD=m - CONFIG_CAN_EMS_USB=m - CONFIG_CAN_GS_USB=m -+CONFIG_CAN_PEAK_USB=m - CONFIG_BT=m - CONFIG_BT_RFCOMM=m - CONFIG_BT_RFCOMM_TTY=y -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 18540a4f9cd7..7804862696c1 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -409,6 +409,7 @@ CONFIG_CAN_MCP251X=m - CONFIG_CAN_MCP251XFD=m - CONFIG_CAN_EMS_USB=m - CONFIG_CAN_GS_USB=m -+CONFIG_CAN_PEAK_USB=m - CONFIG_BT=m - CONFIG_BT_RFCOMM=m - CONFIG_BT_RFCOMM_TTY=y -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index bab586713394..989aefe7a389 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -415,6 +415,7 @@ CONFIG_CAN_MCP251X=m - CONFIG_CAN_MCP251XFD=m - CONFIG_CAN_EMS_USB=m - CONFIG_CAN_GS_USB=m -+CONFIG_CAN_PEAK_USB=m - CONFIG_BT=m - CONFIG_BT_RFCOMM=m - CONFIG_BT_RFCOMM_TTY=y -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 235fecf9c903..6af6d68a8f38 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -408,6 +408,7 @@ CONFIG_CAN_VCAN=m - CONFIG_CAN_MCP251X=m - CONFIG_CAN_MCP251XFD=m - CONFIG_CAN_EMS_USB=m -+CONFIG_CAN_PEAK_USB=m - CONFIG_BT=m - CONFIG_BT_RFCOMM=m - CONFIG_BT_RFCOMM_TTY=y --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0557-configs-Add-CONFIG_VIDEO_IMX519-m.patch b/root/target/linux/bcm27xx/patches-5.15/0557-configs-Add-CONFIG_VIDEO_IMX519-m.patch deleted file mode 100644 index 8b4c2700..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0557-configs-Add-CONFIG_VIDEO_IMX519-m.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 114b83f158635171f718e86c1e1d48061a72e144 Mon Sep 17 00:00:00 2001 -From: Lee Jackson -Date: Thu, 26 Aug 2021 11:15:26 +0800 -Subject: [PATCH 557/634] configs: Add CONFIG_VIDEO_IMX519=m - -Include the driver module for the IMX519. - -Signed-off-by: Lee Jackson ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index bbb951e55b19..39a79c6a0b52 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -868,6 +868,7 @@ CONFIG_VIDEO_TW9906=m - CONFIG_VIDEO_IMX219=m - CONFIG_VIDEO_IMX290=m - CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_IMX519=m - CONFIG_VIDEO_OV5647=m - CONFIG_VIDEO_OV7251=m - CONFIG_VIDEO_OV7640=m -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index 89d4845f708f..2db662527444 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -882,6 +882,7 @@ CONFIG_VIDEO_TW9906=m - CONFIG_VIDEO_IMX219=m - CONFIG_VIDEO_IMX290=m - CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_IMX519=m - CONFIG_VIDEO_OV5647=m - CONFIG_VIDEO_OV7251=m - CONFIG_VIDEO_OV7640=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 7804862696c1..2f64a60e1e63 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -861,6 +861,7 @@ CONFIG_VIDEO_TW9906=m - CONFIG_VIDEO_IMX219=m - CONFIG_VIDEO_IMX290=m - CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_IMX519=m - CONFIG_VIDEO_OV5647=m - CONFIG_VIDEO_OV7251=m - CONFIG_VIDEO_OV7640=m -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 989aefe7a389..d1966d92664b 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -885,6 +885,7 @@ CONFIG_VIDEO_TW9906=m - CONFIG_VIDEO_IMX219=m - CONFIG_VIDEO_IMX290=m - CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_IMX519=m - CONFIG_VIDEO_OV5647=m - CONFIG_VIDEO_OV7251=m - CONFIG_VIDEO_OV7640=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 6af6d68a8f38..6b0ca5314ab3 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -807,6 +807,7 @@ CONFIG_VIDEO_TW9906=m - CONFIG_VIDEO_IMX219=m - CONFIG_VIDEO_IMX290=m - CONFIG_VIDEO_IMX477=m -+CONFIG_VIDEO_IMX519=m - CONFIG_VIDEO_OV5647=m - CONFIG_VIDEO_OV7251=m - CONFIG_VIDEO_OV7640=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0563-Add-module-for-8111h-chip-used-in-various-CM4-boards.patch b/root/target/linux/bcm27xx/patches-5.15/0563-Add-module-for-8111h-chip-used-in-various-CM4-boards.patch deleted file mode 100644 index 0ad765fc..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0563-Add-module-for-8111h-chip-used-in-various-CM4-boards.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 3b480e2bf556dc77cb25d5fb2d3f7b203d3d6e37 Mon Sep 17 00:00:00 2001 -From: Sten Spans -Date: Tue, 12 Oct 2021 20:10:00 +0200 -Subject: [PATCH 563/634] Add module for 8111h chip used in various CM4 boards - ---- - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index 2db662527444..c1d7afb36a2e 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -509,6 +509,7 @@ CONFIG_BCMGENET=y - CONFIG_ENC28J60=m - CONFIG_QCA7000_SPI=m - CONFIG_QCA7000_UART=m -+CONFIG_R8169=m - CONFIG_WIZNET_W5100=m - CONFIG_WIZNET_W5100_SPI=m - CONFIG_MICREL_PHY=y -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index d1966d92664b..234e68865bff 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -506,6 +506,7 @@ CONFIG_BCMGENET=y - CONFIG_ENC28J60=m - CONFIG_QCA7000_SPI=m - CONFIG_QCA7000_UART=m -+CONFIG_R8169=m - CONFIG_WIZNET_W5100=m - CONFIG_WIZNET_W5100_SPI=m - CONFIG_MICREL_PHY=y --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0570-config-Enable-FSFS_FS_SECURITY.patch b/root/target/linux/bcm27xx/patches-5.15/0570-config-Enable-FSFS_FS_SECURITY.patch deleted file mode 100644 index 35566ab6..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0570-config-Enable-FSFS_FS_SECURITY.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 0c4c7f1f2321ec48fc1c67da167907a861d48774 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Mon, 18 Oct 2021 16:39:11 +0100 -Subject: [PATCH 570/634] config: Enable FSFS_FS_SECURITY - -Add a negligible amount of core kernel code for capability-based -access control on F2FS. - -See: https://github.com/raspberrypi/linux/issues/2778 - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 39a79c6a0b52..77553d32412e 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -1320,6 +1320,7 @@ CONFIG_BTRFS_FS=m - CONFIG_BTRFS_FS_POSIX_ACL=y - CONFIG_NILFS2_FS=m - CONFIG_F2FS_FS=y -+CONFIG_F2FS_FS_SECURITY=y - CONFIG_FS_ENCRYPTION=y - CONFIG_FANOTIFY=y - CONFIG_QFMT_V1=m -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index c1d7afb36a2e..a15b3e0a02f6 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -1359,6 +1359,7 @@ CONFIG_BTRFS_FS=m - CONFIG_BTRFS_FS_POSIX_ACL=y - CONFIG_NILFS2_FS=m - CONFIG_F2FS_FS=y -+CONFIG_F2FS_FS_SECURITY=y - CONFIG_FS_ENCRYPTION=y - CONFIG_FANOTIFY=y - CONFIG_QFMT_V1=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 2f64a60e1e63..f1a78aa3966c 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1331,6 +1331,7 @@ CONFIG_BTRFS_FS=m - CONFIG_BTRFS_FS_POSIX_ACL=y - CONFIG_NILFS2_FS=m - CONFIG_F2FS_FS=y -+CONFIG_F2FS_FS_SECURITY=y - CONFIG_FANOTIFY=y - CONFIG_QFMT_V1=m - CONFIG_QFMT_V2=m -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 234e68865bff..2a7e9aaf2b4d 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1368,6 +1368,7 @@ CONFIG_BTRFS_FS=m - CONFIG_BTRFS_FS_POSIX_ACL=y - CONFIG_NILFS2_FS=m - CONFIG_F2FS_FS=y -+CONFIG_F2FS_FS_SECURITY=y - CONFIG_FS_ENCRYPTION=y - CONFIG_FANOTIFY=y - CONFIG_QFMT_V1=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 6b0ca5314ab3..f16857163068 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -1217,6 +1217,7 @@ CONFIG_BTRFS_FS=m - CONFIG_BTRFS_FS_POSIX_ACL=y - CONFIG_NILFS2_FS=m - CONFIG_F2FS_FS=y -+CONFIG_F2FS_FS_SECURITY=y - CONFIG_FS_ENCRYPTION=y - CONFIG_FANOTIFY=y - CONFIG_QFMT_V1=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0572-Revert-drm-atomic-Pass-the-full-state-to-CRTC-atomic.patch b/root/target/linux/bcm27xx/patches-5.15/0572-Revert-drm-atomic-Pass-the-full-state-to-CRTC-atomic.patch deleted file mode 100644 index ab671e8e..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0572-Revert-drm-atomic-Pass-the-full-state-to-CRTC-atomic.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 50a03c2090d1d6631a66764669ef1bd392dcb1fa Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Wed, 20 Oct 2021 16:47:09 +0100 -Subject: [PATCH 572/634] Revert "drm/atomic: Pass the full state to CRTC - atomic enable/disable" - -This reverts commit a40d37ed7f14b152d098532802d2a676b76d145c. ---- - drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -index eff9dc6029c2..768012243b44 100644 ---- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c -@@ -797,8 +797,6 @@ static void dpu_crtc_disable(struct drm_crtc *crtc, - crtc); - struct dpu_crtc *dpu_crtc = to_dpu_crtc(crtc); - struct dpu_crtc_state *cstate = to_dpu_crtc_state(crtc->state); -- struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state, -- crtc); - struct drm_encoder *encoder; - unsigned long flags; - bool release_bandwidth = false; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0573-configs-Add-CONFIG_FB_SIMPLE-to-bcmrpi3_defconfig.patch b/root/target/linux/bcm27xx/patches-5.15/0573-configs-Add-CONFIG_FB_SIMPLE-to-bcmrpi3_defconfig.patch deleted file mode 100644 index dcca9d6d..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0573-configs-Add-CONFIG_FB_SIMPLE-to-bcmrpi3_defconfig.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0474407795d611cea0108e7ef21190512a992353 Mon Sep 17 00:00:00 2001 -From: Erik Tagirov -Date: Wed, 20 Oct 2021 09:51:26 +0200 -Subject: [PATCH 573/634] configs: Add CONFIG_FB_SIMPLE to bcmrpi3_defconfig - -See: https://github.com/raspberrypi/linux/pull/4640 - -Signed-off-by: Erik Tagirov ---- - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index f16857163068..b252255397fa 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -829,6 +829,7 @@ CONFIG_DRM_GUD=m - CONFIG_FB=y - CONFIG_FB_BCM2708=y - CONFIG_FB_UDL=m -+CONFIG_FB_SIMPLE=y - CONFIG_FB_SSD1307=m - CONFIG_FB_RPISENSE=m - CONFIG_BACKLIGHT_RPI=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0583-media-bcm2835-codec-Limit-video-callbacks.patch b/root/target/linux/bcm27xx/patches-5.15/0583-media-bcm2835-codec-Limit-video-callbacks.patch deleted file mode 100644 index 06d9ea04..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0583-media-bcm2835-codec-Limit-video-callbacks.patch +++ /dev/null @@ -1,41 +0,0 @@ -From e84199df6a504860f7e2b14008bee6f674f6f1c7 Mon Sep 17 00:00:00 2001 -From: John Cox -Date: Fri, 22 Oct 2021 13:11:38 +0100 -Subject: [PATCH 583/634] media: bcm2835-codec: Limit video callbacks - -Limit the number of allowed video callbacks. This helps with limiting -the size of the coded input FIFO which in turn helps to control latency. -Choose -5 as the magic number as it translates to DPB+5 buffers which -has been proven to be a good number in the past. - -Ideally coded buffers would not be returned to the user until they -had been decoded into the DPB or been discarded as bad, but that grade -of control is unavailable to us. - -Signed-off-by: John Cox ---- - .../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c -index 6078d6e2ace0..e8452c82d088 100644 ---- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c -+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c -@@ -2510,6 +2510,14 @@ static int bcm2835_codec_create_component(struct bcm2835_codec_ctx *ctx) - MMAL_PARAMETER_VIDEO_STOP_ON_PAR_COLOUR_CHANGE, - &enable, - sizeof(enable)); -+ -+ enable = (unsigned int)-5; -+ vchiq_mmal_port_parameter_set(dev->instance, -+ &ctx->component->control, -+ MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS, -+ &enable, -+ sizeof(enable)); -+ - } else if (dev->role == DEINTERLACE) { - /* Select the default deinterlace algorithm. */ - int half_framerate = 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0605-Revert-brcmfmac-BCM43436-needs-dedicated-firmware.patch b/root/target/linux/bcm27xx/patches-5.15/0605-Revert-brcmfmac-BCM43436-needs-dedicated-firmware.patch deleted file mode 100644 index 263d29b1..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0605-Revert-brcmfmac-BCM43436-needs-dedicated-firmware.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4e102e98bf30c8337b329a86cfceb6a97e397e91 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 2 Nov 2021 16:53:20 +0000 -Subject: [PATCH 605/634] Revert "brcmfmac: BCM43436 needs dedicated firmware" - -This reverts commit 0a2690fa8c3a0b356a0cf5fc63c2428264ead0e7. ---- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index fd1a09228f9a..6bcaa402a356 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -616,7 +616,6 @@ BRCMF_FW_DEF(4335, "brcmfmac4335-sdio"); - BRCMF_FW_DEF(43362, "brcmfmac43362-sdio"); - BRCMF_FW_DEF(4339, "brcmfmac4339-sdio"); - BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio"); --BRCMF_FW_DEF(43436, "brcmfmac43436-sdio"); - /* Note the names are not postfixed with a1 for backward compatibility */ - BRCMF_FW_CLM_DEF(43430A1, "brcmfmac43430-sdio"); - BRCMF_FW_DEF(43430B0, "brcmfmac43430b0-sdio"); -@@ -651,8 +650,6 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { - BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000002, 43430A1), -- BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000004, 43436), -- BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFA, 43430A1), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFC, 43430B0), - BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456), - BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455), --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0617-configs-Regenerate-defconfigs.patch b/root/target/linux/bcm27xx/patches-5.15/0617-configs-Regenerate-defconfigs.patch deleted file mode 100644 index a55989ab..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0617-configs-Regenerate-defconfigs.patch +++ /dev/null @@ -1,117 +0,0 @@ -From bc1237c403e9b95446a9c1da36d0ba83b5421aae Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 10 Nov 2021 09:48:50 +0000 -Subject: [PATCH 617/634] configs: Regenerate defconfigs - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 2 +- - arch/arm/configs/bcm2711_defconfig | 2 +- - arch/arm/configs/bcmrpi_defconfig | 2 +- - arch/arm64/configs/bcm2711_defconfig | 2 +- - arch/arm64/configs/bcmrpi3_defconfig | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 77553d32412e..b3b1cb8fec95 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -55,7 +55,6 @@ CONFIG_VFP=y - CONFIG_NEON=y - CONFIG_KERNEL_MODE_NEON=y - # CONFIG_SUSPEND is not set --CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_CRYPTO_SHA1_ARM_NEON=m - CONFIG_CRYPTO_AES_ARM=m - CONFIG_CRYPTO_AES_ARM_BS=m -@@ -446,6 +445,7 @@ CONFIG_NFC=m - CONFIG_UEVENT_HELPER=y - CONFIG_DEVTMPFS=y - CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_MTD=m - CONFIG_MTD_BLOCK=m - CONFIG_MTD_BLOCK2MTD=m -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index a15b3e0a02f6..ee616a188ca4 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -55,7 +55,6 @@ CONFIG_VFP=y - CONFIG_NEON=y - CONFIG_KERNEL_MODE_NEON=y - # CONFIG_SUSPEND is not set --CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_CRYPTO_SHA1_ARM_NEON=m - CONFIG_CRYPTO_AES_ARM=m - CONFIG_CRYPTO_AES_ARM_BS=m -@@ -452,6 +451,7 @@ CONFIG_PCIE_BRCMSTB=y - CONFIG_UEVENT_HELPER=y - CONFIG_DEVTMPFS=y - CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_MTD=m - CONFIG_MTD_BLOCK=m - CONFIG_MTD_BLOCK2MTD=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index f1a78aa3966c..ec5810249709 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -50,7 +50,6 @@ CONFIG_CPUFREQ_DT=y - CONFIG_ARM_RASPBERRYPI_CPUFREQ=y - CONFIG_VFP=y - # CONFIG_SUSPEND is not set --CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_CRYPTO_SHA1_ARM=m - CONFIG_CRYPTO_AES_ARM=m - CONFIG_JUMP_LABEL=y -@@ -440,6 +439,7 @@ CONFIG_NFC=m - CONFIG_UEVENT_HELPER=y - CONFIG_DEVTMPFS=y - CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_MTD=m - CONFIG_MTD_BLOCK=m - CONFIG_MTD_BLOCK2MTD=m -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 2a7e9aaf2b4d..56718edb5c54 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -54,7 +54,6 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y - CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y - CONFIG_CPUFREQ_DT=y - CONFIG_ARM_RASPBERRYPI_CPUFREQ=y --CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_VIRTUALIZATION=y - CONFIG_KVM=y - CONFIG_CRYPTO_AES_ARM64_BS=m -@@ -448,6 +447,7 @@ CONFIG_PCIE_BRCMSTB=y - CONFIG_UEVENT_HELPER=y - CONFIG_DEVTMPFS=y - CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_MTD=m - CONFIG_MTD_BLOCK=m - CONFIG_MTD_BLOCK2MTD=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index b252255397fa..29d98dc91225 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -58,7 +58,6 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y - CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y - CONFIG_CPUFREQ_DT=y - CONFIG_ARM_RASPBERRYPI_CPUFREQ=y --CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_CRYPTO_AES_ARM64_BS=m - CONFIG_JUMP_LABEL=y - CONFIG_MODULES=y -@@ -439,6 +438,7 @@ CONFIG_NFC=m - CONFIG_UEVENT_HELPER=y - CONFIG_DEVTMPFS=y - CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_RASPBERRYPI_FIRMWARE=y - CONFIG_MTD=m - CONFIG_MTD_BLOCK=m - CONFIG_MTD_UBI=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0618-configs-Add-NTFS3-support.patch b/root/target/linux/bcm27xx/patches-5.15/0618-configs-Add-NTFS3-support.patch deleted file mode 100644 index c1faf318..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0618-configs-Add-NTFS3-support.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 911f564b3e2abacd0398650c77566d425c735e2c Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 10 Nov 2021 09:52:22 +0000 -Subject: [PATCH 618/634] configs: Add NTFS3 support - -ntfs3 provides improved support for NTFS filesystems without the -performance hit of a userspace FUSE filesystem. - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index b3b1cb8fec95..9b8c3c694f89 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -1342,6 +1342,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii" - CONFIG_EXFAT_FS=m - CONFIG_NTFS_FS=m - CONFIG_NTFS_RW=y -+CONFIG_NTFS3_FS=m - CONFIG_TMPFS=y - CONFIG_TMPFS_POSIX_ACL=y - CONFIG_ECRYPT_FS=m -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index ee616a188ca4..a0bf8b4afc2e 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -1381,6 +1381,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii" - CONFIG_EXFAT_FS=m - CONFIG_NTFS_FS=m - CONFIG_NTFS_RW=y -+CONFIG_NTFS3_FS=m - CONFIG_TMPFS=y - CONFIG_TMPFS_POSIX_ACL=y - CONFIG_ECRYPT_FS=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index ec5810249709..7ee5b836df89 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1352,6 +1352,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii" - CONFIG_EXFAT_FS=m - CONFIG_NTFS_FS=m - CONFIG_NTFS_RW=y -+CONFIG_NTFS3_FS=m - CONFIG_TMPFS=y - CONFIG_TMPFS_POSIX_ACL=y - CONFIG_ECRYPT_FS=m -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 56718edb5c54..3b4fb78dce75 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1390,6 +1390,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii" - CONFIG_EXFAT_FS=m - CONFIG_NTFS_FS=m - CONFIG_NTFS_RW=y -+CONFIG_NTFS3_FS=m - CONFIG_TMPFS=y - CONFIG_TMPFS_POSIX_ACL=y - CONFIG_ECRYPT_FS=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 29d98dc91225..38fff49a5951 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -1240,6 +1240,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii" - CONFIG_EXFAT_FS=m - CONFIG_NTFS_FS=m - CONFIG_NTFS_RW=y -+CONFIG_NTFS3_FS=m - CONFIG_TMPFS=y - CONFIG_TMPFS_POSIX_ACL=y - CONFIG_ECRYPT_FS=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0619-configs-Add-kernel-SMB3-server-support.patch b/root/target/linux/bcm27xx/patches-5.15/0619-configs-Add-kernel-SMB3-server-support.patch deleted file mode 100644 index 2c8e8c35..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0619-configs-Add-kernel-SMB3-server-support.patch +++ /dev/null @@ -1,79 +0,0 @@ -From c7407e8aeeff18e65c8942e56474ad123bea19c3 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 10 Nov 2021 09:54:35 +0000 -Subject: [PATCH 619/634] configs: Add kernel SMB3 server support - -Enable the in-kernel (module) SMB3 server. - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 9b8c3c694f89..4da927bf5ef9 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -1371,6 +1371,7 @@ CONFIG_CIFS_UPCALL=y - CONFIG_CIFS_XATTR=y - CONFIG_CIFS_DFS_UPCALL=y - CONFIG_CIFS_FSCACHE=y -+CONFIG_SMB_SERVER=m - CONFIG_9P_FS=m - CONFIG_9P_FS_POSIX_ACL=y - CONFIG_NLS_DEFAULT="utf8" -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index a0bf8b4afc2e..d4560a472500 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -1411,6 +1411,7 @@ CONFIG_CIFS_XATTR=y - CONFIG_CIFS_POSIX=y - CONFIG_CIFS_DFS_UPCALL=y - CONFIG_CIFS_FSCACHE=y -+CONFIG_SMB_SERVER=m - CONFIG_9P_FS=m - CONFIG_9P_FS_POSIX_ACL=y - CONFIG_NLS_DEFAULT="utf8" -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 7ee5b836df89..2dd6629d7e61 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1381,6 +1381,7 @@ CONFIG_CIFS_UPCALL=y - CONFIG_CIFS_XATTR=y - CONFIG_CIFS_DFS_UPCALL=y - CONFIG_CIFS_FSCACHE=y -+CONFIG_SMB_SERVER=m - CONFIG_9P_FS=m - CONFIG_9P_FS_POSIX_ACL=y - CONFIG_NLS_DEFAULT="utf8" -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 3b4fb78dce75..e09fb606b4f1 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1420,6 +1420,7 @@ CONFIG_CIFS_XATTR=y - CONFIG_CIFS_POSIX=y - CONFIG_CIFS_DFS_UPCALL=y - CONFIG_CIFS_FSCACHE=y -+CONFIG_SMB_SERVER=m - CONFIG_9P_FS=m - CONFIG_9P_FS_POSIX_ACL=y - CONFIG_NLS_DEFAULT="utf8" -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 38fff49a5951..82c996f54a8d 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -1269,6 +1269,7 @@ CONFIG_CIFS_UPCALL=y - CONFIG_CIFS_XATTR=y - CONFIG_CIFS_DFS_UPCALL=y - CONFIG_CIFS_FSCACHE=y -+CONFIG_SMB_SERVER=m - CONFIG_9P_FS=m - CONFIG_9P_FS_POSIX_ACL=y - CONFIG_NLS_DEFAULT="utf8" --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0620-Revert-media-bcm2835-codec-Limit-video-callbacks.patch b/root/target/linux/bcm27xx/patches-5.15/0620-Revert-media-bcm2835-codec-Limit-video-callbacks.patch deleted file mode 100644 index 5481f518..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0620-Revert-media-bcm2835-codec-Limit-video-callbacks.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 461a10651749985a42f7c77918977c50546ad700 Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Tue, 9 Nov 2021 00:14:16 +0000 -Subject: [PATCH 620/634] Revert "media: bcm2835-codec: Limit video callbacks" - -This reverts commit f7abe646a35b6f873abc88c47be2651472793823. ---- - .../vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c -index 351d693873ed..97c8afa0861e 100644 ---- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c -+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c -@@ -2505,14 +2505,6 @@ static int bcm2835_codec_create_component(struct bcm2835_codec_ctx *ctx) - MMAL_PARAMETER_VIDEO_STOP_ON_PAR_COLOUR_CHANGE, - &enable, - sizeof(enable)); -- -- enable = (unsigned int)-5; -- vchiq_mmal_port_parameter_set(dev->instance, -- &ctx->component->control, -- MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS, -- &enable, -- sizeof(enable)); -- - } else if (dev->role == DEINTERLACE) { - /* Select the default deinterlace algorithm. */ - int half_framerate = 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0621-config-Set-TCA8418-to-module.patch b/root/target/linux/bcm27xx/patches-5.15/0621-config-Set-TCA8418-to-module.patch deleted file mode 100644 index cb1746f7..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0621-config-Set-TCA8418-to-module.patch +++ /dev/null @@ -1,77 +0,0 @@ -From c0eda3e991db19a5aa49f2b4aca7ebc3016abf02 Mon Sep 17 00:00:00 2001 -From: arturo182 -Date: Tue, 9 Nov 2021 16:21:56 +0100 -Subject: [PATCH 621/634] config: Set TCA8418 to module - -This chip is a popular way to add a matrix keyboard using I2C. ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 4da927bf5ef9..3f59b647b343 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -602,6 +602,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m - # CONFIG_INPUT_MOUSE is not set -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index d4560a472500..63c41e541c54 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -615,6 +615,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m - # CONFIG_INPUT_MOUSE is not set -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 2dd6629d7e61..50d5473c1c2d 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -596,6 +596,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m - # CONFIG_INPUT_MOUSE is not set -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index e09fb606b4f1..3aca18f64f56 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -612,6 +612,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m - # CONFIG_INPUT_MOUSE is not set -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 82c996f54a8d..4e7296ad96c2 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -591,6 +591,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m - # CONFIG_INPUT_MOUSE is not set --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0623-configs-Add-TCA6416-driver-module.patch b/root/target/linux/bcm27xx/patches-5.15/0623-configs-Add-TCA6416-driver-module.patch deleted file mode 100644 index b1fdd2d5..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0623-configs-Add-TCA6416-driver-module.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 05a94dbdd59e69c36d21591e3459705b847a62b9 Mon Sep 17 00:00:00 2001 -From: VMsunghwan -Date: Tue, 16 Nov 2021 03:24:36 +0900 -Subject: [PATCH 623/634] configs: Add TCA6416 driver module - -Add a matrix keyboard on I2C - -See: https://github.com/raspberrypi/linux/pull/4700 ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 3f59b647b343..42fe6bd471b2 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -602,6 +602,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA6416=m - CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index 63c41e541c54..bf5ff05815f0 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -615,6 +615,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA6416=m - CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 50d5473c1c2d..f1c54effdce2 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -596,6 +596,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA6416=m - CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 3aca18f64f56..cd77617fbcfb 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -612,6 +612,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA6416=m - CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 4e7296ad96c2..5a8cc83a7386 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -591,6 +591,7 @@ CONFIG_INPUT_JOYDEV=m - CONFIG_INPUT_EVDEV=y - # CONFIG_KEYBOARD_ATKBD is not set - CONFIG_KEYBOARD_GPIO=m -+CONFIG_KEYBOARD_TCA6416=m - CONFIG_KEYBOARD_TCA8418=m - CONFIG_KEYBOARD_MATRIX=m - CONFIG_KEYBOARD_CAP11XX=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0630-enable-several-virtual-devices-for-hosting-virtual-m.patch b/root/target/linux/bcm27xx/patches-5.15/0630-enable-several-virtual-devices-for-hosting-virtual-m.patch deleted file mode 100644 index e1c7c8ed..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0630-enable-several-virtual-devices-for-hosting-virtual-m.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 203e924caade8c8baa6ff32ff91cdff7af9c949b Mon Sep 17 00:00:00 2001 -From: Sean McAvoy -Date: Fri, 19 Nov 2021 02:36:24 -0500 -Subject: [PATCH 630/634] enable several virtual devices for hosting virtual - machines - ---- - arch/arm64/configs/bcm2711_defconfig | 3 +++ - arch/arm64/configs/bcmrpi3_defconfig | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index cd77617fbcfb..a5c41d4bdc1e 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -393,6 +393,7 @@ CONFIG_NET_ACT_SKBEDIT=m - CONFIG_NET_ACT_CSUM=m - CONFIG_BATMAN_ADV=m - CONFIG_OPENVSWITCH=m -+CONFIG_VSOCKETS=m - CONFIG_CGROUP_NET_PRIO=y - CONFIG_NET_PKTGEN=m - CONFIG_HAMRADIO=y -@@ -502,6 +503,7 @@ CONFIG_NETCONSOLE=m - CONFIG_TUN=m - CONFIG_VETH=m - CONFIG_NET_VRF=m -+CONFIG_VSOCKMON=m - CONFIG_BCMGENET=y - CONFIG_ENC28J60=m - CONFIG_QCA7000_SPI=m -@@ -1272,6 +1274,7 @@ CONFIG_HD44780=m - CONFIG_UIO=m - CONFIG_UIO_PDRV_GENIRQ=m - CONFIG_VHOST_NET=m -+CONFIG_VHOST_VSOCK=m - CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y - CONFIG_STAGING=y - CONFIG_PRISM2_USB=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 5a8cc83a7386..05f1eba91510 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -388,6 +388,7 @@ CONFIG_NET_ACT_SKBEDIT=m - CONFIG_NET_ACT_CSUM=m - CONFIG_BATMAN_ADV=m - CONFIG_OPENVSWITCH=m -+CONFIG_VSOCKETS=m - CONFIG_CGROUP_NET_PRIO=y - CONFIG_NET_PKTGEN=m - CONFIG_HAMRADIO=y -@@ -487,6 +488,7 @@ CONFIG_NETCONSOLE=m - CONFIG_TUN=m - CONFIG_VETH=m - CONFIG_NET_VRF=m -+CONFIG_VSOCKMON=m - CONFIG_ENC28J60=m - CONFIG_QCA7000_SPI=m - CONFIG_QCA7000_UART=m -@@ -1133,6 +1135,7 @@ CONFIG_DMABUF_HEAPS_SYSTEM=y - CONFIG_DMABUF_HEAPS_CMA=y - CONFIG_UIO=m - CONFIG_UIO_PDRV_GENIRQ=m -+CONFIG_VHOST_VSOCK=m - CONFIG_STAGING=y - CONFIG_PRISM2_USB=m - CONFIG_R8712U=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0632-configs-add-CONFIG_HID_PLAYSTATION-m-and-CONFIG_PLAY.patch b/root/target/linux/bcm27xx/patches-5.15/0632-configs-add-CONFIG_HID_PLAYSTATION-m-and-CONFIG_PLAY.patch deleted file mode 100644 index 0c3f950b..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0632-configs-add-CONFIG_HID_PLAYSTATION-m-and-CONFIG_PLAY.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 0360e2aa85e7fd2cc249b2aac178018d53f61a31 Mon Sep 17 00:00:00 2001 -From: Ilya Trukhanov -Date: Sat, 20 Nov 2021 16:26:36 +0200 -Subject: [PATCH 632/634] configs: add CONFIG_HID_PLAYSTATION=m and - CONFIG_PLAYSTATION_FF=y - -Enables support for the PlayStation 5 'DualSense' controller and its -force feedback. - -Also, Sony is planning to move PlayStation peripheral support from -hid-sony into hid-playstation in the future: -https://lore.kernel.org/all/20201219062336.72568-1-roderick@gaikai.com/ - -This means that, potentially, in future kernel releases older -PlayStation controllers may stop working without this option. As -Raspberry Pis are a popular choice as emulation consoles, it is probably -a good idea to enable this. - -Signed-off-by: Ilya Trukhanov ---- - arch/arm/configs/bcm2709_defconfig | 2 ++ - arch/arm/configs/bcm2711_defconfig | 2 ++ - arch/arm/configs/bcmrpi_defconfig | 2 ++ - arch/arm64/configs/bcm2711_defconfig | 2 ++ - arch/arm64/configs/bcmrpi3_defconfig | 2 ++ - 5 files changed, 10 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 42fe6bd471b2..cd4148fcdc4b 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -1022,6 +1022,8 @@ CONFIG_HID_ORTEK=m - CONFIG_HID_PANTHERLORD=m - CONFIG_HID_PETALYNX=m - CONFIG_HID_PICOLCD=m -+CONFIG_HID_PLAYSTATION=m -+CONFIG_PLAYSTATION_FF=y - CONFIG_HID_ROCCAT=m - CONFIG_HID_SAMSUNG=m - CONFIG_HID_SONY=m -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index bf5ff05815f0..6cceda505484 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -1038,6 +1038,8 @@ CONFIG_HID_ORTEK=m - CONFIG_HID_PANTHERLORD=m - CONFIG_HID_PETALYNX=m - CONFIG_HID_PICOLCD=m -+CONFIG_HID_PLAYSTATION=m -+CONFIG_PLAYSTATION_FF=y - CONFIG_HID_ROCCAT=m - CONFIG_HID_SAMSUNG=m - CONFIG_HID_SONY=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index f1c54effdce2..f7d84b00778e 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1015,6 +1015,8 @@ CONFIG_HID_ORTEK=m - CONFIG_HID_PANTHERLORD=m - CONFIG_HID_PETALYNX=m - CONFIG_HID_PICOLCD=m -+CONFIG_HID_PLAYSTATION=m -+CONFIG_PLAYSTATION_FF=y - CONFIG_HID_ROCCAT=m - CONFIG_HID_SAMSUNG=m - CONFIG_HID_SONY=m -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index a5c41d4bdc1e..00aa6d7ebb36 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1043,6 +1043,8 @@ CONFIG_HID_ORTEK=m - CONFIG_HID_PANTHERLORD=m - CONFIG_HID_PETALYNX=m - CONFIG_HID_PICOLCD=m -+CONFIG_HID_PLAYSTATION=m -+CONFIG_PLAYSTATION_FF=y - CONFIG_HID_ROCCAT=m - CONFIG_HID_SAMSUNG=m - CONFIG_HID_SONY=m -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 05f1eba91510..2a319d0550a2 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -941,6 +941,8 @@ CONFIG_HID_ORTEK=m - CONFIG_HID_PANTHERLORD=m - CONFIG_HID_PETALYNX=m - CONFIG_HID_PICOLCD=m -+CONFIG_HID_PLAYSTATION=m -+CONFIG_PLAYSTATION_FF=y - CONFIG_HID_ROCCAT=m - CONFIG_HID_SAMSUNG=m - CONFIG_HID_SONY=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0633-configs-add-LEDS_PWM-y.patch b/root/target/linux/bcm27xx/patches-5.15/0633-configs-add-LEDS_PWM-y.patch deleted file mode 100644 index 226c2937..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0633-configs-add-LEDS_PWM-y.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 436be1a460d6fd67e8aaabcc33b1f6ac12eaf1d0 Mon Sep 17 00:00:00 2001 -From: Michael Heimpold -Date: Thu, 4 Nov 2021 23:09:07 +0100 -Subject: [PATCH 633/634] configs: add LEDS_PWM=y - -Enable support for PWM driven LEDs. - -Signed-off-by: Michael Heimpold ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcm2711_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - arch/arm64/configs/bcm2711_defconfig | 1 + - arch/arm64/configs/bcmrpi3_defconfig | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index cd4148fcdc4b..317b0018d6e2 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -1169,6 +1169,7 @@ CONFIG_LEDS_PCA9532=m - CONFIG_LEDS_GPIO=y - CONFIG_LEDS_PCA955X=m - CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_PWM=y - CONFIG_LEDS_IS31FL32XX=m - CONFIG_LEDS_TRIGGER_TIMER=y - CONFIG_LEDS_TRIGGER_ONESHOT=y -diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig -index 6cceda505484..94d15dfe2793 100644 ---- a/arch/arm/configs/bcm2711_defconfig -+++ b/arch/arm/configs/bcm2711_defconfig -@@ -1206,6 +1206,7 @@ CONFIG_LEDS_PCA9532=m - CONFIG_LEDS_GPIO=y - CONFIG_LEDS_PCA955X=m - CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_PWM=y - CONFIG_LEDS_IS31FL32XX=m - CONFIG_LEDS_TRIGGER_TIMER=y - CONFIG_LEDS_TRIGGER_ONESHOT=y -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index f7d84b00778e..95a11f27dfad 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1180,6 +1180,7 @@ CONFIG_LEDS_PCA9532=m - CONFIG_LEDS_GPIO=y - CONFIG_LEDS_PCA955X=m - CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_PWM=y - CONFIG_LEDS_IS31FL32XX=m - CONFIG_LEDS_TRIGGER_TIMER=y - CONFIG_LEDS_TRIGGER_ONESHOT=y -diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig -index 00aa6d7ebb36..0fffa3b4f72b 100644 ---- a/arch/arm64/configs/bcm2711_defconfig -+++ b/arch/arm64/configs/bcm2711_defconfig -@@ -1211,6 +1211,7 @@ CONFIG_LEDS_PCA9532=m - CONFIG_LEDS_GPIO=y - CONFIG_LEDS_PCA955X=m - CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_PWM=y - CONFIG_LEDS_IS31FL32XX=m - CONFIG_LEDS_TRIGGER_TIMER=y - CONFIG_LEDS_TRIGGER_ONESHOT=y -diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig -index 2a319d0550a2..c4dff0b42461 100644 ---- a/arch/arm64/configs/bcmrpi3_defconfig -+++ b/arch/arm64/configs/bcmrpi3_defconfig -@@ -1075,6 +1075,7 @@ CONFIG_LEDS_PCA9532=m - CONFIG_LEDS_GPIO=y - CONFIG_LEDS_PCA955X=m - CONFIG_LEDS_PCA963X=m -+CONFIG_LEDS_PWM=y - CONFIG_LEDS_IS31FL32XX=m - CONFIG_LEDS_TRIGGER_TIMER=y - CONFIG_LEDS_TRIGGER_ONESHOT=y --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0634-configs-Add-USB-gadget-support-for-Zero-2-W.patch b/root/target/linux/bcm27xx/patches-5.15/0634-configs-Add-USB-gadget-support-for-Zero-2-W.patch deleted file mode 100644 index 03a98982..00000000 --- a/root/target/linux/bcm27xx/patches-5.15/0634-configs-Add-USB-gadget-support-for-Zero-2-W.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e9c66cd367f00c9384ddc651567db7df48054115 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Mon, 22 Nov 2021 10:28:55 +0000 -Subject: [PATCH 634/634] configs: Add USB gadget support (for Zero 2 W) - -Bring the Pi 3 kernel in line with the Pi Zero and Pi 4 by enabling -USB gadget support, which is useful on Zero 2 W. - -See: https://github.com/raspberrypi/firmware/issues/1654 - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 317b0018d6e2..e844c6d60011 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -1143,6 +1143,24 @@ CONFIG_USB_UEAGLEATM=m - CONFIG_USB_XUSBATM=m - CONFIG_NOP_USB_XCEIV=y - CONFIG_USB_GADGET=y -+CONFIG_USB_CONFIGFS=m -+CONFIG_USB_CONFIGFS_SERIAL=y -+CONFIG_USB_CONFIGFS_ACM=y -+CONFIG_USB_CONFIGFS_OBEX=y -+CONFIG_USB_CONFIGFS_NCM=y -+CONFIG_USB_CONFIGFS_ECM=y -+CONFIG_USB_CONFIGFS_ECM_SUBSET=y -+CONFIG_USB_CONFIGFS_RNDIS=y -+CONFIG_USB_CONFIGFS_EEM=y -+CONFIG_USB_CONFIGFS_MASS_STORAGE=y -+CONFIG_USB_CONFIGFS_F_LB_SS=y -+CONFIG_USB_CONFIGFS_F_FS=y -+CONFIG_USB_CONFIGFS_F_UAC1=y -+CONFIG_USB_CONFIGFS_F_UAC2=y -+CONFIG_USB_CONFIGFS_F_MIDI=y -+CONFIG_USB_CONFIGFS_F_HID=y -+CONFIG_USB_CONFIGFS_F_UVC=y -+CONFIG_USB_CONFIGFS_F_PRINTER=y - CONFIG_USB_ZERO=m - CONFIG_USB_AUDIO=m - CONFIG_USB_ETH=m --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0001-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0001-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch new file mode 100644 index 00000000..c1931a5d --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0001-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch @@ -0,0 +1,111 @@ +From f959ee9d0bfbcb747a74458e79157db37817d390 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Thu, 19 Aug 2021 15:59:29 +0200 +Subject: [PATCH 001/828] drm/vc4: hdmi: Split the CEC disable / enable + functions in two + +In order to ease further additions to the CEC enable and disable, let's +split the function into two functions, one to enable and the other to +disable. + +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20210819135931.895976-5-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 75 ++++++++++++++++++++-------------- + 1 file changed, 45 insertions(+), 30 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1739,7 +1739,7 @@ static irqreturn_t vc4_cec_irq_handler(i + return ret; + } + +-static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) ++static int vc4_hdmi_cec_enable(struct cec_adapter *adap) + { + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + /* clock period in microseconds */ +@@ -1752,38 +1752,53 @@ static int vc4_hdmi_cec_adap_enable(stru + val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) | + ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT); + +- if (enable) { +- HDMI_WRITE(HDMI_CEC_CNTRL_5, val | +- VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); +- HDMI_WRITE(HDMI_CEC_CNTRL_5, val); +- HDMI_WRITE(HDMI_CEC_CNTRL_2, +- ((1500 / usecs) << VC4_HDMI_CEC_CNT_TO_1500_US_SHIFT) | +- ((1300 / usecs) << VC4_HDMI_CEC_CNT_TO_1300_US_SHIFT) | +- ((800 / usecs) << VC4_HDMI_CEC_CNT_TO_800_US_SHIFT) | +- ((600 / usecs) << VC4_HDMI_CEC_CNT_TO_600_US_SHIFT) | +- ((400 / usecs) << VC4_HDMI_CEC_CNT_TO_400_US_SHIFT)); +- HDMI_WRITE(HDMI_CEC_CNTRL_3, +- ((2750 / usecs) << VC4_HDMI_CEC_CNT_TO_2750_US_SHIFT) | +- ((2400 / usecs) << VC4_HDMI_CEC_CNT_TO_2400_US_SHIFT) | +- ((2050 / usecs) << VC4_HDMI_CEC_CNT_TO_2050_US_SHIFT) | +- ((1700 / usecs) << VC4_HDMI_CEC_CNT_TO_1700_US_SHIFT)); +- HDMI_WRITE(HDMI_CEC_CNTRL_4, +- ((4300 / usecs) << VC4_HDMI_CEC_CNT_TO_4300_US_SHIFT) | +- ((3900 / usecs) << VC4_HDMI_CEC_CNT_TO_3900_US_SHIFT) | +- ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | +- ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); +- +- if (!vc4_hdmi->variant->external_irq_controller) +- HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, VC4_HDMI_CPU_CEC); +- } else { +- if (!vc4_hdmi->variant->external_irq_controller) +- HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); +- HDMI_WRITE(HDMI_CEC_CNTRL_5, val | +- VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); +- } ++ HDMI_WRITE(HDMI_CEC_CNTRL_5, val | ++ VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); ++ HDMI_WRITE(HDMI_CEC_CNTRL_5, val); ++ HDMI_WRITE(HDMI_CEC_CNTRL_2, ++ ((1500 / usecs) << VC4_HDMI_CEC_CNT_TO_1500_US_SHIFT) | ++ ((1300 / usecs) << VC4_HDMI_CEC_CNT_TO_1300_US_SHIFT) | ++ ((800 / usecs) << VC4_HDMI_CEC_CNT_TO_800_US_SHIFT) | ++ ((600 / usecs) << VC4_HDMI_CEC_CNT_TO_600_US_SHIFT) | ++ ((400 / usecs) << VC4_HDMI_CEC_CNT_TO_400_US_SHIFT)); ++ HDMI_WRITE(HDMI_CEC_CNTRL_3, ++ ((2750 / usecs) << VC4_HDMI_CEC_CNT_TO_2750_US_SHIFT) | ++ ((2400 / usecs) << VC4_HDMI_CEC_CNT_TO_2400_US_SHIFT) | ++ ((2050 / usecs) << VC4_HDMI_CEC_CNT_TO_2050_US_SHIFT) | ++ ((1700 / usecs) << VC4_HDMI_CEC_CNT_TO_1700_US_SHIFT)); ++ HDMI_WRITE(HDMI_CEC_CNTRL_4, ++ ((4300 / usecs) << VC4_HDMI_CEC_CNT_TO_4300_US_SHIFT) | ++ ((3900 / usecs) << VC4_HDMI_CEC_CNT_TO_3900_US_SHIFT) | ++ ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | ++ ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); ++ ++ if (!vc4_hdmi->variant->external_irq_controller) ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, VC4_HDMI_CPU_CEC); ++ + return 0; + } + ++static int vc4_hdmi_cec_disable(struct cec_adapter *adap) ++{ ++ struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); ++ ++ if (!vc4_hdmi->variant->external_irq_controller) ++ HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); ++ ++ HDMI_WRITE(HDMI_CEC_CNTRL_5, HDMI_READ(HDMI_CEC_CNTRL_5) | ++ VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); ++ ++ return 0; ++} ++ ++static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) ++{ ++ if (enable) ++ return vc4_hdmi_cec_enable(adap); ++ else ++ return vc4_hdmi_cec_disable(adap); ++} ++ + static int vc4_hdmi_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr) + { + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0002-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch b/root/target/linux/bcm27xx/patches-5.15/950-0002-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch new file mode 100644 index 00000000..afeba636 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0002-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch @@ -0,0 +1,51 @@ +From 055b225c463ec348ab2701047016cc5957693320 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Thu, 19 Aug 2021 15:59:30 +0200 +Subject: [PATCH 002/828] drm/vc4: hdmi: Make sure the device is powered with + CEC + +Similarly to what we encountered with the detect hook with DRM, nothing +actually prevents any of the CEC callback from being run while the HDMI +output is disabled. + +However, this is an issue since any register access to the controller +when it's powered down will result in a silent hang. + +Let's make sure we run the runtime_pm hooks when the CEC adapter is +opened and closed by the userspace to avoid that issue. + +Fixes: 15b4511a4af6 ("drm/vc4: add HDMI CEC support") +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20210819135931.895976-6-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1744,8 +1744,14 @@ static int vc4_hdmi_cec_enable(struct ce + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + /* clock period in microseconds */ + const u32 usecs = 1000000 / CEC_CLOCK_FREQ; +- u32 val = HDMI_READ(HDMI_CEC_CNTRL_5); ++ u32 val; ++ int ret; + ++ ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); ++ if (ret) ++ return ret; ++ ++ val = HDMI_READ(HDMI_CEC_CNTRL_5); + val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | + VC4_HDMI_CEC_CNT_TO_4700_US_MASK | + VC4_HDMI_CEC_CNT_TO_4500_US_MASK); +@@ -1788,6 +1794,8 @@ static int vc4_hdmi_cec_disable(struct c + HDMI_WRITE(HDMI_CEC_CNTRL_5, HDMI_READ(HDMI_CEC_CNTRL_5) | + VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); + ++ pm_runtime_put(&vc4_hdmi->pdev->dev); ++ + return 0; + } + diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0003-drm-vc4-hdmi-Warn-if-we-access-the-controller-while-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0003-drm-vc4-hdmi-Warn-if-we-access-the-controller-while-.patch new file mode 100644 index 00000000..19fe2dba --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0003-drm-vc4-hdmi-Warn-if-we-access-the-controller-while-.patch @@ -0,0 +1,49 @@ +From 7a70a2083deb61123fcdec66388e72405eb39a78 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Thu, 19 Aug 2021 15:59:31 +0200 +Subject: [PATCH 003/828] drm/vc4: hdmi: Warn if we access the controller while + disabled + +We've had many silent hangs where the kernel would look like it just +stalled due to the access to one of the HDMI registers while the +controller was disabled. + +Add a warning if we're about to do that so that it's at least not silent +anymore. + +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20210819135931.895976-7-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +@@ -1,6 +1,8 @@ + #ifndef _VC4_HDMI_REGS_H_ + #define _VC4_HDMI_REGS_H_ + ++#include ++ + #include "vc4_hdmi.h" + + #define VC4_HDMI_PACKET_STRIDE 0x24 +@@ -412,6 +414,8 @@ static inline u32 vc4_hdmi_read(struct v + const struct vc4_hdmi_variant *variant = hdmi->variant; + void __iomem *base; + ++ WARN_ON(!pm_runtime_active(&hdmi->pdev->dev)); ++ + if (reg >= variant->num_registers) { + dev_warn(&hdmi->pdev->dev, + "Invalid register ID %u\n", reg); +@@ -438,6 +442,8 @@ static inline void vc4_hdmi_write(struct + const struct vc4_hdmi_variant *variant = hdmi->variant; + void __iomem *base; + ++ WARN_ON(!pm_runtime_active(&hdmi->pdev->dev)); ++ + if (reg >= variant->num_registers) { + dev_warn(&hdmi->pdev->dev, + "Invalid register ID %u\n", reg); diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0004-drm-vc4-hdmi-Remove-the-DDC-probing-for-status-detec.patch b/root/target/linux/bcm27xx/patches-5.15/950-0004-drm-vc4-hdmi-Remove-the-DDC-probing-for-status-detec.patch new file mode 100644 index 00000000..d44eccb4 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0004-drm-vc4-hdmi-Remove-the-DDC-probing-for-status-detec.patch @@ -0,0 +1,47 @@ +From c1f62cb809b2b5a34bc9cfbf86288f53845c3639 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 25 Oct 2021 17:28:54 +0200 +Subject: [PATCH 004/828] drm/vc4: hdmi: Remove the DDC probing for status + detection + +Commit 9d44abbbb8d5 ("drm/vc4: Fall back to using an EDID probe in the +absence of a GPIO.") added some code to read the EDID through DDC in the +HDMI driver detect hook since the Pi3 had no HPD GPIO back then. +However, commit b1b8f45b3130 ("ARM: dts: bcm2837: Add missing GPIOs of +Expander") changed that a couple of years later. + +This causes an issue though since some TV (like the LG 55C8) when it +comes out of standy will deassert the HPD line, but the EDID will +remain readable. + +It causes an issues nn platforms without an HPD GPIO, like the Pi4, +where the DDC probing will be our primary mean to detect a display, and +thus we will never detect the HPD pulse. This was fine before since the +pulse was small enough that we would never detect it, and we also didn't +have anything (like the scrambler) that needed to be set up in the +display. + +However, now that we have both, the display during the HPD pulse will +clear its scrambler status, and since we won't detect the +disconnect/reconnect cycle we will never enable the scrambler back. + +As our main reason for that DDC probing is gone, let's just remove it. + +Signed-off-by: Maxime Ripard +Reviewed-by: Dave Stevenson +Link: https://lore.kernel.org/r/20211025152903.1088803-2-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 2 -- + 1 file changed, 2 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -175,8 +175,6 @@ vc4_hdmi_connector_detect(struct drm_con + if (vc4_hdmi->hpd_gpio && + gpiod_get_value_cansleep(vc4_hdmi->hpd_gpio)) { + connected = true; +- } else if (drm_probe_ddc(vc4_hdmi->ddc)) { +- connected = true; + } else if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) { + connected = true; + } diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0005-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch b/root/target/linux/bcm27xx/patches-5.15/950-0005-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch new file mode 100644 index 00000000..4a82d8ec --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0005-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch @@ -0,0 +1,31 @@ +From 93e1f2ad3042e41c96031191f2bb6db2d0011e9c Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 25 Oct 2021 17:29:01 +0200 +Subject: [PATCH 005/828] drm/vc4: hdmi: Raise the maximum clock rate + +Now that we have the infrastructure in place, we can raise the maximum +pixel rate we can reach for HDMI0 on the BCM2711. + +HDMI1 is left untouched since its pixelvalve has a smaller FIFO and +would need a clock faster than what we can provide to support the same +modes. + +Acked-by: Thomas Zimmermann +Reviewed-by: Dave Stevenson +Signed-off-by: Maxime Ripard +Link: https://lore.kernel.org/r/20211025152903.1088803-9-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -2377,7 +2377,7 @@ static const struct vc4_hdmi_variant bcm + .encoder_type = VC4_ENCODER_TYPE_HDMI0, + .debugfs_name = "hdmi0_regs", + .card_name = "vc4-hdmi-0", +- .max_pixel_clock = HDMI_14_MAX_TMDS_CLK, ++ .max_pixel_clock = 600000000, + .registers = vc5_hdmi_hdmi0_fields, + .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), + .phy_lane_mapping = { diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0006-drm-vc4-hdmi-Fix-HPD-GPIO-detection.patch b/root/target/linux/bcm27xx/patches-5.15/950-0006-drm-vc4-hdmi-Fix-HPD-GPIO-detection.patch new file mode 100644 index 00000000..037ee62f --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0006-drm-vc4-hdmi-Fix-HPD-GPIO-detection.patch @@ -0,0 +1,40 @@ +From 67b3c9ae6cea0f3bba4447b1c0748eead5551b09 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 25 Oct 2021 17:28:55 +0200 +Subject: [PATCH 006/828] drm/vc4: hdmi: Fix HPD GPIO detection + +Prior to commit 6800234ceee0 ("drm/vc4: hdmi: Convert to gpiod"), in the +detect hook, if we had an HPD GPIO we would only rely on it and return +whatever state it was in. + +However, that commit changed that by mistake to only consider the case +where we have a GPIO and it returns a logical high, and would fall back +to the other methods otherwise. + +Since we can read the EDIDs when the HPD signal is low on some displays, +we changed the detection status from disconnected to connected, and we +would ignore an HPD pulse. + +Fixes: 6800234ceee0 ("drm/vc4: hdmi: Convert to gpiod") +Signed-off-by: Maxime Ripard +Reviewed-by: Dave Stevenson +Link: https://lore.kernel.org/r/20211025152903.1088803-3-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -172,9 +172,9 @@ vc4_hdmi_connector_detect(struct drm_con + + WARN_ON(pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev)); + +- if (vc4_hdmi->hpd_gpio && +- gpiod_get_value_cansleep(vc4_hdmi->hpd_gpio)) { +- connected = true; ++ if (vc4_hdmi->hpd_gpio) { ++ if (gpiod_get_value_cansleep(vc4_hdmi->hpd_gpio)) ++ connected = true; + } else if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) { + connected = true; + } diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0007-drm-vc4-hdmi-Add-a-spinlock-to-protect-register-acce.patch b/root/target/linux/bcm27xx/patches-5.15/950-0007-drm-vc4-hdmi-Add-a-spinlock-to-protect-register-acce.patch new file mode 100644 index 00000000..9d4a80c0 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0007-drm-vc4-hdmi-Add-a-spinlock-to-protect-register-acce.patch @@ -0,0 +1,907 @@ +From 2420cd113b423d855a00fd587599955970bb9993 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 25 Oct 2021 16:11:08 +0200 +Subject: [PATCH 007/828] drm/vc4: hdmi: Add a spinlock to protect register + access + +The vc4 HDMI driver has multiple path shared between the CEC, ALSA and +KMS frameworks, plus two interrupt handlers (CEC and hotplug) that will +read and modify a number of registers. + +Even though not bug has been reported so far, it's definitely unsafe, so +let's just add a spinlock to protect the register access of the HDMI +controller. + +Link: https://lore.kernel.org/r/20211025141113.702757-5-maxime@cerno.tech +Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.") +Acked-by: Daniel Vetter +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 202 ++++++++++++++++++++++++++-- + drivers/gpu/drm/vc4/vc4_hdmi.h | 5 + + drivers/gpu/drm/vc4/vc4_hdmi_phy.c | 37 +++++ + drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 2 + + 4 files changed, 236 insertions(+), 10 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -118,6 +118,10 @@ static int vc4_hdmi_debugfs_regs(struct + + static void vc4_hdmi_reset(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_M_CTL, VC4_HD_M_SW_RST); + udelay(1); + HDMI_WRITE(HDMI_M_CTL, 0); +@@ -129,24 +133,36 @@ static void vc4_hdmi_reset(struct vc4_hd + VC4_HDMI_SW_RESET_FORMAT_DETECT); + + HDMI_WRITE(HDMI_SW_RESET_CONTROL, 0); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc5_hdmi_reset(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ + reset_control_reset(vc4_hdmi->reset); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_DVP_CTL, 0); + + HDMI_WRITE(HDMI_CLOCK_STOP, + HDMI_READ(HDMI_CLOCK_STOP) | VC4_DVP_HT_CLOCK_STOP_PIXEL); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + #ifdef CONFIG_DRM_VC4_HDMI_CEC + static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long cec_rate = clk_get_rate(vc4_hdmi->cec_clock); ++ unsigned long flags; + u16 clk_cnt; + u32 value; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + value = HDMI_READ(HDMI_CEC_CNTRL_1); + value &= ~VC4_HDMI_CEC_DIV_CLK_CNT_MASK; + +@@ -154,9 +170,11 @@ static void vc4_hdmi_cec_update_clk_div( + * Set the clock divider: the hsm_clock rate and this divider + * setting will give a 40 kHz CEC clock. + */ +- clk_cnt = clk_get_rate(vc4_hdmi->cec_clock) / CEC_CLOCK_FREQ; ++ clk_cnt = cec_rate / CEC_CLOCK_FREQ; + value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + #else + static void vc4_hdmi_cec_update_clk_div(struct vc4_hdmi *vc4_hdmi) {} +@@ -175,8 +193,16 @@ vc4_hdmi_connector_detect(struct drm_con + if (vc4_hdmi->hpd_gpio) { + if (gpiod_get_value_cansleep(vc4_hdmi->hpd_gpio)) + connected = true; +- } else if (HDMI_READ(HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED) { +- connected = true; ++ } else { ++ unsigned long flags; ++ u32 hotplug; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ hotplug = HDMI_READ(HDMI_HOTPLUG); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ ++ if (hotplug & VC4_HDMI_HOTPLUG_CONNECTED) ++ connected = true; + } + + if (connected) { +@@ -370,9 +396,12 @@ static int vc4_hdmi_stop_packet(struct d + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + u32 packet_id = type - 0x80; ++ unsigned long flags; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, + HDMI_READ(HDMI_RAM_PACKET_CONFIG) & ~BIT(packet_id)); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + if (!poll) + return 0; +@@ -392,6 +421,7 @@ static void vc4_hdmi_write_infoframe(str + void __iomem *base = __vc4_hdmi_get_field_base(vc4_hdmi, + ram_packet_start->reg); + uint8_t buffer[VC4_HDMI_PACKET_STRIDE]; ++ unsigned long flags; + ssize_t len, i; + int ret; + +@@ -409,6 +439,8 @@ static void vc4_hdmi_write_infoframe(str + return; + } + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + for (i = 0; i < len; i += 7) { + writel(buffer[i + 0] << 0 | + buffer[i + 1] << 8 | +@@ -426,6 +458,9 @@ static void vc4_hdmi_write_infoframe(str + + HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, + HDMI_READ(HDMI_RAM_PACKET_CONFIG) | BIT(packet_id)); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + ret = wait_for((HDMI_READ(HDMI_RAM_PACKET_STATUS) & + BIT(packet_id)), 100); + if (ret) +@@ -545,6 +580,7 @@ static void vc4_hdmi_enable_scrambling(s + { + struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ unsigned long flags; + + if (!vc4_hdmi_supports_scrambling(encoder, mode)) + return; +@@ -555,8 +591,10 @@ static void vc4_hdmi_enable_scrambling(s + drm_scdc_set_high_tmds_clock_ratio(vc4_hdmi->ddc, true); + drm_scdc_set_scrambling(vc4_hdmi->ddc, true); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_SCRAMBLER_CTL, HDMI_READ(HDMI_SCRAMBLER_CTL) | + VC5_HDMI_SCRAMBLER_CTL_ENABLE); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + queue_delayed_work(system_wq, &vc4_hdmi->scrambling_work, + msecs_to_jiffies(SCRAMBLING_POLLING_DELAY_MS)); +@@ -566,6 +604,7 @@ static void vc4_hdmi_disable_scrambling( + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + struct drm_crtc *crtc = encoder->crtc; ++ unsigned long flags; + + /* + * At boot, encoder->crtc will be NULL. Since we don't know the +@@ -581,8 +620,10 @@ static void vc4_hdmi_disable_scrambling( + if (delayed_work_pending(&vc4_hdmi->scrambling_work)) + cancel_delayed_work_sync(&vc4_hdmi->scrambling_work); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_SCRAMBLER_CTL, HDMI_READ(HDMI_SCRAMBLER_CTL) & + ~VC5_HDMI_SCRAMBLER_CTL_ENABLE); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + drm_scdc_set_scrambling(vc4_hdmi->ddc, false); + drm_scdc_set_high_tmds_clock_ratio(vc4_hdmi->ddc, false); +@@ -608,15 +649,23 @@ static void vc4_hdmi_encoder_post_crtc_d + struct drm_atomic_state *state) + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, 0); + + HDMI_WRITE(HDMI_VID_CTL, HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_CLRRGB); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + mdelay(1); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_VID_CTL, + HDMI_READ(HDMI_VID_CTL) & ~VC4_HD_VID_CTL_ENABLE); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + vc4_hdmi_disable_scrambling(encoder); + } + +@@ -624,10 +673,13 @@ static void vc4_hdmi_encoder_post_crtc_p + struct drm_atomic_state *state) + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ unsigned long flags; + int ret; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_VID_CTL, + HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_BLANKPIX); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + if (vc4_hdmi->variant->phy_disable) + vc4_hdmi->variant->phy_disable(vc4_hdmi); +@@ -646,8 +698,11 @@ static void vc4_hdmi_encoder_disable(str + + static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, bool enable) + { ++ unsigned long flags; + u32 csc_ctl; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + csc_ctl = VC4_SET_FIELD(VC4_HD_CSC_CTL_ORDER_BGR, + VC4_HD_CSC_CTL_ORDER); + +@@ -677,14 +732,19 @@ static void vc4_hdmi_csc_setup(struct vc + + /* The RGB order applies even when CSC is disabled. */ + HDMI_WRITE(HDMI_CSC_CTL, csc_ctl); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, bool enable) + { ++ unsigned long flags; + u32 csc_ctl; + + csc_ctl = 0x07; /* RGB_CONVERT_MODE = custom matrix, || USE_RGB_TO_YCBCR */ + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + if (enable) { + /* CEA VICs other than #1 requre limited range RGB + * output unless overridden by an AVI infoframe. +@@ -716,6 +776,8 @@ static void vc5_hdmi_csc_setup(struct vc + } + + HDMI_WRITE(HDMI_CSC_CTL, csc_ctl); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc4_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, +@@ -739,6 +801,9 @@ static void vc4_hdmi_set_timings(struct + mode->crtc_vsync_end - + interlaced, + VC4_HDMI_VERTB_VBP)); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + HDMI_WRITE(HDMI_HORZA, + (vsync_pos ? VC4_HDMI_HORZA_VPOS : 0) | +@@ -762,6 +827,8 @@ static void vc4_hdmi_set_timings(struct + + HDMI_WRITE(HDMI_VERTB0, vertb_even); + HDMI_WRITE(HDMI_VERTB1, vertb); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi, +@@ -785,10 +852,13 @@ static void vc5_hdmi_set_timings(struct + mode->crtc_vsync_end - + interlaced, + VC4_HDMI_VERTB_VBP)); ++ unsigned long flags; + unsigned char gcp; + bool gcp_en; + u32 reg; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_VEC_INTERFACE_XBAR, 0x354021); + HDMI_WRITE(HDMI_HORZA, + (vsync_pos ? VC5_HDMI_HORZA_VPOS : 0) | +@@ -847,13 +917,18 @@ static void vc5_hdmi_set_timings(struct + HDMI_WRITE(HDMI_GCP_CONFIG, reg); + + HDMI_WRITE(HDMI_CLOCK_STOP, 0); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc4_hdmi_recenter_fifo(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; + u32 drift; + int ret; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + drift = HDMI_READ(HDMI_FIFO_CTL); + drift &= VC4_HDMI_FIFO_VALID_WRITE_MASK; + +@@ -861,12 +936,20 @@ static void vc4_hdmi_recenter_fifo(struc + drift & ~VC4_HDMI_FIFO_CTL_RECENTER); + HDMI_WRITE(HDMI_FIFO_CTL, + drift | VC4_HDMI_FIFO_CTL_RECENTER); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + usleep_range(1000, 1100); ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_FIFO_CTL, + drift & ~VC4_HDMI_FIFO_CTL_RECENTER); + HDMI_WRITE(HDMI_FIFO_CTL, + drift | VC4_HDMI_FIFO_CTL_RECENTER); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + ret = wait_for(HDMI_READ(HDMI_FIFO_CTL) & + VC4_HDMI_FIFO_CTL_RECENTER_DONE, 1); + WARN_ONCE(ret, "Timeout waiting for " +@@ -900,6 +983,7 @@ static void vc4_hdmi_encoder_pre_crtc_co + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + unsigned long pixel_rate = vc4_conn_state->pixel_rate; + unsigned long bvb_rate, hsm_rate; ++ unsigned long flags; + int ret; + + /* +@@ -968,11 +1052,15 @@ static void vc4_hdmi_encoder_pre_crtc_co + if (vc4_hdmi->variant->phy_init) + vc4_hdmi->variant->phy_init(vc4_hdmi, vc4_conn_state); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_SCHEDULER_CONTROL, + HDMI_READ(HDMI_SCHEDULER_CONTROL) | + VC4_HDMI_SCHEDULER_CONTROL_MANUAL_FORMAT | + VC4_HDMI_SCHEDULER_CONTROL_IGNORE_VSYNC_PREDICTS); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + if (vc4_hdmi->variant->set_timings) + vc4_hdmi->variant->set_timings(vc4_hdmi, conn_state, mode); + +@@ -992,6 +1080,7 @@ static void vc4_hdmi_encoder_pre_crtc_en + struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; + struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ unsigned long flags; + + if (vc4_encoder->hdmi_monitor && + drm_default_rgb_quant_range(mode) == HDMI_QUANTIZATION_RANGE_LIMITED) { +@@ -1006,7 +1095,9 @@ static void vc4_hdmi_encoder_pre_crtc_en + vc4_encoder->limited_rgb_range = false; + } + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_FIFO_CTL, VC4_HDMI_FIFO_CTL_MASTER_SLAVE_N); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc4_hdmi_encoder_post_crtc_enable(struct drm_encoder *encoder, +@@ -1017,8 +1108,11 @@ static void vc4_hdmi_encoder_post_crtc_e + struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); + bool hsync_pos = mode->flags & DRM_MODE_FLAG_PHSYNC; + bool vsync_pos = mode->flags & DRM_MODE_FLAG_PVSYNC; ++ unsigned long flags; + int ret; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_VID_CTL, + VC4_HD_VID_CTL_ENABLE | + VC4_HD_VID_CTL_CLRRGB | +@@ -1035,6 +1129,8 @@ static void vc4_hdmi_encoder_post_crtc_e + HDMI_READ(HDMI_SCHEDULER_CONTROL) | + VC4_HDMI_SCHEDULER_CONTROL_MODE_HDMI); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + ret = wait_for(HDMI_READ(HDMI_SCHEDULER_CONTROL) & + VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE, 1000); + WARN_ONCE(ret, "Timeout waiting for " +@@ -1047,6 +1143,8 @@ static void vc4_hdmi_encoder_post_crtc_e + HDMI_READ(HDMI_SCHEDULER_CONTROL) & + ~VC4_HDMI_SCHEDULER_CONTROL_MODE_HDMI); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + ret = wait_for(!(HDMI_READ(HDMI_SCHEDULER_CONTROL) & + VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE), 1000); + WARN_ONCE(ret, "Timeout waiting for " +@@ -1054,6 +1152,8 @@ static void vc4_hdmi_encoder_post_crtc_e + } + + if (vc4_encoder->hdmi_monitor) { ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + WARN_ON(!(HDMI_READ(HDMI_SCHEDULER_CONTROL) & + VC4_HDMI_SCHEDULER_CONTROL_HDMI_ACTIVE)); + HDMI_WRITE(HDMI_SCHEDULER_CONTROL, +@@ -1063,6 +1163,8 @@ static void vc4_hdmi_encoder_post_crtc_e + HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, + VC4_HDMI_RAM_PACKET_ENABLE); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + vc4_hdmi_set_infoframes(encoder); + } + +@@ -1186,6 +1288,7 @@ static void vc4_hdmi_audio_set_mai_clock + unsigned int samplerate) + { + u32 hsm_clock = clk_get_rate(vc4_hdmi->audio_clock); ++ unsigned long flags; + unsigned long n, m; + + rational_best_approximation(hsm_clock, samplerate, +@@ -1195,9 +1298,11 @@ static void vc4_hdmi_audio_set_mai_clock + VC4_HD_MAI_SMP_M_SHIFT) + 1, + &n, &m); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_MAI_SMP, + VC4_SET_FIELD(n, VC4_HD_MAI_SMP_N) | + VC4_SET_FIELD(m - 1, VC4_HD_MAI_SMP_M)); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc4_hdmi_set_n_cts(struct vc4_hdmi *vc4_hdmi, unsigned int samplerate) +@@ -1208,6 +1313,8 @@ static void vc4_hdmi_set_n_cts(struct vc + u32 n, cts; + u64 tmp; + ++ lockdep_assert_held(&vc4_hdmi->hw_lock); ++ + n = 128 * samplerate / 1000; + tmp = (u64)(mode->clock * 1000) * n; + do_div(tmp, 128 * samplerate); +@@ -1237,6 +1344,7 @@ static int vc4_hdmi_audio_startup(struct + { + struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); + struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; ++ unsigned long flags; + + /* + * If the HDMI encoder hasn't probed, or the encoder is +@@ -1248,12 +1356,14 @@ static int vc4_hdmi_audio_startup(struct + + vc4_hdmi->audio.streaming = true; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_MAI_CTL, + VC4_HD_MAI_CTL_RESET | + VC4_HD_MAI_CTL_FLUSH | + VC4_HD_MAI_CTL_DLATE | + VC4_HD_MAI_CTL_ERRORE | + VC4_HD_MAI_CTL_ERRORF); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + if (vc4_hdmi->variant->phy_rng_enable) + vc4_hdmi->variant->phy_rng_enable(vc4_hdmi); +@@ -1265,6 +1375,7 @@ static void vc4_hdmi_audio_reset(struct + { + struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; + struct device *dev = &vc4_hdmi->pdev->dev; ++ unsigned long flags; + int ret; + + vc4_hdmi->audio.streaming = false; +@@ -1272,20 +1383,29 @@ static void vc4_hdmi_audio_reset(struct + if (ret) + dev_err(dev, "Failed to stop audio infoframe: %d\n", ret); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_RESET); + HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_ERRORF); + HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_FLUSH); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static void vc4_hdmi_audio_shutdown(struct device *dev, void *data) + { + struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + HDMI_WRITE(HDMI_MAI_CTL, + VC4_HD_MAI_CTL_DLATE | + VC4_HD_MAI_CTL_ERRORE | + VC4_HD_MAI_CTL_ERRORF); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + if (vc4_hdmi->variant->phy_rng_disable) + vc4_hdmi->variant->phy_rng_disable(vc4_hdmi); + +@@ -1340,6 +1460,7 @@ static int vc4_hdmi_audio_prepare(struct + struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; + unsigned int sample_rate = params->sample_rate; + unsigned int channels = params->channels; ++ unsigned long flags; + u32 audio_packet_config, channel_mask; + u32 channel_map; + u32 mai_audio_format; +@@ -1348,14 +1469,15 @@ static int vc4_hdmi_audio_prepare(struct + dev_dbg(dev, "%s: %u Hz, %d bit, %d channels\n", __func__, + sample_rate, params->sample_width, channels); + ++ vc4_hdmi_audio_set_mai_clock(vc4_hdmi, sample_rate); ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_MAI_CTL, + VC4_SET_FIELD(channels, VC4_HD_MAI_CTL_CHNUM) | + VC4_HD_MAI_CTL_WHOLSMP | + VC4_HD_MAI_CTL_CHALIGN | + VC4_HD_MAI_CTL_ENABLE); + +- vc4_hdmi_audio_set_mai_clock(vc4_hdmi, sample_rate); +- + mai_sample_rate = sample_rate_to_mai_fmt(sample_rate); + if (params->iec.status[0] & IEC958_AES0_NONAUDIO && + params->channels == 8) +@@ -1393,8 +1515,11 @@ static int vc4_hdmi_audio_prepare(struct + channel_map = vc4_hdmi->variant->channel_map(vc4_hdmi, channel_mask); + HDMI_WRITE(HDMI_MAI_CHANNEL_MAP, channel_map); + HDMI_WRITE(HDMI_AUDIO_PACKET_CONFIG, audio_packet_config); ++ + vc4_hdmi_set_n_cts(vc4_hdmi, sample_rate); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + memcpy(&vc4_hdmi->audio.infoframe, ¶ms->cea, sizeof(params->cea)); + vc4_hdmi_set_audio_infoframe(encoder); + +@@ -1668,6 +1793,8 @@ static void vc4_cec_read_msg(struct vc4_ + struct cec_msg *msg = &vc4_hdmi->cec_rx_msg; + unsigned int i; + ++ lockdep_assert_held(&vc4_hdmi->hw_lock); ++ + msg->len = 1 + ((cntrl1 & VC4_HDMI_CEC_REC_WRD_CNT_MASK) >> + VC4_HDMI_CEC_REC_WRD_CNT_SHIFT); + +@@ -1686,11 +1813,12 @@ static void vc4_cec_read_msg(struct vc4_ + } + } + +-static irqreturn_t vc4_cec_irq_handler_tx_bare(int irq, void *priv) ++static irqreturn_t vc4_cec_irq_handler_tx_bare_locked(struct vc4_hdmi *vc4_hdmi) + { +- struct vc4_hdmi *vc4_hdmi = priv; + u32 cntrl1; + ++ lockdep_assert_held(&vc4_hdmi->hw_lock); ++ + cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); + vc4_hdmi->cec_tx_ok = cntrl1 & VC4_HDMI_CEC_TX_STATUS_GOOD; + cntrl1 &= ~VC4_HDMI_CEC_START_XMIT_BEGIN; +@@ -1699,11 +1827,24 @@ static irqreturn_t vc4_cec_irq_handler_t + return IRQ_WAKE_THREAD; + } + +-static irqreturn_t vc4_cec_irq_handler_rx_bare(int irq, void *priv) ++static irqreturn_t vc4_cec_irq_handler_tx_bare(int irq, void *priv) + { + struct vc4_hdmi *vc4_hdmi = priv; ++ irqreturn_t ret; ++ ++ spin_lock(&vc4_hdmi->hw_lock); ++ ret = vc4_cec_irq_handler_tx_bare_locked(vc4_hdmi); ++ spin_unlock(&vc4_hdmi->hw_lock); ++ ++ return ret; ++} ++ ++static irqreturn_t vc4_cec_irq_handler_rx_bare_locked(struct vc4_hdmi *vc4_hdmi) ++{ + u32 cntrl1; + ++ lockdep_assert_held(&vc4_hdmi->hw_lock); ++ + vc4_hdmi->cec_rx_msg.len = 0; + cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); + vc4_cec_read_msg(vc4_hdmi, cntrl1); +@@ -1716,6 +1857,18 @@ static irqreturn_t vc4_cec_irq_handler_r + return IRQ_WAKE_THREAD; + } + ++static irqreturn_t vc4_cec_irq_handler_rx_bare(int irq, void *priv) ++{ ++ struct vc4_hdmi *vc4_hdmi = priv; ++ irqreturn_t ret; ++ ++ spin_lock(&vc4_hdmi->hw_lock); ++ ret = vc4_cec_irq_handler_rx_bare_locked(vc4_hdmi); ++ spin_unlock(&vc4_hdmi->hw_lock); ++ ++ return ret; ++} ++ + static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) + { + struct vc4_hdmi *vc4_hdmi = priv; +@@ -1726,14 +1879,17 @@ static irqreturn_t vc4_cec_irq_handler(i + if (!(stat & VC4_HDMI_CPU_CEC)) + return IRQ_NONE; + ++ spin_lock(&vc4_hdmi->hw_lock); + cntrl5 = HDMI_READ(HDMI_CEC_CNTRL_5); + vc4_hdmi->cec_irq_was_rx = cntrl5 & VC4_HDMI_CEC_RX_CEC_INT; + if (vc4_hdmi->cec_irq_was_rx) +- ret = vc4_cec_irq_handler_rx_bare(irq, priv); ++ ret = vc4_cec_irq_handler_rx_bare_locked(vc4_hdmi); + else +- ret = vc4_cec_irq_handler_tx_bare(irq, priv); ++ ret = vc4_cec_irq_handler_tx_bare_locked(vc4_hdmi); + + HDMI_WRITE(HDMI_CEC_CPU_CLEAR, VC4_HDMI_CPU_CEC); ++ spin_unlock(&vc4_hdmi->hw_lock); ++ + return ret; + } + +@@ -1742,6 +1898,7 @@ static int vc4_hdmi_cec_enable(struct ce + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + /* clock period in microseconds */ + const u32 usecs = 1000000 / CEC_CLOCK_FREQ; ++ unsigned long flags; + u32 val; + int ret; + +@@ -1749,6 +1906,8 @@ static int vc4_hdmi_cec_enable(struct ce + if (ret) + return ret; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + val = HDMI_READ(HDMI_CEC_CNTRL_5); + val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | + VC4_HDMI_CEC_CNT_TO_4700_US_MASK | +@@ -1779,12 +1938,17 @@ static int vc4_hdmi_cec_enable(struct ce + if (!vc4_hdmi->variant->external_irq_controller) + HDMI_WRITE(HDMI_CEC_CPU_MASK_CLEAR, VC4_HDMI_CPU_CEC); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + return 0; + } + + static int vc4_hdmi_cec_disable(struct cec_adapter *adap) + { + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + if (!vc4_hdmi->variant->external_irq_controller) + HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC); +@@ -1792,6 +1956,8 @@ static int vc4_hdmi_cec_disable(struct c + HDMI_WRITE(HDMI_CEC_CNTRL_5, HDMI_READ(HDMI_CEC_CNTRL_5) | + VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); + ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + pm_runtime_put(&vc4_hdmi->pdev->dev); + + return 0; +@@ -1808,10 +1974,14 @@ static int vc4_hdmi_cec_adap_enable(stru + static int vc4_hdmi_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr) + { + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); ++ unsigned long flags; + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_CEC_CNTRL_1, + (HDMI_READ(HDMI_CEC_CNTRL_1) & ~VC4_HDMI_CEC_ADDR_MASK) | + (log_addr & 0xf) << VC4_HDMI_CEC_ADDR_SHIFT); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + return 0; + } + +@@ -1820,6 +1990,7 @@ static int vc4_hdmi_cec_adap_transmit(st + { + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + struct drm_device *dev = vc4_hdmi->connector.dev; ++ unsigned long flags; + u32 val; + unsigned int i; + +@@ -1828,6 +1999,8 @@ static int vc4_hdmi_cec_adap_transmit(st + return -ENOMEM; + } + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + for (i = 0; i < msg->len; i += 4) + HDMI_WRITE(HDMI_CEC_TX_DATA_1 + (i >> 2), + (msg->msg[i]) | +@@ -1843,6 +2016,9 @@ static int vc4_hdmi_cec_adap_transmit(st + val |= VC4_HDMI_CEC_START_XMIT_BEGIN; + + HDMI_WRITE(HDMI_CEC_CNTRL_1, val); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ + return 0; + } + +@@ -1857,6 +2033,7 @@ static int vc4_hdmi_cec_init(struct vc4_ + struct cec_connector_info conn_info; + struct platform_device *pdev = vc4_hdmi->pdev; + struct device *dev = &pdev->dev; ++ unsigned long flags; + u32 value; + int ret; + +@@ -1876,10 +2053,12 @@ static int vc4_hdmi_cec_init(struct vc4_ + cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); + cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + value = HDMI_READ(HDMI_CEC_CNTRL_1); + /* Set the logical address to Unregistered */ + value |= VC4_HDMI_CEC_ADDR_MASK; + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + vc4_hdmi_cec_update_clk_div(vc4_hdmi); + +@@ -1898,7 +2077,9 @@ static int vc4_hdmi_cec_init(struct vc4_ + if (ret) + goto err_remove_cec_rx_handler; + } else { ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + ret = request_threaded_irq(platform_get_irq(pdev, 0), + vc4_cec_irq_handler, +@@ -2168,6 +2349,7 @@ static int vc4_hdmi_bind(struct device * + vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL); + if (!vc4_hdmi) + return -ENOMEM; ++ spin_lock_init(&vc4_hdmi->hw_lock); + INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq); + + dev_set_drvdata(dev, vc4_hdmi); +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -179,6 +179,11 @@ struct vc4_hdmi { + + struct debugfs_regset32 hdmi_regset; + struct debugfs_regset32 hd_regset; ++ ++ /** ++ * @hw_lock: Spinlock protecting device register access. ++ */ ++ spinlock_t hw_lock; + }; + + static inline struct vc4_hdmi * +--- a/drivers/gpu/drm/vc4/vc4_hdmi_phy.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi_phy.c +@@ -130,31 +130,49 @@ + void vc4_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, + struct vc4_hdmi_connector_state *conn_state) + { ++ unsigned long flags; ++ + /* PHY should be in reset, like + * vc4_hdmi_encoder_disable() does. + */ + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + HDMI_WRITE(HDMI_TX_PHY_RESET_CTL, 0xf << 16); + HDMI_WRITE(HDMI_TX_PHY_RESET_CTL, 0); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + void vc4_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_TX_PHY_RESET_CTL, 0xf << 16); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + void vc4_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_TX_PHY_CTL_0, + HDMI_READ(HDMI_TX_PHY_CTL_0) & + ~VC4_HDMI_TX_PHY_RNG_PWRDN); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + void vc4_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_TX_PHY_CTL_0, + HDMI_READ(HDMI_TX_PHY_CTL_0) | + VC4_HDMI_TX_PHY_RNG_PWRDN); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + static unsigned long long +@@ -336,6 +354,8 @@ phy_get_channel_settings(enum vc4_hdmi_p + + static void vc5_hdmi_reset_phy(struct vc4_hdmi *vc4_hdmi) + { ++ lockdep_assert_held(&vc4_hdmi->hw_lock); ++ + HDMI_WRITE(HDMI_TX_PHY_RESET_CTL, 0x0f); + HDMI_WRITE(HDMI_TX_PHY_POWERDOWN_CTL, BIT(10)); + } +@@ -348,10 +368,13 @@ void vc5_hdmi_phy_init(struct vc4_hdmi * + unsigned long long pixel_freq = conn_state->pixel_rate; + unsigned long long vco_freq; + unsigned char word_sel; ++ unsigned long flags; + u8 vco_sel, vco_div; + + vco_freq = phy_get_vco_freq(pixel_freq, &vco_sel, &vco_div); + ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); ++ + vc5_hdmi_reset_phy(vc4_hdmi); + + HDMI_WRITE(HDMI_TX_PHY_POWERDOWN_CTL, +@@ -501,23 +524,37 @@ void vc5_hdmi_phy_init(struct vc4_hdmi * + HDMI_READ(HDMI_TX_PHY_RESET_CTL) | + VC4_HDMI_TX_PHY_RESET_CTL_PLL_RESETB | + VC4_HDMI_TX_PHY_RESET_CTL_PLLDIV_RESETB); ++ ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + void vc5_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + vc5_hdmi_reset_phy(vc4_hdmi); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + void vc5_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_TX_PHY_POWERDOWN_CTL, + HDMI_READ(HDMI_TX_PHY_POWERDOWN_CTL) & + ~VC4_HDMI_TX_PHY_POWERDOWN_CTL_RNDGEN_PWRDN); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } + + void vc5_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi) + { ++ unsigned long flags; ++ ++ spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_TX_PHY_POWERDOWN_CTL, + HDMI_READ(HDMI_TX_PHY_POWERDOWN_CTL) | + VC4_HDMI_TX_PHY_POWERDOWN_CTL_RNDGEN_PWRDN); ++ spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } +--- a/drivers/gpu/drm/vc4/vc4_hdmi_regs.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +@@ -442,6 +442,8 @@ static inline void vc4_hdmi_write(struct + const struct vc4_hdmi_variant *variant = hdmi->variant; + void __iomem *base; + ++ lockdep_assert_held(&hdmi->hw_lock); ++ + WARN_ON(!pm_runtime_active(&hdmi->pdev->dev)); + + if (reg >= variant->num_registers) { diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0008-drm-vc4-hdmi-Use-a-mutex-to-prevent-concurrent-frame.patch b/root/target/linux/bcm27xx/patches-5.15/950-0008-drm-vc4-hdmi-Use-a-mutex-to-prevent-concurrent-frame.patch new file mode 100644 index 00000000..3f820272 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0008-drm-vc4-hdmi-Use-a-mutex-to-prevent-concurrent-frame.patch @@ -0,0 +1,444 @@ +From 0a307f1bd0ea3ee888d6fca239ae62a6fe2d39b2 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 25 Oct 2021 16:11:09 +0200 +Subject: [PATCH 008/828] drm/vc4: hdmi: Use a mutex to prevent concurrent + framework access + +The vc4 HDMI controller registers into the KMS, CEC and ALSA +frameworks. + +However, no particular care is done to prevent the concurrent execution +of different framework hooks from happening at the same time. + +In order to protect against that scenario, let's introduce a mutex that +relevant ALSA and KMS hooks will need to take to prevent concurrent +execution. + +CEC is left out at the moment though, since the .get_modes and .detect +KMS hooks, when running cec_s_phys_addr_from_edid, can end up calling +CEC's .adap_enable hook. This introduces some reentrancy that isn't easy +to deal with properly. + +The CEC hooks also don't share much state with the rest of the driver: +the registers are entirely separate, we don't share any variable, the +only thing that can conflict is the CEC clock divider setup that can be +affected by a mode set. + +However, after discussing it, it looks like CEC should be able to +recover from this if it was to happen. + +Link: https://lore.kernel.org/r/20211025141113.702757-6-maxime@cerno.tech +Fixes: bb7d78568814 ("drm/vc4: Add HDMI audio support") +Acked-by: Daniel Vetter +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 118 +++++++++++++++++++++++++++++++-- + drivers/gpu/drm/vc4/vc4_hdmi.h | 14 ++++ + 2 files changed, 126 insertions(+), 6 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -188,6 +188,8 @@ vc4_hdmi_connector_detect(struct drm_con + struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector); + bool connected = false; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + WARN_ON(pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev)); + + if (vc4_hdmi->hpd_gpio) { +@@ -218,11 +220,13 @@ vc4_hdmi_connector_detect(struct drm_con + + vc4_hdmi_enable_scrambling(&vc4_hdmi->encoder.base.base); + pm_runtime_put(&vc4_hdmi->pdev->dev); ++ mutex_unlock(&vc4_hdmi->mutex); + return connector_status_connected; + } + + cec_phys_addr_invalidate(vc4_hdmi->cec_adap); + pm_runtime_put(&vc4_hdmi->pdev->dev); ++ mutex_unlock(&vc4_hdmi->mutex); + return connector_status_disconnected; + } + +@@ -239,10 +243,14 @@ static int vc4_hdmi_connector_get_modes( + int ret = 0; + struct edid *edid; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + edid = drm_get_edid(connector, vc4_hdmi->ddc); + cec_s_phys_addr_from_edid(vc4_hdmi->cec_adap, edid); +- if (!edid) +- return -ENODEV; ++ if (!edid) { ++ ret = -ENODEV; ++ goto out; ++ } + + vc4_encoder->hdmi_monitor = drm_detect_hdmi_monitor(edid); + +@@ -262,6 +270,9 @@ static int vc4_hdmi_connector_get_modes( + } + } + ++out: ++ mutex_unlock(&vc4_hdmi->mutex); ++ + return ret; + } + +@@ -478,6 +489,8 @@ static void vc4_hdmi_set_avi_infoframe(s + union hdmi_infoframe frame; + int ret; + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + ret = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi, + connector, mode); + if (ret < 0) { +@@ -529,6 +542,8 @@ static void vc4_hdmi_set_hdr_infoframe(s + struct drm_connector_state *conn_state = connector->state; + union hdmi_infoframe frame; + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + if (!vc4_hdmi->variant->supports_hdr) + return; + +@@ -545,6 +560,8 @@ static void vc4_hdmi_set_infoframes(stru + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + vc4_hdmi_set_avi_infoframe(encoder); + vc4_hdmi_set_spd_infoframe(encoder); + /* +@@ -564,6 +581,8 @@ static bool vc4_hdmi_supports_scrambling + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + struct drm_display_info *display = &vc4_hdmi->connector.display_info; + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + if (!vc4_encoder->hdmi_monitor) + return false; + +@@ -582,6 +601,8 @@ static void vc4_hdmi_enable_scrambling(s + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + unsigned long flags; + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + if (!vc4_hdmi_supports_scrambling(encoder, mode)) + return; + +@@ -651,6 +672,8 @@ static void vc4_hdmi_encoder_post_crtc_d + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + unsigned long flags; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, 0); +@@ -667,6 +690,8 @@ static void vc4_hdmi_encoder_post_crtc_d + spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + vc4_hdmi_disable_scrambling(encoder); ++ ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder, +@@ -676,6 +701,8 @@ static void vc4_hdmi_encoder_post_crtc_p + unsigned long flags; + int ret; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_VID_CTL, + HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_BLANKPIX); +@@ -690,6 +717,8 @@ static void vc4_hdmi_encoder_post_crtc_p + ret = pm_runtime_put(&vc4_hdmi->pdev->dev); + if (ret < 0) + DRM_ERROR("Failed to release power domain: %d\n", ret); ++ ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static void vc4_hdmi_encoder_disable(struct drm_encoder *encoder) +@@ -986,6 +1015,8 @@ static void vc4_hdmi_encoder_pre_crtc_co + unsigned long flags; + int ret; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + /* + * As stated in RPi's vc4 firmware "HDMI state machine (HSM) clock must + * be faster than pixel clock, infinitesimally faster, tested in +@@ -1006,13 +1037,13 @@ static void vc4_hdmi_encoder_pre_crtc_co + ret = clk_set_min_rate(vc4_hdmi->hsm_clock, hsm_rate); + if (ret) { + DRM_ERROR("Failed to set HSM clock rate: %d\n", ret); +- return; ++ goto out; + } + + ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); + if (ret < 0) { + DRM_ERROR("Failed to retain power domain: %d\n", ret); +- return; ++ goto out; + } + + ret = clk_set_rate(vc4_hdmi->pixel_clock, pixel_rate); +@@ -1064,13 +1095,16 @@ static void vc4_hdmi_encoder_pre_crtc_co + if (vc4_hdmi->variant->set_timings) + vc4_hdmi->variant->set_timings(vc4_hdmi, conn_state, mode); + ++ mutex_unlock(&vc4_hdmi->mutex); ++ + return; + + err_disable_pixel_clock: + clk_disable_unprepare(vc4_hdmi->pixel_clock); + err_put_runtime_pm: + pm_runtime_put(&vc4_hdmi->pdev->dev); +- ++out: ++ mutex_unlock(&vc4_hdmi->mutex); + return; + } + +@@ -1082,6 +1116,8 @@ static void vc4_hdmi_encoder_pre_crtc_en + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + unsigned long flags; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + if (vc4_encoder->hdmi_monitor && + drm_default_rgb_quant_range(mode) == HDMI_QUANTIZATION_RANGE_LIMITED) { + if (vc4_hdmi->variant->csc_setup) +@@ -1098,6 +1134,8 @@ static void vc4_hdmi_encoder_pre_crtc_en + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_FIFO_CTL, VC4_HDMI_FIFO_CTL_MASTER_SLAVE_N); + spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); ++ ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static void vc4_hdmi_encoder_post_crtc_enable(struct drm_encoder *encoder, +@@ -1111,6 +1149,8 @@ static void vc4_hdmi_encoder_post_crtc_e + unsigned long flags; + int ret; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + HDMI_WRITE(HDMI_VID_CTL, +@@ -1170,6 +1210,8 @@ static void vc4_hdmi_encoder_post_crtc_e + + vc4_hdmi_recenter_fifo(vc4_hdmi); + vc4_hdmi_enable_scrambling(encoder); ++ ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static void vc4_hdmi_encoder_enable(struct drm_encoder *encoder) +@@ -1313,6 +1355,7 @@ static void vc4_hdmi_set_n_cts(struct vc + u32 n, cts; + u64 tmp; + ++ lockdep_assert_held(&vc4_hdmi->mutex); + lockdep_assert_held(&vc4_hdmi->hw_lock); + + n = 128 * samplerate / 1000; +@@ -1346,13 +1389,17 @@ static int vc4_hdmi_audio_startup(struct + struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; + unsigned long flags; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + /* + * If the HDMI encoder hasn't probed, or the encoder is + * currently in DVI mode, treat the codec dai as missing. + */ + if (!encoder->crtc || !(HDMI_READ(HDMI_RAM_PACKET_CONFIG) & +- VC4_HDMI_RAM_PACKET_ENABLE)) ++ VC4_HDMI_RAM_PACKET_ENABLE)) { ++ mutex_unlock(&vc4_hdmi->mutex); + return -ENODEV; ++ } + + vc4_hdmi->audio.streaming = true; + +@@ -1368,6 +1415,8 @@ static int vc4_hdmi_audio_startup(struct + if (vc4_hdmi->variant->phy_rng_enable) + vc4_hdmi->variant->phy_rng_enable(vc4_hdmi); + ++ mutex_unlock(&vc4_hdmi->mutex); ++ + return 0; + } + +@@ -1378,6 +1427,8 @@ static void vc4_hdmi_audio_reset(struct + unsigned long flags; + int ret; + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + vc4_hdmi->audio.streaming = false; + ret = vc4_hdmi_stop_packet(encoder, HDMI_INFOFRAME_TYPE_AUDIO, false); + if (ret) +@@ -1397,6 +1448,8 @@ static void vc4_hdmi_audio_shutdown(stru + struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); + unsigned long flags; + ++ mutex_lock(&vc4_hdmi->mutex); ++ + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + HDMI_WRITE(HDMI_MAI_CTL, +@@ -1411,6 +1464,8 @@ static void vc4_hdmi_audio_shutdown(stru + + vc4_hdmi->audio.streaming = false; + vc4_hdmi_audio_reset(vc4_hdmi); ++ ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static int sample_rate_to_mai_fmt(int samplerate) +@@ -1469,6 +1524,8 @@ static int vc4_hdmi_audio_prepare(struct + dev_dbg(dev, "%s: %u Hz, %d bit, %d channels\n", __func__, + sample_rate, params->sample_width, channels); + ++ mutex_lock(&vc4_hdmi->mutex); ++ + vc4_hdmi_audio_set_mai_clock(vc4_hdmi, sample_rate); + + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); +@@ -1523,6 +1580,8 @@ static int vc4_hdmi_audio_prepare(struct + memcpy(&vc4_hdmi->audio.infoframe, ¶ms->cea, sizeof(params->cea)); + vc4_hdmi_set_audio_infoframe(encoder); + ++ mutex_unlock(&vc4_hdmi->mutex); ++ + return 0; + } + +@@ -1565,7 +1624,9 @@ static int vc4_hdmi_audio_get_eld(struct + struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); + struct drm_connector *connector = &vc4_hdmi->connector; + ++ mutex_lock(&vc4_hdmi->mutex); + memcpy(buf, connector->eld, min(sizeof(connector->eld), len)); ++ mutex_unlock(&vc4_hdmi->mutex); + + return 0; + } +@@ -1902,6 +1963,17 @@ static int vc4_hdmi_cec_enable(struct ce + u32 val; + int ret; + ++ /* ++ * NOTE: This function should really take vc4_hdmi->mutex, but doing so ++ * results in a reentrancy since cec_s_phys_addr_from_edid() called in ++ * .detect or .get_modes might call .adap_enable, which leads to this ++ * function being called with that mutex held. ++ * ++ * Concurrency is not an issue for the moment since we don't share any ++ * state with KMS, so we can ignore the lock for now, but we need to ++ * keep it in mind if we were to change that assumption. ++ */ ++ + ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); + if (ret) + return ret; +@@ -1948,6 +2020,17 @@ static int vc4_hdmi_cec_disable(struct c + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + unsigned long flags; + ++ /* ++ * NOTE: This function should really take vc4_hdmi->mutex, but doing so ++ * results in a reentrancy since cec_s_phys_addr_from_edid() called in ++ * .detect or .get_modes might call .adap_enable, which leads to this ++ * function being called with that mutex held. ++ * ++ * Concurrency is not an issue for the moment since we don't share any ++ * state with KMS, so we can ignore the lock for now, but we need to ++ * keep it in mind if we were to change that assumption. ++ */ ++ + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + + if (!vc4_hdmi->variant->external_irq_controller) +@@ -1976,6 +2059,17 @@ static int vc4_hdmi_cec_adap_log_addr(st + struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); + unsigned long flags; + ++ /* ++ * NOTE: This function should really take vc4_hdmi->mutex, but doing so ++ * results in a reentrancy since cec_s_phys_addr_from_edid() called in ++ * .detect or .get_modes might call .adap_enable, which leads to this ++ * function being called with that mutex held. ++ * ++ * Concurrency is not an issue for the moment since we don't share any ++ * state with KMS, so we can ignore the lock for now, but we need to ++ * keep it in mind if we were to change that assumption. ++ */ ++ + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_CEC_CNTRL_1, + (HDMI_READ(HDMI_CEC_CNTRL_1) & ~VC4_HDMI_CEC_ADDR_MASK) | +@@ -1994,6 +2088,17 @@ static int vc4_hdmi_cec_adap_transmit(st + u32 val; + unsigned int i; + ++ /* ++ * NOTE: This function should really take vc4_hdmi->mutex, but doing so ++ * results in a reentrancy since cec_s_phys_addr_from_edid() called in ++ * .detect or .get_modes might call .adap_enable, which leads to this ++ * function being called with that mutex held. ++ * ++ * Concurrency is not an issue for the moment since we don't share any ++ * state with KMS, so we can ignore the lock for now, but we need to ++ * keep it in mind if we were to change that assumption. ++ */ ++ + if (msg->len > 16) { + drm_err(dev, "Attempting to transmit too much data (%d)\n", msg->len); + return -ENOMEM; +@@ -2349,6 +2454,7 @@ static int vc4_hdmi_bind(struct device * + vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL); + if (!vc4_hdmi) + return -ENOMEM; ++ mutex_init(&vc4_hdmi->mutex); + spin_lock_init(&vc4_hdmi->hw_lock); + INIT_DELAYED_WORK(&vc4_hdmi->scrambling_work, vc4_hdmi_scrambling_wq); + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -184,6 +184,20 @@ struct vc4_hdmi { + * @hw_lock: Spinlock protecting device register access. + */ + spinlock_t hw_lock; ++ ++ /** ++ * @mutex: Mutex protecting the driver access across multiple ++ * frameworks (KMS, ALSA). ++ * ++ * NOTE: While supported, CEC has been left out since ++ * cec_s_phys_addr_from_edid() might call .adap_enable and lead to a ++ * reentrancy issue between .get_modes (or .detect) and .adap_enable. ++ * Since we don't share any state between the CEC hooks and KMS', it's ++ * not a big deal. The only trouble might come from updating the CEC ++ * clock divider which might be affected by a modeset, but CEC should ++ * be resilient to that. ++ */ ++ struct mutex mutex; + }; + + static inline struct vc4_hdmi * diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0009-drm-vc4-hdmi-Prevent-access-to-crtc-state-outside-of.patch b/root/target/linux/bcm27xx/patches-5.15/950-0009-drm-vc4-hdmi-Prevent-access-to-crtc-state-outside-of.patch new file mode 100644 index 00000000..306d438f --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0009-drm-vc4-hdmi-Prevent-access-to-crtc-state-outside-of.patch @@ -0,0 +1,161 @@ +From 77a18429c6eb06a7bacf858f77b2778dee318df9 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 19 Oct 2021 14:19:29 +0200 +Subject: [PATCH 009/828] drm/vc4: hdmi: Prevent access to crtc->state outside + of KMS + +Accessing the crtc->state pointer from outside the modesetting context +is not allowed. We thus need to copy whatever we need from the KMS state +to our structure in order to access it. + +However, in the vc4 HDMI driver we do use that pointer in the ALSA code +path, and potentially in the hotplug interrupt handler path. + +These paths both need access to the CRTC adjusted mode in order for the +proper dividers to be set for ALSA, and the scrambler state to be +reinstated properly for hotplug. + +Let's copy this mode into our private encoder structure and reference it +from there when needed. Since that part is shared between KMS and other +paths, we need to protect it using our mutex. + +Link: https://lore.kernel.org/all/YWgteNaNeaS9uWDe@phenom.ffwll.local/ +Fixes: bb7d78568814 ("drm/vc4: Add HDMI audio support") +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 38 +++++++++++++++++++++++----------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 6 ++++++ + 2 files changed, 32 insertions(+), 12 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -484,8 +484,7 @@ static void vc4_hdmi_set_avi_infoframe(s + struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); + struct drm_connector *connector = &vc4_hdmi->connector; + struct drm_connector_state *cstate = connector->state; +- struct drm_crtc *crtc = encoder->crtc; +- const struct drm_display_mode *mode = &crtc->state->adjusted_mode; ++ const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; + union hdmi_infoframe frame; + int ret; + +@@ -597,8 +596,8 @@ static bool vc4_hdmi_supports_scrambling + + static void vc4_hdmi_enable_scrambling(struct drm_encoder *encoder) + { +- struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; + unsigned long flags; + + lockdep_assert_held(&vc4_hdmi->mutex); +@@ -624,18 +623,21 @@ static void vc4_hdmi_enable_scrambling(s + static void vc4_hdmi_disable_scrambling(struct drm_encoder *encoder) + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; + struct drm_crtc *crtc = encoder->crtc; + unsigned long flags; + ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ + /* + * At boot, encoder->crtc will be NULL. Since we don't know the + * state of the scrambler and in order to avoid any + * inconsistency, let's disable it all the time. + */ +- if (crtc && !vc4_hdmi_supports_scrambling(encoder, &crtc->mode)) ++ if (crtc && !vc4_hdmi_supports_scrambling(encoder, mode)) + return; + +- if (crtc && !vc4_hdmi_mode_needs_scrambling(&crtc->mode)) ++ if (crtc && !vc4_hdmi_mode_needs_scrambling(mode)) + return; + + if (delayed_work_pending(&vc4_hdmi->scrambling_work)) +@@ -1008,8 +1010,8 @@ static void vc4_hdmi_encoder_pre_crtc_co + vc4_hdmi_encoder_get_connector_state(encoder, state); + struct vc4_hdmi_connector_state *vc4_conn_state = + conn_state_to_vc4_hdmi_conn_state(conn_state); +- struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; + unsigned long pixel_rate = vc4_conn_state->pixel_rate; + unsigned long bvb_rate, hsm_rate; + unsigned long flags; +@@ -1111,9 +1113,9 @@ out: + static void vc4_hdmi_encoder_pre_crtc_enable(struct drm_encoder *encoder, + struct drm_atomic_state *state) + { +- struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; +- struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; ++ struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); + unsigned long flags; + + mutex_lock(&vc4_hdmi->mutex); +@@ -1141,8 +1143,8 @@ static void vc4_hdmi_encoder_pre_crtc_en + static void vc4_hdmi_encoder_post_crtc_enable(struct drm_encoder *encoder, + struct drm_atomic_state *state) + { +- struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; + struct vc4_hdmi_encoder *vc4_encoder = to_vc4_hdmi_encoder(encoder); + bool hsync_pos = mode->flags & DRM_MODE_FLAG_PHSYNC; + bool vsync_pos = mode->flags & DRM_MODE_FLAG_PVSYNC; +@@ -1218,6 +1220,19 @@ static void vc4_hdmi_encoder_enable(stru + { + } + ++static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, ++ struct drm_crtc_state *crtc_state, ++ struct drm_connector_state *conn_state) ++{ ++ struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ ++ mutex_lock(&vc4_hdmi->mutex); ++ memcpy(&vc4_hdmi->saved_adjusted_mode, ++ &crtc_state->adjusted_mode, ++ sizeof(vc4_hdmi->saved_adjusted_mode)); ++ mutex_unlock(&vc4_hdmi->mutex); ++} ++ + #define WIFI_2_4GHz_CH1_MIN_FREQ 2400000000ULL + #define WIFI_2_4GHz_CH1_MAX_FREQ 2422000000ULL + +@@ -1296,6 +1311,7 @@ vc4_hdmi_encoder_mode_valid(struct drm_e + + static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = { + .atomic_check = vc4_hdmi_encoder_atomic_check, ++ .atomic_mode_set = vc4_hdmi_encoder_atomic_mode_set, + .mode_valid = vc4_hdmi_encoder_mode_valid, + .disable = vc4_hdmi_encoder_disable, + .enable = vc4_hdmi_encoder_enable, +@@ -1349,9 +1365,7 @@ static void vc4_hdmi_audio_set_mai_clock + + static void vc4_hdmi_set_n_cts(struct vc4_hdmi *vc4_hdmi, unsigned int samplerate) + { +- struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; +- struct drm_crtc *crtc = encoder->crtc; +- const struct drm_display_mode *mode = &crtc->state->adjusted_mode; ++ const struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; + u32 n, cts; + u64 tmp; + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -198,6 +198,12 @@ struct vc4_hdmi { + * be resilient to that. + */ + struct mutex mutex; ++ ++ /** ++ * @saved_adjusted_mode: Copy of @drm_crtc_state.adjusted_mode ++ * for use by ALSA hooks and interrupt handlers. Protected by @mutex. ++ */ ++ struct drm_display_mode saved_adjusted_mode; + }; + + static inline struct vc4_hdmi * diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0010-drm-vc4-hdmi-Check-the-device-state-in-prepare.patch b/root/target/linux/bcm27xx/patches-5.15/950-0010-drm-vc4-hdmi-Check-the-device-state-in-prepare.patch new file mode 100644 index 00000000..c5ed7196 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0010-drm-vc4-hdmi-Check-the-device-state-in-prepare.patch @@ -0,0 +1,77 @@ +From 4c60b81986b4e1dc80faa718a60dd9849dd4f4f7 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Fri, 24 Sep 2021 14:27:38 +0200 +Subject: [PATCH 010/828] drm/vc4: hdmi: Check the device state in prepare() + +Even though we already check that the encoder->crtc pointer is there +during in startup(), which is part of the open() path in ASoC, nothing +guarantees that our encoder state won't change between the time when we +open the device and the time we prepare it. + +Move the sanity checks we do in startup() to a helper and call it from +prepare(). + +Fixes: 91e99e113929 ("drm/vc4: hdmi: Register HDMI codec") +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 35 +++++++++++++++++++++++++++------- + 1 file changed, 28 insertions(+), 7 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1397,20 +1397,36 @@ static inline struct vc4_hdmi *dai_to_hd + return snd_soc_card_get_drvdata(card); + } + ++static bool vc4_hdmi_audio_can_stream(struct vc4_hdmi *vc4_hdmi) ++{ ++ struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; ++ ++ lockdep_assert_held(&vc4_hdmi->mutex); ++ ++ /* ++ * The encoder doesn't have a CRTC until the first modeset. ++ */ ++ if (!encoder->crtc) ++ return false; ++ ++ /* ++ * If the encoder is currently in DVI mode, treat the codec DAI ++ * as missing. ++ */ ++ if (!(HDMI_READ(HDMI_RAM_PACKET_CONFIG) & VC4_HDMI_RAM_PACKET_ENABLE)) ++ return false; ++ ++ return true; ++} ++ + static int vc4_hdmi_audio_startup(struct device *dev, void *data) + { + struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); +- struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; + unsigned long flags; + + mutex_lock(&vc4_hdmi->mutex); + +- /* +- * If the HDMI encoder hasn't probed, or the encoder is +- * currently in DVI mode, treat the codec dai as missing. +- */ +- if (!encoder->crtc || !(HDMI_READ(HDMI_RAM_PACKET_CONFIG) & +- VC4_HDMI_RAM_PACKET_ENABLE)) { ++ if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) { + mutex_unlock(&vc4_hdmi->mutex); + return -ENODEV; + } +@@ -1540,6 +1556,11 @@ static int vc4_hdmi_audio_prepare(struct + + mutex_lock(&vc4_hdmi->mutex); + ++ if (!vc4_hdmi_audio_can_stream(vc4_hdmi)) { ++ mutex_unlock(&vc4_hdmi->mutex); ++ return -EINVAL; ++ } ++ + vc4_hdmi_audio_set_mai_clock(vc4_hdmi, sample_rate); + + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0011-drm-vc4-hdmi-Introduce-an-output_enabled-flag.patch b/root/target/linux/bcm27xx/patches-5.15/950-0011-drm-vc4-hdmi-Introduce-an-output_enabled-flag.patch new file mode 100644 index 00000000..b4a0cb20 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0011-drm-vc4-hdmi-Introduce-an-output_enabled-flag.patch @@ -0,0 +1,78 @@ +From cbc84143c02c3a42609ba37283f0f1ea23643ecc Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 19 Oct 2021 17:31:58 +0200 +Subject: [PATCH 011/828] drm/vc4: hdmi: Introduce an output_enabled flag + +We currently poke at encoder->crtc in the ALSA code path to determine +whether the HDMI output is enabled or not, and thus whether we should +allow the audio output. + +However, that pointer is deprecated and shouldn't really be used by +atomic drivers anymore. Since we have the infrastructure in place now, +let's just create a flag that we toggle to report whether the controller +is currently enabled and use that instead of encoder->crtc in ALSA. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 16 ++++++++++++---- + drivers/gpu/drm/vc4/vc4_hdmi.h | 6 ++++++ + 2 files changed, 18 insertions(+), 4 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -725,6 +725,11 @@ static void vc4_hdmi_encoder_post_crtc_p + + static void vc4_hdmi_encoder_disable(struct drm_encoder *encoder) + { ++ struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ ++ mutex_lock(&vc4_hdmi->mutex); ++ vc4_hdmi->output_enabled = false; ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static void vc4_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi, bool enable) +@@ -1218,6 +1223,11 @@ static void vc4_hdmi_encoder_post_crtc_e + + static void vc4_hdmi_encoder_enable(struct drm_encoder *encoder) + { ++ struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); ++ ++ mutex_lock(&vc4_hdmi->mutex); ++ vc4_hdmi->output_enabled = true; ++ mutex_unlock(&vc4_hdmi->mutex); + } + + static void vc4_hdmi_encoder_atomic_mode_set(struct drm_encoder *encoder, +@@ -1399,14 +1409,12 @@ static inline struct vc4_hdmi *dai_to_hd + + static bool vc4_hdmi_audio_can_stream(struct vc4_hdmi *vc4_hdmi) + { +- struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; +- + lockdep_assert_held(&vc4_hdmi->mutex); + + /* +- * The encoder doesn't have a CRTC until the first modeset. ++ * If the controller is disabled, prevent any ALSA output. + */ +- if (!encoder->crtc) ++ if (!vc4_hdmi->output_enabled) + return false; + + /* +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -204,6 +204,12 @@ struct vc4_hdmi { + * for use by ALSA hooks and interrupt handlers. Protected by @mutex. + */ + struct drm_display_mode saved_adjusted_mode; ++ ++ /** ++ * @output_enabled: Is the HDMI controller currently active? ++ * Protected by @mutex. ++ */ ++ bool output_enabled; + }; + + static inline struct vc4_hdmi * diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0012-drm-vc4-hdmi-Introduce-a-scdc_enabled-flag.patch b/root/target/linux/bcm27xx/patches-5.15/950-0012-drm-vc4-hdmi-Introduce-a-scdc_enabled-flag.patch new file mode 100644 index 00000000..3a08a649 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0012-drm-vc4-hdmi-Introduce-a-scdc_enabled-flag.patch @@ -0,0 +1,101 @@ +From 092de8a130a33a1bd181cf0d40b9137af4be9dcf Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 19 Oct 2021 19:13:46 +0200 +Subject: [PATCH 012/828] drm/vc4: hdmi: Introduce a scdc_enabled flag + +We currently rely on two functions, vc4_hdmi_supports_scrambling() and +vc4_hdmi_mode_needs_scrambling() to determine if we should enable and +disable the scrambler for any given mode. + +Since we might need to disable the controller at boot, we also always +run vc4_hdmi_disable_scrambling() and thus call those functions without +a mode yet, which in turns need to make some special casing in order for +it to work. + +Instead of duplicating the check for whether or not we need to take care +of the scrambler in both vc4_hdmi_enable_scrambling() and +vc4_hdmi_disable_scrambling(), we can do that check only when we enable +it and store whether or not it's been enabled in our private structure. + +We also need to initialize that flag at true to make sure we disable the +scrambler at boot since we can't really know its state yet. + +This allows to simplify a bit that part of the driver, and removes one +user of our copy of the CRTC adjusted mode outside of KMS (since +vc4_hdmi_disable_scrambling() might be called from the hotplug interrupt +handler). + +It also removes our last user of the legacy encoder->crtc pointer. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 22 ++++++++++++---------- + drivers/gpu/drm/vc4/vc4_hdmi.h | 6 ++++++ + 2 files changed, 18 insertions(+), 10 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -616,6 +616,8 @@ static void vc4_hdmi_enable_scrambling(s + VC5_HDMI_SCRAMBLER_CTL_ENABLE); + spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + ++ vc4_hdmi->scdc_enabled = true; ++ + queue_delayed_work(system_wq, &vc4_hdmi->scrambling_work, + msecs_to_jiffies(SCRAMBLING_POLLING_DELAY_MS)); + } +@@ -623,22 +625,14 @@ static void vc4_hdmi_enable_scrambling(s + static void vc4_hdmi_disable_scrambling(struct drm_encoder *encoder) + { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); +- struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode; +- struct drm_crtc *crtc = encoder->crtc; + unsigned long flags; + + lockdep_assert_held(&vc4_hdmi->mutex); + +- /* +- * At boot, encoder->crtc will be NULL. Since we don't know the +- * state of the scrambler and in order to avoid any +- * inconsistency, let's disable it all the time. +- */ +- if (crtc && !vc4_hdmi_supports_scrambling(encoder, mode)) ++ if (!vc4_hdmi->scdc_enabled) + return; + +- if (crtc && !vc4_hdmi_mode_needs_scrambling(mode)) +- return; ++ vc4_hdmi->scdc_enabled = false; + + if (delayed_work_pending(&vc4_hdmi->scrambling_work)) + cancel_delayed_work_sync(&vc4_hdmi->scrambling_work); +@@ -2512,6 +2506,14 @@ static int vc4_hdmi_bind(struct device * + vc4_hdmi->pdev = pdev; + vc4_hdmi->variant = variant; + ++ /* ++ * Since we don't know the state of the controller and its ++ * display (if any), let's assume it's always enabled. ++ * vc4_hdmi_disable_scrambling() will thus run at boot, make ++ * sure it's disabled, and avoid any inconsistency. ++ */ ++ vc4_hdmi->scdc_enabled = true; ++ + ret = variant->init_resources(vc4_hdmi); + if (ret) + return ret; +--- a/drivers/gpu/drm/vc4/vc4_hdmi.h ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.h +@@ -210,6 +210,12 @@ struct vc4_hdmi { + * Protected by @mutex. + */ + bool output_enabled; ++ ++ /** ++ * @scdc_enabled: Is the HDMI controller currently running with ++ * the scrambler on? Protected by @mutex. ++ */ ++ bool scdc_enabled; + }; + + static inline struct vc4_hdmi * diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0013-drm-vc4-Make-vc4_crtc_get_encoder-public.patch b/root/target/linux/bcm27xx/patches-5.15/950-0013-drm-vc4-Make-vc4_crtc_get_encoder-public.patch new file mode 100644 index 00000000..54a29475 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0013-drm-vc4-Make-vc4_crtc_get_encoder-public.patch @@ -0,0 +1,45 @@ +From 7cfd43baeaf6f423ab7e4e291ae3b72f84f8fdbf Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 26 May 2021 16:07:01 +0200 +Subject: [PATCH 013/828] drm/vc4: Make vc4_crtc_get_encoder public + +We'll need that function in vc4_kms to compute the core clock rate +requirements. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 8 ++++---- + drivers/gpu/drm/vc4/vc4_drv.h | 5 +++++ + 2 files changed, 9 insertions(+), 4 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -281,10 +281,10 @@ static u32 vc4_crtc_get_fifo_full_level_ + * allows drivers to push pixels to more than one encoder from the + * same CRTC. + */ +-static struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, +- struct drm_atomic_state *state, +- struct drm_connector_state *(*get_state)(struct drm_atomic_state *state, +- struct drm_connector *connector)) ++struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, ++ struct drm_atomic_state *state, ++ struct drm_connector_state *(*get_state)(struct drm_atomic_state *state, ++ struct drm_connector *connector)) + { + struct drm_connector *connector; + struct drm_connector_list_iter conn_iter; +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -544,6 +544,11 @@ vc4_crtc_to_vc4_pv_data(const struct vc4 + return container_of(data, struct vc4_pv_data, base); + } + ++struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, ++ struct drm_atomic_state *state, ++ struct drm_connector_state *(*get_state)(struct drm_atomic_state *state, ++ struct drm_connector *connector)); ++ + struct vc4_crtc_state { + struct drm_crtc_state base; + /* Dlist area for this CRTC configuration. */ diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0014-drm-vc4-crtc-Add-encoder-to-vc4_crtc_config_pv-proto.patch b/root/target/linux/bcm27xx/patches-5.15/950-0014-drm-vc4-crtc-Add-encoder-to-vc4_crtc_config_pv-proto.patch new file mode 100644 index 00000000..03e581eb --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0014-drm-vc4-crtc-Add-encoder-to-vc4_crtc_config_pv-proto.patch @@ -0,0 +1,43 @@ +From 63d006c505f695b14d71324f6217b7031531b242 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 14 Jun 2021 15:27:24 +0200 +Subject: [PATCH 014/828] drm/vc4: crtc: Add encoder to vc4_crtc_config_pv + prototype + +vc4_crtc_config_pv() retrieves the encoder again, even though its only +caller, vc4_crtc_atomic_enable(), already did. + +Pass the encoder pointer as an argument instead of going through all the +connectors to retrieve it again. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -315,12 +315,11 @@ static void vc4_crtc_pixelvalve_reset(st + CRTC_WRITE(PV_CONTROL, CRTC_READ(PV_CONTROL) | PV_CONTROL_FIFO_CLR); + } + +-static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_atomic_state *state) ++static void vc4_crtc_config_pv(struct drm_crtc *crtc, struct drm_encoder *encoder, ++ struct drm_atomic_state *state) + { + struct drm_device *dev = crtc->dev; + struct vc4_dev *vc4 = to_vc4_dev(dev); +- struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, state, +- drm_atomic_get_new_connector_state); + struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); + struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); + const struct vc4_pv_data *pv_data = vc4_crtc_to_vc4_pv_data(vc4_crtc); +@@ -599,7 +598,7 @@ static void vc4_crtc_atomic_enable(struc + if (vc4_encoder->pre_crtc_configure) + vc4_encoder->pre_crtc_configure(encoder, state); + +- vc4_crtc_config_pv(crtc, state); ++ vc4_crtc_config_pv(crtc, encoder, state); + + CRTC_WRITE(PV_CONTROL, CRTC_READ(PV_CONTROL) | PV_CONTROL_EN); + diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0015-drm-vc4-crtc-Rework-the-encoder-retrieval-code-again.patch b/root/target/linux/bcm27xx/patches-5.15/950-0015-drm-vc4-crtc-Rework-the-encoder-retrieval-code-again.patch new file mode 100644 index 00000000..374d1ed8 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0015-drm-vc4-crtc-Rework-the-encoder-retrieval-code-again.patch @@ -0,0 +1,96 @@ +From ef75a3ac2ee94f67f3d3d1d25f74200397b10d28 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 21 Jun 2021 16:07:22 +0200 +Subject: [PATCH 015/828] drm/vc4: crtc: Rework the encoder retrieval code + (again) + +It turns out the encoder retrieval code, in addition to being +unnecessarily complicated, has a bug when only the planes and crtcs are +affected by a given atomic commit. + +Indeed, in such a case, either drm_atomic_get_old_connector_state or +drm_atomic_get_new_connector_state will return NULL and thus our encoder +retrieval code will not match on anything. + +We can however simplify the code by using drm_for_each_encoder_mask, the +drm_crtc_state storing the encoders a given CRTC is connected to +directly and without relying on any other state. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 30 +++++++++--------------------- + drivers/gpu/drm/vc4/vc4_drv.h | 4 +--- + 2 files changed, 10 insertions(+), 24 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -282,26 +282,14 @@ static u32 vc4_crtc_get_fifo_full_level_ + * same CRTC. + */ + struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, +- struct drm_atomic_state *state, +- struct drm_connector_state *(*get_state)(struct drm_atomic_state *state, +- struct drm_connector *connector)) ++ struct drm_crtc_state *state) + { +- struct drm_connector *connector; +- struct drm_connector_list_iter conn_iter; ++ struct drm_encoder *encoder; + +- drm_connector_list_iter_begin(crtc->dev, &conn_iter); +- drm_for_each_connector_iter(connector, &conn_iter) { +- struct drm_connector_state *conn_state = get_state(state, connector); +- +- if (!conn_state) +- continue; +- +- if (conn_state->crtc == crtc) { +- drm_connector_list_iter_end(&conn_iter); +- return connector->encoder; +- } +- } +- drm_connector_list_iter_end(&conn_iter); ++ WARN_ON(hweight32(state->encoder_mask) > 1); ++ ++ drm_for_each_encoder_mask(encoder, crtc->dev, state->encoder_mask) ++ return encoder; + + return NULL; + } +@@ -552,8 +540,7 @@ static void vc4_crtc_atomic_disable(stru + struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state, + crtc); + struct vc4_crtc_state *old_vc4_state = to_vc4_crtc_state(old_state); +- struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, state, +- drm_atomic_get_old_connector_state); ++ struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, old_state); + struct drm_device *dev = crtc->dev; + + require_hvs_enabled(dev); +@@ -580,10 +567,11 @@ static void vc4_crtc_atomic_disable(stru + static void vc4_crtc_atomic_enable(struct drm_crtc *crtc, + struct drm_atomic_state *state) + { ++ struct drm_crtc_state *new_state = drm_atomic_get_new_crtc_state(state, ++ crtc); + struct drm_device *dev = crtc->dev; + struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); +- struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, state, +- drm_atomic_get_new_connector_state); ++ struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, new_state); + struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); + + require_hvs_enabled(dev); +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -545,9 +545,7 @@ vc4_crtc_to_vc4_pv_data(const struct vc4 + } + + struct drm_encoder *vc4_get_crtc_encoder(struct drm_crtc *crtc, +- struct drm_atomic_state *state, +- struct drm_connector_state *(*get_state)(struct drm_atomic_state *state, +- struct drm_connector *connector)); ++ struct drm_crtc_state *state); + + struct vc4_crtc_state { + struct drm_crtc_state base; diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0016-drm-vc4-crtc-Add-some-logging.patch b/root/target/linux/bcm27xx/patches-5.15/950-0016-drm-vc4-crtc-Add-some-logging.patch new file mode 100644 index 00000000..dff621ee --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0016-drm-vc4-crtc-Add-some-logging.patch @@ -0,0 +1,38 @@ +From d31a74ccec8679458908ed08573a8558e04c209f Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 21 Jun 2021 16:13:02 +0200 +Subject: [PATCH 016/828] drm/vc4: crtc: Add some logging + +The encoder retrieval code has been a source of bugs and glitches in the +past and the crtc <-> encoder association been wrong in a number of +different ways. + +Add some logging to quickly spot issues if they occur. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -543,6 +543,9 @@ static void vc4_crtc_atomic_disable(stru + struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, old_state); + struct drm_device *dev = crtc->dev; + ++ drm_dbg(dev, "Disabling CRTC %s (%u) connected to Encoder %s (%u)", ++ crtc->name, crtc->base.id, encoder->name, encoder->base.id); ++ + require_hvs_enabled(dev); + + /* Disable vblank irq handling before crtc is disabled. */ +@@ -574,6 +577,9 @@ static void vc4_crtc_atomic_enable(struc + struct drm_encoder *encoder = vc4_get_crtc_encoder(crtc, new_state); + struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); + ++ drm_dbg(dev, "Enabling CRTC %s (%u) connected to Encoder %s (%u)", ++ crtc->name, crtc->base.id, encoder->name, encoder->base.id); ++ + require_hvs_enabled(dev); + + /* Enable vblank irq handling before crtc is started otherwise diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0017-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch b/root/target/linux/bcm27xx/patches-5.15/950-0017-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch new file mode 100644 index 00000000..ba494bbb --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0017-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch @@ -0,0 +1,123 @@ +From e03e29fe2bb7da723d52beedc56c9a6694ae5483 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Mon, 21 Jun 2021 17:19:22 +0200 +Subject: [PATCH 017/828] drm/vc4: Leverage the load tracker on the BCM2711 + +The load tracker was initially designed to report and warn about a load +too high for the HVS. To do so, it computes for each plane the impact +it's going to have on the HVS, and will warn (if it's enabled) if we go +over what the hardware can process. + +While the limits being used are a bit irrelevant to the BCM2711, the +algorithm to compute the HVS load will be one component used in order to +compute the core clock rate on the BCM2711. + +Let's remove the hooks to prevent the load tracker to do its +computation, but since we don't have the same limits, don't check them +against them, and prevent the debugfs file to enable it from being +created. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_debugfs.c | 7 +++++-- + drivers/gpu/drm/vc4/vc4_drv.h | 3 --- + drivers/gpu/drm/vc4/vc4_kms.c | 16 +++++----------- + drivers/gpu/drm/vc4/vc4_plane.c | 5 ----- + 4 files changed, 10 insertions(+), 21 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_debugfs.c ++++ b/drivers/gpu/drm/vc4/vc4_debugfs.c +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + #include "vc4_drv.h" + #include "vc4_regs.h" +@@ -26,8 +27,10 @@ vc4_debugfs_init(struct drm_minor *minor + struct vc4_dev *vc4 = to_vc4_dev(minor->dev); + struct vc4_debugfs_info_entry *entry; + +- debugfs_create_bool("hvs_load_tracker", S_IRUGO | S_IWUSR, +- minor->debugfs_root, &vc4->load_tracker_enabled); ++ if (!of_device_is_compatible(vc4->hvs->pdev->dev.of_node, ++ "brcm,bcm2711-vc5")) ++ debugfs_create_bool("hvs_load_tracker", S_IRUGO | S_IWUSR, ++ minor->debugfs_root, &vc4->load_tracker_enabled); + + list_for_each_entry(entry, &vc4->debugfs_list, link) { + drm_debugfs_create_files(&entry->info, 1, +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -202,9 +202,6 @@ struct vc4_dev { + + int power_refcount; + +- /* Set to true when the load tracker is supported. */ +- bool load_tracker_available; +- + /* Set to true when the load tracker is active. */ + bool load_tracker_enabled; + +--- a/drivers/gpu/drm/vc4/vc4_kms.c ++++ b/drivers/gpu/drm/vc4/vc4_kms.c +@@ -554,9 +554,6 @@ static int vc4_load_tracker_atomic_check + struct drm_plane *plane; + int i; + +- if (!vc4->load_tracker_available) +- return 0; +- + priv_state = drm_atomic_get_private_obj_state(state, + &vc4->load_tracker); + if (IS_ERR(priv_state)) +@@ -631,9 +628,6 @@ static void vc4_load_tracker_obj_fini(st + { + struct vc4_dev *vc4 = to_vc4_dev(dev); + +- if (!vc4->load_tracker_available) +- return; +- + drm_atomic_private_obj_fini(&vc4->load_tracker); + } + +@@ -641,9 +635,6 @@ static int vc4_load_tracker_obj_init(str + { + struct vc4_load_tracker_state *load_state; + +- if (!vc4->load_tracker_available) +- return 0; +- + load_state = kzalloc(sizeof(*load_state), GFP_KERNEL); + if (!load_state) + return -ENOMEM; +@@ -865,9 +856,12 @@ int vc4_kms_load(struct drm_device *dev) + "brcm,bcm2711-vc5"); + int ret; + ++ /* ++ * The limits enforced by the load tracker aren't relevant for ++ * the BCM2711, but the load tracker computations are used for ++ * the core clock rate calculation. ++ */ + if (!is_vc5) { +- vc4->load_tracker_available = true; +- + /* Start with the load tracker enabled. Can be + * disabled through the debugfs load_tracker file. + */ +--- a/drivers/gpu/drm/vc4/vc4_plane.c ++++ b/drivers/gpu/drm/vc4/vc4_plane.c +@@ -529,11 +529,6 @@ static void vc4_plane_calc_load(struct d + struct vc4_plane_state *vc4_state; + struct drm_crtc_state *crtc_state; + unsigned int vscale_factor; +- struct vc4_dev *vc4; +- +- vc4 = to_vc4_dev(state->plane->dev); +- if (!vc4->load_tracker_available) +- return; + + vc4_state = to_vc4_plane_state(state); + crtc_state = drm_atomic_get_existing_crtc_state(state->state, diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0018-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch b/root/target/linux/bcm27xx/patches-5.15/950-0018-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch new file mode 100644 index 00000000..0766e461 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0018-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch @@ -0,0 +1,242 @@ +From 7c9fbfef03953f5e079d1c02897aaf3c514f12ad Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 26 May 2021 16:13:02 +0200 +Subject: [PATCH 018/828] drm/vc4: Increase the core clock based on HVS load + +Depending on a given HVS output (HVS to PixelValves) and input (planes +attached to a channel) load, the HVS needs for the core clock to be +raised above its boot time default. + +Failing to do so will result in a vblank timeout and a stalled display +pipeline. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_crtc.c | 15 +++++ + drivers/gpu/drm/vc4/vc4_drv.h | 2 + + drivers/gpu/drm/vc4/vc4_kms.c | 112 ++++++++++++++++++++++++++++++--- + 3 files changed, 119 insertions(+), 10 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_crtc.c ++++ b/drivers/gpu/drm/vc4/vc4_crtc.c +@@ -661,12 +661,27 @@ static int vc4_crtc_atomic_check(struct + struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc_state); + struct drm_connector *conn; + struct drm_connector_state *conn_state; ++ struct drm_encoder *encoder; + int ret, i; + + ret = vc4_hvs_atomic_check(crtc, state); + if (ret) + return ret; + ++ encoder = vc4_get_crtc_encoder(crtc, crtc_state); ++ if (encoder) { ++ const struct drm_display_mode *mode = &crtc_state->adjusted_mode; ++ struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); ++ ++ mode = &crtc_state->adjusted_mode; ++ if (vc4_encoder->type == VC4_ENCODER_TYPE_HDMI0) { ++ vc4_state->hvs_load = max(mode->clock * mode->hdisplay / mode->htotal + 1000, ++ mode->clock * 9 / 10) * 1000; ++ } else { ++ vc4_state->hvs_load = mode->clock * 1000; ++ } ++ } ++ + for_each_new_connector_in_state(state, conn, conn_state, + i) { + if (conn_state->crtc != crtc) +--- a/drivers/gpu/drm/vc4/vc4_drv.h ++++ b/drivers/gpu/drm/vc4/vc4_drv.h +@@ -558,6 +558,8 @@ struct vc4_crtc_state { + unsigned int bottom; + } margins; + ++ unsigned long hvs_load; ++ + /* Transitional state below, only valid during atomic commits */ + bool update_muxing; + }; +--- a/drivers/gpu/drm/vc4/vc4_kms.c ++++ b/drivers/gpu/drm/vc4/vc4_kms.c +@@ -39,9 +39,11 @@ static struct vc4_ctm_state *to_vc4_ctm_ + + struct vc4_hvs_state { + struct drm_private_state base; ++ unsigned long core_clock_rate; + + struct { + unsigned in_use: 1; ++ unsigned long fifo_load; + struct drm_crtc_commit *pending_commit; + } fifo_state[HVS_NUM_CHANNELS]; + }; +@@ -339,11 +341,20 @@ static void vc4_atomic_commit_tail(struc + struct vc4_dev *vc4 = to_vc4_dev(dev); + struct vc4_hvs *hvs = vc4->hvs; + struct drm_crtc_state *new_crtc_state; ++ struct vc4_hvs_state *new_hvs_state; + struct drm_crtc *crtc; + struct vc4_hvs_state *old_hvs_state; + unsigned int channel; + int i; + ++ old_hvs_state = vc4_hvs_get_old_global_state(state); ++ if (WARN_ON(!old_hvs_state)) ++ return; ++ ++ new_hvs_state = vc4_hvs_get_new_global_state(state); ++ if (WARN_ON(!new_hvs_state)) ++ return; ++ + for_each_new_crtc_in_state(state, crtc, new_crtc_state, i) { + struct vc4_crtc_state *vc4_crtc_state; + +@@ -354,10 +365,6 @@ static void vc4_atomic_commit_tail(struc + vc4_hvs_mask_underrun(dev, vc4_crtc_state->assigned_channel); + } + +- old_hvs_state = vc4_hvs_get_old_global_state(state); +- if (IS_ERR(old_hvs_state)) +- return; +- + for (channel = 0; channel < HVS_NUM_CHANNELS; channel++) { + struct drm_crtc_commit *commit; + int ret; +@@ -377,8 +384,13 @@ static void vc4_atomic_commit_tail(struc + old_hvs_state->fifo_state[channel].pending_commit = NULL; + } + +- if (vc4->hvs->hvs5) +- clk_set_min_rate(hvs->core_clk, 500000000); ++ if (vc4->hvs->hvs5) { ++ unsigned long core_rate = max_t(unsigned long, ++ 500000000, ++ new_hvs_state->core_clock_rate); ++ ++ clk_set_min_rate(hvs->core_clk, core_rate); ++ } + + drm_atomic_helper_commit_modeset_disables(dev, state); + +@@ -401,8 +413,12 @@ static void vc4_atomic_commit_tail(struc + + drm_atomic_helper_cleanup_planes(dev, state); + +- if (vc4->hvs->hvs5) +- clk_set_min_rate(hvs->core_clk, 0); ++ if (vc4->hvs->hvs5) { ++ drm_dbg(dev, "Running the core clock at %lu Hz\n", ++ new_hvs_state->core_clock_rate); ++ ++ clk_set_min_rate(hvs->core_clk, new_hvs_state->core_clock_rate); ++ } + } + + static int vc4_atomic_commit_setup(struct drm_atomic_state *state) +@@ -659,11 +675,13 @@ vc4_hvs_channels_duplicate_state(struct + + __drm_atomic_helper_private_obj_duplicate_state(obj, &state->base); + +- + for (i = 0; i < HVS_NUM_CHANNELS; i++) { + state->fifo_state[i].in_use = old_state->fifo_state[i].in_use; ++ state->fifo_state[i].fifo_load = old_state->fifo_state[i].fifo_load; + } + ++ state->core_clock_rate = old_state->core_clock_rate; ++ + return &state->base; + } + +@@ -819,6 +837,76 @@ static int vc4_pv_muxing_atomic_check(st + } + + static int ++vc4_core_clock_atomic_check(struct drm_atomic_state *state) ++{ ++ struct vc4_dev *vc4 = to_vc4_dev(state->dev); ++ struct drm_private_state *priv_state; ++ struct vc4_hvs_state *hvs_new_state; ++ struct vc4_load_tracker_state *load_state; ++ struct drm_crtc_state *old_crtc_state, *new_crtc_state; ++ struct drm_crtc *crtc; ++ unsigned int num_outputs; ++ unsigned long pixel_rate; ++ unsigned long cob_rate; ++ unsigned int i; ++ ++ priv_state = drm_atomic_get_private_obj_state(state, ++ &vc4->load_tracker); ++ if (IS_ERR(priv_state)) ++ return PTR_ERR(priv_state); ++ ++ load_state = to_vc4_load_tracker_state(priv_state); ++ ++ hvs_new_state = vc4_hvs_get_global_state(state); ++ if (!hvs_new_state) ++ return -EINVAL; ++ ++ for_each_oldnew_crtc_in_state(state, crtc, ++ old_crtc_state, ++ new_crtc_state, ++ i) { ++ if (old_crtc_state->active) { ++ struct vc4_crtc_state *old_vc4_state = ++ to_vc4_crtc_state(old_crtc_state); ++ unsigned int channel = old_vc4_state->assigned_channel; ++ ++ hvs_new_state->fifo_state[channel].fifo_load = 0; ++ } ++ ++ if (new_crtc_state->active) { ++ struct vc4_crtc_state *new_vc4_state = ++ to_vc4_crtc_state(new_crtc_state); ++ unsigned int channel = new_vc4_state->assigned_channel; ++ ++ hvs_new_state->fifo_state[channel].fifo_load = ++ new_vc4_state->hvs_load; ++ } ++ } ++ ++ cob_rate = 0; ++ num_outputs = 0; ++ for (i = 0; i < HVS_NUM_CHANNELS; i++) { ++ if (!hvs_new_state->fifo_state[i].in_use) ++ continue; ++ ++ num_outputs++; ++ cob_rate += hvs_new_state->fifo_state[i].fifo_load; ++ } ++ ++ pixel_rate = load_state->hvs_load; ++ if (num_outputs > 1) { ++ pixel_rate = (pixel_rate * 40) / 100; ++ } else { ++ pixel_rate = (pixel_rate * 60) / 100; ++ } ++ ++ hvs_new_state->core_clock_rate = max(cob_rate, pixel_rate); ++ ++ return 0; ++} ++ ++ ++static int + vc4_atomic_check(struct drm_device *dev, struct drm_atomic_state *state) + { + int ret; +@@ -835,7 +923,11 @@ vc4_atomic_check(struct drm_device *dev, + if (ret) + return ret; + +- return vc4_load_tracker_atomic_check(state); ++ ret = vc4_load_tracker_atomic_check(state); ++ if (ret) ++ return ret; ++ ++ return vc4_core_clock_atomic_check(state); + } + + static struct drm_mode_config_helper_funcs vc4_mode_config_helpers = { diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0019-drm-vc4-select-PM.patch b/root/target/linux/bcm27xx/patches-5.15/950-0019-drm-vc4-select-PM.patch new file mode 100644 index 00000000..14dc6b38 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0019-drm-vc4-select-PM.patch @@ -0,0 +1,24 @@ +From 958592c4da73d5f35f6cb1d7994d526718eeb2fa Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Thu, 19 Aug 2021 15:53:03 +0200 +Subject: [PATCH 019/828] drm/vc4: select PM + +We already depend on runtime PM to get the power domains and clocks for +most of the devices supported by the vc4 driver, so let's just select it +to make sure it's there, and remove the ifdef. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/gpu/drm/vc4/Kconfig ++++ b/drivers/gpu/drm/vc4/Kconfig +@@ -9,6 +9,7 @@ config DRM_VC4 + select DRM_KMS_CMA_HELPER + select DRM_GEM_CMA_HELPER + select DRM_PANEL_BRIDGE ++ select PM + select SND_PCM + select SND_PCM_ELD + select SND_SOC_GENERIC_DMAENGINE_PCM diff --git a/root/target/linux/bcm27xx/patches-5.15/0031-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch b/root/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch similarity index 87% rename from root/target/linux/bcm27xx/patches-5.15/0031-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch index b85da959..1a619d5a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0031-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch @@ -1,7 +1,7 @@ -From 05bc2a114f7ee3caeb87377748bcf368d760b436 Mon Sep 17 00:00:00 2001 +From 435320b9d091bf1b42e65c2f36b16f9bebd0702d Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 19 Aug 2021 14:37:04 +0200 -Subject: [PATCH 031/634] drm/probe-helper: Create a HPD IRQ event helper for a +Subject: [PATCH 020/828] drm/probe-helper: Create a HPD IRQ event helper for a single connector The drm_helper_hpd_irq_event() function is iterating over all the @@ -23,25 +23,14 @@ Since both are suboptimal, let's create a helper that will only perform the status detection on a single connector. Signed-off-by: Maxime Ripard - ---- - -Changes from v1: - - Rename the shared function - - Move the hotplug event notification out of the shared function - - Added missing locks - - Improve the documentation - - Switched to drm_dbg_kms --- drivers/gpu/drm/drm_probe_helper.c | 120 ++++++++++++++++++++--------- include/drm/drm_probe_helper.h | 1 + 2 files changed, 86 insertions(+), 35 deletions(-) -diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c -index 5606bca3caa8..fcf32ec0b0c8 100644 --- a/drivers/gpu/drm/drm_probe_helper.c +++ b/drivers/gpu/drm/drm_probe_helper.c -@@ -795,6 +795,86 @@ void drm_kms_helper_poll_fini(struct drm_device *dev) +@@ -795,6 +795,86 @@ void drm_kms_helper_poll_fini(struct drm } EXPORT_SYMBOL(drm_kms_helper_poll_fini); @@ -142,7 +131,7 @@ index 5606bca3caa8..fcf32ec0b0c8 100644 * * This function must be called from process context with no mode * setting locks held. -@@ -822,9 +903,7 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev) +@@ -822,9 +903,7 @@ bool drm_helper_hpd_irq_event(struct drm { struct drm_connector *connector; struct drm_connector_list_iter conn_iter; @@ -152,7 +141,7 @@ index 5606bca3caa8..fcf32ec0b0c8 100644 if (!dev->mode_config.poll_enabled) return false; -@@ -832,37 +911,8 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev) +@@ -832,37 +911,8 @@ bool drm_helper_hpd_irq_event(struct drm mutex_lock(&dev->mode_config.mutex); drm_connector_list_iter_begin(dev, &conn_iter); drm_for_each_connector_iter(connector, &conn_iter) { @@ -191,11 +180,9 @@ index 5606bca3caa8..fcf32ec0b0c8 100644 } drm_connector_list_iter_end(&conn_iter); mutex_unlock(&dev->mode_config.mutex); -diff --git a/include/drm/drm_probe_helper.h b/include/drm/drm_probe_helper.h -index 8d3ed2834d34..04c57564c397 100644 --- a/include/drm/drm_probe_helper.h +++ b/include/drm/drm_probe_helper.h -@@ -18,6 +18,7 @@ int drm_helper_probe_detect(struct drm_connector *connector, +@@ -18,6 +18,7 @@ int drm_helper_probe_detect(struct drm_c void drm_kms_helper_poll_init(struct drm_device *dev); void drm_kms_helper_poll_fini(struct drm_device *dev); bool drm_helper_hpd_irq_event(struct drm_device *dev); @@ -203,6 +190,3 @@ index 8d3ed2834d34..04c57564c397 100644 void drm_kms_helper_hotplug_event(struct drm_device *dev); void drm_kms_helper_poll_disable(struct drm_device *dev); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0021-drm-vc4-hdmi-Actually-check-for-the-connector-status.patch b/root/target/linux/bcm27xx/patches-5.15/950-0021-drm-vc4-hdmi-Actually-check-for-the-connector-status.patch new file mode 100644 index 00000000..d76be354 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0021-drm-vc4-hdmi-Actually-check-for-the-connector-status.patch @@ -0,0 +1,60 @@ +From b286ea771fae840609b0d5eeb25ef0a4518a2a4f Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Thu, 19 Aug 2021 13:50:12 +0200 +Subject: [PATCH 021/828] drm/vc4: hdmi: Actually check for the connector + status in hotplug + +The drm_helper_hpd_irq_event() documentation states that this function +is "useful for drivers which can't or don't track hotplug interrupts for +each connector." and that "Drivers which support hotplug interrupts for +each connector individually and which have a more fine-grained detect +logic should bypass this code and directly call +drm_kms_helper_hotplug_event()". This is thus what we ended-up doing. + +However, what this actually means, and is further explained in the +drm_kms_helper_hotplug_event() documentation, is that +drm_kms_helper_hotplug_event() should be called by drivers that can +track the connection status change, and if it has changed we should call +that function. + +This underlying expectation we failed to provide is that the caller of +drm_kms_helper_hotplug_event() should call drm_helper_probe_detect() to +probe the new status of the connector. + +Since we didn't do it, it meant that even though we were sending the +notification to user-space and the DRM clients that something changed we +never probed or updated our internal connector status ourselves. + +This went mostly unnoticed since the detect callback usually doesn't +have any side-effect. Also, if we were using the DRM fbdev emulation +(which is a DRM client), or any user-space application that can deal +with hotplug events, chances are they would react to the hotplug event +by probing the connector status eventually. + +However, now that we have to enable the scrambler in detect() if it was +enabled it has a side effect, and an application such as Kodi or +modetest doesn't deal with hotplug events. This resulted with a black +screen when Kodi or modetest was running when a screen was disconnected +and then reconnected, or switched off and on. + +Signed-off-by: Maxime Ripard +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -1792,10 +1792,11 @@ static void vc4_hdmi_audio_exit(struct v + static irqreturn_t vc4_hdmi_hpd_irq_thread(int irq, void *priv) + { + struct vc4_hdmi *vc4_hdmi = priv; +- struct drm_device *dev = vc4_hdmi->connector.dev; ++ struct drm_connector *connector = &vc4_hdmi->connector; ++ struct drm_device *dev = connector->dev; + + if (dev && dev->registered) +- drm_kms_helper_hotplug_event(dev); ++ drm_connector_helper_hpd_irq_event(connector); + + return IRQ_HANDLED; + } diff --git a/root/target/linux/bcm27xx/patches-5.15/0437-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch b/root/target/linux/bcm27xx/patches-5.15/950-0022-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch similarity index 59% rename from root/target/linux/bcm27xx/patches-5.15/0437-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0022-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch index 83f69ec0..1d1a489a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0437-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0022-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch @@ -1,30 +1,27 @@ -From 718bb5e770c3de0831c94944f384d00385ae7eb7 Mon Sep 17 00:00:00 2001 +From a0073d49aea8a21658a00c24439ca95f42baf3ee Mon Sep 17 00:00:00 2001 From: Maxime Ripard -Date: Wed, 23 Jun 2021 11:53:46 +0200 -Subject: [PATCH 437/634] firmware: raspberrypi: Add +Date: Wed, 15 Dec 2021 10:51:14 +0100 +Subject: [PATCH 022/828] firmware: raspberrypi: Add RPI_FIRMWARE_NOTIFY_DISPLAY_DONE The RPI_FIRMWARE_NOTIFY_DISPLAY_DONE firmware call allows to tell the firmware the kernel is in charge of the display now and the firmware can free whatever resources it was using. +Acked-by: Nicolas Saenz Julienne Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20211215095117.176435-2-maxime@cerno.tech --- include/soc/bcm2835/raspberrypi-firmware.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 0eca333ad2be..ee361b90eb29 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -95,6 +95,7 @@ enum rpi_firmware_property_tag { +@@ -91,6 +91,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049, + RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050, RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058, - RPI_FIRMWARE_GET_REBOOT_FLAGS = 0x00030064, - RPI_FIRMWARE_SET_REBOOT_FLAGS = 0x00038064, + RPI_FIRMWARE_NOTIFY_DISPLAY_DONE = 0x00030066, /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0023-drm-vc4-Remove-conflicting-framebuffers-before-calli.patch b/root/target/linux/bcm27xx/patches-5.15/950-0023-drm-vc4-Remove-conflicting-framebuffers-before-calli.patch new file mode 100644 index 00000000..786014a1 --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0023-drm-vc4-Remove-conflicting-framebuffers-before-calli.patch @@ -0,0 +1,39 @@ +From 5644237465a4d0bf53a37db34ebae894e9fc9aaf Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 15 Dec 2021 10:51:16 +0100 +Subject: [PATCH 023/828] drm/vc4: Remove conflicting framebuffers before + callind bind_all + +The bind hooks will modify their controller registers, so simplefb is +going to be unusable anyway. Let's avoid any transient state where it +could still be in the system but no longer functionnal. + +Acked-by: Nicolas Saenz Julienne +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20211215095117.176435-4-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_drv.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_drv.c ++++ b/drivers/gpu/drm/vc4/vc4_drv.c +@@ -253,15 +253,15 @@ static int vc4_drm_bind(struct device *d + if (ret) + return ret; + +- ret = component_bind_all(dev, drm); ++ ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver); + if (ret) + return ret; + +- ret = vc4_plane_create_additional_planes(drm); ++ ret = component_bind_all(dev, drm); + if (ret) +- goto unbind_all; ++ return ret; + +- ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver); ++ ret = vc4_plane_create_additional_planes(drm); + if (ret) + goto unbind_all; + diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0024-drm-vc4-Notify-the-firmware-when-DRM-is-in-charge.patch b/root/target/linux/bcm27xx/patches-5.15/950-0024-drm-vc4-Notify-the-firmware-when-DRM-is-in-charge.patch new file mode 100644 index 00000000..4a762a5c --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0024-drm-vc4-Notify-the-firmware-when-DRM-is-in-charge.patch @@ -0,0 +1,69 @@ +From a52f674503e239ace32a2e831d42891682a86c89 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Wed, 15 Dec 2021 10:51:17 +0100 +Subject: [PATCH 024/828] drm/vc4: Notify the firmware when DRM is in charge + +Once the call to drm_fb_helper_remove_conflicting_framebuffers() has +been made, simplefb has been unregistered and the KMS driver is entirely +in charge of the display. + +Thus, we can notify the firmware it can free whatever resource it was +using to maintain simplefb functional. + +Signed-off-by: Maxime Ripard +Reviewed-by: Javier Martinez Canillas +Acked-by: Thomas Zimmermann +Link: https://patchwork.freedesktop.org/patch/msgid/20211215095117.176435-5-maxime@cerno.tech +--- + drivers/gpu/drm/vc4/vc4_drv.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +--- a/drivers/gpu/drm/vc4/vc4_drv.c ++++ b/drivers/gpu/drm/vc4/vc4_drv.c +@@ -37,6 +37,8 @@ + #include + #include + ++#include ++ + #include "uapi/drm/vc4_drm.h" + + #include "vc4_drv.h" +@@ -217,6 +219,7 @@ static void vc4_match_add_drivers(struct + static int vc4_drm_bind(struct device *dev) + { + struct platform_device *pdev = to_platform_device(dev); ++ struct rpi_firmware *firmware = NULL; + struct drm_device *drm; + struct vc4_dev *vc4; + struct device_node *node; +@@ -253,10 +256,29 @@ static int vc4_drm_bind(struct device *d + if (ret) + return ret; + ++ node = of_find_compatible_node(NULL, NULL, "raspberrypi,bcm2835-firmware"); ++ if (node) { ++ firmware = rpi_firmware_get(node); ++ of_node_put(node); ++ ++ if (!firmware) ++ return -EPROBE_DEFER; ++ } ++ + ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver); + if (ret) + return ret; + ++ if (firmware) { ++ ret = rpi_firmware_property(firmware, ++ RPI_FIRMWARE_NOTIFY_DISPLAY_DONE, ++ NULL, 0); ++ if (ret) ++ drm_warn(drm, "Couldn't stop firmware display driver: %d\n", ret); ++ ++ rpi_firmware_put(firmware); ++ } ++ + ret = component_bind_all(dev, drm); + if (ret) + return ret; diff --git a/root/target/linux/bcm27xx/patches-5.15/0033-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch b/root/target/linux/bcm27xx/patches-5.15/950-0025-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0033-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0025-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch index 95a585b9..fb1b05d7 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0033-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0025-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch @@ -1,7 +1,7 @@ -From 54c471a9b4588ba9bba0d9f3becb9ebcbf3f2c20 Mon Sep 17 00:00:00 2001 +From 47090ca3e20595483f323615502d929aaa83799f Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 033/634] arm: partially revert +Subject: [PATCH 025/828] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -12,8 +12,6 @@ Subject: [PATCH 033/634] arm: partially revert arch/arm/mm/proc-syms.c | 3 +++ 4 files changed, 28 insertions(+) -diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h -index 5e56288e343b..d3672588ca84 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h @@ -91,6 +91,21 @@ @@ -56,7 +54,7 @@ index 5e56288e343b..d3672588ca84 100644 #define dmac_flush_range cpu_cache.dma_flush_range #else -@@ -156,6 +175,8 @@ extern void __cpuc_flush_dcache_area(void *, size_t); +@@ -156,6 +175,8 @@ extern void __cpuc_flush_dcache_area(voi * is visible to DMA, or data written by DMA to system memory is * visible to the CPU. */ @@ -65,11 +63,9 @@ index 5e56288e343b..d3672588ca84 100644 extern void dmac_flush_range(const void *, const void *); #endif -diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h -index 724f8dac1e5b..aa74173092dd 100644 --- a/arch/arm/include/asm/glue-cache.h +++ b/arch/arm/include/asm/glue-cache.h -@@ -155,6 +155,8 @@ static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { } +@@ -155,6 +155,8 @@ static inline void nop_dma_unmap_area(co #define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) #define __cpuc_flush_dcache_area __glue(_CACHE,_flush_kern_dcache_area) @@ -78,8 +74,6 @@ index 724f8dac1e5b..aa74173092dd 100644 #define dmac_flush_range __glue(_CACHE,_dma_flush_range) #endif -diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S -index d9f7dfe2a7ed..687d126d1c6c 100644 --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S @@ -334,6 +334,8 @@ ENTRY(\name\()_cache_fns) @@ -91,8 +85,6 @@ index d9f7dfe2a7ed..687d126d1c6c 100644 .long \name\()_dma_flush_range .size \name\()_cache_fns, . - \name\()_cache_fns .endm -diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c -index e21249548e9f..33e4a9b8f1ba 100644 --- a/arch/arm/mm/proc-syms.c +++ b/arch/arm/mm/proc-syms.c @@ -27,6 +27,9 @@ EXPORT_SYMBOL(__cpuc_flush_user_all); @@ -105,6 +97,3 @@ index e21249548e9f..33e4a9b8f1ba 100644 #else EXPORT_SYMBOL(cpu_cache); #endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0034-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch b/root/target/linux/bcm27xx/patches-5.15/950-0026-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0034-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0026-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch index cbc16e02..cfcffbec 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0034-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0026-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch @@ -1,7 +1,7 @@ -From 7e6b77b2bba73652ea10978bba06cde6c7af6046 Mon Sep 17 00:00:00 2001 +From fac88fd5d60183089cfc11a875acbd47d0b00242 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 29 Oct 2018 14:45:45 +0000 -Subject: [PATCH 034/634] Revert "rtc: pcf8523: properly handle oscillator stop +Subject: [PATCH 026/828] Revert "rtc: pcf8523: properly handle oscillator stop bit" This reverts commit ede44c908d44b166a5b6bd7caacd105c2ff5a70f. @@ -13,11 +13,9 @@ Signed-off-by: Phil Elwell drivers/rtc/rtc-pcf8523.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) -diff --git a/drivers/rtc/rtc-pcf8523.c b/drivers/rtc/rtc-pcf8523.c -index 8b6fb20774bf..ad2231f1faac 100644 --- a/drivers/rtc/rtc-pcf8523.c +++ b/drivers/rtc/rtc-pcf8523.c -@@ -242,8 +242,28 @@ static int pcf8523_rtc_read_time(struct device *dev, struct rtc_time *tm) +@@ -242,8 +242,28 @@ static int pcf8523_rtc_read_time(struct if (err < 0) return err; @@ -48,6 +46,3 @@ index 8b6fb20774bf..ad2231f1faac 100644 tm->tm_sec = bcd2bin(regs[0] & 0x7f); tm->tm_min = bcd2bin(regs[1] & 0x7f); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0035-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch b/root/target/linux/bcm27xx/patches-5.15/950-0027-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0035-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0027-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch index e0f92d7e..d653e627 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0035-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0027-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch @@ -1,15 +1,13 @@ -From e1aca9751c1ca2bb868435f32d985dc5622fb36f Mon Sep 17 00:00:00 2001 +From 8c4a8300ab9e004755f5708e1ca621f846a5b338 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 15 Mar 2019 21:11:10 +0000 -Subject: [PATCH 035/634] Revert "staging: bcm2835-audio: Drop DT dependency" +Subject: [PATCH 027/828] Revert "staging: bcm2835-audio: Drop DT dependency" This reverts commit b7491a9fca2dc2535b9dc922550a37c5baae9d3d. --- .../vc04_services/bcm2835-audio/bcm2835.c | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) -diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -index c250fbef2fa3..b42917c25050 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c @@ -6,13 +6,13 @@ @@ -27,7 +25,7 @@ index c250fbef2fa3..b42917c25050 100644 module_param(enable_hdmi, bool, 0444); MODULE_PARM_DESC(enable_hdmi, "Enables HDMI virtual audio device"); -@@ -21,8 +21,6 @@ MODULE_PARM_DESC(enable_headphones, "Enables Headphones virtual audio device"); +@@ -21,8 +21,6 @@ MODULE_PARM_DESC(enable_headphones, "Ena module_param(enable_compat_alsa, bool, 0444); MODULE_PARM_DESC(enable_compat_alsa, "Enables ALSA compatibility virtual audio device"); @@ -36,7 +34,7 @@ index c250fbef2fa3..b42917c25050 100644 static void bcm2835_devm_free_vchi_ctx(struct device *dev, void *res) { -@@ -296,19 +294,28 @@ static int snd_add_child_devices(struct device *device, u32 numchans) +@@ -296,19 +294,28 @@ static int snd_add_child_devices(struct static int snd_bcm2835_alsa_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -70,7 +68,7 @@ index c250fbef2fa3..b42917c25050 100644 if (err) return err; -@@ -330,6 +337,12 @@ static int snd_bcm2835_alsa_resume(struct platform_device *pdev) +@@ -330,6 +337,12 @@ static int snd_bcm2835_alsa_resume(struc #endif @@ -83,7 +81,7 @@ index c250fbef2fa3..b42917c25050 100644 static struct platform_driver bcm2835_alsa_driver = { .probe = snd_bcm2835_alsa_probe, #ifdef CONFIG_PM -@@ -338,6 +351,7 @@ static struct platform_driver bcm2835_alsa_driver = { +@@ -338,6 +351,7 @@ static struct platform_driver bcm2835_al #endif .driver = { .name = "bcm2835_audio", @@ -91,11 +89,8 @@ index c250fbef2fa3..b42917c25050 100644 }, }; module_platform_driver(bcm2835_alsa_driver); -@@ -345,4 +359,3 @@ module_platform_driver(bcm2835_alsa_driver); +@@ -345,4 +359,3 @@ module_platform_driver(bcm2835_alsa_driv MODULE_AUTHOR("Dom Cobley"); MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); MODULE_LICENSE("GPL"); -MODULE_ALIAS("platform:bcm2835_audio"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0036-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch b/root/target/linux/bcm27xx/patches-5.15/950-0028-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch similarity index 63% rename from root/target/linux/bcm27xx/patches-5.15/0036-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0028-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch index 6af839d1..e0533a6e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0036-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0028-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch @@ -1,7 +1,7 @@ -From 1913228233ca712bcf4a1798a14dae8d73a7812d Mon Sep 17 00:00:00 2001 +From bf681447fed1077d7caa01cd5a1303d764876371 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 13:41:10 +0100 -Subject: [PATCH 036/634] Revert "spi: spidev: Fix CS polarity if GPIO +Subject: [PATCH 028/828] Revert "spi: spidev: Fix CS polarity if GPIO descriptors are used" This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. @@ -9,11 +9,9 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28. drivers/spi/spidev.c | 5 ----- 1 file changed, 5 deletions(-) -diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 1bd73e322b7b..795bef1efcc6 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -402,7 +402,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +@@ -402,7 +402,6 @@ spidev_ioctl(struct file *filp, unsigned else retval = get_user(tmp, (u32 __user *)arg); if (retval == 0) { @@ -21,7 +19,7 @@ index 1bd73e322b7b..795bef1efcc6 100644 u32 save = spi->mode; if (tmp & ~SPI_MODE_MASK) { -@@ -410,10 +409,6 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +@@ -410,10 +409,6 @@ spidev_ioctl(struct file *filp, unsigned break; } @@ -32,6 +30,3 @@ index 1bd73e322b7b..795bef1efcc6 100644 tmp |= spi->mode & ~SPI_MODE_MASK; spi->mode = (u16)tmp; retval = spi_setup(spi); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0037-Revert-mailbox-avoid-timer-start-from-callback.patch b/root/target/linux/bcm27xx/patches-5.15/950-0029-Revert-mailbox-avoid-timer-start-from-callback.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0037-Revert-mailbox-avoid-timer-start-from-callback.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0029-Revert-mailbox-avoid-timer-start-from-callback.patch index 5fa0063e..7de44045 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0037-Revert-mailbox-avoid-timer-start-from-callback.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0029-Revert-mailbox-avoid-timer-start-from-callback.patch @@ -1,7 +1,7 @@ -From d5fdbbc0de13fa9a40f02e1efb2a141bed7d7c26 Mon Sep 17 00:00:00 2001 +From 67426427b88650b1e4ad874dc73b5332f92aebfd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Nov 2020 11:49:53 +0000 -Subject: [PATCH 037/634] Revert "mailbox: avoid timer start from callback" +Subject: [PATCH 029/828] Revert "mailbox: avoid timer start from callback" This reverts commit c7dacf5b0f32957b24ef29df1207dc2cd8307743. @@ -25,11 +25,9 @@ Signed-off-by: Phil Elwell drivers/mailbox/mailbox.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) -diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c -index 3e7d4b20ab34..0b821a5b2db8 100644 --- a/drivers/mailbox/mailbox.c +++ b/drivers/mailbox/mailbox.c -@@ -82,12 +82,9 @@ static void msg_submit(struct mbox_chan *chan) +@@ -82,12 +82,9 @@ static void msg_submit(struct mbox_chan exit: spin_unlock_irqrestore(&chan->lock, flags); @@ -45,7 +43,7 @@ index 3e7d4b20ab34..0b821a5b2db8 100644 } static void tx_tick(struct mbox_chan *chan, int r) -@@ -125,10 +122,11 @@ static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer) +@@ -125,10 +122,11 @@ static enum hrtimer_restart txdone_hrtim struct mbox_chan *chan = &mbox->chans[i]; if (chan->active_req && chan->cl) { @@ -58,6 +56,3 @@ index 3e7d4b20ab34..0b821a5b2db8 100644 } } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0038-Revert-Bluetooth-Always-request-for-user-confirmatio.patch b/root/target/linux/bcm27xx/patches-5.15/950-0030-Revert-Bluetooth-Always-request-for-user-confirmatio.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0038-Revert-Bluetooth-Always-request-for-user-confirmatio.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0030-Revert-Bluetooth-Always-request-for-user-confirmatio.patch index b931614e..d755d85b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0038-Revert-Bluetooth-Always-request-for-user-confirmatio.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0030-Revert-Bluetooth-Always-request-for-user-confirmatio.patch @@ -1,7 +1,7 @@ -From b16229ce33d1f597585e7a9adb2797698cd70d53 Mon Sep 17 00:00:00 2001 +From c8c89dff518af84e8850000441f6f2e0f40dfec6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Mar 2021 09:12:44 +0000 -Subject: [PATCH 038/634] Revert "Bluetooth: Always request for user +Subject: [PATCH 030/828] Revert "Bluetooth: Always request for user confirmation for Just Works (LE SC)" This reverts commit ffee202a78c2980688bc5d2f7d56480e69a5e0c9. @@ -22,11 +22,9 @@ Signed-off-by: Phil Elwell net/bluetooth/smp.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) -diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c -index 11f853d0500f..3efb60918dda 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c -@@ -2207,7 +2207,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) +@@ -2207,7 +2207,7 @@ mackey_and_ltk: if (err) return SMP_UNSPECIFIED; @@ -35,7 +33,7 @@ index 11f853d0500f..3efb60918dda 100644 if (hcon->out) { sc_dhkey_check(smp); SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK); -@@ -2222,9 +2222,6 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb) +@@ -2222,9 +2222,6 @@ mackey_and_ltk: confirm_hint = 0; confirm: @@ -45,6 +43,3 @@ index 11f853d0500f..3efb60918dda 100644 err = mgmt_user_confirm_request(hcon->hdev, &hcon->dst, hcon->type, hcon->dst_type, passkey, confirm_hint); if (err) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0039-Revert-Bluetooth-Always-request-for-user-confirmatio.patch b/root/target/linux/bcm27xx/patches-5.15/950-0031-Revert-Bluetooth-Always-request-for-user-confirmatio.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0039-Revert-Bluetooth-Always-request-for-user-confirmatio.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0031-Revert-Bluetooth-Always-request-for-user-confirmatio.patch index 21f267d5..7d731931 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0039-Revert-Bluetooth-Always-request-for-user-confirmatio.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0031-Revert-Bluetooth-Always-request-for-user-confirmatio.patch @@ -1,7 +1,7 @@ -From 08df3cf28d296e75a24617b3f42e4074424d8723 Mon Sep 17 00:00:00 2001 +From b112518daffca7e8d95009da1eeaed967498d52b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 1 Mar 2021 09:14:35 +0000 -Subject: [PATCH 039/634] Revert "Bluetooth: Always request for user +Subject: [PATCH 031/828] Revert "Bluetooth: Always request for user confirmation for Just Works" This reverts commit 92516cd97fd4d8ad5b1421a0d51771044f453a5f. @@ -20,11 +20,9 @@ Signed-off-by: Phil Elwell net/bluetooth/smp.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) -diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c -index 3efb60918dda..6f555b3c96a6 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c -@@ -883,16 +883,9 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth, +@@ -883,16 +883,9 @@ static int tk_request(struct l2cap_conn hcon->io_capability == HCI_IO_NO_INPUT_OUTPUT) smp->method = JUST_WORKS; @@ -43,6 +41,3 @@ index 3efb60918dda..6f555b3c96a6 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0040-smsx95xx-fix-crimes-against-truesize.patch b/root/target/linux/bcm27xx/patches-5.15/950-0032-smsx95xx-fix-crimes-against-truesize.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0040-smsx95xx-fix-crimes-against-truesize.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0032-smsx95xx-fix-crimes-against-truesize.patch index 1c9d0c4a..1c2aea15 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0040-smsx95xx-fix-crimes-against-truesize.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0032-smsx95xx-fix-crimes-against-truesize.patch @@ -1,7 +1,7 @@ -From cca91bca835263af74f73a048e15907037163f3e Mon Sep 17 00:00:00 2001 +From 96891c255392aadca5b5976544dc072886ee5cba Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 040/634] smsx95xx: fix crimes against truesize +Subject: [PATCH 032/828] smsx95xx: fix crimes against truesize smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings. @@ -12,8 +12,6 @@ Signed-off-by: Steve Glendinning drivers/net/usb/smsc95xx.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 26b1bd8e845b..befbabddb7f2 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -67,6 +67,10 @@ static bool turbo_mode = true; @@ -27,7 +25,7 @@ index 26b1bd8e845b..befbabddb7f2 100644 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1830,7 +1834,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1839,7 +1843,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -37,7 +35,7 @@ index 26b1bd8e845b..befbabddb7f2 100644 return 1; } -@@ -1848,7 +1853,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +@@ -1857,7 +1862,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ @@ -47,6 +45,3 @@ index 26b1bd8e845b..befbabddb7f2 100644 usbnet_skb_return(dev, ax_skb); } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0041-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch b/root/target/linux/bcm27xx/patches-5.15/950-0033-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0041-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0033-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch index 8ff565b2..7804cc0f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0041-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0033-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch @@ -1,7 +1,7 @@ -From 533c49dd675017d8027f555106df6c135a787c48 Mon Sep 17 00:00:00 2001 +From 368f02a84a036c5efd224ad62415bb58e085650c Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 041/634] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 033/828] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -9,8 +9,6 @@ See: http://forum.kodi.tv/showthread.php?tid=285288 drivers/net/usb/smsc95xx.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index befbabddb7f2..a7bb0bfa51a7 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -71,6 +71,10 @@ static bool truesize_mode = false; @@ -24,7 +22,7 @@ index befbabddb7f2..a7bb0bfa51a7 100644 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -905,13 +909,13 @@ static int smsc95xx_reset(struct usbnet *dev) +@@ -917,13 +921,13 @@ static int smsc95xx_reset(struct usbnet if (!turbo_mode) { burst_cap = 0; @@ -43,6 +41,3 @@ index befbabddb7f2..a7bb0bfa51a7 100644 } netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0042-Allow-mac-address-to-be-set-in-smsc95xx.patch b/root/target/linux/bcm27xx/patches-5.15/950-0034-Allow-mac-address-to-be-set-in-smsc95xx.patch similarity index 87% rename from root/target/linux/bcm27xx/patches-5.15/0042-Allow-mac-address-to-be-set-in-smsc95xx.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0034-Allow-mac-address-to-be-set-in-smsc95xx.patch index 7a2366f8..13980026 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0042-Allow-mac-address-to-be-set-in-smsc95xx.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0034-Allow-mac-address-to-be-set-in-smsc95xx.patch @@ -1,15 +1,13 @@ -From de98c2df30df39fc7ea36af74fbe791b2be5c867 Mon Sep 17 00:00:00 2001 +From f4415fe11a71b6f549477d28060d1585d9585bf6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 042/634] Allow mac address to be set in smsc95xx +Subject: [PATCH 034/828] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index a7bb0bfa51a7..8a035345d617 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -50,6 +50,7 @@ @@ -31,7 +29,7 @@ index a7bb0bfa51a7..8a035345d617 100644 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -761,6 +766,53 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) +@@ -773,6 +778,53 @@ static int smsc95xx_ioctl(struct net_dev return phy_mii_ioctl(netdev->phydev, rq, cmd); } @@ -85,7 +83,7 @@ index a7bb0bfa51a7..8a035345d617 100644 static void smsc95xx_init_mac_address(struct usbnet *dev) { /* maybe the boot loader passed the MAC address in devicetree */ -@@ -783,6 +835,10 @@ static void smsc95xx_init_mac_address(struct usbnet *dev) +@@ -795,6 +847,10 @@ static void smsc95xx_init_mac_address(st } } @@ -96,6 +94,3 @@ index a7bb0bfa51a7..8a035345d617 100644 /* no useful static MAC address found. generate a random one */ eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0043-cgroup-Disable-cgroup-memory-by-default.patch b/root/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0043-cgroup-Disable-cgroup-memory-by-default.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch index 1fb37e7e..e7c6dc49 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0043-cgroup-Disable-cgroup-memory-by-default.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch @@ -1,7 +1,7 @@ -From 40a04a8163ad602e595998d97cd3278e85e7b398 Mon Sep 17 00:00:00 2001 +From f61ab6249b4da040e2a1d1e621bfe6acb3b70782 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 043/634] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 035/828] cgroup: Disable cgroup "memory" by default Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: @@ -15,11 +15,9 @@ Signed-off-by: Phil Elwell kernel/cgroup/cgroup.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) -diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c -index d6ea872b23aa..db12e07ce531 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5788,6 +5788,9 @@ int __init cgroup_init_early(void) +@@ -5824,6 +5824,9 @@ int __init cgroup_init_early(void) return 0; } @@ -29,7 +27,7 @@ index d6ea872b23aa..db12e07ce531 100644 /** * cgroup_init - cgroup initialization * -@@ -5826,6 +5829,12 @@ int __init cgroup_init(void) +@@ -5862,6 +5865,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); @@ -42,7 +40,7 @@ index d6ea872b23aa..db12e07ce531 100644 for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6409,6 +6418,10 @@ static int __init cgroup_disable(char *str) +@@ -6446,6 +6455,10 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -53,7 +51,7 @@ index d6ea872b23aa..db12e07ce531 100644 static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6427,6 +6440,31 @@ static int __init cgroup_disable(char *str) +@@ -6464,6 +6477,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); @@ -85,6 +83,3 @@ index d6ea872b23aa..db12e07ce531 100644 void __init __weak enable_debug_cgroup(void) { } static int __init enable_cgroup_debug(char *str) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0044-Protect-__release_resource-against-resources-without.patch b/root/target/linux/bcm27xx/patches-5.15/950-0036-Protect-__release_resource-against-resources-without.patch similarity index 63% rename from root/target/linux/bcm27xx/patches-5.15/0044-Protect-__release_resource-against-resources-without.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0036-Protect-__release_resource-against-resources-without.patch index 58296b79..aab0707e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0044-Protect-__release_resource-against-resources-without.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0036-Protect-__release_resource-against-resources-without.patch @@ -1,7 +1,7 @@ -From 0f195b63e8705152d2774c6213ce3096efc8c14d Mon Sep 17 00:00:00 2001 +From 47a3b6930287238b8b4878ace1587e4c24d60678 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 044/634] Protect __release_resource against resources without +Subject: [PATCH 036/828] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -11,11 +11,9 @@ Signed-off-by: Phil Elwell kernel/resource.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/kernel/resource.c b/kernel/resource.c -index ca9f5198a01f..dd5ac10ff847 100644 --- a/kernel/resource.c +++ b/kernel/resource.c -@@ -213,6 +213,12 @@ static int __release_resource(struct resource *old, bool release_child) +@@ -188,6 +188,12 @@ static int __release_resource(struct res { struct resource *tmp, **p, *chd; @@ -28,6 +26,3 @@ index ca9f5198a01f..dd5ac10ff847 100644 p = &old->parent->child; for (;;) { tmp = *p; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0045-irq-bcm2836-Avoid-Invalid-trigger-warning.patch b/root/target/linux/bcm27xx/patches-5.15/950-0037-irq-bcm2836-Avoid-Invalid-trigger-warning.patch similarity index 65% rename from root/target/linux/bcm27xx/patches-5.15/0045-irq-bcm2836-Avoid-Invalid-trigger-warning.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0037-irq-bcm2836-Avoid-Invalid-trigger-warning.patch index 5f258a53..582d7a1c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0045-irq-bcm2836-Avoid-Invalid-trigger-warning.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0037-irq-bcm2836-Avoid-Invalid-trigger-warning.patch @@ -1,7 +1,7 @@ -From 35a4353310b87f7e10c789cd5818bd83b6787a77 Mon Sep 17 00:00:00 2001 +From d767edbe02ee502f3dd3f7a9a607fedaa4eebdfb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 045/634] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 037/828] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -11,11 +11,9 @@ Signed-off-by: Phil Elwell drivers/irqchip/irq-bcm2836.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index 501facdb4570..b6a7036305d8 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c -@@ -128,7 +128,7 @@ static int bcm2836_map(struct irq_domain *d, unsigned int irq, +@@ -128,7 +128,7 @@ static int bcm2836_map(struct irq_domain irq_set_percpu_devid(irq); irq_domain_set_info(d, irq, hw, chip, d->host_data, handle_percpu_devid_irq, NULL, NULL); @@ -24,6 +22,3 @@ index 501facdb4570..b6a7036305d8 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0046-irqchip-bcm2835-Add-FIQ-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0038-irqchip-bcm2835-Add-FIQ-support.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0046-irqchip-bcm2835-Add-FIQ-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0038-irqchip-bcm2835-Add-FIQ-support.patch index 528ddcea..107478d5 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0046-irqchip-bcm2835-Add-FIQ-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0038-irqchip-bcm2835-Add-FIQ-support.patch @@ -1,7 +1,7 @@ -From 0fb5b605e449a0af9ea90b253729aa0cc05c1e9c Mon Sep 17 00:00:00 2001 +From 4625990bc4c0ae8ac4df8021dcd60cc33a640ef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 046/634] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 038/828] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -18,8 +18,6 @@ Acked-by: Stephen Warren drivers/irqchip/irq-bcm2835.c | 51 +++++++++++++++++++++++++++++++---- 2 files changed, 47 insertions(+), 5 deletions(-) -diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 2890e61b2b46..0462f870ab17 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -162,6 +162,7 @@ config ARCH_BCM2835 @@ -30,8 +28,6 @@ index 2890e61b2b46..0462f870ab17 100644 select PINCTRL select PINCTRL_BCM2835 select MFD_CORE -diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index adc1556ed332..0ae3b5d4d2de 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -45,7 +45,7 @@ @@ -57,7 +53,7 @@ index adc1556ed332..0ae3b5d4d2de 100644 static const int reg_pending[] __initconst = { 0x00, 0x04, 0x08 }; static const int reg_enable[] __initconst = { 0x18, 0x10, 0x14 }; -@@ -89,14 +93,38 @@ static void __exception_irq_entry bcm2835_handle_irq( +@@ -89,14 +93,38 @@ static void __exception_irq_entry bcm283 struct pt_regs *regs); static void bcm2836_chained_handle_irq(struct irq_desc *desc); @@ -98,7 +94,7 @@ index adc1556ed332..0ae3b5d4d2de 100644 } static struct irq_chip armctrl_chip = { -@@ -142,8 +170,9 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -142,8 +170,9 @@ static int __init armctrl_of_init(struct if (!base) panic("%pOF: unable to map IC registers\n", node); @@ -110,7 +106,7 @@ index adc1556ed332..0ae3b5d4d2de 100644 if (!intc.domain) panic("%pOF: unable to create IRQ domain\n", node); -@@ -186,6 +215,18 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -186,6 +215,18 @@ static int __init armctrl_of_init(struct set_handle_irq(bcm2835_handle_irq); } @@ -129,6 +125,3 @@ index adc1556ed332..0ae3b5d4d2de 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0047-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0039-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0047-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0039-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch index d952abf9..705e6ff9 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0047-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0039-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch @@ -1,7 +1,7 @@ -From 7accb7f6c01b6922415a0c866f170088e0c28594 Mon Sep 17 00:00:00 2001 +From d23fc825c76b9d70833702f76c762f9afbadbb19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 047/634] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 039/828] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -11,8 +11,6 @@ Signed-off-by: Noralf Trønnes drivers/irqchip/irq-bcm2835.c | 43 +++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) -diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 0ae3b5d4d2de..a6ffff76c539 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -41,8 +41,11 @@ @@ -45,7 +43,7 @@ index 0ae3b5d4d2de..a6ffff76c539 100644 }; static struct armctrl_ic intc __read_mostly; -@@ -119,12 +126,35 @@ static void armctrl_mask_irq(struct irq_data *d) +@@ -119,12 +126,35 @@ static void armctrl_mask_irq(struct irq_ static void armctrl_unmask_irq(struct irq_data *d) { @@ -83,7 +81,7 @@ index 0ae3b5d4d2de..a6ffff76c539 100644 } static struct irq_chip armctrl_chip = { -@@ -215,6 +245,15 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -215,6 +245,15 @@ static int __init armctrl_of_init(struct set_handle_irq(bcm2835_handle_irq); } @@ -99,6 +97,3 @@ index 0ae3b5d4d2de..a6ffff76c539 100644 /* Make a duplicate irq range which is used to enable FIQ */ for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0048-spi-spidev-Completely-disable-the-spidev-warning.patch b/root/target/linux/bcm27xx/patches-5.15/950-0040-spi-spidev-Completely-disable-the-spidev-warning.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0048-spi-spidev-Completely-disable-the-spidev-warning.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0040-spi-spidev-Completely-disable-the-spidev-warning.patch index 462abe0d..0c2c27f6 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0048-spi-spidev-Completely-disable-the-spidev-warning.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0040-spi-spidev-Completely-disable-the-spidev-warning.patch @@ -1,7 +1,7 @@ -From 0322d4639d99a2c0e472aee8996b566699b6355d Mon Sep 17 00:00:00 2001 +From 9c1ed77765cbf3b311edfe3be39561e778a355b9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 048/634] spi: spidev: Completely disable the spidev warning +Subject: [PATCH 040/828] spi: spidev: Completely disable the spidev warning An alternative strategy would be to use "rpi,spidev" instead, but that would require many Raspberry Pi Device Tree changes. @@ -11,11 +11,9 @@ Signed-off-by: Phil Elwell drivers/spi/spidev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 795bef1efcc6..9a3b8a51eaef 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -746,7 +746,7 @@ static int spidev_probe(struct spi_device *spi) +@@ -747,7 +747,7 @@ static int spidev_probe(struct spi_devic * compatible string, it is a Linux implementation thing * rather than a description of the hardware. */ @@ -24,6 +22,3 @@ index 795bef1efcc6..9a3b8a51eaef 100644 of_device_is_compatible(spi->dev.of_node, "spidev"), "%pOF: buggy DT: spidev listed directly in DT\n", spi->dev.of_node); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0049-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch b/root/target/linux/bcm27xx/patches-5.15/950-0041-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0049-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0041-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch index 69fddf64..9f44183f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0049-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0041-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch @@ -1,7 +1,7 @@ -From 1e5020ac43d2bf03efb094cf68b887de9a121a2e Mon Sep 17 00:00:00 2001 +From 576f90bdfda30cb1c00611c5e8d677a610e918b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 049/634] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 041/828] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -18,8 +18,6 @@ Signed-off-by: Noralf Trønnes drivers/dma/bcm2835-dma.c | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) -diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 80c2c03cb014..f5afe0ec4f96 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -127,7 +127,7 @@ config BCM_SBA_RAID @@ -31,8 +29,6 @@ index 80c2c03cb014..f5afe0ec4f96 100644 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS -diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 630dfbb01a40..bf7ba96a39f9 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -25,6 +25,7 @@ @@ -51,7 +47,7 @@ index 630dfbb01a40..bf7ba96a39f9 100644 /** * struct bcm2835_dmadev - BCM2835 DMA controller -@@ -906,6 +908,9 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -906,6 +908,9 @@ static int bcm2835_dma_probe(struct plat base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(base)) return PTR_ERR(base); @@ -61,7 +57,7 @@ index 630dfbb01a40..bf7ba96a39f9 100644 od->base = base; -@@ -951,6 +956,9 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -951,6 +956,9 @@ static int bcm2835_dma_probe(struct plat goto err_no_dma; } @@ -71,7 +67,7 @@ index 630dfbb01a40..bf7ba96a39f9 100644 /* get irqs for each channel that we support */ for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) { /* skip masked out channels */ -@@ -1025,6 +1033,7 @@ static int bcm2835_dma_remove(struct platform_device *pdev) +@@ -1025,6 +1033,7 @@ static int bcm2835_dma_remove(struct pla { struct bcm2835_dmadev *od = platform_get_drvdata(pdev); @@ -79,7 +75,7 @@ index 630dfbb01a40..bf7ba96a39f9 100644 dma_async_device_unregister(&od->ddev); bcm2835_dma_free(od); -@@ -1040,7 +1049,22 @@ static struct platform_driver bcm2835_dma_driver = { +@@ -1040,7 +1049,22 @@ static struct platform_driver bcm2835_dm }, }; @@ -103,6 +99,3 @@ index 630dfbb01a40..bf7ba96a39f9 100644 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0050-rtc-Add-SPI-alias-for-pcf2123-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0042-rtc-Add-SPI-alias-for-pcf2123-driver.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0050-rtc-Add-SPI-alias-for-pcf2123-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0042-rtc-Add-SPI-alias-for-pcf2123-driver.patch index 58a85bca..4fb5d95e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0050-rtc-Add-SPI-alias-for-pcf2123-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0042-rtc-Add-SPI-alias-for-pcf2123-driver.patch @@ -1,7 +1,7 @@ -From 2fa1a23df8dd065af38db8950c50b385cc96e583 Mon Sep 17 00:00:00 2001 +From 89020b09b62b7208c6e1dd42dddbe1c3f6caf947 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 050/634] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 042/828] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -11,8 +11,6 @@ See: https://github.com/raspberrypi/linux/pull/1510 drivers/rtc/rtc-pcf2123.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c -index 7473e6c8a183..4b986b338654 100644 --- a/drivers/rtc/rtc-pcf2123.c +++ b/drivers/rtc/rtc-pcf2123.c @@ -473,3 +473,4 @@ module_spi_driver(pcf2123_driver); @@ -20,6 +18,3 @@ index 7473e6c8a183..4b986b338654 100644 MODULE_DESCRIPTION("NXP PCF2123 RTC driver"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0051-watchdog-bcm2835-Support-setting-reboot-partition.patch b/root/target/linux/bcm27xx/patches-5.15/950-0043-watchdog-bcm2835-Support-setting-reboot-partition.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0051-watchdog-bcm2835-Support-setting-reboot-partition.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0043-watchdog-bcm2835-Support-setting-reboot-partition.patch index 909ce9b0..feb9fd0f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0051-watchdog-bcm2835-Support-setting-reboot-partition.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0043-watchdog-bcm2835-Support-setting-reboot-partition.patch @@ -1,7 +1,7 @@ -From ee758835da30ce57abee8d3591170f0122a5b3b3 Mon Sep 17 00:00:00 2001 +From e43b149e1b5cec6127245d41a398e19bc77e787e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 051/634] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 043/828] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -19,8 +19,6 @@ Signed-off-by: Noralf Trønnes drivers/watchdog/bcm2835_wdt.c | 49 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 22 deletions(-) -diff --git a/drivers/watchdog/bcm2835_wdt.c b/drivers/watchdog/bcm2835_wdt.c -index 94907176a0e4..58d5a1b89584 100644 --- a/drivers/watchdog/bcm2835_wdt.c +++ b/drivers/watchdog/bcm2835_wdt.c @@ -32,13 +32,7 @@ @@ -38,7 +36,7 @@ index 94907176a0e4..58d5a1b89584 100644 #define SECS_TO_WDOG_TICKS(x) ((x) << 16) #define WDOG_TICKS_TO_SECS(x) ((x) >> 16) -@@ -97,9 +91,24 @@ static unsigned int bcm2835_wdt_get_timeleft(struct watchdog_device *wdog) +@@ -97,9 +91,24 @@ static unsigned int bcm2835_wdt_get_time return WDOG_TICKS_TO_SECS(ret & PM_WDOG_TIME_SET); } @@ -65,7 +63,7 @@ index 94907176a0e4..58d5a1b89584 100644 /* use a timeout of 10 ticks (~150us) */ writel_relaxed(10 | PM_PASSWORD, wdt->base + PM_WDOG); -@@ -117,7 +126,13 @@ static int bcm2835_restart(struct watchdog_device *wdog, +@@ -117,7 +126,13 @@ static int bcm2835_restart(struct watchd { struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); @@ -80,7 +78,7 @@ index 94907176a0e4..58d5a1b89584 100644 return 0; } -@@ -152,19 +167,9 @@ static struct watchdog_device bcm2835_wdt_wdd = { +@@ -152,19 +167,9 @@ static struct watchdog_device bcm2835_wd static void bcm2835_power_off(void) { struct bcm2835_wdt *wdt = bcm2835_power_off_wdt; @@ -102,6 +100,3 @@ index 94907176a0e4..58d5a1b89584 100644 } static int bcm2835_wdt_probe(struct platform_device *pdev) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0052-reboot-Use-power-off-rather-than-busy-spinning-when-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0044-reboot-Use-power-off-rather-than-busy-spinning-when-.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0052-reboot-Use-power-off-rather-than-busy-spinning-when-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0044-reboot-Use-power-off-rather-than-busy-spinning-when-.patch index 6ff44ad3..1492944f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0052-reboot-Use-power-off-rather-than-busy-spinning-when-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0044-reboot-Use-power-off-rather-than-busy-spinning-when-.patch @@ -1,15 +1,13 @@ -From 10fbf516799bb00bf5c20fa539e7a10da9378ebc Mon Sep 17 00:00:00 2001 +From 7a658f50ad6404eda6f8bd883485418fcbbac6cb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 052/634] reboot: Use power off rather than busy spinning when +Subject: [PATCH 044/828] reboot: Use power off rather than busy spinning when halt is requested --- arch/arm/kernel/reboot.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c -index 3044fcb8d073..fe22c46d9943 100644 --- a/arch/arm/kernel/reboot.c +++ b/arch/arm/kernel/reboot.c @@ -101,9 +101,7 @@ void machine_shutdown(void) @@ -23,6 +21,3 @@ index 3044fcb8d073..fe22c46d9943 100644 } /* --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0053-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch b/root/target/linux/bcm27xx/patches-5.15/950-0045-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch similarity index 67% rename from root/target/linux/bcm27xx/patches-5.15/0053-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0045-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch index 0ef2fe53..c89004c2 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0053-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0045-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch @@ -1,14 +1,12 @@ -From e81b252831f153b6dc2b270eb66a5f002aed19ee Mon Sep 17 00:00:00 2001 +From 52370a1cddab2dd8100282ad329c1315ac38048d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 053/634] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 045/828] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/soc/bcm/Kconfig b/drivers/soc/bcm/Kconfig -index 24f92a6e882a..a6a705ec30c7 100644 --- a/drivers/soc/bcm/Kconfig +++ b/drivers/soc/bcm/Kconfig @@ -17,6 +17,7 @@ config RASPBERRYPI_POWER @@ -19,6 +17,3 @@ index 24f92a6e882a..a6a705ec30c7 100644 select PM_GENERIC_DOMAINS if PM help This enables support for the RPi power domains which can be enabled --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0054-Register-the-clocks-early-during-the-boot-process-so.patch b/root/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0054-Register-the-clocks-early-during-the-boot-process-so.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch index 0f6aaf96..9a76f71d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0054-Register-the-clocks-early-during-the-boot-process-so.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0046-Register-the-clocks-early-during-the-boot-process-so.patch @@ -1,7 +1,7 @@ -From 2240403332a02438761e961cc30e475001e0e971 Mon Sep 17 00:00:00 2001 +From f29de39e03adc3797d48b526ce78b15acfd01112 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 054/634] Register the clocks early during the boot process, so +Subject: [PATCH 046/828] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -11,11 +11,9 @@ Signed-off-by: Martin Sperl drivers/clk/bcm/clk-bcm2835.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 3667b4d731e7..9332379565cb 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2289,8 +2289,15 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2289,8 +2289,15 @@ static int bcm2835_clk_probe(struct plat if (ret) return ret; @@ -32,7 +30,7 @@ index 3667b4d731e7..9332379565cb 100644 } static const struct cprman_plat_data cprman_bcm2835_plat_data = { -@@ -2316,7 +2323,11 @@ static struct platform_driver bcm2835_clk_driver = { +@@ -2316,7 +2323,11 @@ static struct platform_driver bcm2835_cl .probe = bcm2835_clk_probe, }; @@ -45,6 +43,3 @@ index 3667b4d731e7..9332379565cb 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0055-bcm2835-rng-Avoid-initialising-if-already-enabled.patch b/root/target/linux/bcm27xx/patches-5.15/950-0047-bcm2835-rng-Avoid-initialising-if-already-enabled.patch similarity index 66% rename from root/target/linux/bcm27xx/patches-5.15/0055-bcm2835-rng-Avoid-initialising-if-already-enabled.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0047-bcm2835-rng-Avoid-initialising-if-already-enabled.patch index fe60bb55..c7236e47 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0055-bcm2835-rng-Avoid-initialising-if-already-enabled.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0047-bcm2835-rng-Avoid-initialising-if-already-enabled.patch @@ -1,18 +1,16 @@ -From 6a478cf4989ca434f590096599fe7edf66d4c6f5 Mon Sep 17 00:00:00 2001 +From 9c44e3e8db46337d314ae91baec5e069554b72be Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 055/634] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 047/828] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- drivers/char/hw_random/bcm2835-rng.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c -index e7dd457e9b22..f9a4a89e762b 100644 --- a/drivers/char/hw_random/bcm2835-rng.c +++ b/drivers/char/hw_random/bcm2835-rng.c -@@ -106,8 +106,10 @@ static int bcm2835_rng_init(struct hwrng *rng) +@@ -106,8 +106,10 @@ static int bcm2835_rng_init(struct hwrng } /* set warm-up count & enable */ @@ -25,6 +23,3 @@ index e7dd457e9b22..f9a4a89e762b 100644 return ret; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0056-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch b/root/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch similarity index 68% rename from root/target/linux/bcm27xx/patches-5.15/0056-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch index 5bf89d07..825f667b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0056-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0048-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch @@ -1,7 +1,7 @@ -From d1b7a7961814d5a60bc1e8494b2308525b42b584 Mon Sep 17 00:00:00 2001 +From dcce186901246abd12cf6280a4846934aeb5c595 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 056/634] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 048/828] clk-bcm2835: Mark used PLLs and dividers CRITICAL The VPU configures and relies on several PLLs and dividers. Mark all enabled dividers and their PLLs as CRITICAL to prevent the kernel from @@ -12,11 +12,9 @@ Signed-off-by: Phil Elwell drivers/clk/bcm/clk-bcm2835.c | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 9332379565cb..d111f7f4fc81 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1378,6 +1378,11 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman, +@@ -1378,6 +1378,11 @@ bcm2835_register_pll_divider(struct bcm2 divider->div.hw.init = &init; divider->div.table = NULL; @@ -28,6 +26,3 @@ index 9332379565cb..d111f7f4fc81 100644 divider->cprman = cprman; divider->data = divider_data; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0057-clk-bcm2835-Add-claim-clocks-property.patch b/root/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0057-clk-bcm2835-Add-claim-clocks-property.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch index 61066c88..7ea9a52b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0057-clk-bcm2835-Add-claim-clocks-property.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0049-clk-bcm2835-Add-claim-clocks-property.patch @@ -1,7 +1,7 @@ -From c1db994a1b6533cb5354f276fc68e95bb0a9bd67 Mon Sep 17 00:00:00 2001 +From 71691549878c2c1809b96c26bb8b2a87acd68969 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 057/634] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 049/828] clk-bcm2835: Add claim-clocks property The claim-clocks property can be used to prevent PLLs and dividers from being marked as critical. It contains a vector of clock IDs, @@ -15,11 +15,9 @@ Signed-off-by: Phil Elwell drivers/clk/bcm/clk-bcm2835.c | 45 ++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index d111f7f4fc81..76bf4c81316e 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1306,6 +1306,8 @@ static const struct clk_ops bcm2835_vpu_clock_clk_ops = { +@@ -1306,6 +1306,8 @@ static const struct clk_ops bcm2835_vpu_ .debug_init = bcm2835_clock_debug_init, }; @@ -28,7 +26,7 @@ index d111f7f4fc81..76bf4c81316e 100644 static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, const void *data) { -@@ -1323,6 +1325,9 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, +@@ -1323,6 +1325,9 @@ static struct clk_hw *bcm2835_register_p init.ops = &bcm2835_pll_clk_ops; init.flags = pll_data->flags | CLK_IGNORE_UNUSED; @@ -38,7 +36,7 @@ index d111f7f4fc81..76bf4c81316e 100644 pll = kzalloc(sizeof(*pll), GFP_KERNEL); if (!pll) return NULL; -@@ -1378,9 +1383,11 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman, +@@ -1378,9 +1383,11 @@ bcm2835_register_pll_divider(struct bcm2 divider->div.hw.init = &init; divider->div.table = NULL; @@ -53,11 +51,10 @@ index d111f7f4fc81..76bf4c81316e 100644 } divider->cprman = cprman; -@@ -1436,6 +1443,15 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman, - init.name = clock_data->name; +@@ -1437,6 +1444,15 @@ static struct clk_hw *bcm2835_register_c init.flags = clock_data->flags | CLK_IGNORE_UNUSED; -+ /* + /* + * Some GPIO clocks for ethernet/wifi PLLs are marked as + * critical (since some platforms use them), but if the + * firmware didn't have them turned on then they clearly @@ -66,10 +63,11 @@ index d111f7f4fc81..76bf4c81316e 100644 + if ((cprman_read(cprman, clock_data->ctl_reg) & CM_ENABLE) == 0) + init.flags &= ~CLK_IS_CRITICAL; + - /* ++ /* * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -@@ -2215,6 +2231,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { + */ +@@ -2215,6 +2231,8 @@ static const struct bcm2835_clk_desc clk .ctl_reg = CM_PERIICTL), }; @@ -78,7 +76,7 @@ index d111f7f4fc81..76bf4c81316e 100644 /* * Permanently take a reference on the parent of the SDRAM clock. * -@@ -2234,6 +2252,19 @@ static int bcm2835_mark_sdc_parent_critical(struct clk *sdc) +@@ -2234,6 +2252,19 @@ static int bcm2835_mark_sdc_parent_criti return clk_prepare_enable(parent); } @@ -98,7 +96,7 @@ index d111f7f4fc81..76bf4c81316e 100644 static int bcm2835_clk_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -2243,6 +2274,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2243,6 +2274,7 @@ static int bcm2835_clk_probe(struct plat const size_t asize = ARRAY_SIZE(clk_desc_array); const struct cprman_plat_data *pdata; size_t i; @@ -106,7 +104,7 @@ index d111f7f4fc81..76bf4c81316e 100644 int ret; pdata = of_device_get_match_data(&pdev->dev); -@@ -2261,6 +2293,13 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2261,6 +2293,13 @@ static int bcm2835_clk_probe(struct plat if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); @@ -120,6 +118,3 @@ index d111f7f4fc81..76bf4c81316e 100644 memcpy(cprman->real_parent_names, cprman_parent_names, sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0058-clk-bcm2835-Read-max-core-clock-from-firmware.patch b/root/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0058-clk-bcm2835-Read-max-core-clock-from-firmware.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch index 10508e03..357ccefd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0058-clk-bcm2835-Read-max-core-clock-from-firmware.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0050-clk-bcm2835-Read-max-core-clock-from-firmware.patch @@ -1,7 +1,7 @@ -From e096dfdc7d68b3fef9f5338df8df679969b1bc8a Mon Sep 17 00:00:00 2001 +From 4e3e5995804776cd5425928cd3bbbc74750643ed Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 058/634] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 050/828] clk-bcm2835: Read max core clock from firmware The VPU is responsible for managing the core clock, usually under direction from the bcm2835-cpufreq driver but not via the clk-bcm2835 @@ -23,8 +23,6 @@ Signed-off-by: Phil Elwell drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 76bf4c81316e..9b9a799a487d 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c @@ -35,6 +35,7 @@ @@ -44,7 +42,7 @@ index 76bf4c81316e..9b9a799a487d 100644 /* * Names of clocks used within the driver that need to be replaced * with an external parent's name. This array is in the order that -@@ -313,6 +316,7 @@ static const char *const cprman_parent_names[] = { +@@ -313,6 +316,7 @@ static const char *const cprman_parent_n struct bcm2835_cprman { struct device *dev; void __iomem *regs; @@ -52,7 +50,7 @@ index 76bf4c81316e..9b9a799a487d 100644 spinlock_t regs_lock; /* spinlock for all clocks */ unsigned int soc; -@@ -1010,6 +1014,30 @@ static unsigned long bcm2835_clock_get_rate(struct clk_hw *hw, +@@ -1010,6 +1014,30 @@ static unsigned long bcm2835_clock_get_r return bcm2835_clock_rate_from_divisor(clock, parent_rate, div); } @@ -83,7 +81,7 @@ index 76bf4c81316e..9b9a799a487d 100644 static void bcm2835_clock_wait_busy(struct bcm2835_clock *clock) { struct bcm2835_cprman *cprman = clock->cprman; -@@ -1298,7 +1326,7 @@ static int bcm2835_vpu_clock_is_on(struct clk_hw *hw) +@@ -1298,7 +1326,7 @@ static int bcm2835_vpu_clock_is_on(struc */ static const struct clk_ops bcm2835_vpu_clock_clk_ops = { .is_prepared = bcm2835_vpu_clock_is_on, @@ -92,7 +90,7 @@ index 76bf4c81316e..9b9a799a487d 100644 .set_rate = bcm2835_clock_set_rate, .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, -@@ -2273,6 +2301,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2273,6 +2301,7 @@ static int bcm2835_clk_probe(struct plat const struct bcm2835_clk_desc *desc; const size_t asize = ARRAY_SIZE(clk_desc_array); const struct cprman_plat_data *pdata; @@ -100,7 +98,7 @@ index 76bf4c81316e..9b9a799a487d 100644 size_t i; u32 clk_id; int ret; -@@ -2293,6 +2322,14 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2293,6 +2322,14 @@ static int bcm2835_clk_probe(struct plat if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); @@ -115,6 +113,3 @@ index 76bf4c81316e..9b9a799a487d 100644 memset(bcm2835_clk_claimed, 0, sizeof(bcm2835_clk_claimed)); for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0059-sound-Demote-deferral-errors-to-INFO-level.patch b/root/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0059-sound-Demote-deferral-errors-to-INFO-level.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch index 5a3e4107..c23feb48 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0059-sound-Demote-deferral-errors-to-INFO-level.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0051-sound-Demote-deferral-errors-to-INFO-level.patch @@ -1,7 +1,7 @@ -From 322604e2085fc8b6e13a211718200ebd8802fb29 Mon Sep 17 00:00:00 2001 +From d91e03b406108d5134bfd4e059327ce68b356fa0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 059/634] sound: Demote deferral errors to INFO level +Subject: [PATCH 051/828] sound: Demote deferral errors to INFO level At present there is no mechanism to specify driver load order, which can lead to deferrals and repeated retries until successful. @@ -13,11 +13,9 @@ Signed-off-by: Phil Elwell sound/soc/soc-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index 80ca260595fd..633b02b43c9f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1017,7 +1017,7 @@ int snd_soc_add_pcm_runtime(struct snd_soc_card *card, +@@ -1017,7 +1017,7 @@ int snd_soc_add_pcm_runtime(struct snd_s for_each_link_cpus(dai_link, i, cpu) { asoc_rtd_to_cpu(rtd, i) = snd_soc_find_dai(cpu); if (!asoc_rtd_to_cpu(rtd, i)) { @@ -26,7 +24,7 @@ index 80ca260595fd..633b02b43c9f 100644 cpu->dai_name); goto _err_defer; } -@@ -1028,7 +1028,7 @@ int snd_soc_add_pcm_runtime(struct snd_soc_card *card, +@@ -1028,7 +1028,7 @@ int snd_soc_add_pcm_runtime(struct snd_s for_each_link_codecs(dai_link, i, codec) { asoc_rtd_to_codec(rtd, i) = snd_soc_find_dai(codec); if (!asoc_rtd_to_codec(rtd, i)) { @@ -35,6 +33,3 @@ index 80ca260595fd..633b02b43c9f 100644 codec->dai_name); goto _err_defer; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0060-Update-vfpmodule.c.patch b/root/target/linux/bcm27xx/patches-5.15/950-0052-Update-vfpmodule.c.patch similarity index 90% rename from root/target/linux/bcm27xx/patches-5.15/0060-Update-vfpmodule.c.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0052-Update-vfpmodule.c.patch index acb216e5..f4129c2b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0060-Update-vfpmodule.c.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0052-Update-vfpmodule.c.patch @@ -1,7 +1,7 @@ -From 87d19cf28c0d690c08b0f2d172922fd9ed14b568 Mon Sep 17 00:00:00 2001 +From faff7b1971f9c03fbadc26f11e0a78cdbeb89ea3 Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 060/634] Update vfpmodule.c +Subject: [PATCH 052/828] Update vfpmodule.c Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m. This patch fixes a problem with VFP state save and restore related @@ -59,11 +59,9 @@ Signed-off-by: Christopher Alexander Tobias Schulze arch/arm/vfp/vfpmodule.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) -diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c -index 2cb355c1b5b7..1e2dcf81aefa 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c -@@ -176,8 +176,11 @@ static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v) +@@ -176,8 +176,11 @@ static int vfp_notifier(struct notifier_ * case the thread migrates to a different CPU. The * restoring is done lazily. */ @@ -94,7 +92,7 @@ index 2cb355c1b5b7..1e2dcf81aefa 100644 vfp_save_state(vfp_current_hw_state[ti->cpu], fpexc); fmxr(FPEXC, fpexc); #endif -@@ -523,7 +529,8 @@ void vfp_sync_hwstate(struct thread_info *thread) +@@ -523,7 +529,8 @@ void vfp_sync_hwstate(struct thread_info /* * Save the last VFP state on this CPU. */ @@ -104,7 +102,7 @@ index 2cb355c1b5b7..1e2dcf81aefa 100644 vfp_save_state(&thread->vfpstate, fpexc | FPEXC_EN); fmxr(FPEXC, fpexc); } -@@ -589,6 +596,7 @@ int vfp_restore_user_hwstate(struct user_vfp *ufp, struct user_vfp_exc *ufp_exc) +@@ -589,6 +596,7 @@ int vfp_restore_user_hwstate(struct user struct thread_info *thread = current_thread_info(); struct vfp_hard_struct *hwstate = &thread->vfpstate.hard; unsigned long fpexc; @@ -112,7 +110,7 @@ index 2cb355c1b5b7..1e2dcf81aefa 100644 /* Disable VFP to avoid corrupting the new thread state. */ vfp_flush_hwstate(thread); -@@ -611,8 +619,12 @@ int vfp_restore_user_hwstate(struct user_vfp *ufp, struct user_vfp_exc *ufp_exc) +@@ -611,8 +619,12 @@ int vfp_restore_user_hwstate(struct user /* Ensure the VFP is enabled. */ fpexc |= FPEXC_EN; @@ -137,6 +135,3 @@ index 2cb355c1b5b7..1e2dcf81aefa 100644 /* * Save the userland NEON/VFP state. Under UP, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0061-i2c-bcm2835-Add-debug-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0053-i2c-bcm2835-Add-debug-support.patch similarity index 88% rename from root/target/linux/bcm27xx/patches-5.15/0061-i2c-bcm2835-Add-debug-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0053-i2c-bcm2835-Add-debug-support.patch index 6623c8c0..30a36004 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0061-i2c-bcm2835-Add-debug-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0053-i2c-bcm2835-Add-debug-support.patch @@ -1,7 +1,7 @@ -From e8015f39c17a5a2f91cbac60cd39069220a0d2ac Mon Sep 17 00:00:00 2001 +From 1e04beb3cb702f3d57cf5111a8fd21068454f78c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 061/634] i2c: bcm2835: Add debug support +Subject: [PATCH 053/828] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -35,11 +35,9 @@ Signed-off-by: Noralf Trønnes drivers/i2c/busses/i2c-bcm2835.c | 99 +++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) -diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c -index 37443edbf754..18b2e9e3d752 100644 --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c -@@ -51,6 +51,18 @@ +@@ -56,6 +56,18 @@ #define BCM2835_I2C_CDIV_MIN 0x0002 #define BCM2835_I2C_CDIV_MAX 0xFFFE @@ -58,7 +56,7 @@ index 37443edbf754..18b2e9e3d752 100644 struct bcm2835_i2c_dev { struct device *dev; void __iomem *regs; -@@ -63,8 +75,78 @@ struct bcm2835_i2c_dev { +@@ -68,8 +80,78 @@ struct bcm2835_i2c_dev { u32 msg_err; u8 *msg_buf; size_t msg_buf_remaining; @@ -137,7 +135,7 @@ index 37443edbf754..18b2e9e3d752 100644 static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev, u32 reg, u32 val) { -@@ -252,6 +334,7 @@ static void bcm2835_i2c_start_transfer(struct bcm2835_i2c_dev *i2c_dev) +@@ -257,6 +339,7 @@ static void bcm2835_i2c_start_transfer(s bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); @@ -145,7 +143,7 @@ index 37443edbf754..18b2e9e3d752 100644 } static void bcm2835_i2c_finish_transfer(struct bcm2835_i2c_dev *i2c_dev) -@@ -278,6 +361,7 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data) +@@ -283,6 +366,7 @@ static irqreturn_t bcm2835_i2c_isr(int t u32 val, err; val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); @@ -153,7 +151,7 @@ index 37443edbf754..18b2e9e3d752 100644 err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); if (err) { -@@ -344,6 +428,13 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], +@@ -349,6 +433,13 @@ static int bcm2835_i2c_xfer(struct i2c_a unsigned long time_left; int i; @@ -167,7 +165,7 @@ index 37443edbf754..18b2e9e3d752 100644 for (i = 0; i < (num - 1); i++) if (msgs[i].flags & I2C_M_RD) { dev_warn_once(i2c_dev->dev, -@@ -362,6 +453,10 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], +@@ -367,6 +458,10 @@ static int bcm2835_i2c_xfer(struct i2c_a bcm2835_i2c_finish_transfer(i2c_dev); @@ -178,7 +176,7 @@ index 37443edbf754..18b2e9e3d752 100644 if (!time_left) { bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); -@@ -372,7 +467,9 @@ static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], +@@ -377,7 +472,9 @@ static int bcm2835_i2c_xfer(struct i2c_a if (!i2c_dev->msg_err) return num; @@ -189,6 +187,3 @@ index 37443edbf754..18b2e9e3d752 100644 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0062-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch b/root/target/linux/bcm27xx/patches-5.15/950-0054-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch similarity index 84% rename from root/target/linux/bcm27xx/patches-5.15/0062-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0054-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch index c9bb12a2..2b60cdfd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0062-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0054-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch @@ -1,7 +1,7 @@ -From afad4ffe2d466cadf396592d78df9cdb16041c26 Mon Sep 17 00:00:00 2001 +From 990b66cf837f2088744d63764983943e9df13e6a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Jan 2018 16:52:45 +0000 -Subject: [PATCH 062/634] irqchip: irq-bcm2836: Remove regmap and syscon use +Subject: [PATCH 054/828] irqchip: irq-bcm2836: Remove regmap and syscon use The syscon node defines a register range that duplicates that used by the local_intc node on bcm2836/7. Since irq-bcm2835 and irq-bcm2836 are @@ -20,8 +20,6 @@ Signed-off-by: Phil Elwell drivers/irqchip/irq-bcm2836.c | 5 +++++ 2 files changed, 17 insertions(+), 20 deletions(-) -diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index a6ffff76c539..e08c209521ac 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -41,8 +41,6 @@ @@ -42,7 +40,7 @@ index a6ffff76c539..e08c209521ac 100644 }; static struct armctrl_ic intc __read_mostly; -@@ -129,24 +127,20 @@ static void armctrl_unmask_irq(struct irq_data *d) +@@ -129,24 +127,20 @@ static void armctrl_unmask_irq(struct ir if (d->hwirq >= NUMBER_IRQS) { if (num_online_cpus() > 1) { unsigned int data; @@ -74,7 +72,7 @@ index a6ffff76c539..e08c209521ac 100644 } writel_relaxed(REG_FIQ_ENABLE | hwirq_to_fiq(d->hwirq), -@@ -246,12 +240,10 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -246,12 +240,10 @@ static int __init armctrl_of_init(struct } if (is_2836) { @@ -91,8 +89,6 @@ index a6ffff76c539..e08c209521ac 100644 } /* Make a duplicate irq range which is used to enable FIQ */ -diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index b6a7036305d8..867c3b43490c 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -22,6 +22,9 @@ struct bcm2836_arm_irqchip_intc { @@ -105,7 +101,7 @@ index b6a7036305d8..867c3b43490c 100644 static void bcm2836_arm_irqchip_mask_per_cpu_irq(unsigned int reg_offset, unsigned int bit, int cpu) -@@ -323,6 +326,8 @@ static int __init bcm2836_arm_irqchip_l1_intc_of_init(struct device_node *node, +@@ -323,6 +326,8 @@ static int __init bcm2836_arm_irqchip_l1 panic("%pOF: unable to map local interrupt registers\n", node); } @@ -114,6 +110,3 @@ index b6a7036305d8..867c3b43490c 100644 bcm2835_init_local_timer_frequency(); intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0063-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/root/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0063-lan78xx-Enable-LEDs-and-auto-negotiation.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch index d93482ea..cd97e605 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0063-lan78xx-Enable-LEDs-and-auto-negotiation.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0055-lan78xx-Enable-LEDs-and-auto-negotiation.patch @@ -1,7 +1,7 @@ -From 68c76ce879b7e970a748f8c2686f25ac3b817f7e Mon Sep 17 00:00:00 2001 +From 191379e03871c844045018dff9913dcacb5561e1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 063/634] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 055/828] lan78xx: Enable LEDs and auto-negotiation For applications of the LAN78xx that don't have valid programmed EEPROMs or OTPs, enabling both LEDs and auto-negotiation by default @@ -12,11 +12,9 @@ Signed-off-by: Phil Elwell drivers/net/usb/lan78xx.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 63cd72c5f580..3d39f34bc641 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2714,6 +2714,11 @@ static int lan78xx_reset(struct lan78xx_net *dev) +@@ -2716,6 +2716,11 @@ static int lan78xx_reset(struct lan78xx_ int ret; u32 buf; u8 sig; @@ -28,7 +26,7 @@ index 63cd72c5f580..3d39f34bc641 100644 ret = lan78xx_read_reg(dev, HW_CFG, &buf); if (ret < 0) -@@ -2795,6 +2800,10 @@ static int lan78xx_reset(struct lan78xx_net *dev) +@@ -2797,6 +2802,10 @@ static int lan78xx_reset(struct lan78xx_ buf |= HW_CFG_MEF_; @@ -39,7 +37,7 @@ index 63cd72c5f580..3d39f34bc641 100644 ret = lan78xx_write_reg(dev, HW_CFG, buf); if (ret < 0) return ret; -@@ -2893,6 +2902,9 @@ static int lan78xx_reset(struct lan78xx_net *dev) +@@ -2895,6 +2904,9 @@ static int lan78xx_reset(struct lan78xx_ buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; } } @@ -49,6 +47,3 @@ index 63cd72c5f580..3d39f34bc641 100644 ret = lan78xx_write_reg(dev, MAC_CR, buf); if (ret < 0) return ret; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0064-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch b/root/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch similarity index 71% rename from root/target/linux/bcm27xx/patches-5.15/0064-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch index 14a10438..c69ca552 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0064-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch @@ -1,7 +1,7 @@ -From f5381879293b3019d229028a3fc30e0f6e6b9539 Mon Sep 17 00:00:00 2001 +From 47ea899493e9814e8b627d98b9f19c56331cddfd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 064/634] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 056/828] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -12,11 +12,9 @@ use the same logic. drivers/tty/serial/amba-pl011.c | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index d361cd84ff8c..82429e05ed7d 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2752,7 +2752,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, +@@ -2733,7 +2733,12 @@ static int pl011_setup_port(struct devic if (IS_ERR(base)) return PTR_ERR(base); @@ -29,6 +27,3 @@ index d361cd84ff8c..82429e05ed7d 100644 uap->old_cr = 0; uap->port.dev = dev; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0065-amba_pl011-Round-input-clock-up.patch b/root/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0065-amba_pl011-Round-input-clock-up.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch index 7689ec9c..bab15af3 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0065-amba_pl011-Round-input-clock-up.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch @@ -1,7 +1,7 @@ -From 676d05db81365c6c247a626ad9bfec58a1fe45b1 Mon Sep 17 00:00:00 2001 +From e747140c826eb558f1743d5a2ff9bb9d9085e011 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 065/634] amba_pl011: Round input clock up +Subject: [PATCH 057/828] amba_pl011: Round input clock up The UART clock is initialised to be as close to the requested frequency as possible without exceeding it. Now that there is a @@ -24,11 +24,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/amba-pl011.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 82429e05ed7d..83c5ab78b0d0 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1716,6 +1716,23 @@ static void pl011_put_poll_char(struct uart_port *port, +@@ -1720,6 +1720,23 @@ static void pl011_put_poll_char(struct u #endif /* CONFIG_CONSOLE_POLL */ @@ -52,7 +50,7 @@ index 82429e05ed7d..83c5ab78b0d0 100644 static int pl011_hwinit(struct uart_port *port) { struct uart_amba_port *uap = -@@ -1732,7 +1749,7 @@ static int pl011_hwinit(struct uart_port *port) +@@ -1736,7 +1753,7 @@ static int pl011_hwinit(struct uart_port if (retval) return retval; @@ -61,7 +59,7 @@ index 82429e05ed7d..83c5ab78b0d0 100644 /* Clear pending error and receive interrupts */ pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS | -@@ -2448,7 +2465,7 @@ static int pl011_console_setup(struct console *co, char *options) +@@ -2429,7 +2446,7 @@ static int pl011_console_setup(struct co plat->init(); } @@ -70,7 +68,7 @@ index 82429e05ed7d..83c5ab78b0d0 100644 if (uap->vendor->fixed_options) { baud = uap->fixed_baud; -@@ -2665,6 +2682,7 @@ static struct uart_driver amba_reg = { +@@ -2646,6 +2663,7 @@ static struct uart_driver amba_reg = { .cons = AMBA_CONSOLE, }; @@ -78,7 +76,7 @@ index 82429e05ed7d..83c5ab78b0d0 100644 static int pl011_probe_dt_alias(int index, struct device *dev) { struct device_node *np; -@@ -2696,6 +2714,7 @@ static int pl011_probe_dt_alias(int index, struct device *dev) +@@ -2677,6 +2695,7 @@ static int pl011_probe_dt_alias(int inde return ret; } @@ -86,6 +84,3 @@ index 82429e05ed7d..83c5ab78b0d0 100644 /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0066-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch b/root/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0066-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch index 7149cd58..d957f9cd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0066-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch @@ -1,7 +1,7 @@ -From a62a788b8b85ec1ddcb720d9b4587a43a8a263e8 Mon Sep 17 00:00:00 2001 +From b7091bd20c8d42fe27ca48d649fadb6dfb07608b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 066/634] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 058/828] amba_pl011: Insert mb() for correct FIFO handling The pl011 register accessor functions use the _relaxed versions of the standard readl() and writel() functions, meaning that there are no @@ -15,11 +15,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/amba-pl011.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 83c5ab78b0d0..e940909308b0 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1418,6 +1418,7 @@ static bool pl011_tx_char(struct uart_amba_port *uap, unsigned char c, +@@ -1418,6 +1418,7 @@ static bool pl011_tx_char(struct uart_am return false; /* unable to transmit character */ pl011_write(c, uap, REG_DR); @@ -27,6 +25,3 @@ index 83c5ab78b0d0..e940909308b0 100644 uap->port.icount.tx++; return true; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0067-amba_pl011-Add-cts-event-workaround-DT-property.patch b/root/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0067-amba_pl011-Add-cts-event-workaround-DT-property.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch index 5c4b1fc7..fa9939f6 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0067-amba_pl011-Add-cts-event-workaround-DT-property.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch @@ -1,7 +1,7 @@ -From 5c24e541edade9b7dee3d462c078199733072b23 Mon Sep 17 00:00:00 2001 +From 36f680f4c877dfefa5a4406f3e12c5c1aa9c23e1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 067/634] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 059/828] amba_pl011: Add cts-event-workaround DT property The BCM2835 PL011 implementation seems to have a bug that can lead to a transmission lockup if CTS changes frequently. A workaround was added to @@ -19,8 +19,6 @@ Signed-off-by: Phil Elwell drivers/tty/serial/amba-pl011.c | 5 +++++ 2 files changed, 11 insertions(+) -diff --git a/Documentation/devicetree/bindings/serial/pl011.yaml b/Documentation/devicetree/bindings/serial/pl011.yaml -index 5ea00f8a283d..8df2883abc04 100644 --- a/Documentation/devicetree/bindings/serial/pl011.yaml +++ b/Documentation/devicetree/bindings/serial/pl011.yaml @@ -91,6 +91,12 @@ properties: @@ -36,11 +34,9 @@ index 5ea00f8a283d..8df2883abc04 100644 required: - compatible - reg -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index e940909308b0..44a5cbf92542 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2843,6 +2843,11 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) +@@ -2824,6 +2824,11 @@ static int pl011_probe(struct amba_devic if (IS_ERR(uap->clk)) return PTR_ERR(uap->clk); @@ -52,6 +48,3 @@ index e940909308b0..44a5cbf92542 100644 uap->reg_offset = vendor->reg_offset; uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0068-tty-amba-pl011-Add-un-throttle-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0068-tty-amba-pl011-Add-un-throttle-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch index 6911e5c4..783efacb 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0068-tty-amba-pl011-Add-un-throttle-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch @@ -1,7 +1,7 @@ -From b09e7ee5c298c9a22c2018ee6d2f81f50c687b71 Mon Sep 17 00:00:00 2001 +From f6185bce3d95e12cce0eb27c10ce6d7e308681d7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 24 Jan 2020 11:38:28 +0000 -Subject: [PATCH 068/634] tty: amba-pl011: Add un/throttle support +Subject: [PATCH 060/828] tty: amba-pl011: Add un/throttle support The PL011 driver lacks throttle and unthrottle methods. As a result, sending more data to the Pi than it can immediately sink while CRTSCTS @@ -15,11 +15,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/amba-pl011.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 44a5cbf92542..5e9a789e3c15 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1355,6 +1355,32 @@ static void pl011_start_tx(struct uart_port *port) +@@ -1355,6 +1355,32 @@ static void pl011_start_tx(struct uart_p pl011_start_tx_pio(uap); } @@ -52,7 +50,7 @@ index 44a5cbf92542..5e9a789e3c15 100644 static void pl011_stop_rx(struct uart_port *port) { struct uart_amba_port *uap = -@@ -2286,6 +2312,8 @@ static const struct uart_ops amba_pl011_pops = { +@@ -2271,6 +2297,8 @@ static const struct uart_ops amba_pl011_ .stop_tx = pl011_stop_tx, .start_tx = pl011_start_tx, .stop_rx = pl011_stop_rx, @@ -61,6 +59,3 @@ index 44a5cbf92542..5e9a789e3c15 100644 .enable_ms = pl011_enable_ms, .break_ctl = pl011_break_ctl, .startup = pl011_startup, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0069-tty-amba-pl011-Avoid-rare-write-when-full-error.patch b/root/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0069-tty-amba-pl011-Avoid-rare-write-when-full-error.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch index a89618ec..3c54fb60 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0069-tty-amba-pl011-Avoid-rare-write-when-full-error.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch @@ -1,7 +1,7 @@ -From 4957c6f9a91339b182625ad74aee2b392aa5d148 Mon Sep 17 00:00:00 2001 +From 27817f65220792b0f820e9da8bec49c75cc25ab3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 Jan 2020 09:35:19 +0000 -Subject: [PATCH 069/634] tty: amba-pl011: Avoid rare write-when-full error +Subject: [PATCH 061/828] tty: amba-pl011: Avoid rare write-when-full error Under some circumstances on BCM283x processors data loss can be observed - a single byte missing from the TX output stream. These bytes @@ -27,11 +27,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/amba-pl011.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 5e9a789e3c15..979fce6a05a7 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1505,6 +1505,10 @@ static bool pl011_tx_chars(struct uart_amba_port *uap, bool from_irq) +@@ -1505,6 +1505,10 @@ static bool pl011_tx_chars(struct uart_a if (likely(from_irq) && count-- == 0) break; @@ -42,6 +40,3 @@ index 5e9a789e3c15..979fce6a05a7 100644 if (!pl011_tx_char(uap, xmit->buf[xmit->tail], from_irq)) break; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0070-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/root/target/linux/bcm27xx/patches-5.15/950-0062-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0070-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0062-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch index 0550d1cb..5d47cf60 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0070-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0062-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch @@ -1,7 +1,7 @@ -From a6e1d77c5279b86105db8c352208e20e3c1822b6 Mon Sep 17 00:00:00 2001 +From 356aa7855c69a31cd6a00cdaf4e27b80f7aa3a27 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 070/634] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 062/828] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -18,11 +18,9 @@ Signed-off-by: Phil Elwell drivers/pinctrl/bcm/pinctrl-bcm2835.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 6e6fefeb21ea..7167927e9f26 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -362,7 +362,7 @@ static const struct gpio_chip bcm2835_gpio_chip = { +@@ -362,7 +362,7 @@ static const struct gpio_chip bcm2835_gp .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .set_config = gpiochip_generic_config, @@ -31,7 +29,7 @@ index 6e6fefeb21ea..7167927e9f26 100644 .ngpio = BCM2835_NUM_GPIOS, .can_sleep = false, }; -@@ -378,7 +378,7 @@ static const struct gpio_chip bcm2711_gpio_chip = { +@@ -378,7 +378,7 @@ static const struct gpio_chip bcm2711_gp .get = bcm2835_gpio_get, .set = bcm2835_gpio_set, .set_config = gpiochip_generic_config, @@ -40,6 +38,3 @@ index 6e6fefeb21ea..7167927e9f26 100644 .ngpio = BCM2711_NUM_GPIOS, .can_sleep = false, }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0071-Main-bcm2708-bcm2709-linux-port.patch b/root/target/linux/bcm27xx/patches-5.15/950-0063-Main-bcm2708-bcm2709-linux-port.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0071-Main-bcm2708-bcm2709-linux-port.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0063-Main-bcm2708-bcm2709-linux-port.patch index 08082396..30aadd83 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0071-Main-bcm2708-bcm2709-linux-port.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0063-Main-bcm2708-bcm2709-linux-port.patch @@ -1,7 +1,7 @@ -From 404cf082aed147576fb07d389aa8f92d32fee9a5 Mon Sep 17 00:00:00 2001 +From 5016eb2f9089a8cd60716d796a4583f2919b957f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 071/634] Main bcm2708/bcm2709 linux port +Subject: [PATCH 063/828] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -32,8 +32,6 @@ board_bcm2835: Remove coherent dma pool increase - API has gone drivers/mailbox/bcm2835-mailbox.c | 18 ++++++++++++++++-- 4 files changed, 35 insertions(+), 6 deletions(-) -diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 0462f870ab17..d802ded21ed6 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -166,6 +166,7 @@ config ARCH_BCM2835 @@ -44,8 +42,6 @@ index 0462f870ab17..d802ded21ed6 100644 help This enables support for the Broadcom BCM2711 and BCM283x SoCs. This SoC is used in the Raspberry Pi and Roku 2 devices. -diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S -index a0618f3e6836..b3a2fce22eac 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S @@ -70,10 +70,19 @@ ENDPROC(cpu_v6_reset) @@ -71,8 +67,6 @@ index a0618f3e6836..b3a2fce22eac 100644 ret lr ENTRY(cpu_v6_dcache_clean_area) -diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index e08c209521ac..4dbb4b16ee6e 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -43,7 +43,9 @@ @@ -93,7 +87,7 @@ index e08c209521ac..4dbb4b16ee6e 100644 #define FIQ_START (NR_IRQS_BANK0 + MAKE_HWIRQ(NR_BANKS - 1, 0)) static const int reg_pending[] __initconst = { 0x00, 0x04, 0x08 }; -@@ -253,10 +256,12 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -253,10 +256,12 @@ static int __init armctrl_of_init(struct MAKE_HWIRQ(b, i) + NUMBER_IRQS); BUG_ON(irq <= 0); irq_set_chip(irq, &armctrl_chip); @@ -107,8 +101,6 @@ index e08c209521ac..4dbb4b16ee6e 100644 return 0; } -diff --git a/drivers/mailbox/bcm2835-mailbox.c b/drivers/mailbox/bcm2835-mailbox.c -index 86b7ce3549c5..f0c2ad3d59c9 100644 --- a/drivers/mailbox/bcm2835-mailbox.c +++ b/drivers/mailbox/bcm2835-mailbox.c @@ -45,12 +45,15 @@ @@ -127,7 +119,7 @@ index 86b7ce3549c5..f0c2ad3d59c9 100644 struct bcm2835_mbox { void __iomem *regs; -@@ -145,7 +148,7 @@ static int bcm2835_mbox_probe(struct platform_device *pdev) +@@ -145,7 +148,7 @@ static int bcm2835_mbox_probe(struct pla return -ENOMEM; spin_lock_init(&mbox->lock); @@ -136,7 +128,7 @@ index 86b7ce3549c5..f0c2ad3d59c9 100644 bcm2835_mbox_irq, 0, dev_name(dev), mbox); if (ret) { dev_err(dev, "Failed to register a mailbox IRQ handler: %d\n", -@@ -194,7 +197,18 @@ static struct platform_driver bcm2835_mbox_driver = { +@@ -194,7 +197,18 @@ static struct platform_driver bcm2835_mb }, .probe = bcm2835_mbox_probe, }; @@ -156,6 +148,3 @@ index 86b7ce3549c5..f0c2ad3d59c9 100644 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0072-Add-dwc_otg-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch similarity index 99% rename from root/target/linux/bcm27xx/patches-5.15/0072-Add-dwc_otg-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch index 665f44c5..856345ab 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0072-Add-dwc_otg-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0064-Add-dwc_otg-driver.patch @@ -1,7 +1,7 @@ -From bd92e5e89a295480cb49dbc7d145bcfb688c43d8 Mon Sep 17 00:00:00 2001 +From 1561c1c0488ca3d335b72a0b1f28f35f6cdf6664 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 072/634] Add dwc_otg driver +Subject: [PATCH 064/828] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1062,11 +1062,9 @@ Signed-off-by: Jonathan Bell create mode 100644 drivers/usb/host/dwc_otg/test/test_mod_param.pl create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl -diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h -index aeec7f24eb75..a3b186608c60 100644 --- a/arch/arm/include/asm/irqflags.h +++ b/arch/arm/include/asm/irqflags.h -@@ -163,13 +163,23 @@ static inline unsigned long arch_local_save_flags(void) +@@ -163,13 +163,23 @@ static inline unsigned long arch_local_s } /* @@ -1093,8 +1091,6 @@ index aeec7f24eb75..a3b186608c60 100644 : : "r" (flags) : "memory", "cc"); -diff --git a/arch/arm/kernel/fiqasm.S b/arch/arm/kernel/fiqasm.S -index 8dd26e1a9bd6..eef484756af2 100644 --- a/arch/arm/kernel/fiqasm.S +++ b/arch/arm/kernel/fiqasm.S @@ -47,3 +47,7 @@ ENTRY(__get_fiq_regs) @@ -1105,8 +1101,6 @@ index 8dd26e1a9bd6..eef484756af2 100644 +ENTRY(__FIQ_Branch) + mov pc, r8 +ENDPROC(__FIQ_Branch) -diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile -index 643edf5fe18c..0e6efcd960d0 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_USB_COMMON) += common/ @@ -1117,11 +1111,9 @@ index 643edf5fe18c..0e6efcd960d0 100644 obj-$(CONFIG_USB_DWC3) += dwc3/ obj-$(CONFIG_USB_DWC2) += dwc2/ obj-$(CONFIG_USB_ISP1760) += isp1760/ -diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c -index 26f9fb9f67ca..fe8c7a85e141 100644 --- a/drivers/usb/core/generic.c +++ b/drivers/usb/core/generic.c -@@ -190,6 +190,7 @@ int usb_choose_configuration(struct usb_device *udev) +@@ -190,6 +190,7 @@ int usb_choose_configuration(struct usb_ dev_warn(&udev->dev, "no configuration chosen from %d choice%s\n", num_configs, plural(num_configs)); @@ -1129,11 +1121,9 @@ index 26f9fb9f67ca..fe8c7a85e141 100644 } return i; } -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 86658a81d284..1b85a0f17e06 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5570,7 +5570,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5582,7 +5582,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); @@ -1142,11 +1132,9 @@ index 86658a81d284..1b85a0f17e06 100644 port_dev->over_current_count); usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_OVER_CURRENT); -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 4d59d927ae3e..7a32053e941f 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -2140,6 +2140,85 @@ int usb_set_configuration(struct usb_device *dev, int configuration) +@@ -2140,6 +2140,85 @@ free_interfaces: if (cp->string == NULL && !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) cp->string = usb_cache_string(dev, cp->desc.iConfiguration); @@ -1232,8 +1220,6 @@ index 4d59d927ae3e..7a32053e941f 100644 /* Now that the interfaces are installed, re-enable LPM. */ usb_unlocked_enable_lpm(dev); -diff --git a/drivers/usb/core/otg_productlist.h b/drivers/usb/core/otg_productlist.h -index db67df29fb2b..1839e169469b 100644 --- a/drivers/usb/core/otg_productlist.h +++ b/drivers/usb/core/otg_productlist.h @@ -11,33 +11,82 @@ @@ -1325,7 +1311,7 @@ index db67df29fb2b..1839e169469b 100644 static int is_targeted(struct usb_device *dev) { struct usb_device_id *id = productlist_table; -@@ -87,16 +136,57 @@ static int is_targeted(struct usb_device *dev) +@@ -87,16 +136,57 @@ static int is_targeted(struct usb_device continue; return 1; @@ -1348,15 +1334,11 @@ index db67df29fb2b..1839e169469b 100644 + if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) && + id->idVendor != le16_to_cpu(dev->descriptor.idVendor)) + continue; - ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) && + id->idProduct != le16_to_cpu(dev->descriptor.idProduct)) + continue; - -- /* OTG MESSAGE: report errors here, customize to match your product */ -- dev_err(&dev->dev, "device v%04x p%04x is not supported\n", -- le16_to_cpu(dev->descriptor.idVendor), -- le16_to_cpu(dev->descriptor.idProduct)); ++ + /* No need to test id->bcdDevice_lo != 0, since 0 is never + greater than any unsigned number. */ + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) && @@ -1378,20 +1360,21 @@ index db67df29fb2b..1839e169469b 100644 + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) && + (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol)) + continue; -+ + + return 1; + } + } -+ + +- /* OTG MESSAGE: report errors here, customize to match your product */ +- dev_err(&dev->dev, "device v%04x p%04x is not supported\n", +- le16_to_cpu(dev->descriptor.idVendor), +- le16_to_cpu(dev->descriptor.idProduct)); + /* add other match criteria here ... */ + report_errors(dev); return 0; } -diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c -new file mode 100644 -index 000000000000..a896d73f7a93 --- /dev/null +++ b/drivers/usb/gadget/file_storage.c @@ -0,0 +1,3676 @@ @@ -5071,8 +5054,6 @@ index 000000000000..a896d73f7a93 + kref_put(&fsg->ref, fsg_release); +} +module_exit(fsg_cleanup); -diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index c4736d1d020c..b325ebb6b35c 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -730,6 +730,16 @@ config USB_RENESAS_USBHS_HCD @@ -5092,11 +5073,9 @@ index c4736d1d020c..b325ebb6b35c 100644 config USB_HCD_BCMA tristate "BCMA usb host driver" depends on BCMA -diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index 171de4df50bd..073f31432690 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile -@@ -77,6 +77,7 @@ obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o +@@ -77,6 +77,7 @@ obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o @@ -5104,9 +5083,6 @@ index 171de4df50bd..073f31432690 100644 obj-$(CONFIG_USB_FSL_USB2) += fsl-mph-dr-of.o obj-$(CONFIG_USB_EHCI_FSL) += fsl-mph-dr-of.o obj-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o -diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile -new file mode 100644 -index 000000000000..f10d466d1aea --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile @@ -0,0 +1,58 @@ @@ -5168,9 +5144,6 @@ index 000000000000..f10d466d1aea + +clean: + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ -diff --git a/drivers/usb/host/dwc_common_port/Makefile.fbsd b/drivers/usb/host/dwc_common_port/Makefile.fbsd -new file mode 100644 -index 000000000000..45db9915b9d3 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd @@ -0,0 +1,17 @@ @@ -5191,9 +5164,6 @@ index 000000000000..45db9915b9d3 + dwc_common_fbsd.c dwc_mem.c + +.include -diff --git a/drivers/usb/host/dwc_common_port/Makefile.linux b/drivers/usb/host/dwc_common_port/Makefile.linux -new file mode 100644 -index 000000000000..0cef7b461bd5 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.linux @@ -0,0 +1,49 @@ @@ -5246,9 +5216,6 @@ index 000000000000..0cef7b461bd5 + +clean: + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ -diff --git a/drivers/usb/host/dwc_common_port/changes.txt b/drivers/usb/host/dwc_common_port/changes.txt -new file mode 100644 -index 000000000000..f6839f92c276 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/changes.txt @@ -0,0 +1,174 @@ @@ -5426,9 +5393,6 @@ index 000000000000..f6839f92c276 +A DWC_LIBMODULE #define has also been added. If this is not defined, then the +module code in dwc_common_linux.c is not compiled in. This allows linking the +library code directly into a driver module, instead of as a standalone module. -diff --git a/drivers/usb/host/dwc_common_port/doc/doxygen.cfg b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg -new file mode 100644 -index 000000000000..89aa887af29d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg @@ -0,0 +1,270 @@ @@ -5702,9 +5666,6 @@ index 000000000000..89aa887af29d +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO -diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.c b/drivers/usb/host/dwc_common_port/dwc_cc.c -new file mode 100644 -index 000000000000..5ec2ae28698c --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.c @@ -0,0 +1,532 @@ @@ -6240,9 +6201,6 @@ index 000000000000..5ec2ae28698c +} + +#endif /* DWC_CCLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.h b/drivers/usb/host/dwc_common_port/dwc_cc.h -new file mode 100644 -index 000000000000..f86e6f21792b --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.h @@ -0,0 +1,224 @@ @@ -6470,9 +6428,6 @@ index 000000000000..f86e6f21792b +#endif + +#endif /* _DWC_CC_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c -new file mode 100644 -index 000000000000..6dd04b58f8f6 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c @@ -0,0 +1,1308 @@ @@ -7784,9 +7739,6 @@ index 000000000000..6dd04b58f8f6 +{ + return wq->pending; +} -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c -new file mode 100644 -index 000000000000..1460afaf997d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c @@ -0,0 +1,1409 @@ @@ -9199,9 +9151,6 @@ index 000000000000..1460afaf997d +MODULE_LICENSE ("GPL"); + +#endif /* DWC_LIBMODULE */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c -new file mode 100644 -index 000000000000..49b07e172264 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c @@ -0,0 +1,1275 @@ @@ -10480,9 +10429,6 @@ index 000000000000..49b07e172264 +{ + return wq->pending; +} -diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.c b/drivers/usb/host/dwc_common_port/dwc_crypto.c -new file mode 100644 -index 000000000000..3b0353296148 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c @@ -0,0 +1,308 @@ @@ -10794,9 +10740,6 @@ index 000000000000..3b0353296148 +} + +#endif /* DWC_CRYPTOLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.h b/drivers/usb/host/dwc_common_port/dwc_crypto.h -new file mode 100644 -index 000000000000..26fcddcfe9ba --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h @@ -0,0 +1,111 @@ @@ -10911,9 +10854,6 @@ index 000000000000..26fcddcfe9ba +#endif + +#endif /* _DWC_CRYPTO_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.c b/drivers/usb/host/dwc_common_port/dwc_dh.c -new file mode 100644 -index 000000000000..2b429a32aaf0 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.c @@ -0,0 +1,291 @@ @@ -11208,9 +11148,6 @@ index 000000000000..2b429a32aaf0 +#endif /* !CONFIG_MACH_IPMATE */ + +#endif /* DWC_CRYPTOLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.h b/drivers/usb/host/dwc_common_port/dwc_dh.h -new file mode 100644 -index 000000000000..25c1cc0d588a --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.h @@ -0,0 +1,106 @@ @@ -11320,9 +11257,6 @@ index 000000000000..25c1cc0d588a +#endif + +#endif /* _DWC_DH_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h -new file mode 100644 -index 000000000000..4ce560df0cae --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_list.h @@ -0,0 +1,594 @@ @@ -11920,9 +11854,6 @@ index 000000000000..4ce560df0cae +#endif + +#endif /* _DWC_LIST_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_mem.c b/drivers/usb/host/dwc_common_port/dwc_mem.c -new file mode 100644 -index 000000000000..ad645ff1ba7e --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_mem.c @@ -0,0 +1,245 @@ @@ -12171,9 +12102,6 @@ index 000000000000..ad645ff1ba7e +} + +#endif /* DWC_DEBUG_MEMORY */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.c b/drivers/usb/host/dwc_common_port/dwc_modpow.c -new file mode 100644 -index 000000000000..20045381208a --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c @@ -0,0 +1,636 @@ @@ -12813,9 +12741,6 @@ index 000000000000..20045381208a +#endif /* CONFIG_MACH_IPMATE */ + +#endif /*DWC_CRYPTOLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.h b/drivers/usb/host/dwc_common_port/dwc_modpow.h -new file mode 100644 -index 000000000000..64f00c276e71 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h @@ -0,0 +1,34 @@ @@ -12853,9 +12778,6 @@ index 000000000000..64f00c276e71 +#endif + +#endif /* _LINUX_BIGNUM_H */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.c b/drivers/usb/host/dwc_common_port/dwc_notifier.c -new file mode 100644 -index 000000000000..8b3772afe11d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c @@ -0,0 +1,319 @@ @@ -13178,9 +13100,6 @@ index 000000000000..8b3772afe11d +} + +#endif /* DWC_NOTIFYLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.h b/drivers/usb/host/dwc_common_port/dwc_notifier.h -new file mode 100644 -index 000000000000..4a8cdfe565b1 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h @@ -0,0 +1,122 @@ @@ -13306,9 +13225,6 @@ index 000000000000..4a8cdfe565b1 +#endif + +#endif /* __DWC_NOTIFIER_H__ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h -new file mode 100644 -index 000000000000..9a86d299403b --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_os.h @@ -0,0 +1,1276 @@ @@ -14588,9 +14504,6 @@ index 000000000000..9a86d299403b +#endif + +#endif /* _DWC_OS_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/usb.h b/drivers/usb/host/dwc_common_port/usb.h -new file mode 100644 -index 000000000000..27bda82dac2e --- /dev/null +++ b/drivers/usb/host/dwc_common_port/usb.h @@ -0,0 +1,946 @@ @@ -15540,9 +15453,6 @@ index 000000000000..27bda82dac2e +#endif + +#endif /* _USB_H_ */ -diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile -new file mode 100644 -index 000000000000..7ea65a6bcdb7 --- /dev/null +++ b/drivers/usb/host/dwc_otg/Makefile @@ -0,0 +1,85 @@ @@ -15631,9 +15541,6 @@ index 000000000000..7ea65a6bcdb7 + rm -rf *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers + +endif -diff --git a/drivers/usb/host/dwc_otg/doc/doxygen.cfg b/drivers/usb/host/dwc_otg/doc/doxygen.cfg -new file mode 100644 -index 000000000000..712b057ef7c2 --- /dev/null +++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg @@ -0,0 +1,224 @@ @@ -15861,9 +15768,6 @@ index 000000000000..712b057ef7c2 +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO -diff --git a/drivers/usb/host/dwc_otg/dummy_audio.c b/drivers/usb/host/dwc_otg/dummy_audio.c -new file mode 100644 -index 000000000000..f827102fa644 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dummy_audio.c @@ -0,0 +1,1574 @@ @@ -17441,9 +17345,6 @@ index 000000000000..f827102fa644 + remove_proc_entry("isoc_test", NULL); +} +module_exit (cleanup); -diff --git a/drivers/usb/host/dwc_otg/dwc_cfi_common.h b/drivers/usb/host/dwc_otg/dwc_cfi_common.h -new file mode 100644 -index 000000000000..7770e201ad3b --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h @@ -0,0 +1,142 @@ @@ -17589,9 +17490,6 @@ index 000000000000..7770e201ad3b +typedef struct cfi_string cfi_string_t; + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.c b/drivers/usb/host/dwc_otg/dwc_otg_adp.c -new file mode 100644 -index 000000000000..ce0618dd3f4a --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c @@ -0,0 +1,854 @@ @@ -18449,9 +18347,6 @@ index 000000000000..ce0618dd3f4a +#endif + return 1; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.h b/drivers/usb/host/dwc_otg/dwc_otg_adp.h -new file mode 100644 -index 000000000000..4110b25d2002 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h @@ -0,0 +1,80 @@ @@ -18535,9 +18430,6 @@ index 000000000000..4110b25d2002 +extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if); + +#endif //__DWC_OTG_ADP_H__ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c -new file mode 100644 -index 000000000000..2f8ea77c3892 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c @@ -0,0 +1,1212 @@ @@ -19753,9 +19645,6 @@ index 000000000000..2f8ea77c3892 + device_remove_file(&dev->dev, &dev_attr_sleep_status); +#endif +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h -new file mode 100644 -index 000000000000..e10b67f97c52 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h @@ -0,0 +1,89 @@ @@ -19848,9 +19737,6 @@ index 000000000000..e10b67f97c52 +#endif + ); +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.c b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c -new file mode 100644 -index 000000000000..bbb3d32093d0 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c @@ -0,0 +1,1876 @@ @@ -21730,9 +21616,6 @@ index 000000000000..bbb3d32093d0 +} + +#endif //DWC_UTE_CFI -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.h b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h -new file mode 100644 -index 000000000000..55fd337a283c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h @@ -0,0 +1,320 @@ @@ -22056,9 +21939,6 @@ index 000000000000..55fd337a283c +int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl); + +#endif /* (__DWC_OTG_CFI_H__) */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c -new file mode 100644 -index 000000000000..14300ad0f2af --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c @@ -0,0 +1,7146 @@ @@ -29208,9 +29088,6 @@ index 000000000000..14300ad0f2af + dwc_otg_pcd_start_srp_timer(core_if); + return; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.h b/drivers/usb/host/dwc_otg/dwc_otg_cil.h -new file mode 100644 -index 000000000000..79dbf8374f02 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h @@ -0,0 +1,1464 @@ @@ -30678,9 +30555,6 @@ index 000000000000..79dbf8374f02 +////////////////////////////////////////////////////////////////////// + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c -new file mode 100644 -index 000000000000..799ab14b9eda --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c @@ -0,0 +1,1601 @@ @@ -32285,9 +32159,6 @@ index 000000000000..799ab14b9eda + DWC_SPINUNLOCK(core_if->lock); + return retval; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_core_if.h b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h -new file mode 100644 -index 000000000000..4138fd173337 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h @@ -0,0 +1,705 @@ @@ -32996,9 +32867,6 @@ index 000000000000..4138fd173337 +/** @} */ + +#endif /* __DWC_CORE_IF_H__ */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h -new file mode 100644 -index 000000000000..ccc24e010e44 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h @@ -0,0 +1,117 @@ @@ -33119,9 +32987,6 @@ index 000000000000..ccc24e010e44 + +#endif /*DEBUG*/ +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c -new file mode 100644 -index 000000000000..cb576e553d76 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c @@ -0,0 +1,1772 @@ @@ -34897,9 +34762,6 @@ index 000000000000..cb576e553d76 + + +*/ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.h b/drivers/usb/host/dwc_otg/dwc_otg_driver.h -new file mode 100644 -index 000000000000..6a8be63a0ab2 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h @@ -0,0 +1,86 @@ @@ -34989,9 +34851,6 @@ index 000000000000..6a8be63a0ab2 +#endif + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c -new file mode 100644 -index 000000000000..490a7801e737 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c @@ -0,0 +1,1431 @@ @@ -36426,9 +36285,6 @@ index 000000000000..490a7801e737 + mb(); + fiq_fsm_spin_unlock(&state->lock); +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h -new file mode 100644 -index 000000000000..537cc237b4bc --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h @@ -0,0 +1,399 @@ @@ -36831,9 +36687,6 @@ index 000000000000..537cc237b4bc +extern void dwc_otg_fiq_nop(struct fiq_state *state); + +#endif /* DWC_OTG_FIQ_FSM_H_ */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S -new file mode 100644 -index 000000000000..ffa8d21bc61e --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S @@ -0,0 +1,80 @@ @@ -36917,9 +36770,6 @@ index 000000000000..ffa8d21bc61e + subs pc, lr, #4; +_dwc_otg_fiq_stub_end: +END(_dwc_otg_fiq_stub) -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c -new file mode 100644 -index 000000000000..0f6645e2383c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -0,0 +1,4356 @@ @@ -41279,9 +41129,6 @@ index 000000000000..0f6645e2383c +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h -new file mode 100644 -index 000000000000..5ed8dccf0395 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -0,0 +1,870 @@ @@ -42155,9 +42002,6 @@ index 000000000000..5ed8dccf0395 +#endif +#endif +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c -new file mode 100644 -index 000000000000..bd8a20403713 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c @@ -0,0 +1,1134 @@ @@ -43295,9 +43139,6 @@ index 000000000000..bd8a20403713 +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h -new file mode 100644 -index 000000000000..a384db5e7ac2 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h @@ -0,0 +1,421 @@ @@ -43722,9 +43563,6 @@ index 000000000000..a384db5e7ac2 + +#endif /* __DWC_HCD_IF_H__ */ +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c -new file mode 100644 -index 000000000000..d3097ef3728c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c @@ -0,0 +1,2757 @@ @@ -46485,9 +46323,6 @@ index 000000000000..d3097ef3728c + return retval; +} +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c -new file mode 100644 -index 000000000000..eda7a33908b3 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c @@ -0,0 +1,1086 @@ @@ -47577,9 +47412,6 @@ index 000000000000..eda7a33908b3 +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c -new file mode 100644 -index 000000000000..2823dc9af63f --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c @@ -0,0 +1,970 @@ @@ -48553,9 +48385,6 @@ index 000000000000..2823dc9af63f +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h -new file mode 100644 -index 000000000000..7a77977c9ddf --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h @@ -0,0 +1,200 @@ @@ -48759,9 +48588,6 @@ index 000000000000..7a77977c9ddf + + +#endif /* _DWC_OS_DEP_H_ */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c -new file mode 100644 -index 000000000000..9dabbe5c9791 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c @@ -0,0 +1,2725 @@ @@ -51490,9 +51316,6 @@ index 000000000000..9dabbe5c9791 +} + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h -new file mode 100644 -index 000000000000..a70ebd049d2c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h @@ -0,0 +1,273 @@ @@ -51769,9 +51592,6 @@ index 000000000000..a70ebd049d2c +extern void do_test_mode(void *data); +#endif +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h -new file mode 100644 -index 000000000000..4c1d591fbc09 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h @@ -0,0 +1,361 @@ @@ -52136,9 +51956,6 @@ index 000000000000..4c1d591fbc09 +#endif /* __DWC_PCD_IF_H__ */ + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c -new file mode 100644 -index 000000000000..e55ea9c74be4 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c @@ -0,0 +1,5148 @@ @@ -57290,9 +57107,6 @@ index 000000000000..e55ea9c74be4 +} + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c -new file mode 100644 -index 000000000000..a5ed8e83711d --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c @@ -0,0 +1,1262 @@ @@ -58558,9 +58372,6 @@ index 000000000000..a5ed8e83711d +} + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_regs.h b/drivers/usb/host/dwc_otg/dwc_otg_regs.h -new file mode 100644 -index 000000000000..8e0e7b569f1a --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h @@ -0,0 +1,2550 @@ @@ -61114,9 +60925,6 @@ index 000000000000..8e0e7b569f1a +} gpwrdn_data_t; + +#endif -diff --git a/drivers/usb/host/dwc_otg/test/Makefile b/drivers/usb/host/dwc_otg/test/Makefile -new file mode 100644 -index 000000000000..fc453759dea3 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/Makefile @@ -0,0 +1,16 @@ @@ -61136,9 +60944,6 @@ index 000000000000..fc453759dea3 + else echo "=======> $$test, FAILED" ; \ + fi \ + done -diff --git a/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm -new file mode 100644 -index 000000000000..85e55fd6ddbc --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm @@ -0,0 +1,337 @@ @@ -61479,9 +61284,6 @@ index 000000000000..85e55fd6ddbc +); + +1; -diff --git a/drivers/usb/host/dwc_otg/test/test_mod_param.pl b/drivers/usb/host/dwc_otg/test/test_mod_param.pl -new file mode 100644 -index 000000000000..dc3820df577b --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl @@ -0,0 +1,133 @@ @@ -61618,9 +61420,6 @@ index 000000000000..dc3820df577b + +test_main(); +0; -diff --git a/drivers/usb/host/dwc_otg/test/test_sysfs.pl b/drivers/usb/host/dwc_otg/test/test_sysfs.pl -new file mode 100644 -index 000000000000..cdc9963176e5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl @@ -0,0 +1,193 @@ @@ -61817,6 +61616,3 @@ index 000000000000..cdc9963176e5 + +test_main(); +0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0073-bcm2708-framebuffer-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0065-bcm2708-framebuffer-driver.patch similarity index 99% rename from root/target/linux/bcm27xx/patches-5.15/0073-bcm2708-framebuffer-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0065-bcm2708-framebuffer-driver.patch index 36a75eb2..b1185181 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0073-bcm2708-framebuffer-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0065-bcm2708-framebuffer-driver.patch @@ -1,7 +1,7 @@ -From 8b91cd2beb500674c49d6ebbb6aaabbbed26df83 Mon Sep 17 00:00:00 2001 +From 572e8ac98cf145a20bed39029726d3dcd1f1fa8e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 073/634] bcm2708 framebuffer driver +Subject: [PATCH 065/828] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -103,8 +103,6 @@ Signed-off-by: Dave Stevenson 5 files changed, 1817 insertions(+), 1602 deletions(-) create mode 100644 drivers/video/fbdev/bcm2708_fb.c -diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 6ed5e608dd04..0b409636ebcd 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -219,6 +219,20 @@ config FB_TILEBLITTING @@ -128,11 +126,9 @@ index 6ed5e608dd04..0b409636ebcd 100644 config FB_GRVGA tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC -diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index 477b9624b703..36624ffdf2bc 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile -@@ -11,6 +11,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o +@@ -11,6 +11,7 @@ obj-$(CONFIG_FB_MACMODES) += macmod obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o # Hardware specific drivers go first @@ -140,9 +136,6 @@ index 477b9624b703..36624ffdf2bc 100644 obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o obj-$(CONFIG_FB_ARC) += arcfb.o obj-$(CONFIG_FB_CLPS711X) += clps711x-fb.o -diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c -new file mode 100644 -index 000000000000..831e9a7b6818 --- /dev/null +++ b/drivers/video/fbdev/bcm2708_fb.c @@ -0,0 +1,920 @@ @@ -1066,8 +1059,6 @@ index 000000000000..831e9a7b6818 +MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer"); +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer"); +MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes"); -diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm -index 3c14e43b82fe..7626beb6a5bb 100644 --- a/drivers/video/logo/logo_linux_clut224.ppm +++ b/drivers/video/logo/logo_linux_clut224.ppm @@ -1,1604 +1,883 @@ @@ -3556,11 +3547,9 @@ index 3c14e43b82fe..7626beb6a5bb 100644 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 73ad784fca96..40b8a32fced0 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -121,6 +121,7 @@ enum rpi_firmware_property_tag { +@@ -122,6 +122,7 @@ enum rpi_firmware_property_tag { RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005, RPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER = 0x00048006, RPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE = 0x00048007, @@ -3568,6 +3557,3 @@ index 73ad784fca96..40b8a32fced0 100644 RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009, RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0074-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch b/root/target/linux/bcm27xx/patches-5.15/950-0066-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0074-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0066-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch index e50c4180..dc516439 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0074-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0066-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch @@ -1,7 +1,7 @@ -From 441052f1c98dde7ca5b6500e41e4b844ff6f9c5e Mon Sep 17 00:00:00 2001 +From 206c0a8b1c1cbe40982d385fc4b9382fe80fc918 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 14 Mar 2019 13:27:54 +0000 -Subject: [PATCH 074/634] Pulled in the multi frame buffer support from the Pi3 +Subject: [PATCH 066/828] Pulled in the multi frame buffer support from the Pi3 repo --- @@ -9,8 +9,6 @@ Subject: [PATCH 074/634] Pulled in the multi frame buffer support from the Pi3 include/soc/bcm2835/raspberrypi-firmware.h | 13 + 2 files changed, 337 insertions(+), 133 deletions(-) -diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c -index 831e9a7b6818..f66957d48dc3 100644 --- a/drivers/video/fbdev/bcm2708_fb.c +++ b/drivers/video/fbdev/bcm2708_fb.c @@ -2,6 +2,7 @@ @@ -135,8 +133,9 @@ index 831e9a7b6818..f66957d48dc3 100644 - }, + {"dma_copies", offsetof(struct bcm2708_fb_stats, dma_copies)}, + {"dma_irqs", offsetof(struct bcm2708_fb_stats, dma_irqs)}, -+ }; -+ + }; + +- fb->debugfs_dir = debugfs_create_dir(DRIVER_NAME, NULL); + static struct debugfs_reg32 screeninfo[] = { + {"width", offsetof(struct fb_var_screeninfo, xres)}, + {"height", offsetof(struct fb_var_screeninfo, yres)}, @@ -145,9 +144,8 @@ index 831e9a7b6818..f66957d48dc3 100644 + {"yres_virtual", offsetof(struct fb_var_screeninfo, yres_virtual)}, + {"xoffset", offsetof(struct fb_var_screeninfo, xoffset)}, + {"yoffset", offsetof(struct fb_var_screeninfo, yoffset)}, - }; - -- fb->debugfs_dir = debugfs_create_dir(DRIVER_NAME, NULL); ++ }; ++ + fb->debugfs_dir = debugfs_lookup(DRIVER_NAME, NULL); + + if (!fb->debugfs_dir) @@ -213,7 +211,7 @@ index 831e9a7b6818..f66957d48dc3 100644 static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var) { int ret = 0; -@@ -214,11 +303,11 @@ static int bcm2708_fb_check_var(struct fb_var_screeninfo *var, +@@ -214,11 +303,11 @@ static int bcm2708_fb_check_var(struct f struct fb_info *info) { /* info input, var output */ @@ -228,7 +226,7 @@ index 831e9a7b6818..f66957d48dc3 100644 var->yres, var->xres_virtual, var->yres_virtual, var->bits_per_pixel); -@@ -281,17 +370,24 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -281,17 +370,24 @@ static int bcm2708_fb_set_par(struct fb_ }; int ret, image_size; @@ -257,7 +255,7 @@ index 831e9a7b6818..f66957d48dc3 100644 (image_size != fb->image_size || !fb->dma_addr)) { if (fb->dma_addr) { dma_free_coherent(info->device, fb->image_size, -@@ -306,7 +402,7 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -306,7 +402,7 @@ static int bcm2708_fb_set_par(struct fb_ if (!fb->cpuaddr) { fb->dma_addr = 0; @@ -266,7 +264,7 @@ index 831e9a7b6818..f66957d48dc3 100644 } else { fb->image_size = image_size; } -@@ -317,7 +413,7 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -317,7 +413,7 @@ static int bcm2708_fb_set_par(struct fb_ fbinfo.screen_size = image_size; fbinfo.pitch = (info->var.xres * info->var.bits_per_pixel) >> 3; @@ -275,7 +273,7 @@ index 831e9a7b6818..f66957d48dc3 100644 sizeof(fbinfo)); if (ret || fbinfo.base != fb->dma_addr) { /* Firmware either failed, or assigned a different base -@@ -330,7 +426,7 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -330,7 +426,7 @@ static int bcm2708_fb_set_par(struct fb_ fb->image_size = 0; fb->cpuaddr = NULL; fb->dma_addr = 0; @@ -284,7 +282,7 @@ index 831e9a7b6818..f66957d48dc3 100644 } } else { /* Our allocation failed - drop into the old scheme of -@@ -349,7 +445,7 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -349,7 +445,7 @@ static int bcm2708_fb_set_par(struct fb_ fbinfo.tag6.tag = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH; fbinfo.pitch = 0; @@ -293,7 +291,7 @@ index 831e9a7b6818..f66957d48dc3 100644 sizeof(fbinfo)); if (ret) { dev_err(info->device, -@@ -439,7 +535,10 @@ static int bcm2708_fb_setcolreg(unsigned int regno, unsigned int red, +@@ -439,7 +535,10 @@ static int bcm2708_fb_setcolreg(unsigned packet->length = regno + 1; memcpy(packet->cmap, fb->gpu_cmap, sizeof(packet->cmap)); @@ -305,7 +303,7 @@ index 831e9a7b6818..f66957d48dc3 100644 RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE, packet, (2 + packet->length) * sizeof(u32)); -@@ -478,8 +577,11 @@ static int bcm2708_fb_blank(int blank_mode, struct fb_info *info) +@@ -478,8 +577,11 @@ static int bcm2708_fb_blank(int blank_mo return -EINVAL; } @@ -318,7 +316,7 @@ index 831e9a7b6818..f66957d48dc3 100644 if (ret) dev_err(info->device, "%s(%d) failed: %d\n", __func__, blank_mode, ret); -@@ -496,12 +598,14 @@ static int bcm2708_fb_pan_display(struct fb_var_screeninfo *var, +@@ -496,12 +598,14 @@ static int bcm2708_fb_pan_display(struct info->var.yoffset = var->yoffset; result = bcm2708_fb_set_par(info); if (result != 0) @@ -334,7 +332,7 @@ index 831e9a7b6818..f66957d48dc3 100644 { struct bcm2708_fb *fb = to_bcm2708(info); u32 dummy = 0; -@@ -509,7 +613,9 @@ static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, unsigned long a +@@ -509,7 +613,9 @@ static int bcm2708_ioctl(struct fb_info switch (cmd) { case FBIO_WAITFORVSYNC: @@ -345,7 +343,7 @@ index 831e9a7b6818..f66957d48dc3 100644 RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC, &dummy, sizeof(dummy)); break; -@@ -526,23 +632,22 @@ static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, unsigned long a +@@ -526,23 +632,22 @@ static int bcm2708_ioctl(struct fb_info static void bcm2708_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) { @@ -378,7 +376,7 @@ index 831e9a7b6818..f66957d48dc3 100644 cb->dst = dst; cb->src = src; /* -@@ -560,15 +665,19 @@ static void bcm2708_fb_copyarea(struct fb_info *info, +@@ -560,15 +665,19 @@ static void bcm2708_fb_copyarea(struct f const struct fb_copyarea *region) { struct bcm2708_fb *fb = to_bcm2708(info); @@ -402,7 +400,7 @@ index 831e9a7b6818..f66957d48dc3 100644 info->var.xres * info->var.yres > 1920 * 1200 || region->width <= 0 || region->width > info->var.xres || region->height <= 0 || region->height > info->var.yres || -@@ -595,8 +704,8 @@ static void bcm2708_fb_copyarea(struct fb_info *info, +@@ -595,8 +704,8 @@ static void bcm2708_fb_copyarea(struct f * 1920x1200 resolution at 32bpp pixel depth. */ int y; @@ -413,7 +411,7 @@ index 831e9a7b6818..f66957d48dc3 100644 int scanline_size = bytes_per_pixel * region->width; int scanlines_per_cb = (64 * 1024 - 16 * 1024) / scanline_size; -@@ -646,10 +755,10 @@ static void bcm2708_fb_copyarea(struct fb_info *info, +@@ -646,10 +755,10 @@ static void bcm2708_fb_copyarea(struct f } set_dma_cb(cb, burst_size, fb->fb_bus_address + dy * fb->fb.fix.line_length + @@ -426,7 +424,7 @@ index 831e9a7b6818..f66957d48dc3 100644 stride, region->width * bytes_per_pixel, region->height); -@@ -659,32 +768,33 @@ static void bcm2708_fb_copyarea(struct fb_info *info, +@@ -659,32 +768,33 @@ static void bcm2708_fb_copyarea(struct f cb->next = 0; if (pixels < dma_busy_wait_threshold) { @@ -471,7 +469,7 @@ index 831e9a7b6818..f66957d48dc3 100644 /* FIXME: should read status register to check if this is * actually interrupting us or not, in case this interrupt -@@ -694,9 +804,9 @@ static irqreturn_t bcm2708_fb_dma_irq(int irq, void *cxt) +@@ -694,9 +804,9 @@ static irqreturn_t bcm2708_fb_dma_irq(in */ /* acknowledge the interrupt */ @@ -483,7 +481,7 @@ index 831e9a7b6818..f66957d48dc3 100644 return IRQ_HANDLED; } -@@ -729,11 +839,23 @@ static int bcm2708_fb_register(struct bcm2708_fb *fb) +@@ -729,11 +839,23 @@ static int bcm2708_fb_register(struct bc fb->fb.fix.ywrapstep = 0; fb->fb.fix.accel = FB_ACCEL_NONE; @@ -512,7 +510,7 @@ index 831e9a7b6818..f66957d48dc3 100644 fb->fb.var.vmode = FB_VMODE_NONINTERLACED; fb->fb.var.activate = FB_ACTIVATE_NOW; fb->fb.var.nonstd = 0; -@@ -749,26 +871,23 @@ static int bcm2708_fb_register(struct bcm2708_fb *fb) +@@ -749,26 +871,23 @@ static int bcm2708_fb_register(struct bc fb->fb.monspecs.dclkmax = 100000000; bcm2708_fb_set_bitfields(&fb->fb.var); @@ -543,7 +541,7 @@ index 831e9a7b6818..f66957d48dc3 100644 out: return ret; } -@@ -777,10 +896,18 @@ static int bcm2708_fb_probe(struct platform_device *dev) +@@ -777,10 +896,18 @@ static int bcm2708_fb_probe(struct platf { struct device_node *fw_np; struct rpi_firmware *fw; @@ -564,7 +562,7 @@ index 831e9a7b6818..f66957d48dc3 100644 /* Remove comment when booting without Device Tree is no longer supported * if (!fw_np) { * dev_err(&dev->dev, "Missing firmware node\n"); -@@ -788,90 +915,154 @@ static int bcm2708_fb_probe(struct platform_device *dev) +@@ -788,90 +915,154 @@ static int bcm2708_fb_probe(struct platf * } */ fw = rpi_firmware_get(fw_np); @@ -592,20 +590,17 @@ index 831e9a7b6818..f66957d48dc3 100644 + ret = 0; + } else { + fbdev->firmware_supports_multifb = 1; - } - -- fb->fw = fw; -- bcm2708_fb_debugfs_init(fb); ++ } ++ + if (num_displays > MAX_FRAMEBUFFERS) { + dev_warn(&dev->dev, + "More displays reported from firmware than supported in driver (%u vs %u)", + num_displays, MAX_FRAMEBUFFERS); + num_displays = MAX_FRAMEBUFFERS; -+ } + } -- fb->cb_base = dma_alloc_wc(&dev->dev, SZ_64K, -- &fb->cb_handle, GFP_KERNEL); -- if (!fb->cb_base) { +- fb->fw = fw; +- bcm2708_fb_debugfs_init(fb); + dev_info(&dev->dev, "FB found %d display(s)\n", num_displays); + + /* Set up the DMA information. Note we have just one set of DMA @@ -614,7 +609,10 @@ index 831e9a7b6818..f66957d48dc3 100644 + */ + + mutex_init(&fbdev->dma_mutex); -+ + +- fb->cb_base = dma_alloc_wc(&dev->dev, SZ_64K, +- &fb->cb_handle, GFP_KERNEL); +- if (!fb->cb_base) { + fbdev->cb_base = dma_alloc_wc(&dev->dev, SZ_64K, + &fbdev->cb_handle, + GFP_KERNEL); @@ -653,26 +651,15 @@ index 831e9a7b6818..f66957d48dc3 100644 + rpi_firmware_property(fbdev->fw, + RPI_FIRMWARE_GET_VC_MEMORY, + &gpu_mem, sizeof(gpu_mem)); - -- fb->dev = dev; -- fb->fb.device = &dev->dev; ++ + for (i = 0; i < num_displays; i++) { + struct bcm2708_fb *fb = &fbdev->displays[i]; - -- /* failure here isn't fatal, but we'll fail in vc_mem_copy if -- * fb->gpu is not valid -- */ -- rpi_firmware_property(fb->fw, RPI_FIRMWARE_GET_VC_MEMORY, &fb->gpu, -- sizeof(fb->gpu)); ++ + fb->display_settings.display_num = i; + fb->dev = dev; + fb->fb.device = &dev->dev; + fb->fbdev = fbdev; - -- ret = bcm2708_fb_register(fb); -- if (ret == 0) { -- platform_set_drvdata(dev, fb); -- goto out; ++ + fb->gpu.base = gpu_mem.base; + fb->gpu.length = gpu_mem.length; + @@ -685,12 +672,23 @@ index 831e9a7b6818..f66957d48dc3 100644 + memset(&fb->display_settings, 0, + sizeof(fb->display_settings)); + } -+ + +- fb->dev = dev; +- fb->fb.device = &dev->dev; + ret = bcm2708_fb_register(fb); -+ + +- /* failure here isn't fatal, but we'll fail in vc_mem_copy if +- * fb->gpu is not valid +- */ +- rpi_firmware_property(fb->fw, RPI_FIRMWARE_GET_VC_MEMORY, &fb->gpu, +- sizeof(fb->gpu)); + if (ret == 0) { + bcm2708_fb_debugfs_init(fb); -+ + +- ret = bcm2708_fb_register(fb); +- if (ret == 0) { +- platform_set_drvdata(dev, fb); +- goto out; + fbdev->num_displays++; + + dev_info(&dev->dev, @@ -738,14 +736,15 @@ index 831e9a7b6818..f66957d48dc3 100644 - if (fb->fb.screen_base) - iounmap(fb->fb.screen_base); - unregister_framebuffer(&fb->fb); -+ for (i = 0; i < fbdev->num_displays; i++) { -+ if (fbdev->displays[i].fb.screen_base) -+ iounmap(fbdev->displays[i].fb.screen_base); - +- - dma_free_wc(&dev->dev, SZ_64K, fb->cb_base, fb->cb_handle); - bcm_dma_chan_free(fb->dma_chan); - - bcm2708_fb_debugfs_deinit(fb); ++ for (i = 0; i < fbdev->num_displays; i++) { ++ if (fbdev->displays[i].fb.screen_base) ++ iounmap(fbdev->displays[i].fb.screen_base); ++ + if (fbdev->displays[i].fbdev) { + unregister_framebuffer(&fbdev->displays[i].fb); + bcm2708_fb_debugfs_deinit(&fbdev->displays[i]); @@ -763,7 +762,7 @@ index 831e9a7b6818..f66957d48dc3 100644 return 0; } -@@ -886,10 +1077,10 @@ static struct platform_driver bcm2708_fb_driver = { +@@ -886,10 +1077,10 @@ static struct platform_driver bcm2708_fb .probe = bcm2708_fb_probe, .remove = bcm2708_fb_remove, .driver = { @@ -778,11 +777,9 @@ index 831e9a7b6818..f66957d48dc3 100644 }; static int __init bcm2708_fb_init(void) -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 40b8a32fced0..a8cff19aea83 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -104,9 +104,15 @@ enum rpi_firmware_property_tag { +@@ -105,9 +105,15 @@ enum rpi_firmware_property_tag { RPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET = 0x00040009, RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN = 0x0004000a, RPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE = 0x0004000b, @@ -798,7 +795,7 @@ index 40b8a32fced0..a8cff19aea83 100644 RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, RPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH = 0x00044005, -@@ -115,6 +121,8 @@ enum rpi_firmware_property_tag { +@@ -116,6 +122,8 @@ enum rpi_firmware_property_tag { RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET = 0x00044009, RPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN = 0x0004400a, RPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE = 0x0004400b, @@ -807,7 +804,7 @@ index 40b8a32fced0..a8cff19aea83 100644 RPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC = 0x0004400e, RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT = 0x00048003, RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT = 0x00048004, -@@ -125,9 +133,12 @@ enum rpi_firmware_property_tag { +@@ -126,9 +134,12 @@ enum rpi_firmware_property_tag { RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009, RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a, RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b, @@ -820,7 +817,7 @@ index 40b8a32fced0..a8cff19aea83 100644 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, -@@ -136,6 +147,8 @@ enum rpi_firmware_property_tag { +@@ -137,6 +148,8 @@ enum rpi_firmware_property_tag { RPI_FIRMWARE_GET_DMA_CHANNELS = 0x00060001, }; @@ -829,6 +826,3 @@ index 40b8a32fced0..a8cff19aea83 100644 #if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE) int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, void *data, size_t len); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0075-fbdev-add-FBIOCOPYAREA-ioctl.patch b/root/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch similarity index 88% rename from root/target/linux/bcm27xx/patches-5.15/0075-fbdev-add-FBIOCOPYAREA-ioctl.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch index 99e4ca1c..7c180417 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0075-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -1,7 +1,7 @@ -From 52d69b5f72a13c68f51e2d4baf80d8fa436cc4b1 Mon Sep 17 00:00:00 2001 +From f2b7b1e3b70bc00a93ec9cbdc07ebeae821e166c Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 075/634] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 067/828] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -26,8 +26,6 @@ Signed-off-by: Dave Stevenson include/uapi/linux/fb.h | 12 +++ 3 files changed, 213 insertions(+), 4 deletions(-) -diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c -index f66957d48dc3..0e9ec3f593b8 100644 --- a/drivers/video/fbdev/bcm2708_fb.c +++ b/drivers/video/fbdev/bcm2708_fb.c @@ -32,8 +32,10 @@ @@ -41,7 +39,7 @@ index f66957d48dc3..0e9ec3f593b8 100644 #include #include -@@ -184,9 +186,6 @@ static int bcm2708_fb_debugfs_init(struct bcm2708_fb *fb) +@@ -184,9 +186,6 @@ static int bcm2708_fb_debugfs_init(struc fb->debugfs_subdir = debugfs_create_dir(buf, fb->debugfs_dir); @@ -51,7 +49,7 @@ index f66957d48dc3..0e9ec3f593b8 100644 if (!fb->debugfs_subdir) { dev_warn(fb->fb.dev, "%s: could not create debugfs entry %u\n", __func__, fb->display_settings.display_num); -@@ -603,7 +602,110 @@ static int bcm2708_fb_pan_display(struct fb_var_screeninfo *var, +@@ -603,7 +602,110 @@ static int bcm2708_fb_pan_display(struct return result; } @@ -163,7 +161,7 @@ index f66957d48dc3..0e9ec3f593b8 100644 static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -619,6 +721,21 @@ static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, +@@ -619,6 +721,21 @@ static int bcm2708_ioctl(struct fb_info RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC, &dummy, sizeof(dummy)); break; @@ -185,7 +183,7 @@ index f66957d48dc3..0e9ec3f593b8 100644 default: dev_dbg(info->device, "Unknown ioctl 0x%x\n", cmd); return -ENOTTY; -@@ -629,6 +746,48 @@ static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, +@@ -629,6 +746,48 @@ static int bcm2708_ioctl(struct fb_info return ret; } @@ -244,11 +242,9 @@ index f66957d48dc3..0e9ec3f593b8 100644 }; static int bcm2708_fb_register(struct bcm2708_fb *fb) -diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index 7420d2c16e47..f9b620f6a074 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1085,6 +1085,30 @@ fb_blank(struct fb_info *info, int blank) +@@ -1086,6 +1086,30 @@ fb_blank(struct fb_info *info, int blank } EXPORT_SYMBOL(fb_blank); @@ -279,7 +275,7 @@ index 7420d2c16e47..f9b620f6a074 100644 static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1093,6 +1117,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, +@@ -1094,6 +1118,7 @@ static long do_fb_ioctl(struct fb_info * struct fb_fix_screeninfo fix; struct fb_cmap cmap_from; struct fb_cmap_user cmap; @@ -287,7 +283,7 @@ index 7420d2c16e47..f9b620f6a074 100644 void __user *argp = (void __user *)arg; long ret = 0; -@@ -1168,6 +1193,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, +@@ -1169,6 +1194,15 @@ static long do_fb_ioctl(struct fb_info * unlock_fb_info(info); console_unlock(); break; @@ -299,11 +295,11 @@ index 7420d2c16e47..f9b620f6a074 100644 + ret = fb_copyarea_user(info, ©); + break; + } -+ /* fall through */ ++ fallthrough; default: lock_fb_info(info); fb = info->fbops; -@@ -1307,6 +1341,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, +@@ -1308,6 +1342,7 @@ static long fb_compat_ioctl(struct file case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: @@ -311,8 +307,6 @@ index 7420d2c16e47..f9b620f6a074 100644 arg = (unsigned long) compat_ptr(arg); fallthrough; case FBIOBLANK: -diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h -index 4c14e8be7267..3c6f12b76214 100644 --- a/include/uapi/linux/fb.h +++ b/include/uapi/linux/fb.h @@ -35,6 +35,12 @@ @@ -341,6 +335,3 @@ index 4c14e8be7267..3c6f12b76214 100644 struct fb_fillrect { __u32 dx; /* screen-relative */ __u32 dy; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0076-Speed-up-console-framebuffer-imageblit-function.patch b/root/target/linux/bcm27xx/patches-5.15/950-0068-Speed-up-console-framebuffer-imageblit-function.patch similarity index 93% rename from root/target/linux/bcm27xx/patches-5.15/0076-Speed-up-console-framebuffer-imageblit-function.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0068-Speed-up-console-framebuffer-imageblit-function.patch index 51cdc6d5..310679b8 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0076-Speed-up-console-framebuffer-imageblit-function.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0068-Speed-up-console-framebuffer-imageblit-function.patch @@ -1,7 +1,7 @@ -From 17159d3029ede4324a930ab62cb38d9844e2071e Mon Sep 17 00:00:00 2001 +From e2bda55c62d31d0a2de2aa8b8e286c1af2a67c55 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 076/634] Speed up console framebuffer imageblit function +Subject: [PATCH 068/828] Speed up console framebuffer imageblit function Especially on platforms with a slower CPU but a relatively high framebuffer fill bandwidth, like current ARM devices, the existing @@ -32,8 +32,6 @@ Signed-off-by: Harm Hanemaaijer drivers/video/fbdev/core/cfbimgblt.c | 152 ++++++++++++++++++++++++++- 1 file changed, 147 insertions(+), 5 deletions(-) -diff --git a/drivers/video/fbdev/core/cfbimgblt.c b/drivers/video/fbdev/core/cfbimgblt.c -index a2bb276a8b24..436494fba15a 100644 --- a/drivers/video/fbdev/core/cfbimgblt.c +++ b/drivers/video/fbdev/core/cfbimgblt.c @@ -28,6 +28,11 @@ @@ -48,7 +46,7 @@ index a2bb276a8b24..436494fba15a 100644 */ #include #include -@@ -262,6 +267,133 @@ static inline void fast_imageblit(const struct fb_image *image, struct fb_info * +@@ -262,6 +267,133 @@ static inline void fast_imageblit(const } } @@ -182,7 +180,7 @@ index a2bb276a8b24..436494fba15a 100644 void cfb_imageblit(struct fb_info *p, const struct fb_image *image) { u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0; -@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, const struct fb_image *image) +@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, co bgcolor = image->bg_color; } @@ -209,6 +207,3 @@ index a2bb276a8b24..436494fba15a 100644 slow_imageblit(image, p, dst1, fgcolor, bgcolor, start_index, pitch_index); } else --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0077-dmaengine-Add-support-for-BCM2708.patch b/root/target/linux/bcm27xx/patches-5.15/950-0069-dmaengine-Add-support-for-BCM2708.patch similarity index 97% rename from root/target/linux/bcm27xx/patches-5.15/0077-dmaengine-Add-support-for-BCM2708.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0069-dmaengine-Add-support-for-BCM2708.patch index 5b1671e6..7d7041d9 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0077-dmaengine-Add-support-for-BCM2708.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0069-dmaengine-Add-support-for-BCM2708.patch @@ -1,7 +1,7 @@ -From b6c946afd75d362d948800546f05aceb24866f55 Mon Sep 17 00:00:00 2001 +From b38dd633de6fc7d969265acdb9b27f115467dd00 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 077/634] dmaengine: Add support for BCM2708 +Subject: [PATCH 069/828] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -176,8 +176,6 @@ Signed-off-by: Andrei Gherzan create mode 100644 drivers/dma/bcm2708-dmaengine.c create mode 100644 include/linux/platform_data/dma-bcm2708.h -diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index f5afe0ec4f96..bb1e9fb7ecda 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -127,7 +127,7 @@ config BCM_SBA_RAID @@ -200,8 +198,6 @@ index f5afe0ec4f96..bb1e9fb7ecda 100644 config XGENE_DMA tristate "APM X-Gene DMA support" depends on ARCH_XGENE || COMPILE_TEST -diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index 616d926cf2a5..2f9fa1a12f51 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -21,6 +21,7 @@ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o @@ -212,9 +208,6 @@ index 616d926cf2a5..2f9fa1a12f51 100644 obj-$(CONFIG_DMA_BCM2835) += bcm2835-dma.o obj-$(CONFIG_DMA_JZ4780) += dma-jz4780.o obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o -diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c -new file mode 100644 -index 000000000000..075da9aadf6d --- /dev/null +++ b/drivers/dma/bcm2708-dmaengine.c @@ -0,0 +1,281 @@ @@ -499,9 +492,6 @@ index 000000000000..075da9aadf6d +EXPORT_SYMBOL(bcm_dmaman_remove); + +MODULE_LICENSE("GPL"); -diff --git a/include/linux/platform_data/dma-bcm2708.h b/include/linux/platform_data/dma-bcm2708.h -new file mode 100644 -index 000000000000..6ca874d332a8 --- /dev/null +++ b/include/linux/platform_data/dma-bcm2708.h @@ -0,0 +1,143 @@ @@ -648,6 +638,3 @@ index 000000000000..6ca874d332a8 +#endif /* CONFIG_DMA_BCM2708 || CONFIG_DMA_BCM2708_MODULE */ + +#endif /* _PLAT_BCM2708_DMA_H */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0078-MMC-added-alternative-MMC-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch similarity index 96% rename from root/target/linux/bcm27xx/patches-5.15/0078-MMC-added-alternative-MMC-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch index 34f87ea0..4de828d6 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0078-MMC-added-alternative-MMC-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0070-MMC-added-alternative-MMC-driver.patch @@ -1,7 +1,7 @@ -From 15fb4ba369a520f2b426837c44310c8041c5a7cb Mon Sep 17 00:00:00 2001 +From a5e0873893ea7c3cefae8792572ea0fb9bf2e03e Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 078/634] MMC: added alternative MMC driver +Subject: [PATCH 070/828] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -228,8 +228,6 @@ bcm2835-mmc: uninitialized_var is no more 9 files changed, 1663 insertions(+), 5 deletions(-) create mode 100644 drivers/mmc/host/bcm2835-mmc.c -diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c -index 431af5e8be2f..8afaba9912e3 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -171,6 +171,13 @@ static DEFINE_MUTEX(open_lock); @@ -246,7 +244,7 @@ index 431af5e8be2f..8afaba9912e3 100644 static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, -@@ -2886,6 +2893,8 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2924,6 +2931,8 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md; int ret = 0; @@ -255,7 +253,7 @@ index 431af5e8be2f..8afaba9912e3 100644 /* * Check that the card supports the command class(es) we need. -@@ -2893,7 +2902,16 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2931,7 +2940,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -273,7 +271,7 @@ index 431af5e8be2f..8afaba9912e3 100644 card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2908,6 +2926,17 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2946,6 +2964,17 @@ static int mmc_blk_probe(struct mmc_card goto out_free; } @@ -291,8 +289,6 @@ index 431af5e8be2f..8afaba9912e3 100644 ret = mmc_blk_alloc_parts(card, md); if (ret) goto out; -diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c -index 240c5af793dc..e76ac07a91a6 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1801,7 +1801,8 @@ EXPORT_SYMBOL(mmc_erase); @@ -305,11 +301,9 @@ index 240c5af793dc..e76ac07a91a6 100644 return 1; return 0; } -diff --git a/drivers/mmc/core/quirks.h b/drivers/mmc/core/quirks.h -index d68e6e513a4f..e41bc00ece42 100644 --- a/drivers/mmc/core/quirks.h +++ b/drivers/mmc/core/quirks.h -@@ -99,6 +99,14 @@ static const struct mmc_fixup __maybe_unused mmc_blk_fixups[] = { +@@ -99,6 +99,14 @@ static const struct mmc_fixup __maybe_un MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc, MMC_QUIRK_TRIM_BROKEN), @@ -324,8 +318,6 @@ index d68e6e513a4f..e41bc00ece42 100644 END_FIXUP }; -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index ccc148cdb5ee..e1f699de52ce 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -5,6 +5,35 @@ @@ -364,11 +356,9 @@ index ccc148cdb5ee..e1f699de52ce 100644 config MMC_DEBUG bool "MMC host drivers debugging" depends on MMC != n -diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 14004cc09aaa..1148f78ff6f9 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_MMC_SDHCI_F_SDH30) += sdhci_f_sdh30.o +@@ -23,6 +23,7 @@ obj-$(CONFIG_MMC_SDHCI_F_SDH30) += sdhci obj-$(CONFIG_MMC_SDHCI_MILBEAUT) += sdhci-milbeaut.o obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o obj-$(CONFIG_MMC_SDHCI_AM654) += sdhci_am654.o @@ -376,9 +366,6 @@ index 14004cc09aaa..1148f78ff6f9 100644 obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o obj-$(CONFIG_MMC_ALCOR) += alcor.o -diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c -new file mode 100644 -index 000000000000..cdc1318e5936 --- /dev/null +++ b/drivers/mmc/host/bcm2835-mmc.c @@ -0,0 +1,1576 @@ @@ -1958,11 +1945,9 @@ index 000000000000..cdc1318e5936 +MODULE_DESCRIPTION("BCM2835 SDHCI driver"); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); -diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c -index 032bf852397f..37b0e1cfe7b7 100644 --- a/drivers/mmc/host/sdhci-iproc.c +++ b/drivers/mmc/host/sdhci-iproc.c -@@ -173,6 +173,17 @@ static unsigned int sdhci_iproc_get_max_clock(struct sdhci_host *host) +@@ -173,6 +173,17 @@ static unsigned int sdhci_iproc_get_max_ return pltfm_host->clock; } @@ -1980,7 +1965,7 @@ index 032bf852397f..37b0e1cfe7b7 100644 /* * There is a known bug on BCM2711's SDHCI core integration where the * controller will hang when the difference between the core clock and the bus -@@ -207,6 +218,7 @@ static const struct sdhci_ops sdhci_iproc_32only_ops = { +@@ -207,6 +218,7 @@ static const struct sdhci_ops sdhci_ipro .write_b = sdhci_iproc_writeb, .set_clock = sdhci_set_clock, .get_max_clock = sdhci_iproc_get_max_clock, @@ -1988,8 +1973,6 @@ index 032bf852397f..37b0e1cfe7b7 100644 .set_bus_width = sdhci_set_bus_width, .reset = sdhci_reset, .set_uhs_signaling = sdhci_set_uhs_signaling, -diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c -index 2d80a04e11d8..812e67fba8af 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -40,7 +40,7 @@ @@ -2001,7 +1984,7 @@ index 2d80a04e11d8..812e67fba8af 100644 #define MAX_TUNING_LOOP 40 -@@ -3131,7 +3131,7 @@ static void sdhci_timeout_timer(struct timer_list *t) +@@ -3143,7 +3143,7 @@ static void sdhci_timeout_timer(struct t spin_lock_irqsave(&host->lock, flags); if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { @@ -2010,7 +1993,7 @@ index 2d80a04e11d8..812e67fba8af 100644 mmc_hostname(host->mmc)); sdhci_dumpregs(host); -@@ -3153,7 +3153,7 @@ static void sdhci_timeout_data_timer(struct timer_list *t) +@@ -3165,7 +3165,7 @@ static void sdhci_timeout_data_timer(str if (host->data || host->data_cmd || (host->cmd && sdhci_data_line_cmd(host->cmd))) { @@ -2019,8 +2002,6 @@ index 2d80a04e11d8..812e67fba8af 100644 mmc_hostname(host->mmc)); sdhci_dumpregs(host); -diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h -index 37f975875102..fca1b210266b 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -293,6 +293,8 @@ struct mmc_card { @@ -2032,6 +2013,3 @@ index 37f975875102..fca1b210266b 100644 bool reenable_cmdq; /* Re-enable Command Queue */ unsigned int erase_size; /* erase size in sectors */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0079-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch b/root/target/linux/bcm27xx/patches-5.15/950-0071-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch similarity index 99% rename from root/target/linux/bcm27xx/patches-5.15/0079-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0071-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch index ac2e1fe5..6b863243 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0079-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0071-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch @@ -1,7 +1,7 @@ -From 5323f8f1a65d288ccf964ca8a6d036e5c34a1799 Mon Sep 17 00:00:00 2001 +From 62a847d64494ded1556600cc1f7df63a00090e5c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 079/634] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 071/828] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -259,8 +259,6 @@ Signed-off-by: Phil Elwell 3 files changed, 2219 insertions(+) create mode 100644 drivers/mmc/host/bcm2835-sdhost.c -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index e1f699de52ce..76c74a1ebf56 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -34,6 +34,16 @@ config MMC_BCM2835_PIO_DMA_BARRIER @@ -280,11 +278,9 @@ index e1f699de52ce..76c74a1ebf56 100644 config MMC_DEBUG bool "MMC host drivers debugging" depends on MMC != n -diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 1148f78ff6f9..03c20de4597f 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -24,6 +24,7 @@ obj-$(CONFIG_MMC_SDHCI_MILBEAUT) += sdhci-milbeaut.o +@@ -24,6 +24,7 @@ obj-$(CONFIG_MMC_SDHCI_MILBEAUT) += sdhc obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o obj-$(CONFIG_MMC_SDHCI_AM654) += sdhci_am654.o obj-$(CONFIG_MMC_BCM2835_MMC) += bcm2835-mmc.o @@ -292,9 +288,6 @@ index 1148f78ff6f9..03c20de4597f 100644 obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o obj-$(CONFIG_MMC_ALCOR) += alcor.o -diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c -new file mode 100644 -index 000000000000..2c4124082785 --- /dev/null +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -0,0 +1,2208 @@ @@ -2506,6 +2499,3 @@ index 000000000000..2c4124082785 +MODULE_DESCRIPTION("BCM2835 SDHost driver"); +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0080-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch b/root/target/linux/bcm27xx/patches-5.15/950-0072-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch similarity index 94% rename from root/target/linux/bcm27xx/patches-5.15/0080-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0072-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch index 7f32fb6f..c79f6c55 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0080-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0072-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch @@ -1,7 +1,7 @@ -From dab7565d73c2f052c9cfe2d8c793682dc51f9dc6 Mon Sep 17 00:00:00 2001 +From e704db556dfdec5ad0df1903ff1b2e01667cdd76 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 080/634] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 072/828] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -48,9 +48,6 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/char/broadcom/vc_mem.c create mode 100644 include/linux/broadcom/vc_mem.h -diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -new file mode 100644 -index 000000000000..fc1315209dab --- /dev/null +++ b/drivers/char/broadcom/Kconfig @@ -0,0 +1,18 @@ @@ -72,16 +69,10 @@ index 000000000000..fc1315209dab + Helper for videocore memory access and total size allocation. + +endif -diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -new file mode 100644 -index 000000000000..06c5c8ad00e7 --- /dev/null +++ b/drivers/char/broadcom/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o -diff --git a/drivers/char/broadcom/vc_mem.c b/drivers/char/broadcom/vc_mem.c -new file mode 100644 -index 000000000000..195b61a4387c --- /dev/null +++ b/drivers/char/broadcom/vc_mem.c @@ -0,0 +1,373 @@ @@ -458,9 +449,6 @@ index 000000000000..195b61a4387c +module_param(phys_addr, uint, 0644); +module_param(mem_size, uint, 0644); +module_param(mem_base, uint, 0644); -diff --git a/include/linux/broadcom/vc_mem.h b/include/linux/broadcom/vc_mem.h -new file mode 100644 -index 000000000000..3c7079237496 --- /dev/null +++ b/include/linux/broadcom/vc_mem.h @@ -0,0 +1,39 @@ @@ -503,6 +491,3 @@ index 000000000000..3c7079237496 +#endif + +#endif /* _VC_MEM_H */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0081-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch b/root/target/linux/bcm27xx/patches-5.15/950-0073-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch similarity index 94% rename from root/target/linux/bcm27xx/patches-5.15/0081-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0073-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch index 7c718003..7fd4a757 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0081-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0073-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch @@ -1,7 +1,7 @@ -From 8062954ce5d943c81d3a130cafac4d27853f8f86 Mon Sep 17 00:00:00 2001 +From ef2d1d2b0aa268e543ae56aa7c2ba9e9d4f51135 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 081/634] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 073/828] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -17,8 +17,6 @@ See: https://github.com/raspberrypi/linux/issues/1154 3 files changed, 267 insertions(+) create mode 100644 drivers/char/broadcom/bcm2835-gpiomem.c -diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index fc1315209dab..13d4fce859ac 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -16,3 +16,11 @@ config BCM2708_VCMEM @@ -33,16 +31,11 @@ index fc1315209dab..13d4fce859ac 100644 + Provides users with root-free access to the GPIO registers + on the 2835. Calling mmap(/dev/gpiomem) will map the GPIO + register page to the user's pointer. -diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 06c5c8ad00e7..c8747a4a11e7 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1 +1,2 @@ obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o +obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o -diff --git a/drivers/char/broadcom/bcm2835-gpiomem.c b/drivers/char/broadcom/bcm2835-gpiomem.c -new file mode 100644 -index 000000000000..f5e7f1ba8fb6 --- /dev/null +++ b/drivers/char/broadcom/bcm2835-gpiomem.c @@ -0,0 +1,258 @@ @@ -304,6 +297,3 @@ index 000000000000..f5e7f1ba8fb6 +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0082-Add-SMI-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0074-Add-SMI-driver.patch similarity index 97% rename from root/target/linux/bcm27xx/patches-5.15/0082-Add-SMI-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0074-Add-SMI-driver.patch index 1d4f9980..49da1fbc 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0082-Add-SMI-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0074-Add-SMI-driver.patch @@ -1,7 +1,7 @@ -From 42a5686ce064d1983505a18c242b449e01d394a2 Mon Sep 17 00:00:00 2001 +From e58cb5414ddc9f72731eecd2fbfdcb7423d5135e Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 082/634] Add SMI driver +Subject: [PATCH 074/828] Add SMI driver Signed-off-by: Luke Wren @@ -32,9 +32,6 @@ bcm2835_smi: re-add dereference to fix DMA transfers create mode 100644 drivers/misc/bcm2835_smi.c create mode 100644 include/linux/broadcom/bcm2835_smi.h -diff --git a/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt -new file mode 100644 -index 000000000000..68cc8ebc3392 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt @@ -0,0 +1,17 @@ @@ -55,9 +52,6 @@ index 000000000000..68cc8ebc3392 +- None. + + -diff --git a/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt -new file mode 100644 -index 000000000000..b76dc694f1ac --- /dev/null +++ b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt @@ -0,0 +1,48 @@ @@ -109,8 +103,6 @@ index 000000000000..b76dc694f1ac + brcm,pull = <2 2 2 2 2 2 0 0 0 0 0 0 0 0>; +}; + -diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 13d4fce859ac..48d29e5acb34 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -24,3 +24,12 @@ config BCM2835_DEVGPIOMEM @@ -126,17 +118,12 @@ index 13d4fce859ac..48d29e5acb34 100644 + This driver provides a character device interface (ioctl + read/write) to + Broadcom's Secondary Memory interface. The low-level functionality is provided + by the SMI driver itself. -diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index c8747a4a11e7..a5d0f33221a3 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,2 +1,3 @@ obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o +obj-$(CONFIG_BCM2835_SMI_DEV) += bcm2835_smi_dev.o -diff --git a/drivers/char/broadcom/bcm2835_smi_dev.c b/drivers/char/broadcom/bcm2835_smi_dev.c -new file mode 100644 -index 000000000000..9db8f1e3db0f --- /dev/null +++ b/drivers/char/broadcom/bcm2835_smi_dev.c @@ -0,0 +1,402 @@ @@ -542,8 +529,6 @@ index 000000000000..9db8f1e3db0f +MODULE_DESCRIPTION( + "Character device driver for BCM2835's secondary memory interface"); +MODULE_AUTHOR("Luke Wren "); -diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 0f5a49fc7c9e..606331451466 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -9,6 +9,14 @@ config SENSORS_LIS3LV02D @@ -561,11 +546,9 @@ index 0f5a49fc7c9e..606331451466 100644 config AD525X_DPOT tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS -diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index a086197af544..e0188c30ffa8 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -9,6 +9,7 @@ obj-$(CONFIG_AD525X_DPOT) += ad525x_dpot.o +@@ -9,6 +9,7 @@ obj-$(CONFIG_AD525X_DPOT) += ad525x_dpot obj-$(CONFIG_AD525X_DPOT_I2C) += ad525x_dpot-i2c.o obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o @@ -573,9 +556,6 @@ index a086197af544..e0188c30ffa8 100644 obj-$(CONFIG_DUMMY_IRQ) += dummy-irq.o obj-$(CONFIG_ICS932S401) += ics932s401.o obj-$(CONFIG_LKDTM) += lkdtm/ -diff --git a/drivers/misc/bcm2835_smi.c b/drivers/misc/bcm2835_smi.c -new file mode 100644 -index 000000000000..f1a7f6a3e966 --- /dev/null +++ b/drivers/misc/bcm2835_smi.c @@ -0,0 +1,955 @@ @@ -1534,9 +1514,6 @@ index 000000000000..f1a7f6a3e966 +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Device driver for BCM2835's secondary memory interface"); +MODULE_AUTHOR("Luke Wren "); -diff --git a/include/linux/broadcom/bcm2835_smi.h b/include/linux/broadcom/bcm2835_smi.h -new file mode 100644 -index 000000000000..ee3a75edfc03 --- /dev/null +++ b/include/linux/broadcom/bcm2835_smi.h @@ -0,0 +1,391 @@ @@ -1931,6 +1908,3 @@ index 000000000000..ee3a75edfc03 +#endif /* BCM2835_SMI_IMPLEMENTATION */ + +#endif /* BCM2835_SMI_H */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0083-Add-Chris-Boot-s-i2c-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0075-Add-Chris-Boot-s-i2c-driver.patch similarity index 97% rename from root/target/linux/bcm27xx/patches-5.15/0083-Add-Chris-Boot-s-i2c-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0075-Add-Chris-Boot-s-i2c-driver.patch index e7841de8..85b8359b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0083-Add-Chris-Boot-s-i2c-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0075-Add-Chris-Boot-s-i2c-driver.patch @@ -1,7 +1,7 @@ -From b464c0603d02e89ac233b65fd71f600c4caa34e5 Mon Sep 17 00:00:00 2001 +From 6fbae01f3e6978d72c06c8a0e3910f6b5eb20432 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 083/634] Add Chris Boot's i2c driver +Subject: [PATCH 075/828] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -104,8 +104,6 @@ both bcm2708_bsc_fifo_fill and ~drain are changed as well. 3 files changed, 533 insertions(+) create mode 100644 drivers/i2c/busses/i2c-bcm2708.c -diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index e17790fe35a7..55597652bbb1 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -9,6 +9,25 @@ menu "I2C Hardware Bus support" @@ -134,8 +132,6 @@ index e17790fe35a7..55597652bbb1 100644 config I2C_ALI1535 tristate "ALI 1535" depends on PCI -diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index 1336b04f40e2..95fe417d63e3 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -3,6 +3,8 @@ @@ -147,9 +143,6 @@ index 1336b04f40e2..95fe417d63e3 100644 # ACPI drivers obj-$(CONFIG_I2C_SCMI) += i2c-scmi.o -diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c -new file mode 100644 -index 000000000000..962f2e5c7455 --- /dev/null +++ b/drivers/i2c/busses/i2c-bcm2708.c @@ -0,0 +1,512 @@ @@ -665,6 +658,3 @@ index 000000000000..962f2e5c7455 +MODULE_AUTHOR("Chris Boot "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0084-char-broadcom-Add-vcio-module.patch b/root/target/linux/bcm27xx/patches-5.15/950-0076-char-broadcom-Add-vcio-module.patch similarity index 92% rename from root/target/linux/bcm27xx/patches-5.15/0084-char-broadcom-Add-vcio-module.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0076-char-broadcom-Add-vcio-module.patch index f3d8d653..7b2c0f06 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0084-char-broadcom-Add-vcio-module.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0076-char-broadcom-Add-vcio-module.patch @@ -1,7 +1,7 @@ -From 14ffde5320a15a12960942b29171637410752006 Mon Sep 17 00:00:00 2001 +From 68ccf6ea75ab03809b8063cade9ca17fdad303fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 084/634] char: broadcom: Add vcio module +Subject: [PATCH 076/828] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -33,8 +33,6 @@ Signed-off-by: Dave Stevenson 3 files changed, 201 insertions(+) create mode 100644 drivers/char/broadcom/vcio.c -diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 48d29e5acb34..c11b834ccdbd 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -15,6 +15,12 @@ config BCM2708_VCMEM @@ -50,8 +48,6 @@ index 48d29e5acb34..c11b834ccdbd 100644 endif config BCM2835_DEVGPIOMEM -diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index a5d0f33221a3..ea7495b01c28 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,3 +1,4 @@ @@ -59,9 +55,6 @@ index a5d0f33221a3..ea7495b01c28 100644 +obj-$(CONFIG_BCM_VCIO) += vcio.o obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o obj-$(CONFIG_BCM2835_SMI_DEV) += bcm2835_smi_dev.o -diff --git a/drivers/char/broadcom/vcio.c b/drivers/char/broadcom/vcio.c -new file mode 100644 -index 000000000000..d2598663a2b5 --- /dev/null +++ b/drivers/char/broadcom/vcio.c @@ -0,0 +1,194 @@ @@ -259,6 +252,3 @@ index 000000000000..d2598663a2b5 +MODULE_AUTHOR("Noralf Trønnes"); +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0085-firmware-bcm2835-Support-ARCH_BCM270x.patch b/root/target/linux/bcm27xx/patches-5.15/950-0077-firmware-bcm2835-Support-ARCH_BCM270x.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0085-firmware-bcm2835-Support-ARCH_BCM270x.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0077-firmware-bcm2835-Support-ARCH_BCM270x.patch index de5285c5..0c7b53ca 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0085-firmware-bcm2835-Support-ARCH_BCM270x.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0077-firmware-bcm2835-Support-ARCH_BCM270x.patch @@ -1,7 +1,7 @@ -From 48748dbf488a3a17297d54fefcddc5a477a1842f Mon Sep 17 00:00:00 2001 +From c1888f14e25039752859be495bce70265f60bca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 085/634] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 077/828] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -25,8 +25,6 @@ Signed-off-by: Noralf Trønnes drivers/firmware/raspberrypi.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) -diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 4b8978b254f9..54619623fe86 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -32,6 +32,8 @@ struct rpi_firmware { @@ -38,7 +36,7 @@ index 4b8978b254f9..54619623fe86 100644 static DEFINE_MUTEX(transaction_lock); static void response_callback(struct mbox_client *cl, void *msg) -@@ -279,6 +281,7 @@ static int rpi_firmware_probe(struct platform_device *pdev) +@@ -279,6 +281,7 @@ static int rpi_firmware_probe(struct pla kref_init(&fw->consumers); platform_set_drvdata(pdev, fw); @@ -46,7 +44,7 @@ index 4b8978b254f9..54619623fe86 100644 rpi_firmware_print_firmware_revision(fw); rpi_register_hwmon_driver(dev, fw); -@@ -307,6 +310,7 @@ static int rpi_firmware_remove(struct platform_device *pdev) +@@ -307,6 +310,7 @@ static int rpi_firmware_remove(struct pl rpi_clk = NULL; rpi_firmware_put(fw); @@ -54,7 +52,7 @@ index 4b8978b254f9..54619623fe86 100644 return 0; } -@@ -381,7 +385,18 @@ static struct platform_driver rpi_firmware_driver = { +@@ -381,7 +385,18 @@ static struct platform_driver rpi_firmwa .shutdown = rpi_firmware_shutdown, .remove = rpi_firmware_remove, }; @@ -74,6 +72,3 @@ index 4b8978b254f9..54619623fe86 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0086-BCM2708-Add-core-Device-Tree-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0086-BCM2708-Add-core-Device-Tree-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch index 6b9fd503..26371ae7 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0086-BCM2708-Add-core-Device-Tree-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch @@ -1,7 +1,7 @@ -From 8c5e775a25b58750e02267d6efc6650833533d9a Mon Sep 17 00:00:00 2001 +From 5648905f1832862ca94c41b3be7b95bcfad95965 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 086/634] BCM2708: Add core Device Tree support +Subject: [PATCH 078/828] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -798,7 +798,7 @@ Signed-off-by: Phil Elwell create mode 120000 arch/arm64/boot/dts/overlays diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 7e0934180724..b2d1fb05a975 100644 +index 27ca1ca6e..ab6a5c6ea 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1,4 +1,11 @@ @@ -813,7 +813,7 @@ index 7e0934180724..b2d1fb05a975 100644 dtb-$(CONFIG_ARCH_ALPINE) += \ alpine-db.dtb dtb-$(CONFIG_MACH_ARTPEC6) += \ -@@ -1498,3 +1505,13 @@ dtb-$(CONFIG_ARCH_ASPEED) += \ +@@ -1499,3 +1506,13 @@ dtb-$(CONFIG_ARCH_ASPEED) += \ aspeed-bmc-portwell-neptune.dtb \ aspeed-bmc-quanta-q71l.dtb \ aspeed-bmc-supermicro-x11spi.dtb @@ -829,7 +829,7 @@ index 7e0934180724..b2d1fb05a975 100644 +endif diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts new file mode 100644 -index 000000000000..e42cba84ab0e +index 000000000..e42cba84a --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts @@ -0,0 +1,129 @@ @@ -964,7 +964,7 @@ index 000000000000..e42cba84ab0e +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts new file mode 100644 -index 000000000000..4ea1e68f5e29 +index 000000000..4ea1e68f5 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts @@ -0,0 +1,132 @@ @@ -1102,7 +1102,7 @@ index 000000000000..4ea1e68f5e29 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts new file mode 100644 -index 000000000000..a152c1c8e648 +index 000000000..a152c1c8e --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts @@ -0,0 +1,119 @@ @@ -1227,7 +1227,7 @@ index 000000000000..a152c1c8e648 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-bt.dtsi b/arch/arm/boot/dts/bcm2708-rpi-bt.dtsi new file mode 100644 -index 000000000000..a18f80af97d3 +index 000000000..a18f80af9 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-bt.dtsi @@ -0,0 +1,26 @@ @@ -1259,7 +1259,7 @@ index 000000000000..a18f80af97d3 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts new file mode 100644 -index 000000000000..f61e3418425a +index 000000000..f61e34184 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts @@ -0,0 +1,112 @@ @@ -1377,7 +1377,7 @@ index 000000000000..f61e3418425a +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi new file mode 100644 -index 000000000000..d5572b2d2103 +index 000000000..d5572b2d2 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi @@ -0,0 +1,18 @@ @@ -1401,7 +1401,7 @@ index 000000000000..d5572b2d2103 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts new file mode 100644 -index 000000000000..75a5b41514f9 +index 000000000..75a5b4151 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts @@ -0,0 +1,169 @@ @@ -1576,7 +1576,7 @@ index 000000000000..75a5b41514f9 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-zero.dts b/arch/arm/boot/dts/bcm2708-rpi-zero.dts new file mode 100644 -index 000000000000..84591bd7d423 +index 000000000..84591bd7d --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-zero.dts @@ -0,0 +1,123 @@ @@ -1705,7 +1705,7 @@ index 000000000000..84591bd7d423 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi.dtsi b/arch/arm/boot/dts/bcm2708-rpi.dtsi new file mode 100644 -index 000000000000..e2458b15d64a +index 000000000..e2458b15d --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi @@ -0,0 +1,36 @@ @@ -1747,7 +1747,7 @@ index 000000000000..e2458b15d64a +}; diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi new file mode 100644 -index 000000000000..36ec4989403f +index 000000000..36ec49894 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708.dtsi @@ -0,0 +1,12 @@ @@ -1765,7 +1765,7 @@ index 000000000000..36ec4989403f +}; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts new file mode 100644 -index 000000000000..e1381d2b3a2c +index 000000000..e1381d2b3 --- /dev/null +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -0,0 +1,129 @@ @@ -1900,7 +1900,7 @@ index 000000000000..e1381d2b3a2c +}; diff --git a/arch/arm/boot/dts/bcm2709-rpi.dtsi b/arch/arm/boot/dts/bcm2709-rpi.dtsi new file mode 100644 -index 000000000000..babfa41cd9f7 +index 000000000..babfa41cd --- /dev/null +++ b/arch/arm/boot/dts/bcm2709-rpi.dtsi @@ -0,0 +1,5 @@ @@ -1911,7 +1911,7 @@ index 000000000000..babfa41cd9f7 +}; diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi new file mode 100644 -index 000000000000..68eafc1b281a +index 000000000..68eafc1b2 --- /dev/null +++ b/arch/arm/boot/dts/bcm2709.dtsi @@ -0,0 +1,22 @@ @@ -1939,7 +1939,7 @@ index 000000000000..68eafc1b281a +}; diff --git a/arch/arm/boot/dts/bcm270x-rpi.dtsi b/arch/arm/boot/dts/bcm270x-rpi.dtsi new file mode 100644 -index 000000000000..68a7e1c09db1 +index 000000000..68a7e1c09 --- /dev/null +++ b/arch/arm/boot/dts/bcm270x-rpi.dtsi @@ -0,0 +1,154 @@ @@ -2099,7 +2099,7 @@ index 000000000000..68a7e1c09db1 +}; diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi new file mode 100644 -index 000000000000..badcf341ecd2 +index 000000000..badcf341e --- /dev/null +++ b/arch/arm/boot/dts/bcm270x.dtsi @@ -0,0 +1,217 @@ @@ -2322,7 +2322,7 @@ index 000000000000..badcf341ecd2 +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts new file mode 100644 -index 000000000000..ae9db1b1be1b +index 000000000..ae9db1b1b --- /dev/null +++ b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts @@ -0,0 +1,129 @@ @@ -2457,7 +2457,7 @@ index 000000000000..ae9db1b1be1b +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts new file mode 100644 -index 000000000000..7e12c05cc28b +index 000000000..7e12c05cc --- /dev/null +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts @@ -0,0 +1,201 @@ @@ -2664,7 +2664,7 @@ index 000000000000..7e12c05cc28b +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts new file mode 100644 -index 000000000000..d40722ddc286 +index 000000000..d40722ddc --- /dev/null +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts @@ -0,0 +1,203 @@ @@ -2873,7 +2873,7 @@ index 000000000000..d40722ddc286 +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts new file mode 100644 -index 000000000000..c386a855cdc3 +index 000000000..c386a855c --- /dev/null +++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts @@ -0,0 +1,148 @@ @@ -3027,7 +3027,7 @@ index 000000000000..c386a855cdc3 +}; diff --git a/arch/arm/boot/dts/bcm2710.dtsi b/arch/arm/boot/dts/bcm2710.dtsi new file mode 100644 -index 000000000000..e7e5c913f1d1 +index 000000000..e7e5c913f --- /dev/null +++ b/arch/arm/boot/dts/bcm2710.dtsi @@ -0,0 +1,25 @@ @@ -3057,7 +3057,7 @@ index 000000000000..e7e5c913f1d1 + status = "disabled"; +}; diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts -index 72ce80fbf266..f6e0247f7d1b 100644 +index 72ce80fbf..f6e0247f7 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -2,7 +2,7 @@ @@ -3389,7 +3389,7 @@ index 72ce80fbf266..f6e0247f7d1b 100644 + }; +}; diff --git a/arch/arm/boot/dts/bcm2711-rpi-400.dts b/arch/arm/boot/dts/bcm2711-rpi-400.dts -index f4d2fc20397c..bed192b085df 100644 +index f4d2fc203..bed192b08 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-400.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-400.dts @@ -1,6 +1,9 @@ @@ -4045,7 +4045,7 @@ index f4d2fc20397c..bed192b085df 100644 }; diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts new file mode 100644 -index 000000000000..76dd97513a20 +index 000000000..76dd97513 --- /dev/null +++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts @@ -0,0 +1,660 @@ @@ -4711,7 +4711,7 @@ index 000000000000..76dd97513a20 +}; diff --git a/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi new file mode 100644 -index 000000000000..ebf73b789b4a +index 000000000..ebf73b789 --- /dev/null +++ b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi @@ -0,0 +1,205 @@ @@ -4921,10 +4921,10 @@ index 000000000000..ebf73b789b4a + status = "disabled"; +}; diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi -index 3b60297af7f6..05ef7089868f 100644 +index 21294f775..9ef2696b7 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi -@@ -322,6 +322,7 @@ aon_intr: interrupt-controller@7ef00100 { +@@ -323,6 +323,7 @@ aon_intr: interrupt-controller@7ef00100 { interrupts = ; interrupt-controller; #interrupt-cells = <1>; @@ -4932,7 +4932,7 @@ index 3b60297af7f6..05ef7089868f 100644 }; hdmi0: hdmi@7ef00700 { -@@ -334,7 +335,8 @@ hdmi0: hdmi@7ef00700 { +@@ -335,7 +336,8 @@ hdmi0: hdmi@7ef00700 { <0x7ef01f00 0x400>, <0x7ef00200 0x80>, <0x7ef04300 0x100>, @@ -4942,7 +4942,7 @@ index 3b60297af7f6..05ef7089868f 100644 reg-names = "hdmi", "dvp", "phy", -@@ -343,7 +345,12 @@ hdmi0: hdmi@7ef00700 { +@@ -344,7 +346,12 @@ hdmi0: hdmi@7ef00700 { "metadata", "csc", "cec", @@ -4956,7 +4956,7 @@ index 3b60297af7f6..05ef7089868f 100644 clock-names = "hdmi", "bvb", "audio", "cec"; resets = <&dvp 0>; interrupt-parent = <&aon_intr>; -@@ -352,7 +359,7 @@ hdmi0: hdmi@7ef00700 { +@@ -353,7 +360,7 @@ hdmi0: hdmi@7ef00700 { interrupt-names = "cec-tx", "cec-rx", "cec-low", "wakeup", "hpd-connected", "hpd-removed"; ddc = <&ddc0>; @@ -4965,7 +4965,7 @@ index 3b60297af7f6..05ef7089868f 100644 dma-names = "audio-rx"; status = "disabled"; }; -@@ -375,7 +382,8 @@ hdmi1: hdmi@7ef05700 { +@@ -376,7 +383,8 @@ hdmi1: hdmi@7ef05700 { <0x7ef06f00 0x400>, <0x7ef00280 0x80>, <0x7ef09300 0x100>, @@ -4975,7 +4975,7 @@ index 3b60297af7f6..05ef7089868f 100644 reg-names = "hdmi", "dvp", "phy", -@@ -384,16 +392,21 @@ hdmi1: hdmi@7ef05700 { +@@ -385,16 +393,21 @@ hdmi1: hdmi@7ef05700 { "metadata", "csc", "cec", @@ -4999,7 +4999,7 @@ index 3b60297af7f6..05ef7089868f 100644 dma-names = "audio-rx"; status = "disabled"; }; -@@ -494,14 +507,14 @@ cpu3: cpu@3 { +@@ -495,14 +508,14 @@ cpu3: cpu@3 { scb { compatible = "simple-bus"; #address-cells = <2>; @@ -5018,7 +5018,7 @@ index 3b60297af7f6..05ef7089868f 100644 device_type = "pci"; #address-cells = <3>; #interrupt-cells = <1>; -@@ -515,8 +528,8 @@ pcie0: pcie@7d500000 { +@@ -522,8 +535,8 @@ IRQ_TYPE_LEVEL_HIGH>, msi-controller; msi-parent = <&pcie0>; @@ -5029,7 +5029,7 @@ index 3b60297af7f6..05ef7089868f 100644 /* * The wrapper around the PCIe block has a bug * preventing it from accessing beyond the first 3GB of -@@ -529,7 +542,7 @@ pcie0: pcie@7d500000 { +@@ -536,7 +549,7 @@ IRQ_TYPE_LEVEL_HIGH>, genet: ethernet@7d580000 { compatible = "brcm,bcm2711-genet-v5"; @@ -5038,7 +5038,7 @@ index 3b60297af7f6..05ef7089868f 100644 #address-cells = <0x1>; #size-cells = <0x1>; interrupts = , -@@ -1037,7 +1050,7 @@ &cma { +@@ -1046,7 +1059,7 @@ &cma { alloc-ranges = <0x0 0x00000000 0x40000000>; }; @@ -5047,7 +5047,7 @@ index 3b60297af7f6..05ef7089868f 100644 compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; interrupts = ; }; -@@ -1093,8 +1106,3 @@ &uart1 { +@@ -1102,8 +1115,3 @@ &uart1 { &usb { interrupts = ; }; @@ -5058,7 +5058,7 @@ index 3b60297af7f6..05ef7089868f 100644 -}; diff --git a/arch/arm/boot/dts/bcm271x-rpi-bt.dtsi b/arch/arm/boot/dts/bcm271x-rpi-bt.dtsi new file mode 100644 -index 000000000000..6b9b79f74cf3 +index 000000000..6b9b79f74 --- /dev/null +++ b/arch/arm/boot/dts/bcm271x-rpi-bt.dtsi @@ -0,0 +1,26 @@ @@ -5089,7 +5089,7 @@ index 000000000000..6b9b79f74cf3 + }; +}; diff --git a/arch/arm/boot/dts/bcm2835-common.dtsi b/arch/arm/boot/dts/bcm2835-common.dtsi -index c25e797b9060..06d8c3882cb7 100644 +index c25e797b9..06d8c3882 100644 --- a/arch/arm/boot/dts/bcm2835-common.dtsi +++ b/arch/arm/boot/dts/bcm2835-common.dtsi @@ -124,12 +124,14 @@ hdmi: hdmi@7e902000 { @@ -5109,7 +5109,7 @@ index c25e797b9060..06d8c3882cb7 100644 status = "disabled"; }; diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -index 40b9405f1a8e..d2384d8e8555 100644 +index 40b9405f1..d2384d8e8 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts @@ -126,3 +126,8 @@ &uart0 { @@ -5122,7 +5122,7 @@ index 40b9405f1a8e..d2384d8e8555 100644 + pinctrl-1 = <&i2c0_gpio28>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts -index 11edb581dbaf..4ceca674b752 100644 +index 11edb581d..4ceca674b 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-a.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts @@ -121,3 +121,10 @@ &uart0 { @@ -5137,7 +5137,7 @@ index 11edb581dbaf..4ceca674b752 100644 + pinctrl-1 = <&i2c0_gpio0>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -index 1b435c64bd9c..8f2d10d82fa1 100644 +index 1b435c64b..8f2d10d82 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts @@ -128,3 +128,8 @@ &uart0 { @@ -5150,7 +5150,7 @@ index 1b435c64bd9c..8f2d10d82fa1 100644 + pinctrl-1 = <&i2c0_gpio28>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -index a23c25c00eea..547c88a3ae9f 100644 +index a23c25c00..547c88a3a 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts @@ -121,3 +121,10 @@ &uart0 { @@ -5165,7 +5165,7 @@ index a23c25c00eea..547c88a3ae9f 100644 + pinctrl-1 = <&i2c0_gpio0>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts -index 1b63d6b19750..073fc99ef8a2 100644 +index 1b63d6b19..073fc99ef 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts @@ -116,3 +116,10 @@ &uart0 { @@ -5180,7 +5180,7 @@ index 1b63d6b19750..073fc99ef8a2 100644 + pinctrl-1 = <&i2c0_gpio0>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts b/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts -index a75c882e6575..95564c93a645 100644 +index a75c882e6..95564c93a 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts @@ -95,3 +95,8 @@ &uart0 { @@ -5193,7 +5193,7 @@ index a75c882e6575..95564c93a645 100644 + pinctrl-1 = <&i2c0_gpio28>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts -index 33b2b77aa47d..3ea5c7e6be54 100644 +index 33b2b77aa..3ea5c7e6b 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts @@ -149,3 +149,8 @@ &uart1 { @@ -5206,7 +5206,7 @@ index 33b2b77aa47d..3ea5c7e6be54 100644 + pinctrl-1 = <&i2c0_gpio28>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts -index 6f9b3a908f28..a0eabab12c99 100644 +index 6f9b3a908..a0eabab12 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts @@ -117,3 +117,8 @@ &uart0 { @@ -5219,7 +5219,7 @@ index 6f9b3a908f28..a0eabab12c99 100644 + pinctrl-1 = <&i2c0_gpio28>; +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 87ddcad76083..edc55bba5ff4 100644 +index 87ddcad76..edc55bba5 100644 --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi @@ -19,6 +19,11 @@ firmware: firmware { @@ -5267,7 +5267,7 @@ index 87ddcad76083..edc55bba5ff4 100644 power-domains = <&power RPI_POWER_DOMAIN_VEC>; status = "okay"; diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi -index 0549686134ea..2ea891228ea0 100644 +index 054968613..2ea891228 100644 --- a/arch/arm/boot/dts/bcm2835.dtsi +++ b/arch/arm/boot/dts/bcm2835.dtsi @@ -19,7 +19,7 @@ cpu@0 { @@ -5280,7 +5280,7 @@ index 0549686134ea..2ea891228ea0 100644 arm-pmu { diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -index d8af8eeac7b6..bf22b74359d8 100644 +index d8af8eeac..bf22b7435 100644 --- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts @@ -128,3 +128,8 @@ &uart0 { @@ -5293,7 +5293,7 @@ index d8af8eeac7b6..bf22b74359d8 100644 + pinctrl-1 = <&i2c0_gpio28>; +}; diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts -index 77099a7871b0..9529c0475673 100644 +index 77099a787..9529c0475 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts @@ -178,3 +178,8 @@ &uart1 { @@ -5306,7 +5306,7 @@ index 77099a7871b0..9529c0475673 100644 + pinctrl-1 = <&i2c0_gpio44>; +}; diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts -index 61010266ca9a..40cb269aed0f 100644 +index 61010266c..40cb269ae 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts @@ -181,3 +181,8 @@ &uart1 { @@ -5319,7 +5319,7 @@ index 61010266ca9a..40cb269aed0f 100644 + pinctrl-1 = <&i2c0_gpio44>; +}; diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -index dd4a48604097..8f16b6b3fe08 100644 +index dd4a48604..8f16b6b3f 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts @@ -174,3 +174,8 @@ &sdhost { @@ -5332,7 +5332,7 @@ index dd4a48604097..8f16b6b3fe08 100644 + pinctrl-1 = <&i2c0_gpio44>; +}; diff --git a/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts b/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts -index 588d9411ceb6..dde209ade51b 100644 +index 588d9411c..dde209ade 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts @@ -94,3 +94,8 @@ &uart0 { @@ -5346,7 +5346,7 @@ index 588d9411ceb6..dde209ade51b 100644 +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi b/arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi new file mode 100644 -index 000000000000..55237d03ed94 +index 000000000..55237d03e --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-cam1-regulator.dtsi @@ -0,0 +1,10 @@ @@ -5362,7 +5362,7 @@ index 000000000000..55237d03ed94 +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi b/arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi new file mode 100644 -index 000000000000..6e4ce8622b47 +index 000000000..6e4ce8622 --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi @@ -0,0 +1,4 @@ @@ -5372,7 +5372,7 @@ index 000000000000..6e4ce8622b47 +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi b/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi new file mode 100644 -index 000000000000..6938f4daacdc +index 000000000..6938f4daa --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi @@ -0,0 +1,4 @@ @@ -5382,7 +5382,7 @@ index 000000000000..6938f4daacdc +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi b/arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi new file mode 100644 -index 000000000000..b37037437bee +index 000000000..b37037437 --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi @@ -0,0 +1,4 @@ @@ -5392,7 +5392,7 @@ index 000000000000..b37037437bee +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_28.dtsi b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_28.dtsi new file mode 100644 -index 000000000000..38f0074bce3f +index 000000000..38f0074bc --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_28.dtsi @@ -0,0 +1,4 @@ @@ -5402,7 +5402,7 @@ index 000000000000..38f0074bce3f +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi new file mode 100644 -index 000000000000..119946d878db +index 000000000..119946d87 --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi @@ -0,0 +1,4 @@ @@ -5411,10 +5411,10 @@ index 000000000000..119946d878db + pinctrl-1 = <&i2c0_gpio44>; +}; diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index a3e06b680947..06d04cde52b9 100644 +index c113661a6..62d7ee513 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -334,7 +334,7 @@ spi: spi@7e204000 { +@@ -336,7 +336,7 @@ spi: spi@7e204000 { status = "disabled"; }; @@ -5423,7 +5423,7 @@ index a3e06b680947..06d04cde52b9 100644 compatible = "brcm,bcm2835-i2c"; reg = <0x7e205000 0x200>; interrupts = <2 21>; -@@ -344,6 +344,30 @@ i2c0: i2c@7e205000 { +@@ -346,6 +346,30 @@ i2c0: i2c@7e205000 { status = "disabled"; }; @@ -5456,7 +5456,7 @@ index a3e06b680947..06d04cde52b9 100644 reg = <0x7e208000 0x8c>; diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile new file mode 100644 -index 000000000000..44aedc149ff0 +index 000000000..44aedc149 --- /dev/null +++ b/arch/arm/boot/dts/overlays/Makefile @@ -0,0 +1,248 @@ @@ -5710,7 +5710,7 @@ index 000000000000..44aedc149ff0 +clean-files := *.dtbo diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README new file mode 100644 -index 000000000000..eb2c9adfb1a8 +index 000000000..eb2c9adfb --- /dev/null +++ b/arch/arm/boot/dts/overlays/README @@ -0,0 +1,3530 @@ @@ -9246,7 +9246,7 @@ index 000000000000..eb2c9adfb1a8 +http://www.raspberrypi.org/documentation/configuration/device-tree.md diff --git a/arch/arm/boot/dts/overlays/act-led-overlay.dts b/arch/arm/boot/dts/overlays/act-led-overlay.dts new file mode 100644 -index 000000000000..2f4bbb407f89 +index 000000000..2f4bbb407 --- /dev/null +++ b/arch/arm/boot/dts/overlays/act-led-overlay.dts @@ -0,0 +1,27 @@ @@ -9279,7 +9279,7 @@ index 000000000000..2f4bbb407f89 +}; diff --git a/arch/arm/boot/dts/overlays/adafruit18-overlay.dts b/arch/arm/boot/dts/overlays/adafruit18-overlay.dts new file mode 100644 -index 000000000000..e1ce94a8cd3e +index 000000000..e1ce94a8c --- /dev/null +++ b/arch/arm/boot/dts/overlays/adafruit18-overlay.dts @@ -0,0 +1,55 @@ @@ -9340,7 +9340,7 @@ index 000000000000..e1ce94a8cd3e +}; diff --git a/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts new file mode 100644 -index 000000000000..298488e19156 +index 000000000..298488e19 --- /dev/null +++ b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts @@ -0,0 +1,40 @@ @@ -9386,7 +9386,7 @@ index 000000000000..298488e19156 +}; diff --git a/arch/arm/boot/dts/overlays/adau7002-simple-overlay.dts b/arch/arm/boot/dts/overlays/adau7002-simple-overlay.dts new file mode 100644 -index 000000000000..5fed769d2526 +index 000000000..5fed769d2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/adau7002-simple-overlay.dts @@ -0,0 +1,52 @@ @@ -9444,7 +9444,7 @@ index 000000000000..5fed769d2526 +}; diff --git a/arch/arm/boot/dts/overlays/ads1015-overlay.dts b/arch/arm/boot/dts/overlays/ads1015-overlay.dts new file mode 100644 -index 000000000000..dc1764613a8b +index 000000000..dc1764613 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ads1015-overlay.dts @@ -0,0 +1,98 @@ @@ -9548,7 +9548,7 @@ index 000000000000..dc1764613a8b +}; diff --git a/arch/arm/boot/dts/overlays/ads1115-overlay.dts b/arch/arm/boot/dts/overlays/ads1115-overlay.dts new file mode 100644 -index 000000000000..e44ced704ee2 +index 000000000..e44ced704 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ads1115-overlay.dts @@ -0,0 +1,103 @@ @@ -9657,7 +9657,7 @@ index 000000000000..e44ced704ee2 +}; diff --git a/arch/arm/boot/dts/overlays/ads7846-overlay.dts b/arch/arm/boot/dts/overlays/ads7846-overlay.dts new file mode 100644 -index 000000000000..1c5c9b6bb6ff +index 000000000..1c5c9b6bb --- /dev/null +++ b/arch/arm/boot/dts/overlays/ads7846-overlay.dts @@ -0,0 +1,89 @@ @@ -9752,7 +9752,7 @@ index 000000000000..1c5c9b6bb6ff +}; diff --git a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts new file mode 100644 -index 000000000000..5d85dfd0595c +index 000000000..5d85dfd05 --- /dev/null +++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts @@ -0,0 +1,65 @@ @@ -9823,7 +9823,7 @@ index 000000000000..5d85dfd0595c +}; diff --git a/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts b/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts new file mode 100644 -index 000000000000..ea392e886984 +index 000000000..ea392e886 --- /dev/null +++ b/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts @@ -0,0 +1,37 @@ @@ -9866,7 +9866,7 @@ index 000000000000..ea392e886984 +}; diff --git a/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts new file mode 100644 -index 000000000000..82f9b3734fb1 +index 000000000..82f9b3734 --- /dev/null +++ b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts @@ -0,0 +1,49 @@ @@ -9921,7 +9921,7 @@ index 000000000000..82f9b3734fb1 +}; diff --git a/arch/arm/boot/dts/overlays/allo-boss-dac-pcm512x-audio-overlay.dts b/arch/arm/boot/dts/overlays/allo-boss-dac-pcm512x-audio-overlay.dts new file mode 100644 -index 000000000000..873cb2fab52b +index 000000000..873cb2fab --- /dev/null +++ b/arch/arm/boot/dts/overlays/allo-boss-dac-pcm512x-audio-overlay.dts @@ -0,0 +1,59 @@ @@ -9986,7 +9986,7 @@ index 000000000000..873cb2fab52b +}; diff --git a/arch/arm/boot/dts/overlays/allo-boss2-dac-audio-overlay.dts b/arch/arm/boot/dts/overlays/allo-boss2-dac-audio-overlay.dts new file mode 100644 -index 000000000000..a6adfb495eb9 +index 000000000..a6adfb495 --- /dev/null +++ b/arch/arm/boot/dts/overlays/allo-boss2-dac-audio-overlay.dts @@ -0,0 +1,57 @@ @@ -10049,7 +10049,7 @@ index 000000000000..a6adfb495eb9 + diff --git a/arch/arm/boot/dts/overlays/allo-digione-overlay.dts b/arch/arm/boot/dts/overlays/allo-digione-overlay.dts new file mode 100644 -index 000000000000..ea018ace34d4 +index 000000000..ea018ace3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/allo-digione-overlay.dts @@ -0,0 +1,44 @@ @@ -10099,7 +10099,7 @@ index 000000000000..ea018ace34d4 +}; diff --git a/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts b/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts new file mode 100644 -index 000000000000..b25fd681f09f +index 000000000..b25fd681f --- /dev/null +++ b/arch/arm/boot/dts/overlays/allo-katana-dac-audio-overlay.dts @@ -0,0 +1,57 @@ @@ -10162,7 +10162,7 @@ index 000000000000..b25fd681f09f + diff --git a/arch/arm/boot/dts/overlays/allo-piano-dac-pcm512x-audio-overlay.dts b/arch/arm/boot/dts/overlays/allo-piano-dac-pcm512x-audio-overlay.dts new file mode 100644 -index 000000000000..bfc66da6295a +index 000000000..bfc66da62 --- /dev/null +++ b/arch/arm/boot/dts/overlays/allo-piano-dac-pcm512x-audio-overlay.dts @@ -0,0 +1,54 @@ @@ -10222,7 +10222,7 @@ index 000000000000..bfc66da6295a +}; diff --git a/arch/arm/boot/dts/overlays/allo-piano-dac-plus-pcm512x-audio-overlay.dts b/arch/arm/boot/dts/overlays/allo-piano-dac-plus-pcm512x-audio-overlay.dts new file mode 100644 -index 000000000000..d47a35def4f7 +index 000000000..d47a35def --- /dev/null +++ b/arch/arm/boot/dts/overlays/allo-piano-dac-plus-pcm512x-audio-overlay.dts @@ -0,0 +1,57 @@ @@ -10285,7 +10285,7 @@ index 000000000000..d47a35def4f7 +}; diff --git a/arch/arm/boot/dts/overlays/anyspi-overlay.dts b/arch/arm/boot/dts/overlays/anyspi-overlay.dts new file mode 100755 -index 000000000000..87523dcca318 +index 000000000..87523dcca --- /dev/null +++ b/arch/arm/boot/dts/overlays/anyspi-overlay.dts @@ -0,0 +1,205 @@ @@ -10496,7 +10496,7 @@ index 000000000000..87523dcca318 +}; diff --git a/arch/arm/boot/dts/overlays/apds9960-overlay.dts b/arch/arm/boot/dts/overlays/apds9960-overlay.dts new file mode 100644 -index 000000000000..c216932278ab +index 000000000..c21693227 --- /dev/null +++ b/arch/arm/boot/dts/overlays/apds9960-overlay.dts @@ -0,0 +1,57 @@ @@ -10559,7 +10559,7 @@ index 000000000000..c216932278ab + diff --git a/arch/arm/boot/dts/overlays/applepi-dac-overlay.dts b/arch/arm/boot/dts/overlays/applepi-dac-overlay.dts new file mode 100644 -index 000000000000..4769296ec9d6 +index 000000000..4769296ec --- /dev/null +++ b/arch/arm/boot/dts/overlays/applepi-dac-overlay.dts @@ -0,0 +1,57 @@ @@ -10622,7 +10622,7 @@ index 000000000000..4769296ec9d6 +*/ diff --git a/arch/arm/boot/dts/overlays/at86rf233-overlay.dts b/arch/arm/boot/dts/overlays/at86rf233-overlay.dts new file mode 100644 -index 000000000000..5a3f4571ee78 +index 000000000..5a3f4571e --- /dev/null +++ b/arch/arm/boot/dts/overlays/at86rf233-overlay.dts @@ -0,0 +1,57 @@ @@ -10685,7 +10685,7 @@ index 000000000000..5a3f4571ee78 +}; diff --git a/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts new file mode 100644 -index 000000000000..57a66eac8e9b +index 000000000..57a66eac8 --- /dev/null +++ b/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts @@ -0,0 +1,60 @@ @@ -10751,7 +10751,7 @@ index 000000000000..57a66eac8e9b +}; diff --git a/arch/arm/boot/dts/overlays/audioinjector-isolated-soundcard-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-isolated-soundcard-overlay.dts new file mode 100644 -index 000000000000..63e05cf9665d +index 000000000..63e05cf96 --- /dev/null +++ b/arch/arm/boot/dts/overlays/audioinjector-isolated-soundcard-overlay.dts @@ -0,0 +1,55 @@ @@ -10812,7 +10812,7 @@ index 000000000000..63e05cf9665d +}; diff --git a/arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts new file mode 100644 -index 000000000000..fb4a4678a17a +index 000000000..fb4a4678a --- /dev/null +++ b/arch/arm/boot/dts/overlays/audioinjector-ultra-overlay.dts @@ -0,0 +1,71 @@ @@ -10889,7 +10889,7 @@ index 000000000000..fb4a4678a17a +}; diff --git a/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts new file mode 100644 -index 000000000000..68f4427d86c3 +index 000000000..68f4427d8 --- /dev/null +++ b/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts @@ -0,0 +1,39 @@ @@ -10934,7 +10934,7 @@ index 000000000000..68f4427d86c3 +}; diff --git a/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts b/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts new file mode 100644 -index 000000000000..81af26374d92 +index 000000000..81af26374 --- /dev/null +++ b/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts @@ -0,0 +1,82 @@ @@ -11022,7 +11022,7 @@ index 000000000000..81af26374d92 +}; diff --git a/arch/arm/boot/dts/overlays/audremap-overlay.dts b/arch/arm/boot/dts/overlays/audremap-overlay.dts new file mode 100644 -index 000000000000..7324890ead86 +index 000000000..7324890ea --- /dev/null +++ b/arch/arm/boot/dts/overlays/audremap-overlay.dts @@ -0,0 +1,42 @@ @@ -11070,7 +11070,7 @@ index 000000000000..7324890ead86 +}; diff --git a/arch/arm/boot/dts/overlays/balena-fin-overlay.dts b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts new file mode 100644 -index 000000000000..e7ead7cdf5f5 +index 000000000..e7ead7cdf --- /dev/null +++ b/arch/arm/boot/dts/overlays/balena-fin-overlay.dts @@ -0,0 +1,125 @@ @@ -11201,7 +11201,7 @@ index 000000000000..e7ead7cdf5f5 +}; diff --git a/arch/arm/boot/dts/overlays/cap1106-overlay.dts b/arch/arm/boot/dts/overlays/cap1106-overlay.dts new file mode 100644 -index 000000000000..0a585e725f84 +index 000000000..0a585e725 --- /dev/null +++ b/arch/arm/boot/dts/overlays/cap1106-overlay.dts @@ -0,0 +1,52 @@ @@ -11259,7 +11259,7 @@ index 000000000000..0a585e725f84 +}; diff --git a/arch/arm/boot/dts/overlays/chipdip-dac-overlay.dts b/arch/arm/boot/dts/overlays/chipdip-dac-overlay.dts new file mode 100644 -index 000000000000..09c7417b4707 +index 000000000..09c7417b4 --- /dev/null +++ b/arch/arm/boot/dts/overlays/chipdip-dac-overlay.dts @@ -0,0 +1,46 @@ @@ -11311,7 +11311,7 @@ index 000000000000..09c7417b4707 +}; diff --git a/arch/arm/boot/dts/overlays/cma-overlay.dts b/arch/arm/boot/dts/overlays/cma-overlay.dts new file mode 100644 -index 000000000000..1d87c599f909 +index 000000000..1d87c599f --- /dev/null +++ b/arch/arm/boot/dts/overlays/cma-overlay.dts @@ -0,0 +1,36 @@ @@ -11353,7 +11353,7 @@ index 000000000000..1d87c599f909 +}; diff --git a/arch/arm/boot/dts/overlays/dht11-overlay.dts b/arch/arm/boot/dts/overlays/dht11-overlay.dts new file mode 100644 -index 000000000000..6feeeb402493 +index 000000000..6feeeb402 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dht11-overlay.dts @@ -0,0 +1,41 @@ @@ -11400,7 +11400,7 @@ index 000000000000..6feeeb402493 +}; diff --git a/arch/arm/boot/dts/overlays/dionaudio-loco-overlay.dts b/arch/arm/boot/dts/overlays/dionaudio-loco-overlay.dts new file mode 100644 -index 000000000000..d863e5c167cc +index 000000000..d863e5c16 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dionaudio-loco-overlay.dts @@ -0,0 +1,39 @@ @@ -11445,7 +11445,7 @@ index 000000000000..d863e5c167cc +}; diff --git a/arch/arm/boot/dts/overlays/dionaudio-loco-v2-overlay.dts b/arch/arm/boot/dts/overlays/dionaudio-loco-v2-overlay.dts new file mode 100644 -index 000000000000..dfb8922a654b +index 000000000..dfb8922a6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dionaudio-loco-v2-overlay.dts @@ -0,0 +1,49 @@ @@ -11500,7 +11500,7 @@ index 000000000000..dfb8922a654b +}; diff --git a/arch/arm/boot/dts/overlays/disable-bt-overlay.dts b/arch/arm/boot/dts/overlays/disable-bt-overlay.dts new file mode 100644 -index 000000000000..d5a66e5d76a9 +index 000000000..d5a66e5d7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/disable-bt-overlay.dts @@ -0,0 +1,64 @@ @@ -11570,7 +11570,7 @@ index 000000000000..d5a66e5d76a9 +}; diff --git a/arch/arm/boot/dts/overlays/disable-wifi-overlay.dts b/arch/arm/boot/dts/overlays/disable-wifi-overlay.dts new file mode 100644 -index 000000000000..75e046463900 +index 000000000..75e046463 --- /dev/null +++ b/arch/arm/boot/dts/overlays/disable-wifi-overlay.dts @@ -0,0 +1,20 @@ @@ -11596,7 +11596,7 @@ index 000000000000..75e046463900 +}; diff --git a/arch/arm/boot/dts/overlays/dpi18-overlay.dts b/arch/arm/boot/dts/overlays/dpi18-overlay.dts new file mode 100644 -index 000000000000..4abe5be744db +index 000000000..4abe5be74 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dpi18-overlay.dts @@ -0,0 +1,39 @@ @@ -11641,7 +11641,7 @@ index 000000000000..4abe5be744db +}; diff --git a/arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts b/arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts new file mode 100644 -index 000000000000..50c88a1ed299 +index 000000000..50c88a1ed --- /dev/null +++ b/arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts @@ -0,0 +1,26 @@ @@ -11673,7 +11673,7 @@ index 000000000000..50c88a1ed299 +}; diff --git a/arch/arm/boot/dts/overlays/dpi24-overlay.dts b/arch/arm/boot/dts/overlays/dpi24-overlay.dts new file mode 100644 -index 000000000000..44335cc81277 +index 000000000..44335cc81 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dpi24-overlay.dts @@ -0,0 +1,39 @@ @@ -11718,7 +11718,7 @@ index 000000000000..44335cc81277 +}; diff --git a/arch/arm/boot/dts/overlays/draws-overlay.dts b/arch/arm/boot/dts/overlays/draws-overlay.dts new file mode 100644 -index 000000000000..d18187d7f343 +index 000000000..d18187d7f --- /dev/null +++ b/arch/arm/boot/dts/overlays/draws-overlay.dts @@ -0,0 +1,208 @@ @@ -11932,7 +11932,7 @@ index 000000000000..d18187d7f343 +}; diff --git a/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts b/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts new file mode 100644 -index 000000000000..78c5e9f85048 +index 000000000..78c5e9f85 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts @@ -0,0 +1,14 @@ @@ -11952,7 +11952,7 @@ index 000000000000..78c5e9f85048 +}; diff --git a/arch/arm/boot/dts/overlays/dwc2-overlay.dts b/arch/arm/boot/dts/overlays/dwc2-overlay.dts new file mode 100644 -index 000000000000..0d83e344ad97 +index 000000000..0d83e344a --- /dev/null +++ b/arch/arm/boot/dts/overlays/dwc2-overlay.dts @@ -0,0 +1,26 @@ @@ -11984,7 +11984,7 @@ index 000000000000..0d83e344ad97 +}; diff --git a/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts b/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts new file mode 100644 -index 000000000000..f82b4d0e5047 +index 000000000..f82b4d0e5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts @@ -0,0 +1,10 @@ @@ -12000,7 +12000,7 @@ index 000000000000..f82b4d0e5047 +#include "edt-ft5406.dtsi" diff --git a/arch/arm/boot/dts/overlays/edt-ft5406.dtsi b/arch/arm/boot/dts/overlays/edt-ft5406.dtsi new file mode 100644 -index 000000000000..0473ff17f19f +index 000000000..0473ff17f --- /dev/null +++ b/arch/arm/boot/dts/overlays/edt-ft5406.dtsi @@ -0,0 +1,55 @@ @@ -12061,7 +12061,7 @@ index 000000000000..0473ff17f19f +}; diff --git a/arch/arm/boot/dts/overlays/enc28j60-overlay.dts b/arch/arm/boot/dts/overlays/enc28j60-overlay.dts new file mode 100644 -index 000000000000..7af5c2e607ea +index 000000000..7af5c2e60 --- /dev/null +++ b/arch/arm/boot/dts/overlays/enc28j60-overlay.dts @@ -0,0 +1,53 @@ @@ -12120,7 +12120,7 @@ index 000000000000..7af5c2e607ea +}; diff --git a/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts b/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts new file mode 100644 -index 000000000000..17cb5b8fa485 +index 000000000..17cb5b8fa --- /dev/null +++ b/arch/arm/boot/dts/overlays/enc28j60-spi2-overlay.dts @@ -0,0 +1,47 @@ @@ -12173,7 +12173,7 @@ index 000000000000..17cb5b8fa485 +}; diff --git a/arch/arm/boot/dts/overlays/exc3000-overlay.dts b/arch/arm/boot/dts/overlays/exc3000-overlay.dts new file mode 100644 -index 000000000000..6f087fb20661 +index 000000000..6f087fb20 --- /dev/null +++ b/arch/arm/boot/dts/overlays/exc3000-overlay.dts @@ -0,0 +1,48 @@ @@ -12227,7 +12227,7 @@ index 000000000000..6f087fb20661 +}; diff --git a/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts b/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts new file mode 100644 -index 000000000000..743f14ae5768 +index 000000000..743f14ae5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts @@ -0,0 +1,70 @@ @@ -12303,7 +12303,7 @@ index 000000000000..743f14ae5768 +}; diff --git a/arch/arm/boot/dts/overlays/fsm-demo-overlay.dts b/arch/arm/boot/dts/overlays/fsm-demo-overlay.dts new file mode 100644 -index 000000000000..e9944f5cd258 +index 000000000..e9944f5cd --- /dev/null +++ b/arch/arm/boot/dts/overlays/fsm-demo-overlay.dts @@ -0,0 +1,104 @@ @@ -12413,7 +12413,7 @@ index 000000000000..e9944f5cd258 +}; diff --git a/arch/arm/boot/dts/overlays/ghost-amp-overlay.dts b/arch/arm/boot/dts/overlays/ghost-amp-overlay.dts new file mode 100644 -index 000000000000..7509e00679c8 +index 000000000..7509e0067 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ghost-amp-overlay.dts @@ -0,0 +1,145 @@ @@ -12564,7 +12564,7 @@ index 000000000000..7509e00679c8 +}; diff --git a/arch/arm/boot/dts/overlays/goodix-overlay.dts b/arch/arm/boot/dts/overlays/goodix-overlay.dts new file mode 100644 -index 000000000000..8571527de49a +index 000000000..8571527de --- /dev/null +++ b/arch/arm/boot/dts/overlays/goodix-overlay.dts @@ -0,0 +1,46 @@ @@ -12616,7 +12616,7 @@ index 000000000000..8571527de49a +}; diff --git a/arch/arm/boot/dts/overlays/googlevoicehat-soundcard-overlay.dts b/arch/arm/boot/dts/overlays/googlevoicehat-soundcard-overlay.dts new file mode 100644 -index 000000000000..e443be1f9a0e +index 000000000..e443be1f9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/googlevoicehat-soundcard-overlay.dts @@ -0,0 +1,49 @@ @@ -12671,7 +12671,7 @@ index 000000000000..e443be1f9a0e +}; diff --git a/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts b/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts new file mode 100644 -index 000000000000..77a7bbb41e3b +index 000000000..77a7bbb41 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-fan-overlay.dts @@ -0,0 +1,79 @@ @@ -12756,7 +12756,7 @@ index 000000000000..77a7bbb41e3b +}; diff --git a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts new file mode 100644 -index 000000000000..162b6ce07dc9 +index 000000000..162b6ce07 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts @@ -0,0 +1,49 @@ @@ -12811,7 +12811,7 @@ index 000000000000..162b6ce07dc9 +}; diff --git a/arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts new file mode 100644 -index 000000000000..3625431b7560 +index 000000000..3625431b7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-ir-tx-overlay.dts @@ -0,0 +1,36 @@ @@ -12853,7 +12853,7 @@ index 000000000000..3625431b7560 +}; diff --git a/arch/arm/boot/dts/overlays/gpio-key-overlay.dts b/arch/arm/boot/dts/overlays/gpio-key-overlay.dts new file mode 100644 -index 000000000000..2e7253d1d0ab +index 000000000..2e7253d1d --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-key-overlay.dts @@ -0,0 +1,48 @@ @@ -12907,7 +12907,7 @@ index 000000000000..2e7253d1d0ab +}; diff --git a/arch/arm/boot/dts/overlays/gpio-led-overlay.dts b/arch/arm/boot/dts/overlays/gpio-led-overlay.dts new file mode 100755 -index 000000000000..d8e9d53f1b61 +index 000000000..d8e9d53f1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-led-overlay.dts @@ -0,0 +1,97 @@ @@ -13010,7 +13010,7 @@ index 000000000000..d8e9d53f1b61 + diff --git a/arch/arm/boot/dts/overlays/gpio-no-bank0-irq-overlay.dts b/arch/arm/boot/dts/overlays/gpio-no-bank0-irq-overlay.dts new file mode 100755 -index 000000000000..96cbe80820b7 +index 000000000..96cbe8082 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-no-bank0-irq-overlay.dts @@ -0,0 +1,14 @@ @@ -13030,7 +13030,7 @@ index 000000000000..96cbe80820b7 +}; diff --git a/arch/arm/boot/dts/overlays/gpio-no-irq-overlay.dts b/arch/arm/boot/dts/overlays/gpio-no-irq-overlay.dts new file mode 100644 -index 000000000000..55f9bff3a8f6 +index 000000000..55f9bff3a --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-no-irq-overlay.dts @@ -0,0 +1,14 @@ @@ -13050,7 +13050,7 @@ index 000000000000..55f9bff3a8f6 +}; diff --git a/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts new file mode 100644 -index 000000000000..416aa2bc797a +index 000000000..416aa2bc7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts @@ -0,0 +1,37 @@ @@ -13093,7 +13093,7 @@ index 000000000000..416aa2bc797a +}; diff --git a/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts b/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts new file mode 100644 -index 000000000000..da148064aedd +index 000000000..da148064a --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-shutdown-overlay.dts @@ -0,0 +1,86 @@ @@ -13185,7 +13185,7 @@ index 000000000000..da148064aedd +}; diff --git a/arch/arm/boot/dts/overlays/hd44780-lcd-overlay.dts b/arch/arm/boot/dts/overlays/hd44780-lcd-overlay.dts new file mode 100644 -index 000000000000..ee726669ff51 +index 000000000..ee726669f --- /dev/null +++ b/arch/arm/boot/dts/overlays/hd44780-lcd-overlay.dts @@ -0,0 +1,46 @@ @@ -13237,7 +13237,7 @@ index 000000000000..ee726669ff51 +}; diff --git a/arch/arm/boot/dts/overlays/hdmi-backlight-hwhack-gpio-overlay.dts b/arch/arm/boot/dts/overlays/hdmi-backlight-hwhack-gpio-overlay.dts new file mode 100644 -index 000000000000..50b9a2665c80 +index 000000000..50b9a2665 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hdmi-backlight-hwhack-gpio-overlay.dts @@ -0,0 +1,47 @@ @@ -13290,7 +13290,7 @@ index 000000000000..50b9a2665c80 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts new file mode 100644 -index 000000000000..142518ab348b +index 000000000..142518ab3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts @@ -0,0 +1,39 @@ @@ -13335,7 +13335,7 @@ index 000000000000..142518ab348b +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts new file mode 100644 -index 000000000000..ebdef55d6110 +index 000000000..ebdef55d6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-amp100-overlay.dts @@ -0,0 +1,64 @@ @@ -13405,7 +13405,7 @@ index 000000000000..ebdef55d6110 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts new file mode 100644 -index 000000000000..ea8a6c8f36c0 +index 000000000..ea8a6c8f3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts @@ -0,0 +1,34 @@ @@ -13445,7 +13445,7 @@ index 000000000000..ea8a6c8f36c0 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts new file mode 100644 -index 000000000000..ff19015ba656 +index 000000000..ff19015ba --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts @@ -0,0 +1,65 @@ @@ -13516,7 +13516,7 @@ index 000000000000..ff19015ba656 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts new file mode 100644 -index 000000000000..540563dec10f +index 000000000..540563dec --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadc-overlay.dts @@ -0,0 +1,72 @@ @@ -13594,7 +13594,7 @@ index 000000000000..540563dec10f +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts new file mode 100644 -index 000000000000..cafa2ccd7ff7 +index 000000000..cafa2ccd7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusadcpro-overlay.dts @@ -0,0 +1,65 @@ @@ -13665,7 +13665,7 @@ index 000000000000..cafa2ccd7ff7 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplusdsp-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplusdsp-overlay.dts new file mode 100644 -index 000000000000..63432e8b983f +index 000000000..63432e8b9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplusdsp-overlay.dts @@ -0,0 +1,34 @@ @@ -13705,7 +13705,7 @@ index 000000000000..63432e8b983f +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts new file mode 100644 -index 000000000000..c5583e010339 +index 000000000..c5583e010 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplushd-overlay.dts @@ -0,0 +1,106 @@ @@ -13817,7 +13817,7 @@ index 000000000000..c5583e010339 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts new file mode 100644 -index 000000000000..a2309a50e8d8 +index 000000000..a2309a50e --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts @@ -0,0 +1,41 @@ @@ -13864,7 +13864,7 @@ index 000000000000..a2309a50e8d8 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-digi-pro-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-digi-pro-overlay.dts new file mode 100644 -index 000000000000..83de602e76ba +index 000000000..83de602e7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-digi-pro-overlay.dts @@ -0,0 +1,43 @@ @@ -13913,7 +13913,7 @@ index 000000000000..83de602e76ba +}; diff --git a/arch/arm/boot/dts/overlays/highperi-overlay.dts b/arch/arm/boot/dts/overlays/highperi-overlay.dts new file mode 100644 -index 000000000000..46cb76c2d34f +index 000000000..46cb76c2d --- /dev/null +++ b/arch/arm/boot/dts/overlays/highperi-overlay.dts @@ -0,0 +1,63 @@ @@ -13982,7 +13982,7 @@ index 000000000000..46cb76c2d34f +}; diff --git a/arch/arm/boot/dts/overlays/hy28a-overlay.dts b/arch/arm/boot/dts/overlays/hy28a-overlay.dts new file mode 100644 -index 000000000000..5843a5e9c86a +index 000000000..5843a5e9c --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28a-overlay.dts @@ -0,0 +1,93 @@ @@ -14081,7 +14081,7 @@ index 000000000000..5843a5e9c86a +}; diff --git a/arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts b/arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts new file mode 100644 -index 000000000000..95bfb1eadc20 +index 000000000..95bfb1ead --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts @@ -0,0 +1,152 @@ @@ -14239,7 +14239,7 @@ index 000000000000..95bfb1eadc20 +}; diff --git a/arch/arm/boot/dts/overlays/hy28b-overlay.dts b/arch/arm/boot/dts/overlays/hy28b-overlay.dts new file mode 100644 -index 000000000000..9edd0848d555 +index 000000000..9edd0848d --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28b-overlay.dts @@ -0,0 +1,148 @@ @@ -14393,7 +14393,7 @@ index 000000000000..9edd0848d555 +}; diff --git a/arch/arm/boot/dts/overlays/i-sabre-q2m-overlay.dts b/arch/arm/boot/dts/overlays/i-sabre-q2m-overlay.dts new file mode 100644 -index 000000000000..0c4cff354674 +index 000000000..0c4cff354 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i-sabre-q2m-overlay.dts @@ -0,0 +1,39 @@ @@ -14438,7 +14438,7 @@ index 000000000000..0c4cff354674 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts new file mode 100644 -index 000000000000..8204b6b3aef8 +index 000000000..8204b6b3a --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-bcm2708-overlay.dts @@ -0,0 +1,13 @@ @@ -14457,7 +14457,7 @@ index 000000000000..8204b6b3aef8 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts new file mode 100644 -index 000000000000..63231b5d7c0c +index 000000000..63231b5d7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts @@ -0,0 +1,47 @@ @@ -14510,7 +14510,7 @@ index 000000000000..63231b5d7c0c +}; diff --git a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts new file mode 100644 -index 000000000000..112aed91ecb2 +index 000000000..112aed91e --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts @@ -0,0 +1,139 @@ @@ -14655,7 +14655,7 @@ index 000000000000..112aed91ecb2 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts new file mode 100644 -index 000000000000..9bb16465a50e +index 000000000..9bb16465a --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts @@ -0,0 +1,26 @@ @@ -14687,7 +14687,7 @@ index 000000000000..9bb16465a50e +}; diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-common.dtsi b/arch/arm/boot/dts/overlays/i2c-rtc-common.dtsi new file mode 100644 -index 000000000000..7f749fc2d802 +index 000000000..7f749fc2d --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-rtc-common.dtsi @@ -0,0 +1,323 @@ @@ -15016,7 +15016,7 @@ index 000000000000..7f749fc2d802 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts new file mode 100644 -index 000000000000..c83480c1c327 +index 000000000..c83480c1c --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-rtc-gpio-overlay.dts @@ -0,0 +1,31 @@ @@ -15053,7 +15053,7 @@ index 000000000000..c83480c1c327 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts new file mode 100644 -index 000000000000..1eae9e1a5c96 +index 000000000..1eae9e1a5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts @@ -0,0 +1,34 @@ @@ -15093,7 +15093,7 @@ index 000000000000..1eae9e1a5c96 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts new file mode 100755 -index 000000000000..b05b0fa91942 +index 000000000..b05b0fa91 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts @@ -0,0 +1,320 @@ @@ -15419,7 +15419,7 @@ index 000000000000..b05b0fa91942 +}; diff --git a/arch/arm/boot/dts/overlays/i2c0-overlay.dts b/arch/arm/boot/dts/overlays/i2c0-overlay.dts new file mode 100644 -index 000000000000..46bf1bf2dc5c +index 000000000..46bf1bf2d --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c0-overlay.dts @@ -0,0 +1,83 @@ @@ -15508,7 +15508,7 @@ index 000000000000..46bf1bf2dc5c +}; diff --git a/arch/arm/boot/dts/overlays/i2c1-overlay.dts b/arch/arm/boot/dts/overlays/i2c1-overlay.dts new file mode 100644 -index 000000000000..addaed73e665 +index 000000000..addaed73e --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c1-overlay.dts @@ -0,0 +1,44 @@ @@ -15558,7 +15558,7 @@ index 000000000000..addaed73e665 +}; diff --git a/arch/arm/boot/dts/overlays/i2c3-overlay.dts b/arch/arm/boot/dts/overlays/i2c3-overlay.dts new file mode 100644 -index 000000000000..e24a1df21f99 +index 000000000..e24a1df21 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c3-overlay.dts @@ -0,0 +1,36 @@ @@ -15600,7 +15600,7 @@ index 000000000000..e24a1df21f99 +}; diff --git a/arch/arm/boot/dts/overlays/i2c4-overlay.dts b/arch/arm/boot/dts/overlays/i2c4-overlay.dts new file mode 100644 -index 000000000000..14c7f4d1da4c +index 000000000..14c7f4d1d --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c4-overlay.dts @@ -0,0 +1,36 @@ @@ -15642,7 +15642,7 @@ index 000000000000..14c7f4d1da4c +}; diff --git a/arch/arm/boot/dts/overlays/i2c5-overlay.dts b/arch/arm/boot/dts/overlays/i2c5-overlay.dts new file mode 100644 -index 000000000000..7953621112de +index 000000000..795362111 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c5-overlay.dts @@ -0,0 +1,36 @@ @@ -15684,7 +15684,7 @@ index 000000000000..7953621112de +}; diff --git a/arch/arm/boot/dts/overlays/i2c6-overlay.dts b/arch/arm/boot/dts/overlays/i2c6-overlay.dts new file mode 100644 -index 000000000000..555305a7ee1f +index 000000000..555305a7e --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c6-overlay.dts @@ -0,0 +1,36 @@ @@ -15726,7 +15726,7 @@ index 000000000000..555305a7ee1f +}; diff --git a/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts b/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts new file mode 100644 -index 000000000000..cf43094c6ff4 +index 000000000..cf43094c6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts @@ -0,0 +1,18 @@ @@ -15750,7 +15750,7 @@ index 000000000000..cf43094c6ff4 +}; diff --git a/arch/arm/boot/dts/overlays/ilitek251x-overlay.dts b/arch/arm/boot/dts/overlays/ilitek251x-overlay.dts new file mode 100644 -index 000000000000..551aba591d26 +index 000000000..551aba591 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ilitek251x-overlay.dts @@ -0,0 +1,45 @@ @@ -15801,7 +15801,7 @@ index 000000000000..551aba591d26 +}; diff --git a/arch/arm/boot/dts/overlays/imx219-overlay.dts b/arch/arm/boot/dts/overlays/imx219-overlay.dts new file mode 100644 -index 000000000000..0c065bf09f54 +index 000000000..0c065bf09 --- /dev/null +++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts @@ -0,0 +1,115 @@ @@ -15922,7 +15922,7 @@ index 000000000000..0c065bf09f54 +}; diff --git a/arch/arm/boot/dts/overlays/imx290-overlay.dts b/arch/arm/boot/dts/overlays/imx290-overlay.dts new file mode 100644 -index 000000000000..e536aa7f9e33 +index 000000000..e536aa7f9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/imx290-overlay.dts @@ -0,0 +1,32 @@ @@ -15960,7 +15960,7 @@ index 000000000000..e536aa7f9e33 +}; diff --git a/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi b/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi new file mode 100644 -index 000000000000..d4a5ed6dbbcf +index 000000000..d4a5ed6db --- /dev/null +++ b/arch/arm/boot/dts/overlays/imx290_327-overlay.dtsi @@ -0,0 +1,144 @@ @@ -16110,7 +16110,7 @@ index 000000000000..d4a5ed6dbbcf +}; diff --git a/arch/arm/boot/dts/overlays/imx378-overlay.dts b/arch/arm/boot/dts/overlays/imx378-overlay.dts new file mode 100644 -index 000000000000..74c7288d12f5 +index 000000000..74c7288d1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/imx378-overlay.dts @@ -0,0 +1,10 @@ @@ -16126,7 +16126,7 @@ index 000000000000..74c7288d12f5 +}; diff --git a/arch/arm/boot/dts/overlays/imx477-overlay.dts b/arch/arm/boot/dts/overlays/imx477-overlay.dts new file mode 100644 -index 000000000000..ca315d120e6b +index 000000000..ca315d120 --- /dev/null +++ b/arch/arm/boot/dts/overlays/imx477-overlay.dts @@ -0,0 +1,10 @@ @@ -16142,7 +16142,7 @@ index 000000000000..ca315d120e6b +}; diff --git a/arch/arm/boot/dts/overlays/imx477_378-overlay.dtsi b/arch/arm/boot/dts/overlays/imx477_378-overlay.dtsi new file mode 100644 -index 000000000000..bb9a9acdbbd7 +index 000000000..bb9a9acdb --- /dev/null +++ b/arch/arm/boot/dts/overlays/imx477_378-overlay.dtsi @@ -0,0 +1,110 @@ @@ -16258,7 +16258,7 @@ index 000000000000..bb9a9acdbbd7 +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts new file mode 100644 -index 000000000000..9110f5d34298 +index 000000000..9110f5d34 --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts @@ -0,0 +1,42 @@ @@ -16306,7 +16306,7 @@ index 000000000000..9110f5d34298 +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts new file mode 100644 -index 000000000000..24073cadd0ef +index 000000000..24073cadd --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts @@ -0,0 +1,46 @@ @@ -16358,7 +16358,7 @@ index 000000000000..24073cadd0ef +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts new file mode 100644 -index 000000000000..7c70b25e58d7 +index 000000000..7c70b25e5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts @@ -0,0 +1,49 @@ @@ -16413,7 +16413,7 @@ index 000000000000..7c70b25e58d7 +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-digi-wm8804-audio-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-digi-wm8804-audio-overlay.dts new file mode 100644 -index 000000000000..ee54095c869b +index 000000000..ee54095c8 --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-digi-wm8804-audio-overlay.dts @@ -0,0 +1,47 @@ @@ -16466,7 +16466,7 @@ index 000000000000..ee54095c869b +}; diff --git a/arch/arm/boot/dts/overlays/irs1125-overlay.dts b/arch/arm/boot/dts/overlays/irs1125-overlay.dts new file mode 100644 -index 000000000000..e926e18e71fc +index 000000000..e926e18e7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/irs1125-overlay.dts @@ -0,0 +1,85 @@ @@ -16557,7 +16557,7 @@ index 000000000000..e926e18e71fc +}; diff --git a/arch/arm/boot/dts/overlays/jedec-spi-nor-overlay.dts b/arch/arm/boot/dts/overlays/jedec-spi-nor-overlay.dts new file mode 100644 -index 000000000000..585c7dbcdf7f +index 000000000..585c7dbcd --- /dev/null +++ b/arch/arm/boot/dts/overlays/jedec-spi-nor-overlay.dts @@ -0,0 +1,309 @@ @@ -16872,7 +16872,7 @@ index 000000000000..585c7dbcdf7f + diff --git a/arch/arm/boot/dts/overlays/justboom-both-overlay.dts b/arch/arm/boot/dts/overlays/justboom-both-overlay.dts new file mode 100644 -index 000000000000..9c42670631c0 +index 000000000..9c4267063 --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-both-overlay.dts @@ -0,0 +1,65 @@ @@ -16943,7 +16943,7 @@ index 000000000000..9c42670631c0 +}; diff --git a/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts new file mode 100644 -index 000000000000..d00515dca419 +index 000000000..d00515dca --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts @@ -0,0 +1,46 @@ @@ -16995,7 +16995,7 @@ index 000000000000..d00515dca419 +}; diff --git a/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts new file mode 100644 -index 000000000000..e73336029c54 +index 000000000..e73336029 --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts @@ -0,0 +1,41 @@ @@ -17042,7 +17042,7 @@ index 000000000000..e73336029c54 +}; diff --git a/arch/arm/boot/dts/overlays/ltc294x-overlay.dts b/arch/arm/boot/dts/overlays/ltc294x-overlay.dts new file mode 100644 -index 000000000000..6d971f3649ca +index 000000000..6d971f364 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ltc294x-overlay.dts @@ -0,0 +1,86 @@ @@ -17134,7 +17134,7 @@ index 000000000000..6d971f3649ca +}; diff --git a/arch/arm/boot/dts/overlays/max98357a-overlay.dts b/arch/arm/boot/dts/overlays/max98357a-overlay.dts new file mode 100644 -index 000000000000..9e2afb05b7cb +index 000000000..9e2afb05b --- /dev/null +++ b/arch/arm/boot/dts/overlays/max98357a-overlay.dts @@ -0,0 +1,84 @@ @@ -17224,7 +17224,7 @@ index 000000000000..9e2afb05b7cb +}; diff --git a/arch/arm/boot/dts/overlays/maxtherm-overlay.dts b/arch/arm/boot/dts/overlays/maxtherm-overlay.dts new file mode 100644 -index 000000000000..9964e246c14f +index 000000000..9964e246c --- /dev/null +++ b/arch/arm/boot/dts/overlays/maxtherm-overlay.dts @@ -0,0 +1,186 @@ @@ -17416,7 +17416,7 @@ index 000000000000..9964e246c14f +}; diff --git a/arch/arm/boot/dts/overlays/mbed-dac-overlay.dts b/arch/arm/boot/dts/overlays/mbed-dac-overlay.dts new file mode 100644 -index 000000000000..840dd9b31db4 +index 000000000..840dd9b31 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mbed-dac-overlay.dts @@ -0,0 +1,64 @@ @@ -17486,7 +17486,7 @@ index 000000000000..840dd9b31db4 +}; diff --git a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts new file mode 100644 -index 000000000000..c546d8ba7e6d +index 000000000..c546d8ba7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts @@ -0,0 +1,69 @@ @@ -17561,7 +17561,7 @@ index 000000000000..c546d8ba7e6d + diff --git a/arch/arm/boot/dts/overlays/mcp23s17-overlay.dts b/arch/arm/boot/dts/overlays/mcp23s17-overlay.dts new file mode 100644 -index 000000000000..484d64b225fb +index 000000000..484d64b22 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp23s17-overlay.dts @@ -0,0 +1,732 @@ @@ -18299,7 +18299,7 @@ index 000000000000..484d64b225fb + diff --git a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts new file mode 100755 -index 000000000000..46f143d809cc +index 000000000..46f143d80 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts @@ -0,0 +1,73 @@ @@ -18378,7 +18378,7 @@ index 000000000000..46f143d809cc +}; diff --git a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts new file mode 100644 -index 000000000000..0a8dd576818e +index 000000000..0a8dd5768 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts @@ -0,0 +1,73 @@ @@ -18457,7 +18457,7 @@ index 000000000000..0a8dd576818e +}; diff --git a/arch/arm/boot/dts/overlays/mcp251xfd-overlay.dts b/arch/arm/boot/dts/overlays/mcp251xfd-overlay.dts new file mode 100644 -index 000000000000..65c861bbd340 +index 000000000..65c861bbd --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp251xfd-overlay.dts @@ -0,0 +1,226 @@ @@ -18689,7 +18689,7 @@ index 000000000000..65c861bbd340 +}; diff --git a/arch/arm/boot/dts/overlays/mcp3008-overlay.dts b/arch/arm/boot/dts/overlays/mcp3008-overlay.dts new file mode 100755 -index 000000000000..957fdb9310af +index 000000000..957fdb931 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp3008-overlay.dts @@ -0,0 +1,205 @@ @@ -18900,7 +18900,7 @@ index 000000000000..957fdb9310af +}; diff --git a/arch/arm/boot/dts/overlays/mcp3202-overlay.dts b/arch/arm/boot/dts/overlays/mcp3202-overlay.dts new file mode 100755 -index 000000000000..8e4e9f60f285 +index 000000000..8e4e9f60f --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp3202-overlay.dts @@ -0,0 +1,205 @@ @@ -19111,7 +19111,7 @@ index 000000000000..8e4e9f60f285 +}; diff --git a/arch/arm/boot/dts/overlays/mcp342x-overlay.dts b/arch/arm/boot/dts/overlays/mcp342x-overlay.dts new file mode 100644 -index 000000000000..714eca5a4b5e +index 000000000..714eca5a4 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp342x-overlay.dts @@ -0,0 +1,164 @@ @@ -19281,7 +19281,7 @@ index 000000000000..714eca5a4b5e + diff --git a/arch/arm/boot/dts/overlays/media-center-overlay.dts b/arch/arm/boot/dts/overlays/media-center-overlay.dts new file mode 100644 -index 000000000000..1b56963f4f16 +index 000000000..1b56963f4 --- /dev/null +++ b/arch/arm/boot/dts/overlays/media-center-overlay.dts @@ -0,0 +1,134 @@ @@ -19421,7 +19421,7 @@ index 000000000000..1b56963f4f16 +}; diff --git a/arch/arm/boot/dts/overlays/merus-amp-overlay.dts b/arch/arm/boot/dts/overlays/merus-amp-overlay.dts new file mode 100644 -index 000000000000..4501fbdc253d +index 000000000..4501fbdc2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/merus-amp-overlay.dts @@ -0,0 +1,60 @@ @@ -19487,7 +19487,7 @@ index 000000000000..4501fbdc253d +}; diff --git a/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts new file mode 100644 -index 000000000000..f7e44d29e101 +index 000000000..f7e44d29e --- /dev/null +++ b/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts @@ -0,0 +1,36 @@ @@ -19529,7 +19529,7 @@ index 000000000000..f7e44d29e101 +}; diff --git a/arch/arm/boot/dts/overlays/midi-uart1-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart1-overlay.dts new file mode 100644 -index 000000000000..e0bc410acbff +index 000000000..e0bc410ac --- /dev/null +++ b/arch/arm/boot/dts/overlays/midi-uart1-overlay.dts @@ -0,0 +1,43 @@ @@ -19578,7 +19578,7 @@ index 000000000000..e0bc410acbff +}; diff --git a/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts new file mode 100644 -index 000000000000..66f3092e9a74 +index 000000000..66f3092e9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts @@ -0,0 +1,37 @@ @@ -19621,7 +19621,7 @@ index 000000000000..66f3092e9a74 + diff --git a/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts new file mode 100644 -index 000000000000..55c6cb94f963 +index 000000000..55c6cb94f --- /dev/null +++ b/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts @@ -0,0 +1,38 @@ @@ -19665,7 +19665,7 @@ index 000000000000..55c6cb94f963 + diff --git a/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts new file mode 100644 -index 000000000000..5819df1a6b2e +index 000000000..5819df1a6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts @@ -0,0 +1,38 @@ @@ -19709,7 +19709,7 @@ index 000000000000..5819df1a6b2e + diff --git a/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts new file mode 100644 -index 000000000000..a1d37f7103ff +index 000000000..a1d37f710 --- /dev/null +++ b/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts @@ -0,0 +1,38 @@ @@ -19753,7 +19753,7 @@ index 000000000000..a1d37f7103ff + diff --git a/arch/arm/boot/dts/overlays/minipitft13-overlay.dts b/arch/arm/boot/dts/overlays/minipitft13-overlay.dts new file mode 100644 -index 000000000000..b1a0a2a41f72 +index 000000000..b1a0a2a41 --- /dev/null +++ b/arch/arm/boot/dts/overlays/minipitft13-overlay.dts @@ -0,0 +1,70 @@ @@ -19829,7 +19829,7 @@ index 000000000000..b1a0a2a41f72 +}; diff --git a/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts b/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts new file mode 100644 -index 000000000000..da49f14a0940 +index 000000000..da49f14a0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/miniuart-bt-overlay.dts @@ -0,0 +1,93 @@ @@ -19928,7 +19928,7 @@ index 000000000000..da49f14a0940 +}; diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts new file mode 100644 -index 000000000000..c1a2f691aa1e +index 000000000..c1a2f691a --- /dev/null +++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts @@ -0,0 +1,46 @@ @@ -19980,7 +19980,7 @@ index 000000000000..c1a2f691aa1e +}; diff --git a/arch/arm/boot/dts/overlays/mpu6050-overlay.dts b/arch/arm/boot/dts/overlays/mpu6050-overlay.dts new file mode 100644 -index 000000000000..1b4c06535687 +index 000000000..1b4c06535 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mpu6050-overlay.dts @@ -0,0 +1,29 @@ @@ -20015,7 +20015,7 @@ index 000000000000..1b4c06535687 +}; diff --git a/arch/arm/boot/dts/overlays/mz61581-overlay.dts b/arch/arm/boot/dts/overlays/mz61581-overlay.dts new file mode 100644 -index 000000000000..6e00e8b2ddf2 +index 000000000..6e00e8b2d --- /dev/null +++ b/arch/arm/boot/dts/overlays/mz61581-overlay.dts @@ -0,0 +1,117 @@ @@ -20138,7 +20138,7 @@ index 000000000000..6e00e8b2ddf2 +}; diff --git a/arch/arm/boot/dts/overlays/ov5647-overlay.dts b/arch/arm/boot/dts/overlays/ov5647-overlay.dts new file mode 100644 -index 000000000000..d7ed4703c9b0 +index 000000000..d7ed4703c --- /dev/null +++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts @@ -0,0 +1,94 @@ @@ -20238,7 +20238,7 @@ index 000000000000..d7ed4703c9b0 +}; diff --git a/arch/arm/boot/dts/overlays/ov7251-overlay.dts b/arch/arm/boot/dts/overlays/ov7251-overlay.dts new file mode 100644 -index 000000000000..09dbeda39d06 +index 000000000..09dbeda39 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ov7251-overlay.dts @@ -0,0 +1,113 @@ @@ -20357,7 +20357,7 @@ index 000000000000..09dbeda39d06 +}; diff --git a/arch/arm/boot/dts/overlays/ov9281-overlay.dts b/arch/arm/boot/dts/overlays/ov9281-overlay.dts new file mode 100644 -index 000000000000..277236c03358 +index 000000000..277236c03 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ov9281-overlay.dts @@ -0,0 +1,113 @@ @@ -20476,7 +20476,7 @@ index 000000000000..277236c03358 +}; diff --git a/arch/arm/boot/dts/overlays/overlay_map.dts b/arch/arm/boot/dts/overlays/overlay_map.dts new file mode 100644 -index 000000000000..bc6e3bce22c7 +index 000000000..bc6e3bce2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/overlay_map.dts @@ -0,0 +1,158 @@ @@ -20640,7 +20640,7 @@ index 000000000000..bc6e3bce22c7 +}; diff --git a/arch/arm/boot/dts/overlays/papirus-overlay.dts b/arch/arm/boot/dts/overlays/papirus-overlay.dts new file mode 100644 -index 000000000000..7b6bcfd49c86 +index 000000000..7b6bcfd49 --- /dev/null +++ b/arch/arm/boot/dts/overlays/papirus-overlay.dts @@ -0,0 +1,89 @@ @@ -20735,7 +20735,7 @@ index 000000000000..7b6bcfd49c86 +}; diff --git a/arch/arm/boot/dts/overlays/pca953x-overlay.dts b/arch/arm/boot/dts/overlays/pca953x-overlay.dts new file mode 100644 -index 000000000000..8b6ee44665ce +index 000000000..8b6ee4466 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pca953x-overlay.dts @@ -0,0 +1,240 @@ @@ -20981,7 +20981,7 @@ index 000000000000..8b6ee44665ce +}; diff --git a/arch/arm/boot/dts/overlays/pcie-32bit-dma-overlay.dts b/arch/arm/boot/dts/overlays/pcie-32bit-dma-overlay.dts new file mode 100644 -index 000000000000..cca3e83721b7 +index 000000000..cca3e8372 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pcie-32bit-dma-overlay.dts @@ -0,0 +1,18 @@ @@ -21005,7 +21005,7 @@ index 000000000000..cca3e83721b7 +}; diff --git a/arch/arm/boot/dts/overlays/pibell-overlay.dts b/arch/arm/boot/dts/overlays/pibell-overlay.dts new file mode 100644 -index 000000000000..9333a9b09772 +index 000000000..9333a9b09 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pibell-overlay.dts @@ -0,0 +1,81 @@ @@ -21092,7 +21092,7 @@ index 000000000000..9333a9b09772 +}; diff --git a/arch/arm/boot/dts/overlays/pifacedigital-overlay.dts b/arch/arm/boot/dts/overlays/pifacedigital-overlay.dts new file mode 100644 -index 000000000000..532a858683d6 +index 000000000..532a85868 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pifacedigital-overlay.dts @@ -0,0 +1,144 @@ @@ -21242,7 +21242,7 @@ index 000000000000..532a858683d6 +}; diff --git a/arch/arm/boot/dts/overlays/pifi-40-overlay.dts b/arch/arm/boot/dts/overlays/pifi-40-overlay.dts new file mode 100644 -index 000000000000..51a20e54977f +index 000000000..51a20e549 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pifi-40-overlay.dts @@ -0,0 +1,50 @@ @@ -21298,7 +21298,7 @@ index 000000000000..51a20e54977f +}; diff --git a/arch/arm/boot/dts/overlays/pifi-dac-hd-overlay.dts b/arch/arm/boot/dts/overlays/pifi-dac-hd-overlay.dts new file mode 100644 -index 000000000000..67f50db7861a +index 000000000..67f50db78 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pifi-dac-hd-overlay.dts @@ -0,0 +1,49 @@ @@ -21353,7 +21353,7 @@ index 000000000000..67f50db7861a +}; diff --git a/arch/arm/boot/dts/overlays/pifi-dac-zero-overlay.dts b/arch/arm/boot/dts/overlays/pifi-dac-zero-overlay.dts new file mode 100644 -index 000000000000..645ea74cb435 +index 000000000..645ea74cb --- /dev/null +++ b/arch/arm/boot/dts/overlays/pifi-dac-zero-overlay.dts @@ -0,0 +1,49 @@ @@ -21408,7 +21408,7 @@ index 000000000000..645ea74cb435 +}; diff --git a/arch/arm/boot/dts/overlays/pifi-mini-210-overlay.dts b/arch/arm/boot/dts/overlays/pifi-mini-210-overlay.dts new file mode 100644 -index 000000000000..963597d611b5 +index 000000000..963597d61 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pifi-mini-210-overlay.dts @@ -0,0 +1,42 @@ @@ -21456,7 +21456,7 @@ index 000000000000..963597d611b5 +}; diff --git a/arch/arm/boot/dts/overlays/piglow-overlay.dts b/arch/arm/boot/dts/overlays/piglow-overlay.dts new file mode 100644 -index 000000000000..075bceef158c +index 000000000..075bceef1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piglow-overlay.dts @@ -0,0 +1,97 @@ @@ -21559,7 +21559,7 @@ index 000000000000..075bceef158c +}; diff --git a/arch/arm/boot/dts/overlays/piscreen-overlay.dts b/arch/arm/boot/dts/overlays/piscreen-overlay.dts new file mode 100644 -index 000000000000..1ac75a248fab +index 000000000..1ac75a248 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piscreen-overlay.dts @@ -0,0 +1,102 @@ @@ -21667,7 +21667,7 @@ index 000000000000..1ac75a248fab +}; diff --git a/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts b/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts new file mode 100644 -index 000000000000..9d2b51101969 +index 000000000..9d2b51101 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts @@ -0,0 +1,106 @@ @@ -21779,7 +21779,7 @@ index 000000000000..9d2b51101969 + diff --git a/arch/arm/boot/dts/overlays/pisound-overlay.dts b/arch/arm/boot/dts/overlays/pisound-overlay.dts new file mode 100644 -index 000000000000..49efb2b768fb +index 000000000..49efb2b76 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pisound-overlay.dts @@ -0,0 +1,120 @@ @@ -21905,7 +21905,7 @@ index 000000000000..49efb2b768fb +}; diff --git a/arch/arm/boot/dts/overlays/pitft22-overlay.dts b/arch/arm/boot/dts/overlays/pitft22-overlay.dts new file mode 100644 -index 000000000000..589ad13795b1 +index 000000000..589ad1379 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft22-overlay.dts @@ -0,0 +1,69 @@ @@ -21980,7 +21980,7 @@ index 000000000000..589ad13795b1 +}; diff --git a/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts b/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts new file mode 100644 -index 000000000000..33901ee1db7a +index 000000000..33901ee1d --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts @@ -0,0 +1,91 @@ @@ -22077,7 +22077,7 @@ index 000000000000..33901ee1db7a +}; diff --git a/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts b/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts new file mode 100644 -index 000000000000..4a4a3f44c29d +index 000000000..4a4a3f44c --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts @@ -0,0 +1,119 @@ @@ -22202,7 +22202,7 @@ index 000000000000..4a4a3f44c29d +}; diff --git a/arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts b/arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts new file mode 100644 -index 000000000000..37629f18a740 +index 000000000..37629f18a --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft35-resistive-overlay.dts @@ -0,0 +1,119 @@ @@ -22327,7 +22327,7 @@ index 000000000000..37629f18a740 +}; diff --git a/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts new file mode 100644 -index 000000000000..524a1c1d3670 +index 000000000..524a1c1d3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts @@ -0,0 +1,38 @@ @@ -22371,7 +22371,7 @@ index 000000000000..524a1c1d3670 +}; diff --git a/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts new file mode 100644 -index 000000000000..4ddbbfa04065 +index 000000000..4ddbbfa04 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts @@ -0,0 +1,49 @@ @@ -22426,7 +22426,7 @@ index 000000000000..4ddbbfa04065 +}; diff --git a/arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts b/arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts new file mode 100644 -index 000000000000..119caf746b3b +index 000000000..119caf746 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-ir-tx-overlay.dts @@ -0,0 +1,40 @@ @@ -22472,7 +22472,7 @@ index 000000000000..119caf746b3b +}; diff --git a/arch/arm/boot/dts/overlays/pwm-overlay.dts b/arch/arm/boot/dts/overlays/pwm-overlay.dts new file mode 100644 -index 000000000000..92876ab3bc8c +index 000000000..92876ab3b --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-overlay.dts @@ -0,0 +1,45 @@ @@ -22523,7 +22523,7 @@ index 000000000000..92876ab3bc8c +}; diff --git a/arch/arm/boot/dts/overlays/qca7000-overlay.dts b/arch/arm/boot/dts/overlays/qca7000-overlay.dts new file mode 100644 -index 000000000000..f695f36024fa +index 000000000..f695f3602 --- /dev/null +++ b/arch/arm/boot/dts/overlays/qca7000-overlay.dts @@ -0,0 +1,55 @@ @@ -22584,7 +22584,7 @@ index 000000000000..f695f36024fa +}; diff --git a/arch/arm/boot/dts/overlays/qca7000-uart0-overlay.dts b/arch/arm/boot/dts/overlays/qca7000-uart0-overlay.dts new file mode 100644 -index 000000000000..5dee70853289 +index 000000000..5dee70853 --- /dev/null +++ b/arch/arm/boot/dts/overlays/qca7000-uart0-overlay.dts @@ -0,0 +1,46 @@ @@ -22636,7 +22636,7 @@ index 000000000000..5dee70853289 +}; diff --git a/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts new file mode 100644 -index 000000000000..ea1d952734e9 +index 000000000..ea1d95273 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rotary-encoder-overlay.dts @@ -0,0 +1,59 @@ @@ -22701,7 +22701,7 @@ index 000000000000..ea1d952734e9 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts b/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts new file mode 100644 -index 000000000000..cac5e44c6ec5 +index 000000000..cac5e44c6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts @@ -0,0 +1,21 @@ @@ -22728,7 +22728,7 @@ index 000000000000..cac5e44c6ec5 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-cirrus-wm5102-overlay.dts b/arch/arm/boot/dts/overlays/rpi-cirrus-wm5102-overlay.dts new file mode 100644 -index 000000000000..ed0c2745399f +index 000000000..ed0c27453 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-cirrus-wm5102-overlay.dts @@ -0,0 +1,172 @@ @@ -22906,7 +22906,7 @@ index 000000000000..ed0c2745399f +}; diff --git a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts new file mode 100644 -index 000000000000..07a915342702 +index 000000000..07a915342 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts @@ -0,0 +1,34 @@ @@ -22946,7 +22946,7 @@ index 000000000000..07a915342702 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-display-overlay.dts b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts new file mode 100644 -index 000000000000..de87432ff2be +index 000000000..de87432ff --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts @@ -0,0 +1,91 @@ @@ -23043,7 +23043,7 @@ index 000000000000..de87432ff2be +}; diff --git a/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts b/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts new file mode 100644 -index 000000000000..8483c4f4b2eb +index 000000000..8483c4f4b --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts @@ -0,0 +1,25 @@ @@ -23074,7 +23074,7 @@ index 000000000000..8483c4f4b2eb +}; diff --git a/arch/arm/boot/dts/overlays/rpi-poe-overlay.dts b/arch/arm/boot/dts/overlays/rpi-poe-overlay.dts new file mode 100644 -index 000000000000..1eeac4854db4 +index 000000000..1eeac4854 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-poe-overlay.dts @@ -0,0 +1,102 @@ @@ -23182,7 +23182,7 @@ index 000000000000..1eeac4854db4 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-poe-plus-overlay.dts b/arch/arm/boot/dts/overlays/rpi-poe-plus-overlay.dts new file mode 100644 -index 000000000000..011f92ad33f3 +index 000000000..011f92ad3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-poe-plus-overlay.dts @@ -0,0 +1,23 @@ @@ -23211,7 +23211,7 @@ index 000000000000..011f92ad33f3 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts b/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts new file mode 100644 -index 000000000000..9cda044a0f62 +index 000000000..9cda044a0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts @@ -0,0 +1,39 @@ @@ -23256,7 +23256,7 @@ index 000000000000..9cda044a0f62 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts new file mode 100644 -index 000000000000..89d8d2ea6b2e +index 000000000..89d8d2ea6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts @@ -0,0 +1,47 @@ @@ -23309,7 +23309,7 @@ index 000000000000..89d8d2ea6b2e +}; diff --git a/arch/arm/boot/dts/overlays/rpi-tv-overlay.dts b/arch/arm/boot/dts/overlays/rpi-tv-overlay.dts new file mode 100644 -index 000000000000..3c97a545d820 +index 000000000..3c97a545d --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-tv-overlay.dts @@ -0,0 +1,34 @@ @@ -23349,7 +23349,7 @@ index 000000000000..3c97a545d820 +}; diff --git a/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts b/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts new file mode 100644 -index 000000000000..bdd1c0e5a915 +index 000000000..bdd1c0e5a --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts @@ -0,0 +1,50 @@ @@ -23405,7 +23405,7 @@ index 000000000000..bdd1c0e5a915 +}; diff --git a/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts new file mode 100644 -index 000000000000..87e9a326eff1 +index 000000000..87e9a326e --- /dev/null +++ b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts @@ -0,0 +1,49 @@ @@ -23460,7 +23460,7 @@ index 000000000000..87e9a326eff1 +}; diff --git a/arch/arm/boot/dts/overlays/sainsmart18-overlay.dts b/arch/arm/boot/dts/overlays/sainsmart18-overlay.dts new file mode 100644 -index 000000000000..c51f1c030a55 +index 000000000..c51f1c030 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sainsmart18-overlay.dts @@ -0,0 +1,52 @@ @@ -23518,7 +23518,7 @@ index 000000000000..c51f1c030a55 +}; diff --git a/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts new file mode 100644 -index 000000000000..04d74d62897b +index 000000000..04d74d628 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts @@ -0,0 +1,43 @@ @@ -23567,7 +23567,7 @@ index 000000000000..04d74d62897b +}; diff --git a/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts b/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts new file mode 100644 -index 000000000000..da05e981314c +index 000000000..da05e9813 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts @@ -0,0 +1,43 @@ @@ -23616,7 +23616,7 @@ index 000000000000..da05e981314c +}; diff --git a/arch/arm/boot/dts/overlays/sc16is752-spi0-overlay.dts b/arch/arm/boot/dts/overlays/sc16is752-spi0-overlay.dts new file mode 100644 -index 000000000000..a49a04722b99 +index 000000000..a49a04722 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sc16is752-spi0-overlay.dts @@ -0,0 +1,49 @@ @@ -23671,7 +23671,7 @@ index 000000000000..a49a04722b99 +}; diff --git a/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts b/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts new file mode 100644 -index 000000000000..730c6e8cd614 +index 000000000..730c6e8cd --- /dev/null +++ b/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts @@ -0,0 +1,67 @@ @@ -23744,7 +23744,7 @@ index 000000000000..730c6e8cd614 +}; diff --git a/arch/arm/boot/dts/overlays/sdhost-overlay.dts b/arch/arm/boot/dts/overlays/sdhost-overlay.dts new file mode 100644 -index 000000000000..0b72b4eeac88 +index 000000000..0b72b4eea --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts @@ -0,0 +1,38 @@ @@ -23788,7 +23788,7 @@ index 000000000000..0b72b4eeac88 +}; diff --git a/arch/arm/boot/dts/overlays/sdio-overlay.dts b/arch/arm/boot/dts/overlays/sdio-overlay.dts new file mode 100644 -index 000000000000..873e49056379 +index 000000000..873e49056 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts @@ -0,0 +1,77 @@ @@ -23871,7 +23871,7 @@ index 000000000000..873e49056379 +}; diff --git a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts new file mode 100644 -index 000000000000..210d027a073e +index 000000000..210d027a0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v1-overlay.dts @@ -0,0 +1,138 @@ @@ -24015,7 +24015,7 @@ index 000000000000..210d027a073e +}; diff --git a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts new file mode 100644 -index 000000000000..e843d0b19745 +index 000000000..e843d0b19 --- /dev/null +++ b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts @@ -0,0 +1,117 @@ @@ -24138,7 +24138,7 @@ index 000000000000..e843d0b19745 +}; diff --git a/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts b/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts new file mode 100644 -index 000000000000..57a0cc9b1741 +index 000000000..57a0cc9b1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sh1106-spi-overlay.dts @@ -0,0 +1,84 @@ @@ -24228,7 +24228,7 @@ index 000000000000..57a0cc9b1741 +}; diff --git a/arch/arm/boot/dts/overlays/si446x-spi0-overlay.dts b/arch/arm/boot/dts/overlays/si446x-spi0-overlay.dts new file mode 100644 -index 000000000000..90495f0941fb +index 000000000..90495f094 --- /dev/null +++ b/arch/arm/boot/dts/overlays/si446x-spi0-overlay.dts @@ -0,0 +1,53 @@ @@ -24287,7 +24287,7 @@ index 000000000000..90495f0941fb +}; diff --git a/arch/arm/boot/dts/overlays/smi-dev-overlay.dts b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts new file mode 100644 -index 000000000000..bafab6c92506 +index 000000000..bafab6c92 --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts @@ -0,0 +1,20 @@ @@ -24313,7 +24313,7 @@ index 000000000000..bafab6c92506 +}; diff --git a/arch/arm/boot/dts/overlays/smi-nand-overlay.dts b/arch/arm/boot/dts/overlays/smi-nand-overlay.dts new file mode 100644 -index 000000000000..ae1e50329d66 +index 000000000..ae1e50329 --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-nand-overlay.dts @@ -0,0 +1,66 @@ @@ -24385,7 +24385,7 @@ index 000000000000..ae1e50329d66 +}; diff --git a/arch/arm/boot/dts/overlays/smi-overlay.dts b/arch/arm/boot/dts/overlays/smi-overlay.dts new file mode 100644 -index 000000000000..bb8c7830df23 +index 000000000..bb8c7830d --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-overlay.dts @@ -0,0 +1,37 @@ @@ -24428,7 +24428,7 @@ index 000000000000..bb8c7830df23 +}; diff --git a/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts new file mode 100644 -index 000000000000..a132b8637c31 +index 000000000..a132b8637 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts @@ -0,0 +1,31 @@ @@ -24465,7 +24465,7 @@ index 000000000000..a132b8637c31 +}; diff --git a/arch/arm/boot/dts/overlays/spi-gpio40-45-overlay.dts b/arch/arm/boot/dts/overlays/spi-gpio40-45-overlay.dts new file mode 100644 -index 000000000000..9ebcaf1b5ea0 +index 000000000..9ebcaf1b5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi-gpio40-45-overlay.dts @@ -0,0 +1,36 @@ @@ -24507,7 +24507,7 @@ index 000000000000..9ebcaf1b5ea0 +}; diff --git a/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts b/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts new file mode 100644 -index 000000000000..51b7fec281c0 +index 000000000..51b7fec28 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts @@ -0,0 +1,75 @@ @@ -24588,7 +24588,7 @@ index 000000000000..51b7fec281c0 +}; diff --git a/arch/arm/boot/dts/overlays/spi0-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi0-1cs-overlay.dts new file mode 100644 -index 000000000000..e6eb66e2076a +index 000000000..e6eb66e20 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi0-1cs-overlay.dts @@ -0,0 +1,42 @@ @@ -24636,7 +24636,7 @@ index 000000000000..e6eb66e2076a +}; diff --git a/arch/arm/boot/dts/overlays/spi0-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi0-2cs-overlay.dts new file mode 100644 -index 000000000000..df6519537c3a +index 000000000..df6519537 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi0-2cs-overlay.dts @@ -0,0 +1,37 @@ @@ -24679,7 +24679,7 @@ index 000000000000..df6519537c3a +}; diff --git a/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts new file mode 100644 -index 000000000000..ea2794bc5fd5 +index 000000000..ea2794bc5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts @@ -0,0 +1,57 @@ @@ -24742,7 +24742,7 @@ index 000000000000..ea2794bc5fd5 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts new file mode 100644 -index 000000000000..dab34ee79ae2 +index 000000000..dab34ee79 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts @@ -0,0 +1,69 @@ @@ -24817,7 +24817,7 @@ index 000000000000..dab34ee79ae2 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts new file mode 100644 -index 000000000000..bc7e7d04324b +index 000000000..bc7e7d043 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts @@ -0,0 +1,81 @@ @@ -24904,7 +24904,7 @@ index 000000000000..bc7e7d04324b +}; diff --git a/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts new file mode 100644 -index 000000000000..2a29750462af +index 000000000..2a2975046 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts @@ -0,0 +1,57 @@ @@ -24967,7 +24967,7 @@ index 000000000000..2a29750462af +}; diff --git a/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts new file mode 100644 -index 000000000000..642678fc9ddd +index 000000000..642678fc9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts @@ -0,0 +1,69 @@ @@ -25042,7 +25042,7 @@ index 000000000000..642678fc9ddd +}; diff --git a/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts new file mode 100644 -index 000000000000..28d40c6c3c37 +index 000000000..28d40c6c3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts @@ -0,0 +1,81 @@ @@ -25129,7 +25129,7 @@ index 000000000000..28d40c6c3c37 +}; diff --git a/arch/arm/boot/dts/overlays/spi3-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi3-1cs-overlay.dts new file mode 100644 -index 000000000000..335af8637051 +index 000000000..335af8637 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi3-1cs-overlay.dts @@ -0,0 +1,44 @@ @@ -25179,7 +25179,7 @@ index 000000000000..335af8637051 +}; diff --git a/arch/arm/boot/dts/overlays/spi3-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi3-2cs-overlay.dts new file mode 100644 -index 000000000000..ce65da27f767 +index 000000000..ce65da27f --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi3-2cs-overlay.dts @@ -0,0 +1,56 @@ @@ -25241,7 +25241,7 @@ index 000000000000..ce65da27f767 +}; diff --git a/arch/arm/boot/dts/overlays/spi4-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi4-1cs-overlay.dts new file mode 100644 -index 000000000000..85d70b40352b +index 000000000..85d70b403 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi4-1cs-overlay.dts @@ -0,0 +1,44 @@ @@ -25291,7 +25291,7 @@ index 000000000000..85d70b40352b +}; diff --git a/arch/arm/boot/dts/overlays/spi4-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi4-2cs-overlay.dts new file mode 100644 -index 000000000000..8bc2215a6a7e +index 000000000..8bc2215a6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi4-2cs-overlay.dts @@ -0,0 +1,56 @@ @@ -25353,7 +25353,7 @@ index 000000000000..8bc2215a6a7e +}; diff --git a/arch/arm/boot/dts/overlays/spi5-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi5-1cs-overlay.dts new file mode 100644 -index 000000000000..c0f8cb8510ee +index 000000000..c0f8cb851 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi5-1cs-overlay.dts @@ -0,0 +1,44 @@ @@ -25403,7 +25403,7 @@ index 000000000000..c0f8cb8510ee +}; diff --git a/arch/arm/boot/dts/overlays/spi5-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi5-2cs-overlay.dts new file mode 100644 -index 000000000000..7758b9c00b4e +index 000000000..7758b9c00 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi5-2cs-overlay.dts @@ -0,0 +1,56 @@ @@ -25465,7 +25465,7 @@ index 000000000000..7758b9c00b4e +}; diff --git a/arch/arm/boot/dts/overlays/spi6-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi6-1cs-overlay.dts new file mode 100644 -index 000000000000..8c8a953eca01 +index 000000000..8c8a953ec --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi6-1cs-overlay.dts @@ -0,0 +1,44 @@ @@ -25515,7 +25515,7 @@ index 000000000000..8c8a953eca01 +}; diff --git a/arch/arm/boot/dts/overlays/spi6-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi6-2cs-overlay.dts new file mode 100644 -index 000000000000..2ff897f21aed +index 000000000..2ff897f21 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi6-2cs-overlay.dts @@ -0,0 +1,56 @@ @@ -25577,7 +25577,7 @@ index 000000000000..2ff897f21aed +}; diff --git a/arch/arm/boot/dts/overlays/ssd1306-overlay.dts b/arch/arm/boot/dts/overlays/ssd1306-overlay.dts new file mode 100644 -index 000000000000..84cf10e489d3 +index 000000000..84cf10e48 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ssd1306-overlay.dts @@ -0,0 +1,36 @@ @@ -25619,7 +25619,7 @@ index 000000000000..84cf10e489d3 +}; diff --git a/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts b/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts new file mode 100644 -index 000000000000..ffc90c7cecf6 +index 000000000..ffc90c7ce --- /dev/null +++ b/arch/arm/boot/dts/overlays/ssd1306-spi-overlay.dts @@ -0,0 +1,84 @@ @@ -25709,7 +25709,7 @@ index 000000000000..ffc90c7cecf6 +}; diff --git a/arch/arm/boot/dts/overlays/ssd1331-spi-overlay.dts b/arch/arm/boot/dts/overlays/ssd1331-spi-overlay.dts new file mode 100644 -index 000000000000..9fd5ebf2feda +index 000000000..9fd5ebf2f --- /dev/null +++ b/arch/arm/boot/dts/overlays/ssd1331-spi-overlay.dts @@ -0,0 +1,83 @@ @@ -25798,7 +25798,7 @@ index 000000000000..9fd5ebf2feda +}; diff --git a/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts b/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts new file mode 100644 -index 000000000000..ffc872c60648 +index 000000000..ffc872c60 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ssd1351-spi-overlay.dts @@ -0,0 +1,83 @@ @@ -25887,7 +25887,7 @@ index 000000000000..ffc872c60648 +}; diff --git a/arch/arm/boot/dts/overlays/superaudioboard-overlay.dts b/arch/arm/boot/dts/overlays/superaudioboard-overlay.dts new file mode 100755 -index 000000000000..bad61535981e +index 000000000..bad615359 --- /dev/null +++ b/arch/arm/boot/dts/overlays/superaudioboard-overlay.dts @@ -0,0 +1,73 @@ @@ -25966,7 +25966,7 @@ index 000000000000..bad61535981e +}; diff --git a/arch/arm/boot/dts/overlays/sx150x-overlay.dts b/arch/arm/boot/dts/overlays/sx150x-overlay.dts new file mode 100644 -index 000000000000..1d1069345da2 +index 000000000..1d1069345 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sx150x-overlay.dts @@ -0,0 +1,1706 @@ @@ -27678,7 +27678,7 @@ index 000000000000..1d1069345da2 + diff --git a/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts b/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts new file mode 100644 -index 000000000000..047695bb0c71 +index 000000000..047695bb0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts @@ -0,0 +1,52 @@ @@ -27736,7 +27736,7 @@ index 000000000000..047695bb0c71 +}; diff --git a/arch/arm/boot/dts/overlays/tc358743-overlay.dts b/arch/arm/boot/dts/overlays/tc358743-overlay.dts new file mode 100644 -index 000000000000..a1f8af36d2e7 +index 000000000..a1f8af36d --- /dev/null +++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts @@ -0,0 +1,107 @@ @@ -27849,7 +27849,7 @@ index 000000000000..a1f8af36d2e7 +}; diff --git a/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts b/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts new file mode 100644 -index 000000000000..a102b09e3ab5 +index 000000000..a102b09e3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts @@ -0,0 +1,222 @@ @@ -28077,7 +28077,7 @@ index 000000000000..a102b09e3ab5 +}; diff --git a/arch/arm/boot/dts/overlays/tpm-slb9670-overlay.dts b/arch/arm/boot/dts/overlays/tpm-slb9670-overlay.dts new file mode 100644 -index 000000000000..e69188503ca3 +index 000000000..e69188503 --- /dev/null +++ b/arch/arm/boot/dts/overlays/tpm-slb9670-overlay.dts @@ -0,0 +1,44 @@ @@ -28127,7 +28127,7 @@ index 000000000000..e69188503ca3 +}; diff --git a/arch/arm/boot/dts/overlays/uart0-overlay.dts b/arch/arm/boot/dts/overlays/uart0-overlay.dts new file mode 100755 -index 000000000000..73d563bbaabf +index 000000000..73d563bba --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart0-overlay.dts @@ -0,0 +1,32 @@ @@ -28165,7 +28165,7 @@ index 000000000000..73d563bbaabf +}; diff --git a/arch/arm/boot/dts/overlays/uart1-overlay.dts b/arch/arm/boot/dts/overlays/uart1-overlay.dts new file mode 100644 -index 000000000000..986d725a2652 +index 000000000..986d725a2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart1-overlay.dts @@ -0,0 +1,38 @@ @@ -28209,7 +28209,7 @@ index 000000000000..986d725a2652 +}; diff --git a/arch/arm/boot/dts/overlays/uart2-overlay.dts b/arch/arm/boot/dts/overlays/uart2-overlay.dts new file mode 100644 -index 000000000000..9face240aca1 +index 000000000..9face240a --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart2-overlay.dts @@ -0,0 +1,27 @@ @@ -28242,7 +28242,7 @@ index 000000000000..9face240aca1 +}; diff --git a/arch/arm/boot/dts/overlays/uart3-overlay.dts b/arch/arm/boot/dts/overlays/uart3-overlay.dts new file mode 100644 -index 000000000000..ae9f9fe5ea1d +index 000000000..ae9f9fe5e --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart3-overlay.dts @@ -0,0 +1,27 @@ @@ -28275,7 +28275,7 @@ index 000000000000..ae9f9fe5ea1d +}; diff --git a/arch/arm/boot/dts/overlays/uart4-overlay.dts b/arch/arm/boot/dts/overlays/uart4-overlay.dts new file mode 100644 -index 000000000000..ac004ffbadbf +index 000000000..ac004ffba --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart4-overlay.dts @@ -0,0 +1,27 @@ @@ -28308,7 +28308,7 @@ index 000000000000..ac004ffbadbf +}; diff --git a/arch/arm/boot/dts/overlays/uart5-overlay.dts b/arch/arm/boot/dts/overlays/uart5-overlay.dts new file mode 100644 -index 000000000000..04eaf376effe +index 000000000..04eaf376e --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart5-overlay.dts @@ -0,0 +1,27 @@ @@ -28341,7 +28341,7 @@ index 000000000000..04eaf376effe +}; diff --git a/arch/arm/boot/dts/overlays/udrc-overlay.dts b/arch/arm/boot/dts/overlays/udrc-overlay.dts new file mode 100644 -index 000000000000..ae7c37996894 +index 000000000..ae7c37996 --- /dev/null +++ b/arch/arm/boot/dts/overlays/udrc-overlay.dts @@ -0,0 +1,128 @@ @@ -28475,7 +28475,7 @@ index 000000000000..ae7c37996894 +}; diff --git a/arch/arm/boot/dts/overlays/ugreen-dabboard-overlay.dts b/arch/arm/boot/dts/overlays/ugreen-dabboard-overlay.dts new file mode 100644 -index 000000000000..fc8d9b118068 +index 000000000..fc8d9b118 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ugreen-dabboard-overlay.dts @@ -0,0 +1,49 @@ @@ -28530,7 +28530,7 @@ index 000000000000..fc8d9b118068 +}; diff --git a/arch/arm/boot/dts/overlays/upstream-overlay.dts b/arch/arm/boot/dts/overlays/upstream-overlay.dts new file mode 100644 -index 000000000000..7c4071a7cb27 +index 000000000..7c4071a7c --- /dev/null +++ b/arch/arm/boot/dts/overlays/upstream-overlay.dts @@ -0,0 +1,101 @@ @@ -28637,7 +28637,7 @@ index 000000000000..7c4071a7cb27 +}; diff --git a/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts new file mode 100644 -index 000000000000..f4328634542e +index 000000000..f43286345 --- /dev/null +++ b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts @@ -0,0 +1,137 @@ @@ -28780,7 +28780,7 @@ index 000000000000..f4328634542e +}; diff --git a/arch/arm/boot/dts/overlays/vc4-fkms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-overlay.dts new file mode 100644 -index 000000000000..ca344492bed8 +index 000000000..ca344492b --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-overlay.dts @@ -0,0 +1,40 @@ @@ -28826,7 +28826,7 @@ index 000000000000..ca344492bed8 +}; diff --git a/arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts new file mode 100644 -index 000000000000..7792ead0cbb3 +index 000000000..7792ead0c --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-fkms-v3d-pi4-overlay.dts @@ -0,0 +1,44 @@ @@ -28876,7 +28876,7 @@ index 000000000000..7792ead0cbb3 +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts new file mode 100644 -index 000000000000..f7181c9828bf +index 000000000..f7181c982 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts @@ -0,0 +1,44 @@ @@ -28926,7 +28926,7 @@ index 000000000000..f7181c9828bf +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts new file mode 100644 -index 000000000000..ecd3bef3d65a +index 000000000..ecd3bef3d --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts @@ -0,0 +1,118 @@ @@ -29050,7 +29050,7 @@ index 000000000000..ecd3bef3d65a +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-lt070me05000-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-lt070me05000-overlay.dts new file mode 100644 -index 000000000000..d7b8f6713804 +index 000000000..d7b8f6713 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-lt070me05000-overlay.dts @@ -0,0 +1,69 @@ @@ -29125,7 +29125,7 @@ index 000000000000..d7b8f6713804 +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-lt070me05000-v2-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-lt070me05000-v2-overlay.dts new file mode 100644 -index 000000000000..5dcd0f2243e2 +index 000000000..5dcd0f224 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-lt070me05000-v2-overlay.dts @@ -0,0 +1,64 @@ @@ -29195,7 +29195,7 @@ index 000000000000..5dcd0f2243e2 +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-kippah-7inch-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-kippah-7inch-overlay.dts new file mode 100644 -index 000000000000..b03394844abd +index 000000000..b03394844 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-kippah-7inch-overlay.dts @@ -0,0 +1,43 @@ @@ -29244,7 +29244,7 @@ index 000000000000..b03394844abd +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts new file mode 100644 -index 000000000000..5a4efdeed663 +index 000000000..5a4efdeed --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts @@ -0,0 +1,123 @@ @@ -29373,7 +29373,7 @@ index 000000000000..5a4efdeed663 +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts new file mode 100644 -index 000000000000..4285e12a4e53 +index 000000000..4285e12a4 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4-overlay.dts @@ -0,0 +1,197 @@ @@ -29576,7 +29576,7 @@ index 000000000000..4285e12a4e53 +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-vga666-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-vga666-overlay.dts new file mode 100644 -index 000000000000..6e787099e861 +index 000000000..6e787099e --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-vga666-overlay.dts @@ -0,0 +1,100 @@ @@ -29682,7 +29682,7 @@ index 000000000000..6e787099e861 +}; diff --git a/arch/arm/boot/dts/overlays/vga666-overlay.dts b/arch/arm/boot/dts/overlays/vga666-overlay.dts new file mode 100644 -index 000000000000..a4968d180a5d +index 000000000..a4968d180 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vga666-overlay.dts @@ -0,0 +1,30 @@ @@ -29718,7 +29718,7 @@ index 000000000000..a4968d180a5d +}; diff --git a/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts b/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts new file mode 100644 -index 000000000000..f44e325bc1f2 +index 000000000..f44e325bc --- /dev/null +++ b/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts @@ -0,0 +1,40 @@ @@ -29764,7 +29764,7 @@ index 000000000000..f44e325bc1f2 +}; diff --git a/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts new file mode 100644 -index 000000000000..953c6a1aeab9 +index 000000000..953c6a1ae --- /dev/null +++ b/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts @@ -0,0 +1,42 @@ @@ -29812,7 +29812,7 @@ index 000000000000..953c6a1aeab9 +}; diff --git a/arch/arm/boot/dts/overlays/w5500-overlay.dts b/arch/arm/boot/dts/overlays/w5500-overlay.dts new file mode 100644 -index 000000000000..4d3e66296753 +index 000000000..4d3e66296 --- /dev/null +++ b/arch/arm/boot/dts/overlays/w5500-overlay.dts @@ -0,0 +1,63 @@ @@ -29881,7 +29881,7 @@ index 000000000000..4d3e66296753 +}; diff --git a/arch/arm/boot/dts/overlays/wittypi-overlay.dts b/arch/arm/boot/dts/overlays/wittypi-overlay.dts new file mode 100644 -index 000000000000..71ce806186de +index 000000000..71ce80618 --- /dev/null +++ b/arch/arm/boot/dts/overlays/wittypi-overlay.dts @@ -0,0 +1,44 @@ @@ -29931,7 +29931,7 @@ index 000000000000..71ce806186de +}; diff --git a/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts b/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts new file mode 100644 -index 000000000000..289fa4dacdf1 +index 000000000..289fa4dac --- /dev/null +++ b/arch/arm/boot/dts/overlays/wm8960-soundcard-overlay.dts @@ -0,0 +1,82 @@ @@ -30018,7 +30018,7 @@ index 000000000000..289fa4dacdf1 + }; +}; diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile -index 639e01a4d855..becca30ad4fe 100644 +index 639e01a4d..becca30ad 100644 --- a/arch/arm64/boot/dts/Makefile +++ b/arch/arm64/boot/dts/Makefile @@ -30,3 +30,5 @@ subdir-y += synaptics @@ -30028,7 +30028,7 @@ index 639e01a4d855..becca30ad4fe 100644 + +subdir-y += overlays diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile -index 11eae3e3a944..5a90727064ee 100644 +index 11eae3e3a..5a9072706 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -5,7 +5,19 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \ @@ -30053,34 +30053,34 @@ index 11eae3e3a944..5a90727064ee 100644 +endif diff --git a/arch/arm64/boot/dts/broadcom/bcm2710-rpi-2-b.dts b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-2-b.dts new file mode 100644 -index 000000000000..36ecea71f0ef +index 000000000..36ecea71f --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-2-b.dts @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2710-rpi-2-b.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts new file mode 100644 -index 000000000000..22fc6a82f2a9 +index 000000000..22fc6a82f --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2710-rpi-3-b-plus.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts new file mode 100644 -index 000000000000..4cacc5b72ae3 +index 000000000..4cacc5b72 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2710-rpi-3-b.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm2710-rpi-cm3.dts b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-cm3.dts new file mode 100644 -index 000000000000..e1e13784cff6 +index 000000000..e1e13784c --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-cm3.dts @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2710-rpi-cm3.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dts -index d24c53682e44..bf69a4b0b172 100644 +index d24c53682..bf69a4b0b 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dts +++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dts @@ -1,2 +1 @@ @@ -30088,7 +30088,7 @@ index d24c53682e44..bf69a4b0b172 100644 -#include "arm/bcm2711-rpi-4-b.dts" +#include "../../../../arm/boot/dts/bcm2711-rpi-4-b.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-400.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-400.dts -index b9000f58beb5..90c2b5a195d4 100644 +index b9000f58b..90c2b5a19 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-400.dts +++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-400.dts @@ -1,2 +1 @@ @@ -30097,14 +30097,14 @@ index b9000f58beb5..90c2b5a195d4 100644 +#include "../../../../arm/boot/dts/bcm2711-rpi-400.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4.dts new file mode 100644 -index 000000000000..8064a58155f1 +index 000000000..8064a5815 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4.dts @@ -0,0 +1 @@ +#include "../../../../arm/boot/dts/bcm2711-rpi-cm4.dts" diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi new file mode 120000 -index 000000000000..e5c400284467 +index 000000000..e5c400284 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi @@ -0,0 +1 @@ @@ -30112,7 +30112,7 @@ index 000000000000..e5c400284467 \ No newline at end of file diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-lan7515.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-lan7515.dtsi new file mode 120000 -index 000000000000..fc4c05bbe7fd +index 000000000..fc4c05bbe --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-lan7515.dtsi @@ -0,0 +1 @@ @@ -30120,14 +30120,14 @@ index 000000000000..fc4c05bbe7fd \ No newline at end of file diff --git a/arch/arm64/boot/dts/overlays b/arch/arm64/boot/dts/overlays new file mode 120000 -index 000000000000..ded08646b6f6 +index 000000000..ded08646b --- /dev/null +++ b/arch/arm64/boot/dts/overlays @@ -0,0 +1 @@ +../../../arm/boot/dts/overlays \ No newline at end of file diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst -index 190d781e84f4..84c46c081218 100644 +index 190d781e8..84c46c081 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -18,9 +18,10 @@ include $(srctree)/scripts/Kbuild.include @@ -30143,7 +30143,7 @@ index 190d781e84f4..84c46c081218 100644 quiet_cmd_dtb_install = INSTALL $@ diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index 54582673fc1a..d1550a5b57bd 100644 +index 54582673f..d1550a5b5 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -311,6 +311,7 @@ DTC_FLAGS += -Wno-interrupt_provider @@ -30174,5 +30174,5 @@ index 54582673fc1a..d1550a5b57bd 100644 # Bzip2 -- -2.33.1 +2.30.2 diff --git a/root/target/linux/bcm27xx/patches-5.15/0087-leds-Add-the-input-trigger-for-pwr_led.patch b/root/target/linux/bcm27xx/patches-5.15/950-0079-leds-Add-the-input-trigger-for-pwr_led.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0087-leds-Add-the-input-trigger-for-pwr_led.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0079-leds-Add-the-input-trigger-for-pwr_led.patch index 202aed0f..07cf1c83 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0087-leds-Add-the-input-trigger-for-pwr_led.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0079-leds-Add-the-input-trigger-for-pwr_led.patch @@ -1,7 +1,7 @@ -From baefc74faad90d99d7aa0cb697a468b404f97376 Mon Sep 17 00:00:00 2001 +From 29cdb6ce49510953f22f4bcab8904ca64ea2b003 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 087/634] leds: Add the "input" trigger, for pwr_led +Subject: [PATCH 079/828] leds: Add the "input" trigger, for pwr_led The "input" trigger makes the associated GPIO an input. This is to support the Raspberry Pi PWR LED, which is driven by external hardware in normal use. @@ -29,11 +29,9 @@ See: https://github.com/raspberrypi/linux/issues/1064 5 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 drivers/leds/trigger/ledtrig-input.c -diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c -index 092eb59a7d32..9e5327056b7a 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c -@@ -47,8 +47,15 @@ static void gpio_led_set(struct led_classdev *led_cdev, +@@ -47,8 +47,15 @@ static void gpio_led_set(struct led_clas led_dat->platform_gpio_blink_set(led_dat->gpiod, level, NULL, NULL); led_dat->blinking = 0; @@ -50,7 +48,7 @@ index 092eb59a7d32..9e5327056b7a 100644 gpiod_set_value_cansleep(led_dat->gpiod, level); else gpiod_set_value(led_dat->gpiod, level); -@@ -62,6 +69,13 @@ static int gpio_led_set_blocking(struct led_classdev *led_cdev, +@@ -62,6 +69,13 @@ static int gpio_led_set_blocking(struct return 0; } @@ -64,7 +62,7 @@ index 092eb59a7d32..9e5327056b7a 100644 static int gpio_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on, unsigned long *delay_off) { -@@ -90,6 +104,7 @@ static int create_gpio_led(const struct gpio_led *template, +@@ -90,6 +104,7 @@ static int create_gpio_led(const struct led_dat->platform_gpio_blink_set = blink_set; led_dat->cdev.blink_set = gpio_blink_set; } @@ -72,8 +70,6 @@ index 092eb59a7d32..9e5327056b7a 100644 if (template->default_state == LEDS_GPIO_DEFSTATE_KEEP) { state = gpiod_get_value_cansleep(led_dat->gpiod); if (state < 0) -diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig -index 1f1d57288085..1d8341f3a6fe 100644 --- a/drivers/leds/trigger/Kconfig +++ b/drivers/leds/trigger/Kconfig @@ -114,6 +114,13 @@ config LEDS_TRIGGER_CAMERA @@ -90,11 +86,9 @@ index 1f1d57288085..1d8341f3a6fe 100644 config LEDS_TRIGGER_PANIC bool "LED Panic Trigger" help -diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile -index 25c4db97cdd4..5b6bc14865ea 100644 --- a/drivers/leds/trigger/Makefile +++ b/drivers/leds/trigger/Makefile -@@ -11,6 +11,7 @@ obj-$(CONFIG_LEDS_TRIGGER_ACTIVITY) += ledtrig-activity.o +@@ -11,6 +11,7 @@ obj-$(CONFIG_LEDS_TRIGGER_ACTIVITY) += l obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_TRANSIENT) += ledtrig-transient.o obj-$(CONFIG_LEDS_TRIGGER_CAMERA) += ledtrig-camera.o @@ -102,9 +96,6 @@ index 25c4db97cdd4..5b6bc14865ea 100644 obj-$(CONFIG_LEDS_TRIGGER_PANIC) += ledtrig-panic.o obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o obj-$(CONFIG_LEDS_TRIGGER_PATTERN) += ledtrig-pattern.o -diff --git a/drivers/leds/trigger/ledtrig-input.c b/drivers/leds/trigger/ledtrig-input.c -new file mode 100644 -index 000000000000..8a974a355656 --- /dev/null +++ b/drivers/leds/trigger/ledtrig-input.c @@ -0,0 +1,55 @@ @@ -163,8 +154,6 @@ index 000000000000..8a974a355656 +MODULE_AUTHOR("Phil Elwell "); +MODULE_DESCRIPTION("Set LED GPIO to Input \"trigger\""); +MODULE_LICENSE("GPL"); -diff --git a/include/linux/leds.h b/include/linux/leds.h -index a0b730be40ad..cb9a65b4b0f4 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -85,6 +85,9 @@ struct led_classdev { @@ -177,6 +166,3 @@ index a0b730be40ad..cb9a65b4b0f4 100644 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0088-Added-Device-IDs-for-August-DVB-T-205.patch b/root/target/linux/bcm27xx/patches-5.15/950-0080-Added-Device-IDs-for-August-DVB-T-205.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0088-Added-Device-IDs-for-August-DVB-T-205.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0080-Added-Device-IDs-for-August-DVB-T-205.patch index 9befb449..34d8bc57 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0088-Added-Device-IDs-for-August-DVB-T-205.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0080-Added-Device-IDs-for-August-DVB-T-205.patch @@ -1,17 +1,15 @@ -From 169f2d56546c42705e0dedf2c72bb709c8f1f3df Mon Sep 17 00:00:00 2001 +From 5569c5f9c6f7b1eed2f6ae78f7dca6fae744dbbd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:54:08 +0100 -Subject: [PATCH 088/634] Added Device IDs for August DVB-T 205 +Subject: [PATCH 080/828] Added Device IDs for August DVB-T 205 --- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c -index 795a012d4020..adb1028d5f25 100644 --- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c +++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c -@@ -1944,6 +1944,10 @@ static const struct usb_device_id rtl28xxu_id_table[] = { +@@ -1944,6 +1944,10 @@ static const struct usb_device_id rtl28x &rtl28xxu_props, "Compro VideoMate U650F", NULL) }, { DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394, &rtl28xxu_props, "MaxMedia HU394-T", NULL) }, @@ -22,6 +20,3 @@ index 795a012d4020..adb1028d5f25 100644 { DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03, &rtl28xxu_props, "Leadtek WinFast DTV Dongle mini", NULL) }, { DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0089-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/root/target/linux/bcm27xx/patches-5.15/950-0081-Improve-__copy_to_user-and-__copy_from_user-performa.patch similarity index 95% rename from root/target/linux/bcm27xx/patches-5.15/0089-Improve-__copy_to_user-and-__copy_from_user-performa.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0081-Improve-__copy_to_user-and-__copy_from_user-performa.patch index 9ebf24fc..e95ad9d3 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0089-Improve-__copy_to_user-and-__copy_from_user-performa.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0081-Improve-__copy_to_user-and-__copy_from_user-performa.patch @@ -1,7 +1,7 @@ -From 97118e2a5f27a942217a79262ff6b4d7411eef25 Mon Sep 17 00:00:00 2001 +From 38408d71937535a016902abdd26e84acb692d1d8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 089/634] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 081/828] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -62,11 +62,9 @@ Signed-off-by: Christopher Blake create mode 100644 arch/arm/lib/memmove_rpi.S create mode 100644 arch/arm/lib/memset_rpi.S -diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h -index 6c607c68f3ad..ba7fc0bc9a15 100644 --- a/arch/arm/include/asm/string.h +++ b/arch/arm/include/asm/string.h -@@ -65,4 +65,9 @@ static inline void *memset64(uint64_t *p, uint64_t v, __kernel_size_t n) +@@ -65,4 +65,9 @@ static inline void *memset64(uint64_t *p #endif @@ -76,11 +74,9 @@ index 6c607c68f3ad..ba7fc0bc9a15 100644 +#endif + #endif -diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h -index 36fbc3329252..464c66519909 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h -@@ -523,6 +523,9 @@ do { \ +@@ -529,6 +529,9 @@ do { \ extern unsigned long __must_check arm_copy_from_user(void *to, const void __user *from, unsigned long n); @@ -90,8 +86,6 @@ index 36fbc3329252..464c66519909 100644 static inline unsigned long __must_check raw_copy_from_user(void *to, const void __user *from, unsigned long n) { -diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile -index 6d2ba454f25b..8271cde92dec 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -7,8 +7,8 @@ @@ -122,9 +116,6 @@ index 6d2ba454f25b..8271cde92dec 100644 # using lib_ here won't override already available weak symbols obj-$(CONFIG_UACCESS_WITH_MEMCPY) += uaccess_with_memcpy.o -diff --git a/arch/arm/lib/arm-mem.h b/arch/arm/lib/arm-mem.h -new file mode 100644 -index 000000000000..5d4bda19ad20 --- /dev/null +++ b/arch/arm/lib/arm-mem.h @@ -0,0 +1,159 @@ @@ -287,8 +278,6 @@ index 000000000000..5d4bda19ad20 + .endif +92: +.endm -diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S -index 480a20766137..d24527ef904b 100644 --- a/arch/arm/lib/copy_from_user.S +++ b/arch/arm/lib/copy_from_user.S @@ -107,7 +107,8 @@ @@ -309,9 +298,6 @@ index 480a20766137..d24527ef904b 100644 .pushsection .text.fixup,"ax" .align 0 -diff --git a/arch/arm/lib/exports_rpi.c b/arch/arm/lib/exports_rpi.c -new file mode 100644 -index 000000000000..1f826047db75 --- /dev/null +++ b/arch/arm/lib/exports_rpi.c @@ -0,0 +1,37 @@ @@ -352,9 +338,6 @@ index 000000000000..1f826047db75 +#include + +EXPORT_SYMBOL(memcmp); -diff --git a/arch/arm/lib/memcmp_rpi.S b/arch/arm/lib/memcmp_rpi.S -new file mode 100644 -index 000000000000..bf6e4edfc9d3 --- /dev/null +++ b/arch/arm/lib/memcmp_rpi.S @@ -0,0 +1,285 @@ @@ -643,9 +626,6 @@ index 000000000000..bf6e4edfc9d3 + .unreq DAT7 + .unreq OFF +ENDPROC(memcmp) -diff --git a/arch/arm/lib/memcpy_rpi.S b/arch/arm/lib/memcpy_rpi.S -new file mode 100644 -index 000000000000..30f8a9089a83 --- /dev/null +++ b/arch/arm/lib/memcpy_rpi.S @@ -0,0 +1,61 @@ @@ -710,9 +690,6 @@ index 000000000000..30f8a9089a83 + memcpy 0 +ENDPROC(memcpy) +ENDPROC(mmiocpy) -diff --git a/arch/arm/lib/memcpymove.h b/arch/arm/lib/memcpymove.h -new file mode 100644 -index 000000000000..d8be5849c860 --- /dev/null +++ b/arch/arm/lib/memcpymove.h @@ -0,0 +1,506 @@ @@ -1222,9 +1199,6 @@ index 000000000000..d8be5849c860 + .unreq LAST + .unreq OFF +.endm -diff --git a/arch/arm/lib/memmove_rpi.S b/arch/arm/lib/memmove_rpi.S -new file mode 100644 -index 000000000000..8b0760c0904c --- /dev/null +++ b/arch/arm/lib/memmove_rpi.S @@ -0,0 +1,61 @@ @@ -1289,9 +1263,6 @@ index 000000000000..8b0760c0904c + bpl memcpy /* pl works even over -1 - 0 and 0x7fffffff - 0x80000000 boundaries */ + memcpy 1 +ENDPROC(memmove) -diff --git a/arch/arm/lib/memset_rpi.S b/arch/arm/lib/memset_rpi.S -new file mode 100644 -index 000000000000..e8469cecabc1 --- /dev/null +++ b/arch/arm/lib/memset_rpi.S @@ -0,0 +1,128 @@ @@ -1423,8 +1394,6 @@ index 000000000000..e8469cecabc1 +ENDPROC(__memset32) +ENDPROC(memset) +ENDPROC(mmioset) -diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c -index 106f83a5ea6d..b483e5713039 100644 --- a/arch/arm/lib/uaccess_with_memcpy.c +++ b/arch/arm/lib/uaccess_with_memcpy.c @@ -19,6 +19,14 @@ @@ -1442,7 +1411,7 @@ index 106f83a5ea6d..b483e5713039 100644 static int pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp) { -@@ -43,7 +51,7 @@ pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp) +@@ -43,7 +51,7 @@ pin_page_for_write(const void __user *_a return 0; pmd = pmd_offset(pud, addr); @@ -1451,7 +1420,7 @@ index 106f83a5ea6d..b483e5713039 100644 return 0; /* -@@ -86,7 +94,46 @@ pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp) +@@ -86,7 +94,46 @@ pin_page_for_write(const void __user *_a return 1; } @@ -1499,7 +1468,7 @@ index 106f83a5ea6d..b483e5713039 100644 __copy_to_user_memcpy(void __user *to, const void *from, unsigned long n) { unsigned long ua_flags; -@@ -139,6 +186,57 @@ __copy_to_user_memcpy(void __user *to, const void *from, unsigned long n) +@@ -139,6 +186,57 @@ out: return n; } @@ -1557,7 +1526,7 @@ index 106f83a5ea6d..b483e5713039 100644 unsigned long arm_copy_to_user(void __user *to, const void *from, unsigned long n) { -@@ -149,7 +247,7 @@ arm_copy_to_user(void __user *to, const void *from, unsigned long n) +@@ -149,7 +247,7 @@ arm_copy_to_user(void __user *to, const * With frame pointer disabled, tail call optimization kicks in * as well making this test almost invisible. */ @@ -1566,7 +1535,7 @@ index 106f83a5ea6d..b483e5713039 100644 unsigned long ua_flags = uaccess_save_and_enable(); n = __copy_to_user_std(to, from, n); uaccess_restore(ua_flags); -@@ -159,6 +257,32 @@ arm_copy_to_user(void __user *to, const void *from, unsigned long n) +@@ -159,6 +257,32 @@ arm_copy_to_user(void __user *to, const } return n; } @@ -1599,8 +1568,6 @@ index 106f83a5ea6d..b483e5713039 100644 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) -diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index d802ded21ed6..a77c495f8378 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -185,6 +185,13 @@ config ARCH_BCM_53573 @@ -1617,6 +1584,3 @@ index d802ded21ed6..a77c495f8378 100644 config ARCH_BCM_63XX bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0090-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch b/root/target/linux/bcm27xx/patches-5.15/950-0082-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0090-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0082-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch index ddbae276..89afdab7 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0090-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0082-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch @@ -1,7 +1,7 @@ -From 5ea5a578d1596f24191691cd3f10eeaa6e9e72f2 Mon Sep 17 00:00:00 2001 +From 744faed58885b1cc5a6d17c4efbb6f934e0fa45a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 090/634] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 082/828] gpio-poweroff: Allow it to work on Raspberry Pi The Raspberry Pi firmware manages the power-down and reboot process. To do this it installs a pm_power_off handler, causing @@ -18,11 +18,9 @@ of the trigger signal may be preferable. drivers/power/reset/gpio-poweroff.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c -index 1c5af2fef142..3e670131f2a8 100644 --- a/drivers/power/reset/gpio-poweroff.c +++ b/drivers/power/reset/gpio-poweroff.c -@@ -50,9 +50,11 @@ static int gpio_poweroff_probe(struct platform_device *pdev) +@@ -50,9 +50,11 @@ static int gpio_poweroff_probe(struct pl { bool input = false; enum gpiod_flags flags; @@ -35,6 +33,3 @@ index 1c5af2fef142..3e670131f2a8 100644 dev_err(&pdev->dev, "%s: pm_power_off function already registered\n", __func__); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0091-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch similarity index 93% rename from root/target/linux/bcm27xx/patches-5.15/0091-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch index 4bc3409e..163a2392 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0091-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch @@ -1,7 +1,7 @@ -From 1e57f6601cd08ee1ef0c5125ceff6fd9a9c197c7 Mon Sep 17 00:00:00 2001 +From c2f20ddb013852415f39814a70b81b8fff517fee Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 091/634] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 083/828] mfd: Add Raspberry Pi Sense HAT core driver mfd: Add rpi_sense_core of compatible string --- @@ -25,8 +25,6 @@ mfd: Add rpi_sense_core of compatible string create mode 100644 include/linux/mfd/rpisense/framebuffer.h create mode 100644 include/linux/mfd/rpisense/joystick.h -diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig -index 3b23078bc7b5..483653110314 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig @@ -399,4 +399,12 @@ config JOYSTICK_N64 @@ -42,18 +40,13 @@ index 3b23078bc7b5..483653110314 100644 + This is the joystick driver for the Raspberry Pi Sense HAT + endif -diff --git a/drivers/input/joystick/Makefile b/drivers/input/joystick/Makefile -index 5174b8aba2dd..d401dacf7702 100644 --- a/drivers/input/joystick/Makefile +++ b/drivers/input/joystick/Makefile -@@ -39,3 +39,4 @@ obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o +@@ -39,3 +39,4 @@ obj-$(CONFIG_JOYSTICK_WARRIOR) += warri obj-$(CONFIG_JOYSTICK_WALKERA0701) += walkera0701.o obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o obj-$(CONFIG_JOYSTICK_ZHENHUA) += zhenhua.o +obj-$(CONFIG_JOYSTICK_RPISENSE) += rpisense-js.o -diff --git a/drivers/input/joystick/rpisense-js.c b/drivers/input/joystick/rpisense-js.c -new file mode 100644 -index 000000000000..6a416769065d --- /dev/null +++ b/drivers/input/joystick/rpisense-js.c @@ -0,0 +1,153 @@ @@ -210,8 +203,6 @@ index 000000000000..6a416769065d +MODULE_DESCRIPTION("Raspberry Pi Sense HAT joystick driver"); +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); -diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index d2f345245538..c79bb26f48d2 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -11,6 +11,14 @@ config MFD_CORE @@ -229,8 +220,6 @@ index d2f345245538..c79bb26f48d2 100644 config MFD_CS5535 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE -diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index 2ba6646e874c..0a30247411e8 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -266,6 +266,7 @@ obj-$(CONFIG_MFD_STMFX) += stmfx.o @@ -241,9 +230,6 @@ index 2ba6646e874c..0a30247411e8 100644 obj-$(CONFIG_SGI_MFD_IOC3) += ioc3.o obj-$(CONFIG_MFD_SIMPLE_MFD_I2C) += simple-mfd-i2c.o -diff --git a/drivers/mfd/rpisense-core.c b/drivers/mfd/rpisense-core.c -new file mode 100644 -index 000000000000..6cfd63e5e8b8 --- /dev/null +++ b/drivers/mfd/rpisense-core.c @@ -0,0 +1,165 @@ @@ -412,8 +398,6 @@ index 000000000000..6cfd63e5e8b8 +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); + -diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 0b409636ebcd..e7f1a831f947 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -2252,6 +2252,19 @@ config FB_SM712 @@ -436,8 +420,6 @@ index 0b409636ebcd..e7f1a831f947 100644 source "drivers/video/fbdev/omap/Kconfig" source "drivers/video/fbdev/omap2/Kconfig" source "drivers/video/fbdev/mmp/Kconfig" -diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index 36624ffdf2bc..5a478be6bcb4 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -130,6 +130,7 @@ obj-$(CONFIG_FB_MX3) += mx3fb.o @@ -448,9 +430,6 @@ index 36624ffdf2bc..5a478be6bcb4 100644 # the test framebuffer is last obj-$(CONFIG_FB_VIRTUAL) += vfb.o -diff --git a/drivers/video/fbdev/rpisense-fb.c b/drivers/video/fbdev/rpisense-fb.c -new file mode 100644 -index 000000000000..26432a5a0b4b --- /dev/null +++ b/drivers/video/fbdev/rpisense-fb.c @@ -0,0 +1,293 @@ @@ -747,9 +726,6 @@ index 000000000000..26432a5a0b4b +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); + -diff --git a/include/linux/mfd/rpisense/core.h b/include/linux/mfd/rpisense/core.h -new file mode 100644 -index 000000000000..4856aa3c8b06 --- /dev/null +++ b/include/linux/mfd/rpisense/core.h @@ -0,0 +1,47 @@ @@ -800,9 +776,6 @@ index 000000000000..4856aa3c8b06 +int rpisense_block_write(struct rpisense *rpisense, const char *buf, int count); + +#endif -diff --git a/include/linux/mfd/rpisense/framebuffer.h b/include/linux/mfd/rpisense/framebuffer.h -new file mode 100644 -index 000000000000..2ba95d7eebaf --- /dev/null +++ b/include/linux/mfd/rpisense/framebuffer.h @@ -0,0 +1,32 @@ @@ -838,9 +811,6 @@ index 000000000000..2ba95d7eebaf +}; + +#endif -diff --git a/include/linux/mfd/rpisense/joystick.h b/include/linux/mfd/rpisense/joystick.h -new file mode 100644 -index 000000000000..56196dc2af10 --- /dev/null +++ b/include/linux/mfd/rpisense/joystick.h @@ -0,0 +1,35 @@ @@ -879,6 +849,3 @@ index 000000000000..56196dc2af10 + + +#endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0092-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch b/root/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0092-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch index a782c9fd..3c5cda02 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0092-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0084-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch @@ -1,7 +1,7 @@ -From 6d345fe17f1aee3cae17937cf124b4197281c0a7 Mon Sep 17 00:00:00 2001 +From 2128e42c35dd4d42abf6343b356489182d836508 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 092/634] Add support for all the downstream rpi sound card +Subject: [PATCH 084/828] Add support for all the downstream rpi sound card drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -945,9 +945,6 @@ Signed-off-by: Joerg Schambacher create mode 100644 sound/soc/codecs/tas5713.c create mode 100644 sound/soc/codecs/tas5713.h -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt -new file mode 100644 -index 000000000000..f8d32547195b --- /dev/null +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -0,0 +1,463 @@ @@ -1414,8 +1411,6 @@ index 000000000000..f8d32547195b +zii Zodiac Inflight Innovations +zte ZTE Corp. +zyxel ZyXEL Communications Corp. -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index a867f7102c35..008fb3c902ed 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -173,6 +173,8 @@ patternProperties: @@ -1427,8 +1422,6 @@ index a867f7102c35..008fb3c902ed 100644 "^blutek,.*": description: BluTek Power "^boe,.*": -diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig -index c5b3dc97396a..bc17883bc6e0 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -90,6 +90,12 @@ config COMMON_CLK_HI655X @@ -1444,8 +1437,6 @@ index c5b3dc97396a..bc17883bc6e0 100644 config COMMON_CLK_SCMI tristate "Clock driver controlled via SCMI interface" depends on ARM_SCMI_PROTOCOL || COMPILE_TEST -diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index e42312121e51..a1d8cd66353b 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -17,6 +17,7 @@ endif @@ -1456,7 +1447,7 @@ index e42312121e51..a1d8cd66353b 100644 obj-$(CONFIG_MACH_ASM9260) += clk-asm9260.o obj-$(CONFIG_COMMON_CLK_AXI_CLKGEN) += clk-axi-clkgen.o obj-$(CONFIG_ARCH_AXXIA) += clk-axm5516.o -@@ -38,6 +39,8 @@ obj-$(CONFIG_CLK_HSDK) += clk-hsdk-pll.o +@@ -38,6 +39,8 @@ obj-$(CONFIG_CLK_HSDK) += clk-hsdk-pll obj-$(CONFIG_COMMON_CLK_K210) += clk-k210.o obj-$(CONFIG_LMK04832) += clk-lmk04832.o obj-$(CONFIG_COMMON_CLK_LOCHNAGAR) += clk-lochnagar.o @@ -1465,9 +1456,6 @@ index e42312121e51..a1d8cd66353b 100644 obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o obj-$(CONFIG_COMMON_CLK_MAX9485) += clk-max9485.o obj-$(CONFIG_ARCH_MILBEAUT_M10V) += clk-milbeaut.o -diff --git a/drivers/clk/clk-allo-dac.c b/drivers/clk/clk-allo-dac.c -new file mode 100644 -index 000000000000..a9844cb9454b --- /dev/null +++ b/drivers/clk/clk-allo-dac.c @@ -0,0 +1,161 @@ @@ -1632,9 +1620,6 @@ index 000000000000..a9844cb9454b +MODULE_DESCRIPTION("Allo DAC clock driver"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:clk-allo-dac"); -diff --git a/drivers/clk/clk-hifiberry-dachd.c b/drivers/clk/clk-hifiberry-dachd.c -new file mode 100644 -index 000000000000..ec528a0aef36 --- /dev/null +++ b/drivers/clk/clk-hifiberry-dachd.c @@ -0,0 +1,333 @@ @@ -1971,9 +1956,6 @@ index 000000000000..ec528a0aef36 +MODULE_AUTHOR("Joerg Schambacher "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:clk-hifiberry-dachd"); -diff --git a/drivers/clk/clk-hifiberry-dacpro.c b/drivers/clk/clk-hifiberry-dacpro.c -new file mode 100644 -index 000000000000..9e2634465823 --- /dev/null +++ b/drivers/clk/clk-hifiberry-dacpro.c @@ -0,0 +1,160 @@ @@ -2137,8 +2119,6 @@ index 000000000000..9e2634465823 +MODULE_DESCRIPTION("HiFiBerry DAC Pro clock driver"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:clk-hifiberry-dacpro"); -diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 4218057b0874..94c2a8e8ad2d 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -26,3 +26,294 @@ config SND_BCM63XX_I2S_WHISTLER @@ -2436,11 +2416,9 @@ index 4218057b0874..94c2a8e8ad2d 100644 + help + Say Y or M if you want to add support for the Raspberry Pi + generic driver for WM8804 based soundcards. -diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 7c2d7899603b..942464a729b3 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile -@@ -12,4 +12,70 @@ obj-$(CONFIG_SND_SOC_CYGNUS) += snd-soc-cygnus.o +@@ -12,4 +12,70 @@ obj-$(CONFIG_SND_SOC_CYGNUS) += snd-soc- # BCM63XX Platform Support snd-soc-63xx-objs := bcm63xx-i2s-whistler.o bcm63xx-pcm-whistler.o @@ -2513,9 +2491,6 @@ index 7c2d7899603b..942464a729b3 100644 +obj-$(CONFIG_SND_RPI_WM8804_SOUNDCARD) += snd-soc-rpi-wm8804-soundcard.o +obj-$(CONFIG_SND_BCM2708_SOC_PIFI_40) += snd-soc-pifi-40.o + -diff --git a/sound/soc/bcm/allo-boss-dac.c b/sound/soc/bcm/allo-boss-dac.c -new file mode 100644 -index 000000000000..22564e895bba --- /dev/null +++ b/sound/soc/bcm/allo-boss-dac.c @@ -0,0 +1,456 @@ @@ -2975,9 +2950,6 @@ index 000000000000..22564e895bba +MODULE_AUTHOR("Baswaraj K "); +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/allo-boss2-dac.c b/sound/soc/bcm/allo-boss2-dac.c -new file mode 100644 -index 000000000000..5ad7f16964aa --- /dev/null +++ b/sound/soc/bcm/allo-boss2-dac.c @@ -0,0 +1,1133 @@ @@ -4114,9 +4086,6 @@ index 000000000000..5ad7f16964aa +MODULE_DESCRIPTION("ASoC Allo Boss2 Codec Driver"); +MODULE_AUTHOR("Sudeepkumar "); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/allo-katana-codec.c b/sound/soc/bcm/allo-katana-codec.c -new file mode 100644 -index 000000000000..b0aebd40fe5e --- /dev/null +++ b/sound/soc/bcm/allo-katana-codec.c @@ -0,0 +1,388 @@ @@ -4508,9 +4477,6 @@ index 000000000000..b0aebd40fe5e +MODULE_DESCRIPTION("ASoC Allo Katana Codec Driver"); +MODULE_AUTHOR("Jaikumar "); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/allo-piano-dac-plus.c b/sound/soc/bcm/allo-piano-dac-plus.c -new file mode 100644 -index 000000000000..fd0fe58421b0 --- /dev/null +++ b/sound/soc/bcm/allo-piano-dac-plus.c @@ -0,0 +1,1063 @@ @@ -5577,9 +5543,6 @@ index 000000000000..fd0fe58421b0 +MODULE_AUTHOR("Baswaraj K "); +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/allo-piano-dac.c b/sound/soc/bcm/allo-piano-dac.c -new file mode 100644 -index 000000000000..61640fb95431 --- /dev/null +++ b/sound/soc/bcm/allo-piano-dac.c @@ -0,0 +1,122 @@ @@ -5705,9 +5668,6 @@ index 000000000000..61640fb95431 +MODULE_AUTHOR("Baswaraj K "); +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/audioinjector-isolated-soundcard.c b/sound/soc/bcm/audioinjector-isolated-soundcard.c -new file mode 100644 -index 000000000000..127d49691935 --- /dev/null +++ b/sound/soc/bcm/audioinjector-isolated-soundcard.c @@ -0,0 +1,183 @@ @@ -5894,9 +5854,6 @@ index 000000000000..127d49691935 +MODULE_DESCRIPTION("AudioInjector.net isolated Soundcard"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-isolated-soundcard"); -diff --git a/sound/soc/bcm/audioinjector-octo-soundcard.c b/sound/soc/bcm/audioinjector-octo-soundcard.c -new file mode 100644 -index 000000000000..47d622df3ec7 --- /dev/null +++ b/sound/soc/bcm/audioinjector-octo-soundcard.c @@ -0,0 +1,346 @@ @@ -6246,9 +6203,6 @@ index 000000000000..47d622df3ec7 +MODULE_DESCRIPTION("AudioInjector.net octo Soundcard"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -diff --git a/sound/soc/bcm/audioinjector-pi-soundcard.c b/sound/soc/bcm/audioinjector-pi-soundcard.c -new file mode 100644 -index 000000000000..3f24fa739081 --- /dev/null +++ b/sound/soc/bcm/audioinjector-pi-soundcard.c @@ -0,0 +1,187 @@ @@ -6439,9 +6393,6 @@ index 000000000000..3f24fa739081 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -diff --git a/sound/soc/bcm/audiosense-pi.c b/sound/soc/bcm/audiosense-pi.c -new file mode 100644 -index 000000000000..b76d97488a44 --- /dev/null +++ b/sound/soc/bcm/audiosense-pi.c @@ -0,0 +1,248 @@ @@ -6693,9 +6644,6 @@ index 000000000000..b76d97488a44 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audiosense-pi"); + -diff --git a/sound/soc/bcm/digidac1-soundcard.c b/sound/soc/bcm/digidac1-soundcard.c -new file mode 100644 -index 000000000000..4649c6f75c59 --- /dev/null +++ b/sound/soc/bcm/digidac1-soundcard.c @@ -0,0 +1,421 @@ @@ -7120,9 +7068,6 @@ index 000000000000..4649c6f75c59 +MODULE_AUTHOR("José M. Tasende "); +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/dionaudio_loco-v2.c b/sound/soc/bcm/dionaudio_loco-v2.c -new file mode 100644 -index 000000000000..ca48aef621b6 --- /dev/null +++ b/sound/soc/bcm/dionaudio_loco-v2.c @@ -0,0 +1,117 @@ @@ -7243,9 +7188,6 @@ index 000000000000..ca48aef621b6 +MODULE_AUTHOR("Miquel Blauw "); +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/dionaudio_loco.c b/sound/soc/bcm/dionaudio_loco.c -new file mode 100644 -index 000000000000..b19a06afb6af --- /dev/null +++ b/sound/soc/bcm/dionaudio_loco.c @@ -0,0 +1,117 @@ @@ -7366,9 +7308,6 @@ index 000000000000..b19a06afb6af +MODULE_AUTHOR("Miquel Blauw "); +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/fe-pi-audio.c b/sound/soc/bcm/fe-pi-audio.c -new file mode 100644 -index 000000000000..ded4ba1a2815 --- /dev/null +++ b/sound/soc/bcm/fe-pi-audio.c @@ -0,0 +1,154 @@ @@ -7526,9 +7465,6 @@ index 000000000000..ded4ba1a2815 +MODULE_AUTHOR("Henry Kupis "); +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/googlevoicehat-codec.c b/sound/soc/bcm/googlevoicehat-codec.c -new file mode 100644 -index 000000000000..4d38818f0bde --- /dev/null +++ b/sound/soc/bcm/googlevoicehat-codec.c @@ -0,0 +1,214 @@ @@ -7746,9 +7682,6 @@ index 000000000000..4d38818f0bde +MODULE_DESCRIPTION("Google voiceHAT Codec driver"); +MODULE_AUTHOR("Peter Malkin "); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c -new file mode 100644 -index 000000000000..1d8985468be4 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplus.c @@ -0,0 +1,527 @@ @@ -8279,9 +8212,6 @@ index 000000000000..1d8985468be4 +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/hifiberry_dacplusadc.c b/sound/soc/bcm/hifiberry_dacplusadc.c -new file mode 100644 -index 000000000000..5fe6fd220556 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplusadc.c @@ -0,0 +1,398 @@ @@ -8683,9 +8613,6 @@ index 000000000000..5fe6fd220556 +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+ADC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/hifiberry_dacplusadcpro.c b/sound/soc/bcm/hifiberry_dacplusadcpro.c -new file mode 100644 -index 000000000000..79eccdb4dc8c --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplusadcpro.c @@ -0,0 +1,537 @@ @@ -9226,9 +9153,6 @@ index 000000000000..79eccdb4dc8c +MODULE_AUTHOR("Daniel Matuschek "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+ADC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/hifiberry_dacplusdsp.c b/sound/soc/bcm/hifiberry_dacplusdsp.c -new file mode 100644 -index 000000000000..e5919f839dc2 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplusdsp.c @@ -0,0 +1,90 @@ @@ -9322,9 +9246,6 @@ index 000000000000..e5919f839dc2 +MODULE_AUTHOR("Joerg Schambacher "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+DSP"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/hifiberry_dacplushd.c b/sound/soc/bcm/hifiberry_dacplushd.c -new file mode 100644 -index 000000000000..7e7e514a3019 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplushd.c @@ -0,0 +1,238 @@ @@ -9566,9 +9487,6 @@ index 000000000000..7e7e514a3019 +MODULE_AUTHOR("Joerg Schambacher "); +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+ HD"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/i-sabre-q2m.c b/sound/soc/bcm/i-sabre-q2m.c -new file mode 100644 -index 000000000000..6809232e28cb --- /dev/null +++ b/sound/soc/bcm/i-sabre-q2m.c @@ -0,0 +1,158 @@ @@ -9730,9 +9648,6 @@ index 000000000000..6809232e28cb +MODULE_DESCRIPTION("ASoC Driver for I-Sabre Q2M"); +MODULE_AUTHOR("Audiophonics "); +MODULE_LICENSE("GPL"); -diff --git a/sound/soc/bcm/iqaudio-codec.c b/sound/soc/bcm/iqaudio-codec.c -new file mode 100644 -index 000000000000..ea431ae185c0 --- /dev/null +++ b/sound/soc/bcm/iqaudio-codec.c @@ -0,0 +1,274 @@ @@ -10010,9 +9925,6 @@ index 000000000000..ea431ae185c0 +MODULE_AUTHOR("Gordon Garrity "); +MODULE_DESCRIPTION("ASoC Driver for IQaudIO CODEC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c -new file mode 100644 -index 000000000000..62f64c843219 --- /dev/null +++ b/sound/soc/bcm/iqaudio-dac.c @@ -0,0 +1,223 @@ @@ -10239,9 +10151,6 @@ index 000000000000..62f64c843219 +MODULE_AUTHOR("Florian Meier "); +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/justboom-both.c b/sound/soc/bcm/justboom-both.c -new file mode 100644 -index 000000000000..471ecebddcaa --- /dev/null +++ b/sound/soc/bcm/justboom-both.c @@ -0,0 +1,266 @@ @@ -10511,9 +10420,6 @@ index 000000000000..471ecebddcaa +MODULE_AUTHOR("Johannes Krude "); +MODULE_DESCRIPTION("ASoC Driver for simultaneous use of JustBoom PI Digi & DAC HAT Sound Cards"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/justboom-dac.c b/sound/soc/bcm/justboom-dac.c -new file mode 100644 -index 000000000000..f9fbdc9ddeb6 --- /dev/null +++ b/sound/soc/bcm/justboom-dac.c @@ -0,0 +1,147 @@ @@ -10664,9 +10570,6 @@ index 000000000000..f9fbdc9ddeb6 +MODULE_AUTHOR("Milan Neskovic "); +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI DAC HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/pifi-40.c b/sound/soc/bcm/pifi-40.c -new file mode 100644 -index 000000000000..ae699fb0485c --- /dev/null +++ b/sound/soc/bcm/pifi-40.c @@ -0,0 +1,283 @@ @@ -10953,9 +10856,6 @@ index 000000000000..ae699fb0485c +MODULE_AUTHOR("David Knell "); +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for PiFi-40"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/pisound.c b/sound/soc/bcm/pisound.c -new file mode 100644 -index 000000000000..629dde0e99b2 --- /dev/null +++ b/sound/soc/bcm/pisound.c @@ -0,0 +1,1240 @@ @@ -12199,9 +12099,6 @@ index 000000000000..629dde0e99b2 +MODULE_AUTHOR("Giedrius Trainavicius "); +MODULE_DESCRIPTION("ASoC Driver for Pisound, https://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/rpi-cirrus.c b/sound/soc/bcm/rpi-cirrus.c -new file mode 100644 -index 000000000000..227a528d59bd --- /dev/null +++ b/sound/soc/bcm/rpi-cirrus.c @@ -0,0 +1,1025 @@ @@ -13230,9 +13127,6 @@ index 000000000000..227a528d59bd +MODULE_AUTHOR("Matthias Reichl "); +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -diff --git a/sound/soc/bcm/rpi-proto.c b/sound/soc/bcm/rpi-proto.c -new file mode 100644 -index 000000000000..9a5cf91719fb --- /dev/null +++ b/sound/soc/bcm/rpi-proto.c @@ -0,0 +1,147 @@ @@ -13383,9 +13277,6 @@ index 000000000000..9a5cf91719fb +MODULE_AUTHOR("Florian Meier"); +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -diff --git a/sound/soc/bcm/rpi-simple-soundcard.c b/sound/soc/bcm/rpi-simple-soundcard.c -new file mode 100644 -index 000000000000..c25351e6ee90 --- /dev/null +++ b/sound/soc/bcm/rpi-simple-soundcard.c @@ -0,0 +1,419 @@ @@ -13808,9 +13699,6 @@ index 000000000000..c25351e6ee90 +MODULE_AUTHOR("Tim Gover "); +MODULE_DESCRIPTION("ASoC Raspberry Pi simple soundcard driver "); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/bcm/rpi-wm8804-soundcard.c b/sound/soc/bcm/rpi-wm8804-soundcard.c -new file mode 100644 -index 000000000000..835d0f9420e7 --- /dev/null +++ b/sound/soc/bcm/rpi-wm8804-soundcard.c @@ -0,0 +1,410 @@ @@ -14224,8 +14112,6 @@ index 000000000000..835d0f9420e7 +MODULE_AUTHOR("Tim Gover "); +MODULE_DESCRIPTION("ASoC Raspberry Pi Hat generic digi driver for WM8804 based cards"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 216cea04ad70..853a4b0acefc 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -102,6 +102,7 @@ config SND_SOC_ALL_CODECS @@ -14260,7 +14146,7 @@ index 216cea04ad70..853a4b0acefc 100644 imply SND_SOC_TLV320AIC26 imply SND_SOC_TLV320AIC31XX imply SND_SOC_TLV320AIC32X4_I2C -@@ -359,12 +363,12 @@ config SND_SOC_AD193X +@@ -358,12 +362,12 @@ config SND_SOC_AD193X tristate config SND_SOC_AD193X_SPI @@ -14275,7 +14161,7 @@ index 216cea04ad70..853a4b0acefc 100644 depends on I2C select SND_SOC_AD193X -@@ -869,6 +873,13 @@ config SND_SOC_LOCHNAGAR_SC +@@ -873,6 +877,13 @@ config SND_SOC_LOCHNAGAR_SC This driver support the sound card functionality of the Cirrus Logic Lochnagar audio development board. @@ -14289,7 +14175,7 @@ index 216cea04ad70..853a4b0acefc 100644 config SND_SOC_MADERA tristate default y if SND_SOC_CS47L15=y -@@ -1185,6 +1196,10 @@ config SND_SOC_RT5616 +@@ -1189,6 +1200,10 @@ config SND_SOC_RT5616 tristate "Realtek RT5616 CODEC" depends on I2C @@ -14300,7 +14186,7 @@ index 216cea04ad70..853a4b0acefc 100644 config SND_SOC_RT5631 tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C -@@ -1435,6 +1450,9 @@ config SND_SOC_TFA9879 +@@ -1439,6 +1454,9 @@ config SND_SOC_TFA9879 tristate "NXP Semiconductors TFA9879 amplifier" depends on I2C @@ -14310,7 +14196,7 @@ index 216cea04ad70..853a4b0acefc 100644 config SND_SOC_TFA989X tristate "NXP/Goodix TFA989X (TFA1) amplifiers" depends on I2C -@@ -1941,4 +1959,8 @@ config SND_SOC_LPASS_TX_MACRO +@@ -1945,4 +1963,8 @@ config SND_SOC_LPASS_TX_MACRO select REGMAP_MMIO tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)" @@ -14319,8 +14205,6 @@ index 216cea04ad70..853a4b0acefc 100644 + depends on I2C + endmenu -diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 8dcea2c4604a..58493a2b0a6b 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -99,6 +99,7 @@ snd-soc-hdac-hda-objs := hdac_hda.o @@ -14331,7 +14215,7 @@ index 8dcea2c4604a..58493a2b0a6b 100644 snd-soc-jz4740-codec-objs := jz4740.o snd-soc-jz4725b-codec-objs := jz4725b.o snd-soc-jz4760-codec-objs := jz4760.o -@@ -111,6 +112,7 @@ snd-soc-lpass-rx-macro-objs := lpass-rx-macro.o +@@ -111,6 +112,7 @@ snd-soc-lpass-rx-macro-objs := lpass-rx- snd-soc-lpass-tx-macro-objs := lpass-tx-macro.o snd-soc-lpass-wsa-macro-objs := lpass-wsa-macro.o snd-soc-lpass-va-macro-objs := lpass-va-macro.o @@ -14339,7 +14223,7 @@ index 8dcea2c4604a..58493a2b0a6b 100644 snd-soc-madera-objs := madera.o snd-soc-max9759-objs := max9759.o snd-soc-max9768-objs := max9768.o -@@ -154,6 +156,7 @@ snd-soc-pcm179x-spi-objs := pcm179x-spi.o +@@ -154,6 +156,7 @@ snd-soc-pcm179x-spi-objs := pcm179x-spi. snd-soc-pcm186x-objs := pcm186x.o snd-soc-pcm186x-i2c-objs := pcm186x-i2c.o snd-soc-pcm186x-spi-objs := pcm186x-spi.o @@ -14355,7 +14239,7 @@ index 8dcea2c4604a..58493a2b0a6b 100644 snd-soc-tfa989x-objs := tfa989x.o snd-soc-tlv320aic23-objs := tlv320aic23.o snd-soc-tlv320aic23-i2c-objs := tlv320aic23-i2c.o -@@ -430,6 +434,7 @@ obj-$(CONFIG_SND_SOC_HDAC_HDA) += snd-soc-hdac-hda.o +@@ -430,6 +434,7 @@ obj-$(CONFIG_SND_SOC_HDAC_HDA) += snd-so obj-$(CONFIG_SND_SOC_ICS43432) += snd-soc-ics43432.o obj-$(CONFIG_SND_SOC_INNO_RK3036) += snd-soc-inno-rk3036.o obj-$(CONFIG_SND_SOC_ISABELLE) += snd-soc-isabelle.o @@ -14371,7 +14255,7 @@ index 8dcea2c4604a..58493a2b0a6b 100644 obj-$(CONFIG_SND_SOC_MADERA) += snd-soc-madera.o obj-$(CONFIG_SND_SOC_MAX9759) += snd-soc-max9759.o obj-$(CONFIG_SND_SOC_MAX9768) += snd-soc-max9768.o -@@ -492,6 +498,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o +@@ -492,6 +498,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-so obj-$(CONFIG_SND_SOC_PCM512x) += snd-soc-pcm512x.o obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o @@ -14379,7 +14263,7 @@ index 8dcea2c4604a..58493a2b0a6b 100644 obj-$(CONFIG_SND_SOC_RK3328) += snd-soc-rk3328.o obj-$(CONFIG_SND_SOC_RK817) += snd-soc-rk817.o obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o -@@ -558,6 +565,7 @@ obj-$(CONFIG_SND_SOC_TAS5720) += snd-soc-tas5720.o +@@ -558,6 +565,7 @@ obj-$(CONFIG_SND_SOC_TAS5720) += snd-soc obj-$(CONFIG_SND_SOC_TAS6424) += snd-soc-tas6424.o obj-$(CONFIG_SND_SOC_TDA7419) += snd-soc-tda7419.o obj-$(CONFIG_SND_SOC_TAS2770) += snd-soc-tas2770.o @@ -14387,11 +14271,9 @@ index 8dcea2c4604a..58493a2b0a6b 100644 obj-$(CONFIG_SND_SOC_TFA9879) += snd-soc-tfa9879.o obj-$(CONFIG_SND_SOC_TFA989X) += snd-soc-tfa989x.o obj-$(CONFIG_SND_SOC_TLV320AIC23) += snd-soc-tlv320aic23.o -diff --git a/sound/soc/codecs/cs42xx8-i2c.c b/sound/soc/codecs/cs42xx8-i2c.c -index 0214e3ab9da0..b8b15b886c22 100644 --- a/sound/soc/codecs/cs42xx8-i2c.c +++ b/sound/soc/codecs/cs42xx8-i2c.c -@@ -45,11 +45,18 @@ static struct i2c_device_id cs42xx8_i2c_id[] = { +@@ -45,11 +45,18 @@ static struct i2c_device_id cs42xx8_i2c_ }; MODULE_DEVICE_TABLE(i2c, cs42xx8_i2c_id); @@ -14411,11 +14293,9 @@ index 0214e3ab9da0..b8b15b886c22 100644 }, .probe = cs42xx8_i2c_probe, .remove = cs42xx8_i2c_remove, -diff --git a/sound/soc/codecs/cs42xx8.c b/sound/soc/codecs/cs42xx8.c -index 5d6ef660f851..7d840313bccb 100644 --- a/sound/soc/codecs/cs42xx8.c +++ b/sound/soc/codecs/cs42xx8.c -@@ -517,8 +517,10 @@ const struct of_device_id cs42xx8_of_match[] = { +@@ -517,8 +517,10 @@ const struct of_device_id cs42xx8_of_mat { .compatible = "cirrus,cs42888", .data = &cs42888_data, }, { /* sentinel */ } }; @@ -14426,9 +14306,6 @@ index 5d6ef660f851..7d840313bccb 100644 int cs42xx8_probe(struct device *dev, struct regmap *regmap) { -diff --git a/sound/soc/codecs/i-sabre-codec.c b/sound/soc/codecs/i-sabre-codec.c -new file mode 100644 -index 000000000000..714e1f5852cb --- /dev/null +++ b/sound/soc/codecs/i-sabre-codec.c @@ -0,0 +1,392 @@ @@ -14824,9 +14701,6 @@ index 000000000000..714e1f5852cb +MODULE_DESCRIPTION("ASoC I-Sabre Q2M codec driver"); +MODULE_AUTHOR("Audiophonics "); +MODULE_LICENSE("GPL"); -diff --git a/sound/soc/codecs/i-sabre-codec.h b/sound/soc/codecs/i-sabre-codec.h -new file mode 100644 -index 000000000000..9cac5a2446b9 --- /dev/null +++ b/sound/soc/codecs/i-sabre-codec.h @@ -0,0 +1,42 @@ @@ -14872,9 +14746,6 @@ index 000000000000..9cac5a2446b9 +#define ISABRECODEC_MAX_REG 0x24 /* Maximum Register Number */ + +#endif /* _SND_SOC_ISABRECODEC */ -diff --git a/sound/soc/codecs/ma120x0p.c b/sound/soc/codecs/ma120x0p.c -new file mode 100644 -index 000000000000..e1591b6aff43 --- /dev/null +++ b/sound/soc/codecs/ma120x0p.c @@ -0,0 +1,1384 @@ @@ -16262,9 +16133,6 @@ index 000000000000..e1591b6aff43 +MODULE_AUTHOR("Ariel Muszkat ariel.muszkat@gmail.com>"); +MODULE_DESCRIPTION("ASoC driver for ma120x0p"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c -new file mode 100644 -index 000000000000..36b5b6c26655 --- /dev/null +++ b/sound/soc/codecs/pcm1794a.c @@ -0,0 +1,69 @@ @@ -16337,11 +16205,9 @@ index 000000000000..36b5b6c26655 +MODULE_DESCRIPTION("ASoC PCM1794A codec driver"); +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 60dee41816dc..33ed3bbf0362 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c -@@ -536,7 +536,7 @@ static unsigned long pcm512x_ncp_target(struct pcm512x_priv *pcm512x, +@@ -536,7 +536,7 @@ static unsigned long pcm512x_ncp_target( static const u32 pcm512x_dai_rates[] = { 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, @@ -16350,9 +16216,6 @@ index 60dee41816dc..33ed3bbf0362 100644 }; static const struct snd_pcm_hw_constraint_list constraints_slave = { -diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c -new file mode 100644 -index 000000000000..53acd2b355d6 --- /dev/null +++ b/sound/soc/codecs/tas5713.c @@ -0,0 +1,363 @@ @@ -16719,9 +16582,6 @@ index 000000000000..53acd2b355d6 +MODULE_AUTHOR("Sebastian Eickhoff "); +MODULE_DESCRIPTION("ASoC driver for TAS5713"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/tas5713.h b/sound/soc/codecs/tas5713.h -new file mode 100644 -index 000000000000..8f019e048987 --- /dev/null +++ b/sound/soc/codecs/tas5713.h @@ -0,0 +1,210 @@ @@ -16935,11 +16795,9 @@ index 000000000000..8f019e048987 + + +#endif /* _TAS5713_H */ -diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index 633b02b43c9f..b84f46116057 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1231,7 +1231,7 @@ static void snd_soc_runtime_get_dai_fmt(struct snd_soc_pcm_runtime *rtd) +@@ -1231,7 +1231,7 @@ found: * Returns 0 on success, otherwise a negative error code. */ int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, @@ -16948,7 +16806,7 @@ index 633b02b43c9f..b84f46116057 100644 { struct snd_soc_dai *cpu_dai; struct snd_soc_dai *codec_dai; -@@ -1240,7 +1240,15 @@ int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, +@@ -1240,7 +1240,15 @@ int snd_soc_runtime_set_dai_fmt(struct s int ret; for_each_rtd_codec_dais(rtd, i, codec_dai) { @@ -16965,7 +16823,7 @@ index 633b02b43c9f..b84f46116057 100644 if (ret != 0 && ret != -ENOTSUPP) return ret; } -@@ -1249,8 +1257,21 @@ int snd_soc_runtime_set_dai_fmt(struct snd_soc_pcm_runtime *rtd, +@@ -1249,8 +1257,21 @@ int snd_soc_runtime_set_dai_fmt(struct s * Flip the polarity for the "CPU" end of a CODEC<->CODEC link * the component which has non_legacy_dai_naming is Codec */ @@ -16989,6 +16847,3 @@ index 633b02b43c9f..b84f46116057 100644 for_each_rtd_cpu_dais(rtd, i, cpu_dai) { unsigned int fmt = dai_fmt; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0093-rpi_display-add-backlight-driver-and-overlay.patch b/root/target/linux/bcm27xx/patches-5.15/950-0085-rpi_display-add-backlight-driver-and-overlay.patch similarity index 89% rename from root/target/linux/bcm27xx/patches-5.15/0093-rpi_display-add-backlight-driver-and-overlay.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0085-rpi_display-add-backlight-driver-and-overlay.patch index 0c4273dd..58824451 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0093-rpi_display-add-backlight-driver-and-overlay.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0085-rpi_display-add-backlight-driver-and-overlay.patch @@ -1,7 +1,7 @@ -From 1634c4b33f22d71f3a41a4bfb5af3956db60e0a0 Mon Sep 17 00:00:00 2001 +From fc393a523244e5d270cea0dba51b733cee2327ba Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 093/634] rpi_display: add backlight driver and overlay +Subject: [PATCH 085/828] rpi_display: add backlight driver and overlay Add a mailbox-driven backlight controller for the Raspberry Pi DSI touchscreen display. Requires updated GPU firmware to recognise the @@ -22,8 +22,6 @@ Signed-off-by: Alex Riesen 3 files changed, 127 insertions(+) create mode 100644 drivers/video/backlight/rpi_backlight.c -diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig -index e32694c13da5..853ae0bd961d 100644 --- a/drivers/video/backlight/Kconfig +++ b/drivers/video/backlight/Kconfig @@ -248,6 +248,13 @@ config BACKLIGHT_PWM @@ -40,11 +38,9 @@ index e32694c13da5..853ae0bd961d 100644 config BACKLIGHT_DA903X tristate "Backlight Driver for DA9030/DA9034 using WLED" depends on PMIC_DA903X -diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile -index cae2c83422ae..30a17f4be040 100644 --- a/drivers/video/backlight/Makefile +++ b/drivers/video/backlight/Makefile -@@ -49,6 +49,7 @@ obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o +@@ -49,6 +49,7 @@ obj-$(CONFIG_BACKLIGHT_PANDORA) += pand obj-$(CONFIG_BACKLIGHT_PCF50633) += pcf50633-backlight.o obj-$(CONFIG_BACKLIGHT_PWM) += pwm_bl.o obj-$(CONFIG_BACKLIGHT_QCOM_WLED) += qcom-wled.o @@ -52,9 +48,6 @@ index cae2c83422ae..30a17f4be040 100644 obj-$(CONFIG_BACKLIGHT_RT4831) += rt4831-backlight.o obj-$(CONFIG_BACKLIGHT_SAHARA) += kb3886_bl.o obj-$(CONFIG_BACKLIGHT_SKY81452) += sky81452-backlight.o -diff --git a/drivers/video/backlight/rpi_backlight.c b/drivers/video/backlight/rpi_backlight.c -new file mode 100644 -index 000000000000..14a0d9b03739 --- /dev/null +++ b/drivers/video/backlight/rpi_backlight.c @@ -0,0 +1,119 @@ @@ -177,6 +170,3 @@ index 000000000000..14a0d9b03739 +MODULE_AUTHOR("Gordon Hollingworth "); +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0094-bcm2835-virtgpio-Virtual-GPIO-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0086-bcm2835-virtgpio-Virtual-GPIO-driver.patch similarity index 92% rename from root/target/linux/bcm27xx/patches-5.15/0094-bcm2835-virtgpio-Virtual-GPIO-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0086-bcm2835-virtgpio-Virtual-GPIO-driver.patch index c80dcc3d..16cffc81 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0094-bcm2835-virtgpio-Virtual-GPIO-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0086-bcm2835-virtgpio-Virtual-GPIO-driver.patch @@ -1,7 +1,7 @@ -From 70c00ff96cc66354d96b742eea2ac93e36b27e8d Mon Sep 17 00:00:00 2001 +From bf47545d183000c1200ab563990bd6f42b37d161 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 094/634] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 086/828] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -12,8 +12,6 @@ request that the VPU toggles LEDs. 3 files changed, 221 insertions(+) create mode 100644 drivers/gpio/gpio-bcm-virt.c -diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index fae5141251e5..138ca5c8dab1 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -194,6 +194,12 @@ config GPIO_BCM_XGS_IPROC @@ -29,11 +27,9 @@ index fae5141251e5..138ca5c8dab1 100644 config GPIO_BRCMSTB tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) -diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index fbcda637d5e1..4e1ce3c97bca 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -38,6 +38,7 @@ obj-$(CONFIG_GPIO_ASPEED_SGPIO) += gpio-aspeed-sgpio.o +@@ -38,6 +38,7 @@ obj-$(CONFIG_GPIO_ASPEED_SGPIO) += gpio obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o obj-$(CONFIG_GPIO_BCM_XGS_IPROC) += gpio-xgs-iproc.o @@ -41,9 +37,6 @@ index fbcda637d5e1..4e1ce3c97bca 100644 obj-$(CONFIG_GPIO_BD70528) += gpio-bd70528.o obj-$(CONFIG_GPIO_BD71815) += gpio-bd71815.o obj-$(CONFIG_GPIO_BD71828) += gpio-bd71828.o -diff --git a/drivers/gpio/gpio-bcm-virt.c b/drivers/gpio/gpio-bcm-virt.c -new file mode 100644 -index 000000000000..49e28ad9760e --- /dev/null +++ b/drivers/gpio/gpio-bcm-virt.c @@ -0,0 +1,214 @@ @@ -261,6 +254,3 @@ index 000000000000..49e28ad9760e +MODULE_AUTHOR("Dom Cobley "); +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0095-OF-DT-Overlay-configfs-interface.patch b/root/target/linux/bcm27xx/patches-5.15/950-0087-OF-DT-Overlay-configfs-interface.patch similarity index 94% rename from root/target/linux/bcm27xx/patches-5.15/0095-OF-DT-Overlay-configfs-interface.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0087-OF-DT-Overlay-configfs-interface.patch index fe752b9e..639b753f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0095-OF-DT-Overlay-configfs-interface.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0087-OF-DT-Overlay-configfs-interface.patch @@ -1,7 +1,7 @@ -From 66b07995a6f590646045ca6ad6d67b5e5933324e Mon Sep 17 00:00:00 2001 +From 90b578f23fef5308cf483ce8a48fcde8f0932235 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 095/634] OF: DT-Overlay configfs interface +Subject: [PATCH 087/828] OF: DT-Overlay configfs interface This is a port of Pantelis Antoniou's v3 port that makes use of the new upstreamed configfs support for binary attributes. @@ -54,9 +54,6 @@ configfs: New of_overlay API create mode 100644 Documentation/devicetree/configfs-overlays.txt create mode 100644 drivers/of/configfs.c -diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt -new file mode 100644 -index 000000000000..5fa43e064307 --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ @@ -91,11 +88,9 @@ index 000000000000..5fa43e064307 +better suited to different use patterns. The firmware interface is what's +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). -diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig -index 3dfeae8912df..654a25f96897 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig -@@ -98,4 +98,11 @@ config OF_DMA_DEFAULT_COHERENT +@@ -94,4 +94,11 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool @@ -107,8 +102,6 @@ index 3dfeae8912df..654a25f96897 100644 + Enable a simple user-space driven DT overlay interface. + endif # OF -diff --git a/drivers/of/Makefile b/drivers/of/Makefile -index c13b982084a3..957a5b60c167 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,6 +1,7 @@ @@ -119,9 +112,6 @@ index c13b982084a3..957a5b60c167 100644 obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o -diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c -new file mode 100644 -index 000000000000..178f0629b0f0 --- /dev/null +++ b/drivers/of/configfs.c @@ -0,0 +1,310 @@ @@ -435,6 +425,3 @@ index 000000000000..178f0629b0f0 + return ret; +} +late_initcall(of_cfs_init); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0096-brcm-adds-support-for-BCM43341-wifi.patch b/root/target/linux/bcm27xx/patches-5.15/950-0088-brcm-adds-support-for-BCM43341-wifi.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0096-brcm-adds-support-for-BCM43341-wifi.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0088-brcm-adds-support-for-BCM43341-wifi.patch index 5c042e0f..91f1b57f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0096-brcm-adds-support-for-BCM43341-wifi.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0088-brcm-adds-support-for-BCM43341-wifi.patch @@ -1,7 +1,7 @@ -From a9c3bd5396da5807087ceeaa50312fffc069339e Mon Sep 17 00:00:00 2001 +From a1dfe7afe350926ac24c83f2e5e648d90b055695 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 096/634] brcm: adds support for BCM43341 wifi +Subject: [PATCH 088/828] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -59,11 +59,9 @@ Signed-off-by: Phil Elwell drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 9db12ffd2ff8..c388d56269bc 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2953,7 +2953,7 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2953,7 +2953,7 @@ brcmf_cfg80211_set_power_mgmt(struct wip brcmf_dbg(INFO, "Do not enable power save for P2P clients\n"); pm = PM_OFF; } @@ -72,8 +70,6 @@ index 9db12ffd2ff8..c388d56269bc 100644 err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PM, pm); if (err) { -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -index e3758bd86acf..591dcd04b4b4 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -59,7 +59,7 @@ static int brcmf_fcmode; @@ -85,8 +81,6 @@ index e3758bd86acf..591dcd04b4b4 100644 module_param_named(roamoff, brcmf_roamoff, int, 0400); MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 8effeb7a7269..14b2cdafe378 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -611,6 +611,7 @@ BRCMF_FW_DEF(4329, "brcmfmac4329-sdio"); @@ -97,7 +91,7 @@ index 8effeb7a7269..14b2cdafe378 100644 BRCMF_FW_DEF(4335, "brcmfmac4335-sdio"); BRCMF_FW_DEF(43362, "brcmfmac43362-sdio"); BRCMF_FW_DEF(4339, "brcmfmac4339-sdio"); -@@ -643,7 +644,7 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { +@@ -642,7 +643,7 @@ static const struct brcmf_firmware_mappi BRCMF_FW_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330), BRCMF_FW_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334), BRCMF_FW_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340), @@ -106,6 +100,3 @@ index 8effeb7a7269..14b2cdafe378 100644 BRCMF_FW_ENTRY(BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, 4335), BRCMF_FW_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0097-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch b/root/target/linux/bcm27xx/patches-5.15/950-0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0097-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch index fb2a6086..71f1b594 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0097-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch @@ -1,7 +1,7 @@ -From fd2a369239fa03cef1fcdf05ddb5cfae55684825 Mon Sep 17 00:00:00 2001 +From 638f45633ce234ef1b3155497ad48d5824e61a9e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 097/634] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 089/828] hci_h5: Don't send conf_req when ACTIVE Without this patch, a modem and kernel can continuously bombard each other with conf_req and conf_rsp messages, in a demented game of tag. @@ -9,11 +9,9 @@ other with conf_req and conf_rsp messages, in a demented game of tag. drivers/bluetooth/hci_h5.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c -index d49a39d17d7d..6091727c8b78 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c -@@ -357,7 +357,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) +@@ -357,7 +357,8 @@ static void h5_handle_internal_rx(struct h5_link_control(hu, conf_req, 3); } else if (memcmp(data, conf_req, 2) == 0) { h5_link_control(hu, conf_rsp, 2); @@ -23,6 +21,3 @@ index d49a39d17d7d..6091727c8b78 100644 } else if (memcmp(data, conf_rsp, 2) == 0) { if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0099-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch b/root/target/linux/bcm27xx/patches-5.15/950-0090-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0099-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0090-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch index 16ded2b1..2078d028 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0099-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0090-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch @@ -1,7 +1,7 @@ -From 2f37c192a532eadd392482e359fb76f9ed148828 Mon Sep 17 00:00:00 2001 +From 2d8fcdfdf1528169f4bc41815d7ea256e372bb7e Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 099/634] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 090/828] ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced @@ -13,11 +13,9 @@ Signed-off-by: Michael Zoran drivers/irqchip/irq-bcm2836.c | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) -diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 4dbb4b16ee6e..8950debf451b 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c -@@ -154,10 +154,23 @@ static void armctrl_unmask_irq(struct irq_data *d) +@@ -154,10 +154,23 @@ static void armctrl_unmask_irq(struct ir } } @@ -42,11 +40,9 @@ index 4dbb4b16ee6e..8950debf451b 100644 }; static int armctrl_xlate(struct irq_domain *d, struct device_node *ctrlr, -diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index 867c3b43490c..f9da3f2a5f01 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c -@@ -87,6 +87,27 @@ static void bcm2836_arm_irqchip_unmask_gpu_irq(struct irq_data *d) +@@ -87,6 +87,27 @@ static void bcm2836_arm_irqchip_unmask_g { } @@ -74,6 +70,3 @@ index 867c3b43490c..f9da3f2a5f01 100644 static struct irq_chip bcm2836_arm_irqchip_gpu = { .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0100-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch b/root/target/linux/bcm27xx/patches-5.15/950-0091-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0100-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0091-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch index d136861c..d400be55 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0100-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0091-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch @@ -1,18 +1,16 @@ -From 0a8326d8db2b2970fef816e4d9eecd00c22670d9 Mon Sep 17 00:00:00 2001 +From b96f15de97941215522c9bd2040ef134e7e123e2 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 100/634] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 091/828] ARM64: Force hardware emulation of deprecated instructions. --- arch/arm64/kernel/armv8_deprecated.c | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c -index 0e86e8b9cedd..62078b06feb1 100644 --- a/arch/arm64/kernel/armv8_deprecated.c +++ b/arch/arm64/kernel/armv8_deprecated.c -@@ -182,10 +182,15 @@ static void __init register_insn_emulation(struct insn_emulation_ops *ops) +@@ -182,10 +182,15 @@ static void __init register_insn_emulati switch (ops->status) { case INSN_DEPRECATED: @@ -28,6 +26,3 @@ index 0e86e8b9cedd..62078b06feb1 100644 break; case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0101-cache-export-clean-and-invalidate.patch b/root/target/linux/bcm27xx/patches-5.15/950-0092-cache-export-clean-and-invalidate.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0101-cache-export-clean-and-invalidate.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0092-cache-export-clean-and-invalidate.patch index 17635ab6..7b5d3348 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0101-cache-export-clean-and-invalidate.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0092-cache-export-clean-and-invalidate.patch @@ -1,7 +1,7 @@ -From 4972cfff45a0465fa369b02f0e8050d164c22fbe Mon Sep 17 00:00:00 2001 +From 91e397d6dc28d1c90efc04780416e05ea2472d1f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 101/634] cache: export clean and invalidate +Subject: [PATCH 092/828] cache: export clean and invalidate hack: cache: Fix linker error --- @@ -9,8 +9,6 @@ hack: cache: Fix linker error arch/arm/mm/cache-v7.S | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) -diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S -index f0f65eb073e4..868011801521 100644 --- a/arch/arm/mm/cache-v6.S +++ b/arch/arm/mm/cache-v6.S @@ -198,7 +198,7 @@ ENTRY(v6_flush_kern_dcache_area) @@ -31,8 +29,6 @@ index f0f65eb073e4..868011801521 100644 bic r0, r0, #D_CACHE_LINE_SIZE - 1 1: #ifdef CONFIG_DMA_CACHE_RWFO -diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S -index 830bbfb26ca5..097248743b4c 100644 --- a/arch/arm/mm/cache-v7.S +++ b/arch/arm/mm/cache-v7.S @@ -363,7 +363,8 @@ ENDPROC(v7_flush_kern_dcache_area) @@ -55,6 +51,3 @@ index 830bbfb26ca5..097248743b4c 100644 dcache_line_size r2, r3 sub r3, r2, #1 bic r0, r0, r3 --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0102-AXI-performance-monitor-driver-2222.patch b/root/target/linux/bcm27xx/patches-5.15/950-0093-AXI-performance-monitor-driver-2222.patch similarity index 96% rename from root/target/linux/bcm27xx/patches-5.15/0102-AXI-performance-monitor-driver-2222.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0093-AXI-performance-monitor-driver-2222.patch index 8a5124b3..f3509952 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0102-AXI-performance-monitor-driver-2222.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0093-AXI-performance-monitor-driver-2222.patch @@ -1,7 +1,7 @@ -From 1d3914752882c2342ba42b302eb11429e83fad68 Mon Sep 17 00:00:00 2001 +From ba15915c5817e66bd17135951c3a3e0ddeee476f Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 102/634] AXI performance monitor driver (#2222) +Subject: [PATCH 093/828] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -25,8 +25,6 @@ Signed-off-by: Matteo Croce 3 files changed, 646 insertions(+) create mode 100644 drivers/perf/raspberrypi_axi_monitor.c -diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig -index 77522e5efe11..25b7423f3cd0 100644 --- a/drivers/perf/Kconfig +++ b/drivers/perf/Kconfig @@ -137,6 +137,14 @@ config ARM_DMC620_PMU @@ -44,18 +42,13 @@ index 77522e5efe11..25b7423f3cd0 100644 source "drivers/perf/hisilicon/Kconfig" endmenu -diff --git a/drivers/perf/Makefile b/drivers/perf/Makefile -index 5260b116c7da..7ca0b48a6570 100644 --- a/drivers/perf/Makefile +++ b/drivers/perf/Makefile -@@ -14,3 +14,4 @@ obj-$(CONFIG_THUNDERX2_PMU) += thunderx2_pmu.o +@@ -14,3 +14,4 @@ obj-$(CONFIG_THUNDERX2_PMU) += thunderx2 obj-$(CONFIG_XGENE_PMU) += xgene_pmu.o obj-$(CONFIG_ARM_SPE_PMU) += arm_spe_pmu.o obj-$(CONFIG_ARM_DMC620_PMU) += arm_dmc620_pmu.o +obj-$(CONFIG_RPI_AXIPERF) += raspberrypi_axi_monitor.o -diff --git a/drivers/perf/raspberrypi_axi_monitor.c b/drivers/perf/raspberrypi_axi_monitor.c -new file mode 100644 -index 000000000000..5ae2bdaa88b4 --- /dev/null +++ b/drivers/perf/raspberrypi_axi_monitor.c @@ -0,0 +1,637 @@ @@ -696,6 +689,3 @@ index 000000000000..5ae2bdaa88b4 +MODULE_DESCRIPTION("RPI AXI Performance monitor driver"); +MODULE_LICENSE("GPL"); + --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0103-ARM-bcm2835-Set-Serial-number-and-Revision.patch b/root/target/linux/bcm27xx/patches-5.15/950-0094-ARM-bcm2835-Set-Serial-number-and-Revision.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0103-ARM-bcm2835-Set-Serial-number-and-Revision.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0094-ARM-bcm2835-Set-Serial-number-and-Revision.patch index fc7e8439..5f158d57 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0103-ARM-bcm2835-Set-Serial-number-and-Revision.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0094-ARM-bcm2835-Set-Serial-number-and-Revision.patch @@ -1,7 +1,7 @@ -From a8eea09e4435412c033e836f83948ad152a9b1b9 Mon Sep 17 00:00:00 2001 +From 3b8d41d146ebc918a04f0fe8b9eda6077e9ea9c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 103/634] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 094/828] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -25,8 +25,6 @@ Signed-off-by: Noralf Trønnes arch/arm/mach-bcm/board_bcm2835.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index bfc556f76720..73ec2427fbcf 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -6,12 +6,25 @@ @@ -55,7 +53,7 @@ index bfc556f76720..73ec2427fbcf 100644 static const char * const bcm2835_compat[] = { #ifdef CONFIG_ARCH_MULTI_V6 "brcm,bcm2835", -@@ -24,6 +37,7 @@ static const char * const bcm2835_compat[] = { +@@ -24,6 +37,7 @@ static const char * const bcm2835_compat }; DT_MACHINE_START(BCM2835, "BCM2835") @@ -63,6 +61,3 @@ index bfc556f76720..73ec2427fbcf 100644 .dt_compat = bcm2835_compat, .smp = smp_ops(bcm2836_smp_ops), MACHINE_END --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0104-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch b/root/target/linux/bcm27xx/patches-5.15/950-0095-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0104-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0095-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch index 28d5e823..703c5513 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0104-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0095-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch @@ -1,7 +1,7 @@ -From d141c7b5deb8c8500ddc1f063f6f5d7f1e2ae1f4 Mon Sep 17 00:00:00 2001 +From bee04da07062c852dfeb561faa082eeed0983f3c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 16 Jul 2018 14:40:13 +0100 -Subject: [PATCH 104/634] dwc-otg: FIQ: Fix "bad mode in data abort handler" +Subject: [PATCH 095/828] dwc-otg: FIQ: Fix "bad mode in data abort handler" Create a semi-static mapping for the USB registers early in the boot process, before additional kernel threads are started, so all threads @@ -15,8 +15,6 @@ Signed-off-by: Floris Bos arch/arm/mach-bcm/board_bcm2835.c | 69 +++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 73ec2427fbcf..9b6c921106b5 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -6,6 +6,7 @@ @@ -108,7 +106,7 @@ index 73ec2427fbcf..9b6c921106b5 100644 static const char * const bcm2835_compat[] = { #ifdef CONFIG_ARCH_MULTI_V6 "brcm,bcm2835", -@@ -37,6 +105,7 @@ static const char * const bcm2835_compat[] = { +@@ -37,6 +105,7 @@ static const char * const bcm2835_compat }; DT_MACHINE_START(BCM2835, "BCM2835") @@ -116,6 +114,3 @@ index 73ec2427fbcf..9b6c921106b5 100644 .init_machine = bcm2835_init, .dt_compat = bcm2835_compat, .smp = smp_ops(bcm2836_smp_ops), --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0105-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch b/root/target/linux/bcm27xx/patches-5.15/950-0096-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0105-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0096-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch index e564a342..19a26787 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0105-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0096-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch @@ -1,7 +1,7 @@ -From 64fa11fbe628f95d14df3bcef75f09f734cb13b6 Mon Sep 17 00:00:00 2001 +From aff6af309d8d27f152f66ed0240b98edaf7c46c7 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Dec 2017 09:18:32 +0000 -Subject: [PATCH 105/634] ARM: Activate FIQs to avoid __irq_startup warnings +Subject: [PATCH 096/828] ARM: Activate FIQs to avoid __irq_startup warnings There is a new test in __irq_startup that the IRQ is activated, which hasn't been the case for FIQs since they bypass some of the usual setup. @@ -14,8 +14,6 @@ Signed-off-by: Phil Elwell arch/arm/kernel/fiq.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c -index 98ca3e3fa847..c3fe7d3cf482 100644 --- a/arch/arm/kernel/fiq.c +++ b/arch/arm/kernel/fiq.c @@ -56,6 +56,8 @@ @@ -36,6 +34,3 @@ index 98ca3e3fa847..c3fe7d3cf482 100644 enable_irq(fiq + fiq_start); } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0106-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch b/root/target/linux/bcm27xx/patches-5.15/950-0097-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0106-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0097-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch index 62d5e59f..c727191b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0106-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0097-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch @@ -1,7 +1,7 @@ -From 82b1099243510fc803bd03bc53afae4ae743d95a Mon Sep 17 00:00:00 2001 +From 78dacf2306cab90184c26815e14c8f132d779ab9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 20 Feb 2018 10:07:27 +0000 -Subject: [PATCH 106/634] i2c-gpio: Also set bus numbers from reg property +Subject: [PATCH 097/828] i2c-gpio: Also set bus numbers from reg property I2C busses can be assigned specific bus numbers using aliases in Device Tree - string properties where the name is the alias and the @@ -20,11 +20,9 @@ Signed-off-by: Phil Elwell drivers/i2c/busses/i2c-gpio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c -index 7a048abbf92b..08ad370c9881 100644 --- a/drivers/i2c/busses/i2c-gpio.c +++ b/drivers/i2c/busses/i2c-gpio.c -@@ -445,7 +445,9 @@ static int i2c_gpio_probe(struct platform_device *pdev) +@@ -445,7 +445,9 @@ static int i2c_gpio_probe(struct platfor adap->dev.parent = dev; adap->dev.of_node = np; @@ -35,6 +33,3 @@ index 7a048abbf92b..08ad370c9881 100644 ret = i2c_bit_add_numbered_bus(adap); if (ret) return ret; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0107-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch b/root/target/linux/bcm27xx/patches-5.15/950-0098-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0107-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0098-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch index 78d1ef32..3e2d9e8b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0107-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0098-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch @@ -1,18 +1,16 @@ -From 60294f22933a2095dd66120c4110597cf0d7d966 Mon Sep 17 00:00:00 2001 +From b002ba45bb5edf98506e1a478f4e61715c2294a1 Mon Sep 17 00:00:00 2001 From: hdoverobinson Date: Tue, 13 Mar 2018 06:58:39 -0400 -Subject: [PATCH 107/634] added capture_clear option to pps-gpio via dtoverlay +Subject: [PATCH 098/828] added capture_clear option to pps-gpio via dtoverlay (#2433) --- drivers/pps/clients/pps-gpio.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/pps/clients/pps-gpio.c b/drivers/pps/clients/pps-gpio.c -index 35799e6401c9..36b127e24661 100644 --- a/drivers/pps/clients/pps-gpio.c +++ b/drivers/pps/clients/pps-gpio.c -@@ -113,6 +113,9 @@ static int pps_gpio_setup(struct device *dev) +@@ -113,6 +113,9 @@ static int pps_gpio_setup(struct device data->assert_falling_edge = device_property_read_bool(dev, "assert-falling-edge"); @@ -22,6 +20,3 @@ index 35799e6401c9..36b127e24661 100644 data->echo_pin = devm_gpiod_get_optional(dev, "echo", GPIOD_OUT_LOW); if (IS_ERR(data->echo_pin)) return dev_err_probe(dev, PTR_ERR(data->echo_pin), --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0108-lan78xx-Read-initial-EEE-status-from-DT.patch b/root/target/linux/bcm27xx/patches-5.15/950-0099-lan78xx-Read-initial-EEE-status-from-DT.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0108-lan78xx-Read-initial-EEE-status-from-DT.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0099-lan78xx-Read-initial-EEE-status-from-DT.patch index 91d9337c..d5bb3ffb 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0108-lan78xx-Read-initial-EEE-status-from-DT.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0099-lan78xx-Read-initial-EEE-status-from-DT.patch @@ -1,7 +1,7 @@ -From f4b4c223e6cfe746d7afb500082074282241d84d Mon Sep 17 00:00:00 2001 +From 3ce96f460b0b5d7530e1e00e53312c890b2dc7ec Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Mar 2018 12:01:00 +0000 -Subject: [PATCH 108/634] lan78xx: Read initial EEE status from DT +Subject: [PATCH 099/828] lan78xx: Read initial EEE status from DT Add two new DT properties: * microchip,eee-enabled - a boolean to enable EEE @@ -13,11 +13,9 @@ Signed-off-by: Phil Elwell drivers/net/usb/lan78xx.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 3d39f34bc641..12363cfb3b61 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2958,6 +2958,22 @@ static int lan78xx_open(struct net_device *net) +@@ -2960,6 +2960,22 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); @@ -40,6 +38,3 @@ index 3d39f34bc641..12363cfb3b61 100644 /* for Link Check */ if (dev->urb_intr) { ret = usb_submit_urb(dev->urb_intr, GFP_KERNEL); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0109-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/root/target/linux/bcm27xx/patches-5.15/950-0100-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0109-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0100-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch index 91de7dae..242c4a59 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0109-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0100-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch @@ -1,15 +1,13 @@ -From 85f3e9fdad05bf5cb8e5dcd3980e9be23d6f02bc Mon Sep 17 00:00:00 2001 +From f304c6847bbda286d4f94a3ba20ea5246cf03e4d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 109/634] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 100/828] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- drivers/hid/usbhid/hid-core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index 2dcaf31eb9cd..8a9d8214d8af 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -45,7 +45,7 @@ @@ -21,7 +19,7 @@ index 2dcaf31eb9cd..8a9d8214d8af 100644 module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644); MODULE_PARM_DESC(mousepoll, "Polling interval of mice"); -@@ -1112,7 +1112,9 @@ static int usbhid_start(struct hid_device *hid) +@@ -1112,7 +1112,9 @@ static int usbhid_start(struct hid_devic */ switch (hid->collection->usage) { case HID_GD_MOUSE: @@ -32,6 +30,3 @@ index 2dcaf31eb9cd..8a9d8214d8af 100644 interval = hid_mousepoll_interval; break; case HID_GD_JOYSTICK: --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0110-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch b/root/target/linux/bcm27xx/patches-5.15/950-0101-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0110-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0101-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch index fbac4201..7996e7a6 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0110-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0101-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch @@ -1,7 +1,7 @@ -From fe1fe298221d1a64cbbf5e76597b70f7f3fee05a Mon Sep 17 00:00:00 2001 +From ba801acdb40aa62c7262ef7a2d5b755f5be982c8 Mon Sep 17 00:00:00 2001 From: Nick Bulleid Date: Thu, 10 May 2018 21:57:02 +0100 -Subject: [PATCH 110/634] Add ability to export gpio used by gpio-poweroff +Subject: [PATCH 101/828] Add ability to export gpio used by gpio-poweroff Signed-off-by: Nick Bulleid @@ -13,8 +13,6 @@ Signed-off-by: Nick Bulleid drivers/power/reset/gpio-poweroff.c | 9 +++++++++ 2 files changed, 10 insertions(+) -diff --git a/Documentation/devicetree/bindings/power/reset/gpio-poweroff.txt b/Documentation/devicetree/bindings/power/reset/gpio-poweroff.txt -index 3e56c1b34a4c..76dd7b06e26a 100644 --- a/Documentation/devicetree/bindings/power/reset/gpio-poweroff.txt +++ b/Documentation/devicetree/bindings/power/reset/gpio-poweroff.txt @@ -31,6 +31,7 @@ Optional properties: @@ -25,11 +23,9 @@ index 3e56c1b34a4c..76dd7b06e26a 100644 Examples: -diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c -index 3e670131f2a8..e5dca66360a7 100644 --- a/drivers/power/reset/gpio-poweroff.c +++ b/drivers/power/reset/gpio-poweroff.c -@@ -51,6 +51,7 @@ static int gpio_poweroff_probe(struct platform_device *pdev) +@@ -51,6 +51,7 @@ static int gpio_poweroff_probe(struct pl bool input = false; enum gpiod_flags flags; bool force = false; @@ -37,7 +33,7 @@ index 3e670131f2a8..e5dca66360a7 100644 /* If a pm_power_off function has already been added, leave it alone */ force = of_property_read_bool(pdev->dev.of_node, "force"); -@@ -76,6 +77,12 @@ static int gpio_poweroff_probe(struct platform_device *pdev) +@@ -76,6 +77,12 @@ static int gpio_poweroff_probe(struct pl if (IS_ERR(reset_gpio)) return PTR_ERR(reset_gpio); @@ -50,7 +46,7 @@ index 3e670131f2a8..e5dca66360a7 100644 pm_power_off = &gpio_poweroff_do_poweroff; return 0; } -@@ -85,6 +92,8 @@ static int gpio_poweroff_remove(struct platform_device *pdev) +@@ -85,6 +92,8 @@ static int gpio_poweroff_remove(struct p if (pm_power_off == &gpio_poweroff_do_poweroff) pm_power_off = NULL; @@ -59,6 +55,3 @@ index 3e670131f2a8..e5dca66360a7 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0111-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch b/root/target/linux/bcm27xx/patches-5.15/950-0102-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0111-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0102-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch index 5032a8ee..3af14c62 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0111-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0102-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch @@ -1,7 +1,7 @@ -From e9cf488073396af9b561f589b9f0f94c0e1c5ece Mon Sep 17 00:00:00 2001 +From 06ca5575a847956d93320528aad02ae43174d5fa Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 12 May 2018 21:35:43 +0100 -Subject: [PATCH 111/634] firmware/raspberrypi: Notify firmware of a reboot +Subject: [PATCH 102/828] firmware/raspberrypi: Notify firmware of a reboot Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT over the mailbox interface on reception. @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/firmware/raspberrypi.c | 40 +++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) -diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 54619623fe86..48d724aba308 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -12,6 +12,7 @@ @@ -23,7 +21,7 @@ index 54619623fe86..48d724aba308 100644 #include #include -@@ -179,6 +180,26 @@ int rpi_firmware_property(struct rpi_firmware *fw, +@@ -179,6 +180,26 @@ int rpi_firmware_property(struct rpi_fir } EXPORT_SYMBOL_GPL(rpi_firmware_property); @@ -50,7 +48,7 @@ index 54619623fe86..48d724aba308 100644 static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -386,15 +407,32 @@ static struct platform_driver rpi_firmware_driver = { +@@ -386,15 +407,32 @@ static struct platform_driver rpi_firmwa .remove = rpi_firmware_remove, }; @@ -84,6 +82,3 @@ index 54619623fe86..48d724aba308 100644 } module_exit(rpi_firmware_exit); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0112-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch b/root/target/linux/bcm27xx/patches-5.15/950-0103-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0112-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0103-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch index e5491e6b..7d1ce61d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0112-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0103-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch @@ -1,7 +1,7 @@ -From 759463faec71373265fe031f668636a0b4e3c862 Mon Sep 17 00:00:00 2001 +From 97c008f17d345fe2e6145d454538507f073da9f0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 11:21:04 +0100 -Subject: [PATCH 112/634] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time +Subject: [PATCH 103/828] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time ad83c7cb2f37 ("irqchip/irq-bcm2836: Add support for DT interrupt polarity") changed the way that the BCM2836/7 local interrupts are mapped; instead @@ -26,8 +26,6 @@ Signed-off-by: Phil Elwell drivers/irqchip/irq-bcm2835.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 8950debf451b..7ed1b1fc642d 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -74,8 +74,6 @@ @@ -39,7 +37,7 @@ index 8950debf451b..7ed1b1fc642d 100644 static const int reg_pending[] __initconst = { 0x00, 0x04, 0x08 }; static const int reg_enable[] __initconst = { 0x18, 0x10, 0x14 }; -@@ -203,7 +201,7 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -203,7 +201,7 @@ static int __init armctrl_of_init(struct bool is_2836) { void __iomem *base; @@ -48,7 +46,7 @@ index 8950debf451b..7ed1b1fc642d 100644 u32 reg; base = of_iomap(node, 0); -@@ -243,6 +241,8 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -243,6 +241,8 @@ static int __init armctrl_of_init(struct pr_err(FW_BUG "Bootloader left fiq enabled\n"); } @@ -57,7 +55,7 @@ index 8950debf451b..7ed1b1fc642d 100644 if (is_2836) { int parent_irq = irq_of_parse_and_map(node, 0); -@@ -273,7 +273,7 @@ static int __init armctrl_of_init(struct device_node *node, +@@ -273,7 +273,7 @@ static int __init armctrl_of_init(struct } } #ifndef CONFIG_ARM64 @@ -66,6 +64,3 @@ index 8950debf451b..7ed1b1fc642d 100644 #endif return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0113-of-configfs-Use-of_overlay_fdt_apply-API-call.patch b/root/target/linux/bcm27xx/patches-5.15/950-0104-of-configfs-Use-of_overlay_fdt_apply-API-call.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0113-of-configfs-Use-of_overlay_fdt_apply-API-call.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0104-of-configfs-Use-of_overlay_fdt_apply-API-call.patch index 8e872c4e..ae19d14a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0113-of-configfs-Use-of_overlay_fdt_apply-API-call.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0104-of-configfs-Use-of_overlay_fdt_apply-API-call.patch @@ -1,7 +1,7 @@ -From d35fd0cfaba64236f87d1daabe43552e5e1bfd59 Mon Sep 17 00:00:00 2001 +From 168360c7ce5a39bc5a7ba6eb3eebf045d2b1ff6c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 14 Jun 2018 15:07:26 +0100 -Subject: [PATCH 113/634] of: configfs: Use of_overlay_fdt_apply API call +Subject: [PATCH 104/828] of: configfs: Use of_overlay_fdt_apply API call The published API to the dynamic overlay application mechanism now takes a Flattened Device Tree blob as input so that it can manage the @@ -14,8 +14,6 @@ Signed-off-by: Phil Elwell drivers/of/configfs.c | 47 +++++++------------------------------------ 1 file changed, 7 insertions(+), 40 deletions(-) -diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c -index 178f0629b0f0..ac04301dabe1 100644 --- a/drivers/of/configfs.c +++ b/drivers/of/configfs.c @@ -40,41 +40,6 @@ struct cfs_overlay_item { @@ -60,7 +58,7 @@ index 178f0629b0f0..ac04301dabe1 100644 static inline struct cfs_overlay_item *to_cfs_overlay_item( struct config_item *item) { -@@ -115,7 +80,8 @@ static ssize_t cfs_overlay_item_path_store(struct config_item *item, +@@ -115,7 +80,8 @@ static ssize_t cfs_overlay_item_path_sto if (err != 0) goto out_err; @@ -70,7 +68,7 @@ index 178f0629b0f0..ac04301dabe1 100644 if (err != 0) goto out_err; -@@ -136,7 +102,7 @@ static ssize_t cfs_overlay_item_status_show(struct config_item *item, +@@ -136,7 +102,7 @@ static ssize_t cfs_overlay_item_status_s struct cfs_overlay_item *overlay = to_cfs_overlay_item(item); return sprintf(page, "%s\n", @@ -79,7 +77,7 @@ index 178f0629b0f0..ac04301dabe1 100644 } CONFIGFS_ATTR(cfs_overlay_item_, path); -@@ -188,7 +154,8 @@ ssize_t cfs_overlay_item_dtbo_write(struct config_item *item, +@@ -188,7 +154,8 @@ ssize_t cfs_overlay_item_dtbo_write(stru overlay->dtbo_size = count; @@ -89,7 +87,7 @@ index 178f0629b0f0..ac04301dabe1 100644 if (err != 0) goto out_err; -@@ -198,6 +165,7 @@ ssize_t cfs_overlay_item_dtbo_write(struct config_item *item, +@@ -198,6 +165,7 @@ out_err: kfree(overlay->dtbo); overlay->dtbo = NULL; overlay->dtbo_size = 0; @@ -97,7 +95,7 @@ index 178f0629b0f0..ac04301dabe1 100644 return err; } -@@ -213,7 +181,7 @@ static void cfs_overlay_release(struct config_item *item) +@@ -213,7 +181,7 @@ static void cfs_overlay_release(struct c { struct cfs_overlay_item *overlay = to_cfs_overlay_item(item); @@ -106,7 +104,7 @@ index 178f0629b0f0..ac04301dabe1 100644 of_overlay_remove(&overlay->ov_id); if (overlay->fw) release_firmware(overlay->fw); -@@ -241,7 +209,6 @@ static struct config_item *cfs_overlay_group_make_item( +@@ -241,7 +209,6 @@ static struct config_item *cfs_overlay_g overlay = kzalloc(sizeof(*overlay), GFP_KERNEL); if (!overlay) return ERR_PTR(-ENOMEM); @@ -114,6 +112,3 @@ index 178f0629b0f0..ac04301dabe1 100644 config_item_init_type_name(&overlay->item, name, &cfs_overlay_type); return &overlay->item; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0114-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/root/target/linux/bcm27xx/patches-5.15/950-0105-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0114-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0105-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch index 55d102e2..59a6b00c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0114-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0105-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch @@ -1,7 +1,7 @@ -From 438226dbec00d528be8da6701ca7fdfe4fbe162f Mon Sep 17 00:00:00 2001 +From 2b16fa93032cfb57c6abaebf5c8f6fac9380632f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Jun 2018 15:21:10 +0100 -Subject: [PATCH 114/634] net: lan78xx: Disable TCP Segmentation Offload (TSO) +Subject: [PATCH 105/828] net: lan78xx: Disable TCP Segmentation Offload (TSO) TSO seems to be having issues when packets are dropped and the remote end uses Selective Acknowledge (SACK) to denote that @@ -19,11 +19,9 @@ Signed-off-by: Dave Stevenson drivers/net/usb/lan78xx.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 12363cfb3b61..a64f77eddef9 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -443,6 +443,15 @@ static int msg_level = -1; +@@ -445,6 +445,15 @@ static int msg_level = -1; module_param(msg_level, int, 0); MODULE_PARM_DESC(msg_level, "Override default message level"); @@ -39,7 +37,7 @@ index 12363cfb3b61..a64f77eddef9 100644 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf; -@@ -3286,8 +3295,14 @@ static int lan78xx_bind(struct lan78xx_net *dev, struct usb_interface *intf) +@@ -3288,8 +3297,14 @@ static int lan78xx_bind(struct lan78xx_n if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; @@ -56,6 +54,3 @@ index 12363cfb3b61..a64f77eddef9 100644 if (DEFAULT_VLAN_RX_OFFLOAD) dev->net->features |= NETIF_F_HW_VLAN_CTAG_RX; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0115-brcmfmac-Re-enable-firmware-roaming-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0106-brcmfmac-Re-enable-firmware-roaming-support.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0115-brcmfmac-Re-enable-firmware-roaming-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0106-brcmfmac-Re-enable-firmware-roaming-support.patch index 9f98c7a4..97576af1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0115-brcmfmac-Re-enable-firmware-roaming-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0106-brcmfmac-Re-enable-firmware-roaming-support.patch @@ -1,7 +1,7 @@ -From c86d73b910b2d0668f1439293e783f90c7282862 Mon Sep 17 00:00:00 2001 +From f1e3a14d9a0af6aa18db40ee26e84baf9a15b897 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Jun 2018 12:20:01 +0100 -Subject: [PATCH 115/634] brcmfmac: Re-enable firmware roaming support +Subject: [PATCH 106/828] brcmfmac: Re-enable firmware roaming support As of 4.18, a firmware that implements the update_connect_params method but doesn't claim to support roaming causes an error. We @@ -16,8 +16,6 @@ Signed-off-by: Phil Elwell drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -index 591dcd04b4b4..e3758bd86acf 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -59,7 +59,7 @@ static int brcmf_fcmode; @@ -29,6 +27,3 @@ index 591dcd04b4b4..e3758bd86acf 100644 module_param_named(roamoff, brcmf_roamoff, int, 0400); MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0116-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/root/target/linux/bcm27xx/patches-5.15/950-0107-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0116-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0107-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch index a4eb9f82..de03319b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0116-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0107-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch @@ -1,7 +1,7 @@ -From efdc54127159071fb6e860964dae83a4a06aa4f3 Mon Sep 17 00:00:00 2001 +From 8285231cde27c4fe56b02fbbd3613deb7e19de73 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 5 Apr 2018 14:46:11 +0100 -Subject: [PATCH 116/634] lan78xx: Move enabling of EEE into PHY init code +Subject: [PATCH 107/828] lan78xx: Move enabling of EEE into PHY init code Enable EEE mode as soon as possible after connecting to the PHY, and before phy_start. This avoids a second link negotiation, which speeds @@ -14,11 +14,9 @@ Signed-off-by: Phil Elwell drivers/net/usb/lan78xx.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index a64f77eddef9..15f2989c9ba1 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2275,6 +2275,22 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) +@@ -2277,6 +2277,22 @@ static int lan78xx_phy_init(struct lan78 mii_adv_to_linkmode_adv_t(fc, mii_adv); linkmode_or(phydev->advertising, fc, phydev->advertising); @@ -41,7 +39,7 @@ index a64f77eddef9..15f2989c9ba1 100644 if (phydev->mdio.dev.of_node) { u32 reg; int len; -@@ -2967,22 +2983,6 @@ static int lan78xx_open(struct net_device *net) +@@ -2969,22 +2985,6 @@ static int lan78xx_open(struct net_devic netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); @@ -64,6 +62,3 @@ index a64f77eddef9..15f2989c9ba1 100644 /* for Link Check */ if (dev->urb_intr) { ret = usb_submit_urb(dev->urb_intr, GFP_KERNEL); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0117-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch b/root/target/linux/bcm27xx/patches-5.15/950-0108-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0117-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0108-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch index d512256f..8b8c8cc1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0117-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0108-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch @@ -1,15 +1,13 @@ -From 6faed4da3ef914751aac627ee5c06a971fddc3df Mon Sep 17 00:00:00 2001 +From 0a1a79dbb9a23fd6f100165fc30e9bee709f2615 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 17 Sep 2018 17:31:18 +0100 -Subject: [PATCH 117/634] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 +Subject: [PATCH 108/828] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with MEDIA_SUBDRV_AUTOSELECT --- drivers/media/spi/Kconfig | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/media/spi/Kconfig b/drivers/media/spi/Kconfig -index 857ef4ace6e9..deae75ea3c44 100644 --- a/drivers/media/spi/Kconfig +++ b/drivers/media/spi/Kconfig @@ -25,6 +25,7 @@ menu "Media SPI Adapters" @@ -20,6 +18,3 @@ index 857ef4ace6e9..deae75ea3c44 100644 default m if !MEDIA_SUBDRV_AUTOSELECT help Choose if you would like to have SPI interface support for Sony CXD2880. --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0118-firmware-raspberrypi-Add-backward-compatible-get_thr.patch b/root/target/linux/bcm27xx/patches-5.15/950-0109-firmware-raspberrypi-Add-backward-compatible-get_thr.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0118-firmware-raspberrypi-Add-backward-compatible-get_thr.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0109-firmware-raspberrypi-Add-backward-compatible-get_thr.patch index e5b376c1..58de881a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0118-firmware-raspberrypi-Add-backward-compatible-get_thr.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0109-firmware-raspberrypi-Add-backward-compatible-get_thr.patch @@ -1,7 +1,7 @@ -From 16dd59155006adf282faabc52b8f410457b20dc3 Mon Sep 17 00:00:00 2001 +From ca718bdeea183f5953a6d67a919392219e37a419 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 13 Oct 2018 13:31:21 +0200 -Subject: [PATCH 118/634] firmware: raspberrypi: Add backward compatible +Subject: [PATCH 109/828] firmware: raspberrypi: Add backward compatible get_throttled Avoid a hard userspace ABI change by adding a compatible get_throttled @@ -14,8 +14,6 @@ Signed-off-by: Stefan Wahren drivers/firmware/raspberrypi.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) -diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 48d724aba308..2a9edea7f0f1 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -31,6 +31,7 @@ struct rpi_firmware { @@ -26,7 +24,7 @@ index 48d724aba308..2a9edea7f0f1 100644 }; static struct platform_device *g_pdev; -@@ -176,6 +177,12 @@ int rpi_firmware_property(struct rpi_firmware *fw, +@@ -176,6 +177,12 @@ int rpi_firmware_property(struct rpi_fir kfree(data); @@ -39,7 +37,7 @@ index 48d724aba308..2a9edea7f0f1 100644 return ret; } EXPORT_SYMBOL_GPL(rpi_firmware_property); -@@ -200,6 +207,27 @@ static int rpi_firmware_notify_reboot(struct notifier_block *nb, +@@ -200,6 +207,27 @@ static int rpi_firmware_notify_reboot(st return 0; } @@ -67,7 +65,7 @@ index 48d724aba308..2a9edea7f0f1 100644 static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -229,6 +257,11 @@ rpi_register_hwmon_driver(struct device *dev, struct rpi_firmware *fw) +@@ -229,6 +257,11 @@ rpi_register_hwmon_driver(struct device rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon", -1, NULL, 0); @@ -79,6 +77,3 @@ index 48d724aba308..2a9edea7f0f1 100644 } static void rpi_register_clk_driver(struct device *dev) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0119-sc16is7xx-Don-t-spin-if-no-data-received.patch b/root/target/linux/bcm27xx/patches-5.15/950-0110-sc16is7xx-Don-t-spin-if-no-data-received.patch similarity index 62% rename from root/target/linux/bcm27xx/patches-5.15/0119-sc16is7xx-Don-t-spin-if-no-data-received.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0110-sc16is7xx-Don-t-spin-if-no-data-received.patch index 6c60ae4a..a04a950d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0119-sc16is7xx-Don-t-spin-if-no-data-received.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0110-sc16is7xx-Don-t-spin-if-no-data-received.patch @@ -1,7 +1,7 @@ -From d8788cb9bf432fab42f1c8048369c9d7c62f6358 Mon Sep 17 00:00:00 2001 +From a1b057fd66559eac98a30df90eea0c4be07d4b98 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Nov 2018 12:57:48 +0000 -Subject: [PATCH 119/634] sc16is7xx: Don't spin if no data received +Subject: [PATCH 110/828] sc16is7xx: Don't spin if no data received See: https://github.com/raspberrypi/linux/issues/2676 @@ -10,11 +10,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/sc16is7xx.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c -index acbb615dd28f..f8adcb68c409 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c -@@ -696,6 +696,8 @@ static bool sc16is7xx_port_irq(struct sc16is7xx_port *s, int portno) +@@ -696,6 +696,8 @@ static bool sc16is7xx_port_irq(struct sc rxlen = sc16is7xx_port_read(port, SC16IS7XX_RXLVL_REG); if (rxlen) sc16is7xx_handle_rx(port, rxlen, iir); @@ -23,6 +21,3 @@ index acbb615dd28f..f8adcb68c409 100644 break; case SC16IS7XX_IIR_THRI_SRC: sc16is7xx_handle_tx(port); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0120-drivers-thermal-step_wise-add-support-for-hysteresis.patch b/root/target/linux/bcm27xx/patches-5.15/950-0111-drivers-thermal-step_wise-add-support-for-hysteresis.patch similarity index 84% rename from root/target/linux/bcm27xx/patches-5.15/0120-drivers-thermal-step_wise-add-support-for-hysteresis.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0111-drivers-thermal-step_wise-add-support-for-hysteresis.patch index 5def7b7e..e96f0bfc 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0120-drivers-thermal-step_wise-add-support-for-hysteresis.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0111-drivers-thermal-step_wise-add-support-for-hysteresis.patch @@ -1,7 +1,7 @@ -From 1c32719a0b597d8ddfd724c515faf5468f7ebf3a Mon Sep 17 00:00:00 2001 +From a8971071993d10afbd8067dc5d1cf08623bba84c Mon Sep 17 00:00:00 2001 From: Ram Chandrasekar Date: Mon, 7 May 2018 11:54:08 -0600 -Subject: [PATCH 120/634] drivers: thermal: step_wise: add support for +Subject: [PATCH 111/828] drivers: thermal: step_wise: add support for hysteresis Step wise governor increases the mitigation level when the temperature @@ -21,8 +21,6 @@ Signed-off-by: Lina Iyer drivers/thermal/gov_step_wise.c | 34 ++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) -diff --git a/drivers/thermal/gov_step_wise.c b/drivers/thermal/gov_step_wise.c -index 12acb12aac50..9c8d615f3b63 100644 --- a/drivers/thermal/gov_step_wise.c +++ b/drivers/thermal/gov_step_wise.c @@ -24,7 +24,7 @@ @@ -34,7 +32,7 @@ index 12acb12aac50..9c8d615f3b63 100644 * a. if the trend is THERMAL_TREND_RAISING, do nothing * b. if the trend is THERMAL_TREND_DROPPING, use lower cooling * state for this trip point, if the cooling state already -@@ -115,7 +115,7 @@ static void update_passive_instance(struct thermal_zone_device *tz, +@@ -115,7 +115,7 @@ static void update_passive_instance(stru static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip) { @@ -43,7 +41,7 @@ index 12acb12aac50..9c8d615f3b63 100644 enum thermal_trip_type trip_type; enum thermal_trend trend; struct thermal_instance *instance; -@@ -125,15 +125,19 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip) +@@ -125,15 +125,19 @@ static void thermal_zone_trip_update(str tz->ops->get_trip_temp(tz, trip, &trip_temp); tz->ops->get_trip_type(tz, trip, &trip_type); @@ -70,7 +68,7 @@ index 12acb12aac50..9c8d615f3b63 100644 mutex_lock(&tz->lock); -@@ -142,6 +146,18 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip) +@@ -142,6 +146,18 @@ static void thermal_zone_trip_update(str continue; old_target = instance->target; @@ -89,6 +87,3 @@ index 12acb12aac50..9c8d615f3b63 100644 instance->target = get_target_state(instance, trend, throttle); dev_dbg(&instance->cdev->device, "old_target=%d, target=%d\n", old_target, (int)instance->target); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0121-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch b/root/target/linux/bcm27xx/patches-5.15/950-0112-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch similarity index 63% rename from root/target/linux/bcm27xx/patches-5.15/0121-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0112-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch index 21d10b3c..96295ebd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0121-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0112-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch @@ -1,7 +1,7 @@ -From d1a47976d8df8e6b983d674ba530f2a2301e9095 Mon Sep 17 00:00:00 2001 +From 4d751240eaf0019819c17ede7e31309f4744f732 Mon Sep 17 00:00:00 2001 From: Serge Schneider Date: Tue, 2 Oct 2018 11:14:15 +0100 -Subject: [PATCH 121/634] drivers: thermal: step_wise: avoid throttling at +Subject: [PATCH 112/828] drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it Signed-off-by: Serge Schneider @@ -9,11 +9,9 @@ Signed-off-by: Serge Schneider drivers/thermal/gov_step_wise.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/thermal/gov_step_wise.c b/drivers/thermal/gov_step_wise.c -index 9c8d615f3b63..629f02fce2f2 100644 --- a/drivers/thermal/gov_step_wise.c +++ b/drivers/thermal/gov_step_wise.c -@@ -153,7 +153,7 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip) +@@ -153,7 +153,7 @@ static void thermal_zone_trip_update(str */ if (tz->temperature >= trip_temp || (tz->temperature >= hyst_temp && @@ -22,6 +20,3 @@ index 9c8d615f3b63..629f02fce2f2 100644 throttle = true; trace_thermal_zone_trip(tz, trip, trip_type); } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0122-Update-issue-templates-2736.patch b/root/target/linux/bcm27xx/patches-5.15/950-0113-Update-issue-templates-2736.patch similarity index 88% rename from root/target/linux/bcm27xx/patches-5.15/0122-Update-issue-templates-2736.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0113-Update-issue-templates-2736.patch index ce9c7f8a..567fcd88 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0122-Update-issue-templates-2736.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0113-Update-issue-templates-2736.patch @@ -1,16 +1,13 @@ -From 6f8e12684ab8ab6cc70c57281c4ce8392b1cd36f Mon Sep 17 00:00:00 2001 +From 95377f00223dff9dcd65c0368020a8514c07475a Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 2 Nov 2018 11:55:49 +0000 -Subject: [PATCH 122/634] Update issue templates (#2736) +Subject: [PATCH 113/828] Update issue templates (#2736) --- .github/ISSUE_TEMPLATE/bug_report.md | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md -diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md -new file mode 100644 -index 000000000000..09bdc4a96838 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,34 @@ @@ -48,6 +45,3 @@ index 000000000000..09bdc4a96838 + +**Additional context** +Add any other relevant context for the problem. --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0123-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch b/root/target/linux/bcm27xx/patches-5.15/950-0114-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0123-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0114-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch index f8ea2e6a..60deef2d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0123-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0114-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch @@ -1,7 +1,7 @@ -From b3ad6a2681a971bc278e28b9da7174b8c1ad0571 Mon Sep 17 00:00:00 2001 +From a8b3aa46e354fee529a01c54448699e7e84734c9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 26 Nov 2018 19:46:58 +0000 -Subject: [PATCH 123/634] net: lan78xx: Support auto-downshift to 100Mb/s +Subject: [PATCH 114/828] net: lan78xx: Support auto-downshift to 100Mb/s Ethernet cables with faulty or missing pairs (specifically pairs C and D) allow auto-negotiation to 1000Mbs, but do not support the successful @@ -17,8 +17,6 @@ Signed-off-by: Phil Elwell include/linux/microchipphy.h | 8 ++++++ 3 files changed, 38 insertions(+) -diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt -index 11a679530ae6..104768b85bbc 100644 --- a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt +++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt @@ -14,6 +14,9 @@ Optional properties of the embedded PHY: @@ -31,11 +29,9 @@ index 11a679530ae6..104768b85bbc 100644 Example: -diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c -index 9f1f2b6c97d4..4703a989b392 100644 --- a/drivers/net/phy/microchip.c +++ b/drivers/net/phy/microchip.c -@@ -233,6 +233,7 @@ static int lan88xx_probe(struct phy_device *phydev) +@@ -233,6 +233,7 @@ static int lan88xx_probe(struct phy_devi struct device *dev = &phydev->mdio.dev; struct lan88xx_priv *priv; u32 led_modes[4]; @@ -43,7 +39,7 @@ index 9f1f2b6c97d4..4703a989b392 100644 int len; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); -@@ -262,6 +263,32 @@ static int lan88xx_probe(struct phy_device *phydev) +@@ -262,6 +263,32 @@ static int lan88xx_probe(struct phy_devi return -EINVAL; } @@ -76,8 +72,6 @@ index 9f1f2b6c97d4..4703a989b392 100644 /* these values can be used to identify internal PHY */ priv->chip_id = phy_read_mmd(phydev, 3, LAN88XX_MMD3_CHIP_ID); priv->chip_rev = phy_read_mmd(phydev, 3, LAN88XX_MMD3_CHIP_REV); -diff --git a/include/linux/microchipphy.h b/include/linux/microchipphy.h -index 517288da19fd..626c450d71f4 100644 --- a/include/linux/microchipphy.h +++ b/include/linux/microchipphy.h @@ -61,6 +61,14 @@ @@ -95,6 +89,3 @@ index 517288da19fd..626c450d71f4 100644 /* DSP registers */ #define PHY_ARDENNES_MMD_DEV_3_PHY_CFG (0x806A) #define PHY_ARDENNES_MMD_DEV_3_PHY_CFG_ZD_DLY_EN_ (0x2000) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0124-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch b/root/target/linux/bcm27xx/patches-5.15/950-0115-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0124-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0115-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch index ca643793..d7584302 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0124-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0115-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch @@ -1,7 +1,7 @@ -From f75c4eeea9177ea1d83382807c261ddf7ef630c6 Mon Sep 17 00:00:00 2001 +From 50839c6753456e3b56485f6dd0572a4833040ee9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 10 Jan 2019 17:58:06 +0000 -Subject: [PATCH 124/634] firmware: raspberrypi: Report the fw variant during +Subject: [PATCH 115/828] firmware: raspberrypi: Report the fw variant during probe The driver already reported the firmware build date during probe. @@ -25,11 +25,9 @@ Signed-off-by: Dave Stevenson include/soc/bcm2835/raspberrypi-firmware.h | 2 ++ 2 files changed, 41 insertions(+), 1 deletion(-) -diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 2a9edea7f0f1..2a7a0a9933d7 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -233,6 +233,15 @@ rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) +@@ -233,6 +233,15 @@ rpi_firmware_print_firmware_revision(str { time64_t date_and_time; u32 packet; @@ -45,7 +43,7 @@ index 2a9edea7f0f1..2a7a0a9933d7 100644 int ret = rpi_firmware_property(fw, RPI_FIRMWARE_GET_FIRMWARE_REVISION, &packet, sizeof(packet)); -@@ -242,7 +251,35 @@ rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) +@@ -242,7 +251,35 @@ rpi_firmware_print_firmware_revision(str /* This is not compatible with y2038 */ date_and_time = packet; @@ -82,7 +80,7 @@ index 2a9edea7f0f1..2a7a0a9933d7 100644 } static void -@@ -338,6 +375,7 @@ static int rpi_firmware_probe(struct platform_device *pdev) +@@ -338,6 +375,7 @@ static int rpi_firmware_probe(struct pla g_pdev = pdev; rpi_firmware_print_firmware_revision(fw); @@ -90,11 +88,9 @@ index 2a9edea7f0f1..2a7a0a9933d7 100644 rpi_register_hwmon_driver(dev, fw); rpi_register_clk_driver(dev); -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index a8cff19aea83..5ccd6dd0b74e 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -36,6 +36,8 @@ struct rpi_firmware_property_tag_header { +@@ -36,6 +36,8 @@ struct rpi_firmware_property_tag_header enum rpi_firmware_property_tag { RPI_FIRMWARE_PROPERTY_END = 0, RPI_FIRMWARE_GET_FIRMWARE_REVISION = 0x00000001, @@ -103,6 +99,3 @@ index a8cff19aea83..5ccd6dd0b74e 100644 RPI_FIRMWARE_SET_CURSOR_INFO = 0x00008010, RPI_FIRMWARE_SET_CURSOR_STATE = 0x00008011, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0125-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/root/target/linux/bcm27xx/patches-5.15/950-0116-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0125-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0116-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch index e770eb16..e767abec 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0125-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0116-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch @@ -1,7 +1,7 @@ -From 58c221e5353c167f6c10129070a516cf651636c5 Mon Sep 17 00:00:00 2001 +From 48509683d941444904e934e66ee95ed8675d1ec6 Mon Sep 17 00:00:00 2001 From: Joshua Emele Date: Wed, 7 Nov 2018 16:07:40 -0800 -Subject: [PATCH 125/634] lan78xx: Debounce link events to minimize poll storm +Subject: [PATCH 116/828] lan78xx: Debounce link events to minimize poll storm The bInterval is set to 4 (i.e. 8 microframes => 1ms) and the only bit that the driver pays attention to is "link was reset". If there's a @@ -14,11 +14,9 @@ See: https://github.com/raspberrypi/linux/issues/2447 drivers/net/usb/lan78xx.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 15f2989c9ba1..daa4e1518d18 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -452,6 +452,11 @@ static bool enable_tso; +@@ -454,6 +454,11 @@ static bool enable_tso; module_param(enable_tso, bool, 0644); MODULE_PARM_DESC(enable_tso, "Enables TCP segmentation offload"); @@ -30,7 +28,7 @@ index 15f2989c9ba1..daa4e1518d18 100644 static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) { u32 *buf; -@@ -4146,7 +4151,13 @@ static int lan78xx_probe(struct usb_interface *intf, +@@ -4148,7 +4153,13 @@ static int lan78xx_probe(struct usb_inte netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER); @@ -45,6 +43,3 @@ index 15f2989c9ba1..daa4e1518d18 100644 maxp = usb_maxpacket(dev->udev, dev->pipe_intr, 0); buf = kmalloc(maxp, GFP_KERNEL); if (buf) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0126-lan78xx-EEE-support-is-now-a-PHY-property.patch b/root/target/linux/bcm27xx/patches-5.15/950-0117-lan78xx-EEE-support-is-now-a-PHY-property.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0126-lan78xx-EEE-support-is-now-a-PHY-property.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0117-lan78xx-EEE-support-is-now-a-PHY-property.patch index b5502929..9df5f5f8 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0126-lan78xx-EEE-support-is-now-a-PHY-property.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0117-lan78xx-EEE-support-is-now-a-PHY-property.patch @@ -1,7 +1,7 @@ -From 1b9bdc36273501949b7ad4e93833302c4cba1229 Mon Sep 17 00:00:00 2001 +From 0724d386878451b0e8db4d10b5859d0651ce6257 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 Mar 2019 09:51:22 +0000 -Subject: [PATCH 126/634] lan78xx: EEE support is now a PHY property +Subject: [PATCH 117/828] lan78xx: EEE support is now a PHY property Now that EEE support is a property of the PHY, use the PHY's DT node when querying the EEE-related properties. @@ -13,11 +13,9 @@ Signed-off-by: Phil Elwell drivers/net/usb/lan78xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index daa4e1518d18..86661a19085f 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2280,7 +2280,7 @@ static int lan78xx_phy_init(struct lan78xx_net *dev) +@@ -2282,7 +2282,7 @@ static int lan78xx_phy_init(struct lan78 mii_adv_to_linkmode_adv_t(fc, mii_adv); linkmode_or(phydev->advertising, fc, phydev->advertising); @@ -26,6 +24,3 @@ index daa4e1518d18..86661a19085f 100644 "microchip,eee-enabled")) { struct ethtool_eee edata; memset(&edata, 0, sizeof(edata)); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0127-bcm2835-dma-Add-support-for-per-channel-flags.patch b/root/target/linux/bcm27xx/patches-5.15/950-0118-bcm2835-dma-Add-support-for-per-channel-flags.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0127-bcm2835-dma-Add-support-for-per-channel-flags.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0118-bcm2835-dma-Add-support-for-per-channel-flags.patch index a23404a6..b2be3c1e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0127-bcm2835-dma-Add-support-for-per-channel-flags.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0118-bcm2835-dma-Add-support-for-per-channel-flags.patch @@ -1,7 +1,7 @@ -From 8731a4b2e9cd96e110a3a3c331834632bb16148d Mon Sep 17 00:00:00 2001 +From 5f1575f4ad96028eaaf3c15d4d86cc04c0aa3b96 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 20 Jul 2018 22:03:41 +0100 -Subject: [PATCH 127/634] bcm2835-dma: Add support for per-channel flags +Subject: [PATCH 118/828] bcm2835-dma: Add support for per-channel flags Add the ability to interpret the high bits of the dreq specifier as flags to be included in the DMA_CS register. The motivation for this @@ -13,8 +13,6 @@ Signed-off-by: Phil Elwell drivers/dma/bcm2835-dma.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index bf7ba96a39f9..87b5d0bef355 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -139,6 +139,10 @@ struct bcm2835_desc { @@ -28,7 +26,7 @@ index bf7ba96a39f9..87b5d0bef355 100644 #define BCM2835_DMA_PER_MAP(x) ((x & 31) << 16) /* REQ source */ #define BCM2835_DMA_WAIT(x) ((x & 31) << 21) /* add DMA-wait cycles */ #define BCM2835_DMA_NO_WIDE_BURSTS BIT(26) /* no 2 beat write bursts */ -@@ -452,7 +456,8 @@ static void bcm2835_dma_start_desc(struct bcm2835_chan *c) +@@ -452,7 +456,8 @@ static void bcm2835_dma_start_desc(struc c->desc = d = to_bcm2835_dma_desc(&vd->tx); writel(d->cb_list[0].paddr, c->chan_base + BCM2835_DMA_ADDR); @@ -38,7 +36,7 @@ index bf7ba96a39f9..87b5d0bef355 100644 } static irqreturn_t bcm2835_dma_callback(int irq, void *data) -@@ -479,7 +484,8 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) +@@ -479,7 +484,8 @@ static irqreturn_t bcm2835_dma_callback( * if this IRQ handler is threaded.) If the channel is finished, it * will remain idle despite the ACTIVE flag being set. */ @@ -48,6 +46,3 @@ index bf7ba96a39f9..87b5d0bef355 100644 c->chan_base + BCM2835_DMA_CS); d = c->desc; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0128-rtc-rv3028-Add-backup-switchover-mode-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0119-rtc-rv3028-Add-backup-switchover-mode-support.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0128-rtc-rv3028-Add-backup-switchover-mode-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0119-rtc-rv3028-Add-backup-switchover-mode-support.patch index 96dcb634..dae84249 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0128-rtc-rv3028-Add-backup-switchover-mode-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0119-rtc-rv3028-Add-backup-switchover-mode-support.patch @@ -1,15 +1,13 @@ -From f0f6b5591d1f27ac97131e0d895e71ddc1e3d7a5 Mon Sep 17 00:00:00 2001 +From cf0b475279648d32338002575c2541ab0cf86fc1 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Fri, 29 Mar 2019 10:53:14 +0000 -Subject: [PATCH 128/634] rtc: rv3028: Add backup switchover mode support +Subject: [PATCH 119/828] rtc: rv3028: Add backup switchover mode support Signed-off-by: Phil Howard --- drivers/rtc/rtc-rv3028.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -diff --git a/drivers/rtc/rtc-rv3028.c b/drivers/rtc/rtc-rv3028.c -index 12c807306893..757c0ff82bdb 100644 --- a/drivers/rtc/rtc-rv3028.c +++ b/drivers/rtc/rtc-rv3028.c @@ -80,6 +80,7 @@ @@ -20,7 +18,7 @@ index 12c807306893..757c0ff82bdb 100644 #define OFFSET_STEP_PPT 953674 -@@ -789,6 +790,7 @@ static int rv3028_probe(struct i2c_client *client) +@@ -789,6 +790,7 @@ static int rv3028_probe(struct i2c_clien struct rv3028_data *rv3028; int ret, status; u32 ohms; @@ -28,7 +26,7 @@ index 12c807306893..757c0ff82bdb 100644 struct nvmem_config nvmem_cfg = { .name = "rv3028_nvram", .word_size = 1, -@@ -855,6 +857,21 @@ static int rv3028_probe(struct i2c_client *client) +@@ -855,6 +857,21 @@ static int rv3028_probe(struct i2c_clien if (ret) return ret; @@ -50,6 +48,3 @@ index 12c807306893..757c0ff82bdb 100644 /* setup trickle charger */ if (!device_property_read_u32(&client->dev, "trickle-resistor-ohms", &ohms)) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0129-lan78xx-use-default-alignment-for-rx-buffers.patch b/root/target/linux/bcm27xx/patches-5.15/950-0120-lan78xx-use-default-alignment-for-rx-buffers.patch similarity index 63% rename from root/target/linux/bcm27xx/patches-5.15/0129-lan78xx-use-default-alignment-for-rx-buffers.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0120-lan78xx-use-default-alignment-for-rx-buffers.patch index 0327730d..ccd61745 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0129-lan78xx-use-default-alignment-for-rx-buffers.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0120-lan78xx-use-default-alignment-for-rx-buffers.patch @@ -1,7 +1,7 @@ -From 27442146992db075539b1766d7328d26030053b5 Mon Sep 17 00:00:00 2001 +From 5009ffcedc138499094a6126845ec5dc07b6c134 Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 2 May 2019 11:53:45 +0100 -Subject: [PATCH 129/634] lan78xx: use default alignment for rx buffers +Subject: [PATCH 120/828] lan78xx: use default alignment for rx buffers The lan78xx uses a 12-byte hardware rx header, so there is no need to allocate SKBs with NET_IP_ALIGN set. Removes alignment faults @@ -10,11 +10,9 @@ in both dwc_otg and in ipv6 processing. drivers/net/usb/lan78xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index 86661a19085f..fdcf14aa4485 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -3525,7 +3525,7 @@ static int rx_submit(struct lan78xx_net *dev, struct urb *urb, gfp_t flags) +@@ -3527,7 +3527,7 @@ static int rx_submit(struct lan78xx_net size_t size = dev->rx_urb_size; int ret = 0; @@ -23,6 +21,3 @@ index 86661a19085f..fdcf14aa4485 100644 if (!skb) { usb_free_urb(urb); return -ENOMEM; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0130-media-tc358743-Increase-FIFO-level-to-374.patch b/root/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Increase-FIFO-level-to-374.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0130-media-tc358743-Increase-FIFO-level-to-374.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Increase-FIFO-level-to-374.patch index 103588bf..d4709543 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0130-media-tc358743-Increase-FIFO-level-to-374.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0121-media-tc358743-Increase-FIFO-level-to-374.patch @@ -1,7 +1,7 @@ -From e2397630c8659f508f7c49f2b892a343b203b17b Mon Sep 17 00:00:00 2001 +From db5eb041d475395efbd792b0b6cc3bd9940330b1 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:56:59 +0000 -Subject: [PATCH 130/634] media: tc358743: Increase FIFO level to 374. +Subject: [PATCH 121/828] media: tc358743: Increase FIFO level to 374. The existing fixed value of 16 worked for UYVY 720P60 over 2 lanes at 594MHz, or UYVY 1080P60 over 4 lanes. (RGB888 @@ -18,11 +18,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/tc358743.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index 3205cd8298dd..ae879e0835ff 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1950,7 +1950,7 @@ static int tc358743_probe_of(struct tc358743_state *state) +@@ -1950,7 +1950,7 @@ static int tc358743_probe_of(struct tc35 state->pdata.ddc5v_delay = DDC5V_DELAY_100_MS; state->pdata.enable_hdcp = false; /* A FIFO level of 16 should be enough for 2-lane 720p60 at 594 MHz. */ @@ -31,6 +29,3 @@ index 3205cd8298dd..ae879e0835ff 100644 /* * The PLL input clock is obtained by dividing refclk by pll_prd. * It must be between 6 MHz and 40 MHz, lower frequency is better. --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0131-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch b/root/target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch similarity index 84% rename from root/target/linux/bcm27xx/patches-5.15/0131-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch index 4bed6839..ac49955e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0131-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0122-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch @@ -1,7 +1,7 @@ -From 6e591be1d2f0902c35a3cd58b8c17fcae0f8d14c Mon Sep 17 00:00:00 2001 +From f75fb7b3a383480ec14696ad544ce83390ae600f Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 21 Sep 2017 17:30:24 +0200 -Subject: [PATCH 131/634] media: tc358743: fix connected/active CSI-2 lane +Subject: [PATCH 122/828] media: tc358743: fix connected/active CSI-2 lane reporting g_mbus_config was supposed to indicate all supported lane numbers, not @@ -22,11 +22,9 @@ Signed-off-by: Philipp Zabel include/media/v4l2-mediabus.h | 8 ++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index ae879e0835ff..1f4d78b147bb 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1609,11 +1609,20 @@ static int tc358743_get_mbus_config(struct v4l2_subdev *sd, +@@ -1609,11 +1609,20 @@ static int tc358743_get_mbus_config(stru struct v4l2_mbus_config *cfg) { struct tc358743_state *state = to_state(sd); @@ -49,7 +47,7 @@ index ae879e0835ff..1f4d78b147bb 100644 switch (state->csi_lanes_in_use) { case 1: -@@ -2056,6 +2065,7 @@ static int tc358743_probe(struct i2c_client *client) +@@ -2056,6 +2065,7 @@ static int tc358743_probe(struct i2c_cli if (pdata) { state->pdata = *pdata; state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; @@ -57,8 +55,6 @@ index ae879e0835ff..1f4d78b147bb 100644 } else { err = tc358743_probe_of(state); if (err == -ENODEV) -diff --git a/include/media/v4l2-mediabus.h b/include/media/v4l2-mediabus.h -index 841e190aedd9..80a641840071 100644 --- a/include/media/v4l2-mediabus.h +++ b/include/media/v4l2-mediabus.h @@ -92,6 +92,14 @@ @@ -76,6 +72,3 @@ index 841e190aedd9..80a641840071 100644 /** * enum v4l2_mbus_type - media bus type --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0132-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch b/root/target/linux/bcm27xx/patches-5.15/950-0123-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch similarity index 88% rename from root/target/linux/bcm27xx/patches-5.15/0132-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0123-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch index a0d89a75..a002f88f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0132-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0123-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch @@ -1,7 +1,7 @@ -From 666ac967be9f4e7c7cb6928393116fcedce24585 Mon Sep 17 00:00:00 2001 +From 15d6e9de88d3a37f090ed837931215659d0d9b3d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:21 +0000 -Subject: [PATCH 132/634] media: tc358743: Add support for 972Mbit/s link freq. +Subject: [PATCH 123/828] media: tc358743: Add support for 972Mbit/s link freq. Adds register setups for running the CSI lanes at 972Mbit/s, which allows 1080P50 UYVY down 2 lanes. @@ -11,11 +11,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/tc358743.c | 47 +++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 14 deletions(-) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index 1f4d78b147bb..d5c6e1f0d8bd 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1979,6 +1979,7 @@ static int tc358743_probe_of(struct tc358743_state *state) +@@ -1979,6 +1979,7 @@ static int tc358743_probe_of(struct tc35 /* * The CSI bps per lane must be between 62.5 Mbps and 1 Gbps. * The default is 594 Mbps for 4-lane 1080p60 or 2-lane 720p60. @@ -23,7 +21,7 @@ index 1f4d78b147bb..d5c6e1f0d8bd 100644 */ bps_pr_lane = 2 * endpoint.link_frequencies[0]; if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) { -@@ -1992,23 +1993,41 @@ static int tc358743_probe_of(struct tc358743_state *state) +@@ -1992,23 +1993,41 @@ static int tc358743_probe_of(struct tc35 state->pdata.refclk_hz * state->pdata.pll_prd; /* @@ -79,6 +77,3 @@ index 1f4d78b147bb..d5c6e1f0d8bd 100644 state->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0133-media-tc358743-Check-I2C-succeeded-during-probe.patch b/root/target/linux/bcm27xx/patches-5.15/950-0124-media-tc358743-Check-I2C-succeeded-during-probe.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0133-media-tc358743-Check-I2C-succeeded-during-probe.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0124-media-tc358743-Check-I2C-succeeded-during-probe.patch index d4fe8fca..3b5c239b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0133-media-tc358743-Check-I2C-succeeded-during-probe.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0124-media-tc358743-Check-I2C-succeeded-during-probe.patch @@ -1,7 +1,7 @@ -From d8fd0da70f0edd52bc18844106bff707edf69304 Mon Sep 17 00:00:00 2001 +From b35ca31456063ad7b78207135154dda210ea9569 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:34 +0000 -Subject: [PATCH 133/634] media: tc358743: Check I2C succeeded during probe. +Subject: [PATCH 124/828] media: tc358743: Check I2C succeeded during probe. The probe for the TC358743 reads the CHIPID register from the device and compares it to the expected value of 0. @@ -18,11 +18,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/tc358743.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index d5c6e1f0d8bd..80e7afe88a8c 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -110,7 +110,7 @@ static inline struct tc358743_state *to_state(struct v4l2_subdev *sd) +@@ -110,7 +110,7 @@ static inline struct tc358743_state *to_ /* --------------- I2C --------------- */ @@ -31,7 +29,7 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 { struct tc358743_state *state = to_state(sd); struct i2c_client *client = state->i2c_client; -@@ -136,6 +136,7 @@ static void i2c_rd(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n) +@@ -136,6 +136,7 @@ static void i2c_rd(struct v4l2_subdev *s v4l2_err(sd, "%s: reading register 0x%x from 0x%x failed\n", __func__, reg, client->addr); } @@ -39,7 +37,7 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 } static void i2c_wr(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n) -@@ -192,15 +193,24 @@ static void i2c_wr(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n) +@@ -192,15 +193,24 @@ static void i2c_wr(struct v4l2_subdev *s } } @@ -66,7 +64,7 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 static noinline void i2c_wrreg(struct v4l2_subdev *sd, u16 reg, u32 val, u32 n) { __le32 raw = cpu_to_le32(val); -@@ -229,6 +239,13 @@ static u16 i2c_rd16(struct v4l2_subdev *sd, u16 reg) +@@ -229,6 +239,13 @@ static u16 i2c_rd16(struct v4l2_subdev * return i2c_rdreg(sd, reg, 2); } @@ -80,7 +78,7 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val) { i2c_wrreg(sd, reg, val, 2); -@@ -2066,6 +2083,7 @@ static int tc358743_probe(struct i2c_client *client) +@@ -2066,6 +2083,7 @@ static int tc358743_probe(struct i2c_cli struct tc358743_platform_data *pdata = client->dev.platform_data; struct v4l2_subdev *sd; u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK; @@ -88,7 +86,7 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 int err; if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) -@@ -2098,7 +2116,8 @@ static int tc358743_probe(struct i2c_client *client) +@@ -2098,7 +2116,8 @@ static int tc358743_probe(struct i2c_cli sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS; /* i2c access */ @@ -98,6 +96,3 @@ index d5c6e1f0d8bd..80e7afe88a8c 100644 v4l2_info(sd, "not a TC358743 on address 0x%x\n", client->addr << 1); return -ENODEV; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0134-media-adv7180-Default-to-the-first-valid-input.patch b/root/target/linux/bcm27xx/patches-5.15/950-0125-media-adv7180-Default-to-the-first-valid-input.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0134-media-adv7180-Default-to-the-first-valid-input.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0125-media-adv7180-Default-to-the-first-valid-input.patch index 4b6a02a0..ea5eef27 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0134-media-adv7180-Default-to-the-first-valid-input.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0125-media-adv7180-Default-to-the-first-valid-input.patch @@ -1,7 +1,7 @@ -From e618b5a667ad1088ba96fac49a611839482fba52 Mon Sep 17 00:00:00 2001 +From f40a1002bfeeb00ea95785fb6608a602f255d539 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:46 +0000 -Subject: [PATCH 134/634] media: adv7180: Default to the first valid input +Subject: [PATCH 125/828] media: adv7180: Default to the first valid input The hardware default is differential CVBS on AIN1 & 2, which isn't very useful. @@ -14,11 +14,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/adv7180.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c -index d9a99fcfacb1..b0c3635eab71 100644 --- a/drivers/media/i2c/adv7180.c +++ b/drivers/media/i2c/adv7180.c -@@ -1291,6 +1291,7 @@ static const struct adv7180_chip_info adv7282_m_info = { +@@ -1291,6 +1291,7 @@ static const struct adv7180_chip_info ad static int init_device(struct adv7180_state *state) { int ret; @@ -26,7 +24,7 @@ index d9a99fcfacb1..b0c3635eab71 100644 mutex_lock(&state->mutex); -@@ -1338,6 +1339,18 @@ static int init_device(struct adv7180_state *state) +@@ -1338,6 +1339,18 @@ static int init_device(struct adv7180_st goto out_unlock; } @@ -45,6 +43,3 @@ index d9a99fcfacb1..b0c3635eab71 100644 out_unlock: mutex_unlock(&state->mutex); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0135-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch b/root/target/linux/bcm27xx/patches-5.15/950-0126-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0135-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0126-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch index 72a4f53a..4bd36dbd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0135-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0126-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch @@ -1,7 +1,7 @@ -From da80461d2cdb46c86e83a827f2fe8c6901955fb9 Mon Sep 17 00:00:00 2001 +From 45ea1a817a286352823dafc5dc7d54b3c756ba16 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:57:56 +0000 -Subject: [PATCH 135/634] media: adv7180: Add YPrPb support for ADV7282M +Subject: [PATCH 126/828] media: adv7180: Add YPrPb support for ADV7282M The ADV7282M can support YPbPr on AIN1-3, but this was not selectable from the driver. Add it to the list of @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/adv7180.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c -index b0c3635eab71..725d52f8c742 100644 --- a/drivers/media/i2c/adv7180.c +++ b/drivers/media/i2c/adv7180.c -@@ -1280,6 +1280,7 @@ static const struct adv7180_chip_info adv7282_m_info = { +@@ -1280,6 +1280,7 @@ static const struct adv7180_chip_info ad BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) | BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) | BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) | @@ -24,6 +22,3 @@ index b0c3635eab71..725d52f8c742 100644 BIT(ADV7182_INPUT_DIFF_CVBS_AIN1_AIN2) | BIT(ADV7182_INPUT_DIFF_CVBS_AIN3_AIN4) | BIT(ADV7182_INPUT_DIFF_CVBS_AIN7_AIN8), --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0136-media-videodev2-Add-helper-defines-for-printing-FOUR.patch b/root/target/linux/bcm27xx/patches-5.15/950-0127-media-videodev2-Add-helper-defines-for-printing-FOUR.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0136-media-videodev2-Add-helper-defines-for-printing-FOUR.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0127-media-videodev2-Add-helper-defines-for-printing-FOUR.patch index 7188ed19..fe2837da 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0136-media-videodev2-Add-helper-defines-for-printing-FOUR.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0127-media-videodev2-Add-helper-defines-for-printing-FOUR.patch @@ -1,7 +1,7 @@ -From 61d27433dd24a86cf4d9fc15adbdaee9b0bbf586 Mon Sep 17 00:00:00 2001 +From 297cc4b3b9a7eff240a765361aa5c1de104c2745 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:58:08 +0000 -Subject: [PATCH 136/634] media: videodev2: Add helper defines for printing +Subject: [PATCH 127/828] media: videodev2: Add helper defines for printing FOURCCs New helper defines that allow printing of a FOURCC using @@ -12,8 +12,6 @@ Signed-off-by: Dave Stevenson include/uapi/linux/videodev2.h | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index 9260791b8438..fba99eb8eeee 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -82,6 +82,11 @@ @@ -28,6 +26,3 @@ index 9260791b8438..fba99eb8eeee 100644 /* * E N U M S */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0137-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0128-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0137-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0128-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch index 1a092215..6e4dc3fb 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0137-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0128-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch @@ -1,7 +1,7 @@ -From fdbaf8ea35358d1801d4aa96eef9d0abd16f2067 Mon Sep 17 00:00:00 2001 +From dbe28acecf267fa08b7b0cd5bc6bac3f9ce3c96a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:06 +0000 -Subject: [PATCH 137/634] dt-bindings: Document BCM283x CSI2/CCP2 receiver +Subject: [PATCH 128/828] dt-bindings: Document BCM283x CSI2/CCP2 receiver Document the DT bindings for the CSI2/CCP2 receiver peripheral (known as Unicam) on BCM283x SoCs. @@ -13,9 +13,6 @@ Acked-by: Rob Herring 1 file changed, 85 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/bcm2835-unicam.txt -diff --git a/Documentation/devicetree/bindings/media/bcm2835-unicam.txt b/Documentation/devicetree/bindings/media/bcm2835-unicam.txt -new file mode 100644 -index 000000000000..7714fb374b34 --- /dev/null +++ b/Documentation/devicetree/bindings/media/bcm2835-unicam.txt @@ -0,0 +1,85 @@ @@ -104,6 +101,3 @@ index 000000000000..7714fb374b34 + }; + }; + }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0138-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0129-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0138-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0129-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch index df3871a7..551591f5 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0138-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0129-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch @@ -1,7 +1,7 @@ -From e378fcf490ac637e73756ba292ca2cade34a0a63 Mon Sep 17 00:00:00 2001 +From b5af192790415e06e2aa20e544b5d8cefb0c783d Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 31 Oct 2018 14:59:40 +0000 -Subject: [PATCH 138/634] MAINTAINERS: Add entry for BCM2835 Unicam driver +Subject: [PATCH 129/828] MAINTAINERS: Add entry for BCM2835 Unicam driver Adds entry for the new BCM2835 Unicam (CSI-2 receiver) driver @@ -10,11 +10,9 @@ Signed-off-by: Dave Stevenson MAINTAINERS | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/MAINTAINERS b/MAINTAINERS -index 3b79fd441dde..d2cdcab16854 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3551,6 +3551,13 @@ N: bcm113* +@@ -3552,6 +3552,13 @@ N: bcm113* N: bcm216* N: kona @@ -28,6 +26,3 @@ index 3b79fd441dde..d2cdcab16854 100644 BROADCOM BCM47XX MIPS ARCHITECTURE M: Hauke Mehrtens M: Rafał Miłecki --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0139-media-tc358743-Return-an-appropriate-colorspace-from.patch b/root/target/linux/bcm27xx/patches-5.15/950-0130-media-tc358743-Return-an-appropriate-colorspace-from.patch similarity index 88% rename from root/target/linux/bcm27xx/patches-5.15/0139-media-tc358743-Return-an-appropriate-colorspace-from.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0130-media-tc358743-Return-an-appropriate-colorspace-from.patch index 4d268f98..a0f7807e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0139-media-tc358743-Return-an-appropriate-colorspace-from.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0130-media-tc358743-Return-an-appropriate-colorspace-from.patch @@ -1,7 +1,7 @@ -From 05e7ff0589cd43d85f8ef8ed119eada1e1363206 Mon Sep 17 00:00:00 2001 +From 8da2229fe18b9682d61134c4acf5da8b8223f3cf Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 22 Nov 2018 17:31:06 +0000 -Subject: [PATCH 139/634] media: tc358743: Return an appropriate colorspace +Subject: [PATCH 130/828] media: tc358743: Return an appropriate colorspace from tc358743_set_fmt When calling tc358743_set_fmt, the code was calling tc358743_get_fmt @@ -24,11 +24,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/tc358743.c | 40 +++++++++++++----------------------- 1 file changed, 14 insertions(+), 26 deletions(-) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index 80e7afe88a8c..69f2d676448e 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1691,12 +1691,23 @@ static int tc358743_enum_mbus_code(struct v4l2_subdev *sd, +@@ -1691,12 +1691,23 @@ static int tc358743_enum_mbus_code(struc return 0; } @@ -53,7 +51,7 @@ index 80e7afe88a8c..69f2d676448e 100644 if (format->pad != 0) return -EINVAL; -@@ -1706,23 +1717,7 @@ static int tc358743_get_fmt(struct v4l2_subdev *sd, +@@ -1706,23 +1717,7 @@ static int tc358743_get_fmt(struct v4l2_ format->format.height = state->timings.bt.height; format->format.field = V4L2_FIELD_NONE; @@ -78,7 +76,7 @@ index 80e7afe88a8c..69f2d676448e 100644 return 0; } -@@ -1737,18 +1732,11 @@ static int tc358743_set_fmt(struct v4l2_subdev *sd, +@@ -1737,18 +1732,11 @@ static int tc358743_set_fmt(struct v4l2_ int ret = tc358743_get_fmt(sd, sd_state, format); format->format.code = code; @@ -98,6 +96,3 @@ index 80e7afe88a8c..69f2d676448e 100644 if (format->which == V4L2_SUBDEV_FORMAT_TRY) return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0140-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch b/root/target/linux/bcm27xx/patches-5.15/950-0131-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch similarity index 63% rename from root/target/linux/bcm27xx/patches-5.15/0140-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0131-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch index f416c743..de35a7ae 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0140-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0131-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch @@ -1,7 +1,7 @@ -From 94e8756a3fbe57cd330aee9f55c13106ef33d8bb Mon Sep 17 00:00:00 2001 +From 5d469e359d66182ad76dab8050b2106fe8178117 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 16:20:46 +0000 -Subject: [PATCH 140/634] staging: mmal-vchiq: Avoid use of bool in structures +Subject: [PATCH 131/828] staging: mmal-vchiq: Avoid use of bool in structures Fixes up a checkpatch error "Avoid using bool structure members because of possible alignment issues". @@ -11,11 +11,9 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -index 76d3f0399964..61b9c09144b1 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -@@ -1775,7 +1775,7 @@ int vchiq_mmal_component_enable(struct vchiq_mmal_instance *instance, +@@ -1775,7 +1775,7 @@ int vchiq_mmal_component_enable(struct v ret = enable_component(instance, component); if (ret == 0) @@ -24,6 +22,3 @@ index 76d3f0399964..61b9c09144b1 100644 mutex_unlock(&instance->vchiq_mutex); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0141-staging-mmal-vchiq-Add-support-for-event-callbacks.patch b/root/target/linux/bcm27xx/patches-5.15/950-0132-staging-mmal-vchiq-Add-support-for-event-callbacks.patch similarity index 85% rename from root/target/linux/bcm27xx/patches-5.15/0141-staging-mmal-vchiq-Add-support-for-event-callbacks.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0132-staging-mmal-vchiq-Add-support-for-event-callbacks.patch index 9b24e1d6..dc1a1ca3 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0141-staging-mmal-vchiq-Add-support-for-event-callbacks.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0132-staging-mmal-vchiq-Add-support-for-event-callbacks.patch @@ -1,7 +1,7 @@ -From 07d8cb52585f164eee11100eecdc1228a73caba9 Mon Sep 17 00:00:00 2001 +From 6cc6ff878eb5f2ac6ba8ebc7983b06f13d97679b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:15:38 +0100 -Subject: [PATCH 141/634] staging: mmal-vchiq: Add support for event callbacks. +Subject: [PATCH 132/828] staging: mmal-vchiq: Add support for event callbacks. (Preparation for the codec driver). The codec uses the event mechanism to report things such as @@ -18,8 +18,6 @@ Signed-off-by: Dave Stevenson .../vc04_services/vchiq-mmal/mmal-vchiq.h | 4 + 4 files changed, 196 insertions(+), 14 deletions(-) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-common.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-common.h -index 5bd7410a034a..58763d6a5003 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-common.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-common.h @@ -50,6 +50,7 @@ struct mmal_buffer { @@ -30,11 +28,9 @@ index 5bd7410a034a..58763d6a5003 100644 unsigned long length; u32 mmal_flags; s64 dts; -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-msg.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-msg.h -index b636e889c8a1..ab63835ce01c 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-msg.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-msg.h -@@ -346,6 +346,41 @@ struct mmal_msg_port_parameter_get_reply { +@@ -346,6 +346,41 @@ struct mmal_msg_port_parameter_get_reply /* event messages */ #define MMAL_WORKER_EVENT_SPACE 256 @@ -76,8 +72,6 @@ index b636e889c8a1..ab63835ce01c 100644 struct mmal_msg_event_to_host { u32 client_component; /* component context */ -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -index 61b9c09144b1..e78858d24c4e 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c @@ -143,6 +143,8 @@ struct mmal_msg_context { @@ -89,7 +83,7 @@ index 61b9c09144b1..e78858d24c4e 100644 int status; /* context status */ -@@ -233,18 +235,6 @@ release_msg_context(struct mmal_msg_context *msg_context) +@@ -233,18 +235,6 @@ release_msg_context(struct mmal_msg_cont kfree(msg_context); } @@ -108,7 +102,7 @@ index 61b9c09144b1..e78858d24c4e 100644 /* workqueue scheduled callback * * we do this because it is important we do not call any other vchiq -@@ -266,13 +256,18 @@ static void buffer_work_cb(struct work_struct *work) +@@ -266,13 +256,18 @@ static void buffer_work_cb(struct work_s buffer->mmal_flags = msg_context->u.bulk.mmal_flags; buffer->dts = msg_context->u.bulk.dts; buffer->pts = msg_context->u.bulk.pts; @@ -128,7 +122,7 @@ index 61b9c09144b1..e78858d24c4e 100644 } /* workqueue scheduled callback to handle receiving buffers -@@ -350,6 +345,7 @@ static int bulk_receive(struct vchiq_mmal_instance *instance, +@@ -350,6 +345,7 @@ static int bulk_receive(struct vchiq_mma msg_context->u.bulk.buffer_used = rd_len; msg_context->u.bulk.dts = msg->u.buffer_from_host.buffer_header.dts; msg_context->u.bulk.pts = msg->u.buffer_from_host.buffer_header.pts; @@ -136,7 +130,7 @@ index 61b9c09144b1..e78858d24c4e 100644 queue_work(msg_context->instance->bulk_wq, &msg_context->u.bulk.buffer_to_host_work); -@@ -452,6 +448,103 @@ buffer_from_host(struct vchiq_mmal_instance *instance, +@@ -452,6 +448,103 @@ buffer_from_host(struct vchiq_mmal_insta return ret; } @@ -240,7 +234,7 @@ index 61b9c09144b1..e78858d24c4e 100644 /* deals with receipt of buffer to host message */ static void buffer_to_host_cb(struct vchiq_mmal_instance *instance, struct mmal_msg *msg, u32 msg_len) -@@ -1332,6 +1425,7 @@ static int port_disable(struct vchiq_mmal_instance *instance, +@@ -1332,6 +1425,7 @@ static int port_disable(struct vchiq_mma mmalbuf->mmal_flags = 0; mmalbuf->dts = MMAL_TIME_UNKNOWN; mmalbuf->pts = MMAL_TIME_UNKNOWN; @@ -248,7 +242,7 @@ index 61b9c09144b1..e78858d24c4e 100644 port->buffer_cb(instance, port, 0, mmalbuf); } -@@ -1633,6 +1727,43 @@ int mmal_vchi_buffer_cleanup(struct mmal_buffer *buf) +@@ -1633,6 +1727,43 @@ int mmal_vchi_buffer_cleanup(struct mmal } EXPORT_SYMBOL_GPL(mmal_vchi_buffer_cleanup); @@ -292,7 +286,7 @@ index 61b9c09144b1..e78858d24c4e 100644 /* Initialise a mmal component and its ports * */ -@@ -1682,6 +1813,7 @@ int vchiq_mmal_component_init(struct vchiq_mmal_instance *instance, +@@ -1682,6 +1813,7 @@ int vchiq_mmal_component_init(struct vch ret = port_info_get(instance, &component->control); if (ret < 0) goto release_component; @@ -300,7 +294,7 @@ index 61b9c09144b1..e78858d24c4e 100644 for (idx = 0; idx < component->inputs; idx++) { component->input[idx].type = MMAL_PORT_TYPE_INPUT; -@@ -1692,6 +1824,7 @@ int vchiq_mmal_component_init(struct vchiq_mmal_instance *instance, +@@ -1692,6 +1824,7 @@ int vchiq_mmal_component_init(struct vch ret = port_info_get(instance, &component->input[idx]); if (ret < 0) goto release_component; @@ -308,7 +302,7 @@ index 61b9c09144b1..e78858d24c4e 100644 } for (idx = 0; idx < component->outputs; idx++) { -@@ -1703,6 +1836,7 @@ int vchiq_mmal_component_init(struct vchiq_mmal_instance *instance, +@@ -1703,6 +1836,7 @@ int vchiq_mmal_component_init(struct vch ret = port_info_get(instance, &component->output[idx]); if (ret < 0) goto release_component; @@ -316,7 +310,7 @@ index 61b9c09144b1..e78858d24c4e 100644 } for (idx = 0; idx < component->clocks; idx++) { -@@ -1714,6 +1848,7 @@ int vchiq_mmal_component_init(struct vchiq_mmal_instance *instance, +@@ -1714,6 +1848,7 @@ int vchiq_mmal_component_init(struct vch ret = port_info_get(instance, &component->clock[idx]); if (ret < 0) goto release_component; @@ -324,7 +318,7 @@ index 61b9c09144b1..e78858d24c4e 100644 } *component_out = component; -@@ -1739,7 +1874,7 @@ EXPORT_SYMBOL_GPL(vchiq_mmal_component_init); +@@ -1739,7 +1874,7 @@ EXPORT_SYMBOL_GPL(vchiq_mmal_component_i int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance, struct vchiq_mmal_component *component) { @@ -333,7 +327,7 @@ index 61b9c09144b1..e78858d24c4e 100644 if (mutex_lock_interruptible(&instance->vchiq_mutex)) return -EINTR; -@@ -1751,6 +1886,13 @@ int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance, +@@ -1751,6 +1886,13 @@ int vchiq_mmal_component_finalise(struct component->in_use = 0; @@ -347,8 +341,6 @@ index 61b9c09144b1..e78858d24c4e 100644 mutex_unlock(&instance->vchiq_mutex); return ret; -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.h -index 1dc81ecf9268..e87f88f99338 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.h @@ -79,6 +79,10 @@ struct vchiq_mmal_port { @@ -362,6 +354,3 @@ index 1dc81ecf9268..e87f88f99338 100644 }; struct vchiq_mmal_component { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0142-staging-vc04_services-Support-sending-data-to-MMAL-p.patch b/root/target/linux/bcm27xx/patches-5.15/950-0133-staging-vc04_services-Support-sending-data-to-MMAL-p.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0142-staging-vc04_services-Support-sending-data-to-MMAL-p.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0133-staging-vc04_services-Support-sending-data-to-MMAL-p.patch index aa86c979..f1c49e21 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0142-staging-vc04_services-Support-sending-data-to-MMAL-p.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0133-staging-vc04_services-Support-sending-data-to-MMAL-p.patch @@ -1,7 +1,7 @@ -From 7904cb3ffafcb955d707d1001bb04ad6c790cf17 Mon Sep 17 00:00:00 2001 +From 48c6aea8bc1f06926b1f98259a84add0f6fcaea5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 24 Sep 2018 18:26:02 +0100 -Subject: [PATCH 142/634] staging: vc04_services: Support sending data to MMAL +Subject: [PATCH 133/828] staging: vc04_services: Support sending data to MMAL ports Add the ability to send data to ports. This only supports @@ -13,11 +13,9 @@ Signed-off-by: Dave Stevenson .../vc04_services/vchiq-mmal/mmal-vchiq.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -index e78858d24c4e..2fbb813c27f1 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -@@ -422,11 +422,19 @@ buffer_from_host(struct vchiq_mmal_instance *instance, +@@ -422,11 +422,19 @@ buffer_from_host(struct vchiq_mmal_insta m.u.buffer_from_host.buffer_header.data = (u32)(unsigned long)buf->buffer; m.u.buffer_from_host.buffer_header.alloc_size = buf->buffer_size; @@ -42,6 +40,3 @@ index e78858d24c4e..2fbb813c27f1 100644 /* clear buffer type specific data */ memset(&m.u.buffer_from_host.buffer_header_type_specific, 0, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0143-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch b/root/target/linux/bcm27xx/patches-5.15/950-0134-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0143-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0134-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch index de9249e4..d6bfae46 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0143-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0134-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch @@ -1,7 +1,7 @@ -From 8b7ebc4f65ceacdd873a9c263716830780068ac1 Mon Sep 17 00:00:00 2001 +From b6e6c4ee225d5f72508ea1e8a30d3290305e824f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 29 Oct 2018 17:57:45 +0000 -Subject: [PATCH 143/634] media: videobuf2: Allow exporting of a struct dmabuf +Subject: [PATCH 134/828] media: videobuf2: Allow exporting of a struct dmabuf videobuf2 only allowed exporting a dmabuf as a file descriptor, but there are instances where having the struct dma_buf is @@ -17,11 +17,9 @@ Signed-off-by: Dave Stevenson include/media/videobuf2-core.h | 15 +++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) -diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c -index 033b0c83272f..8f06b89f1a24 100644 --- a/drivers/media/common/videobuf2/videobuf2-core.c +++ b/drivers/media/common/videobuf2/videobuf2-core.c -@@ -2144,12 +2144,12 @@ static int __find_plane_by_offset(struct vb2_queue *q, unsigned long off, +@@ -2144,12 +2144,12 @@ static int __find_plane_by_offset(struct return -EINVAL; } @@ -37,7 +35,7 @@ index 033b0c83272f..8f06b89f1a24 100644 struct dma_buf *dbuf; if (q->memory != VB2_MEMORY_MMAP) { -@@ -2201,6 +2201,21 @@ int vb2_core_expbuf(struct vb2_queue *q, int *fd, unsigned int type, +@@ -2201,6 +2201,21 @@ int vb2_core_expbuf(struct vb2_queue *q, return -EINVAL; } @@ -59,15 +57,12 @@ index 033b0c83272f..8f06b89f1a24 100644 ret = dma_buf_fd(dbuf, flags & ~O_ACCMODE); if (ret < 0) { dprintk(q, 3, "buffer %d, plane %d failed to export (%d)\n", -diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h -index 3b5986cee073..4b72d0e16ee3 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h -@@ -905,6 +905,21 @@ int vb2_core_streamon(struct vb2_queue *q, unsigned int type); - */ +@@ -906,6 +906,21 @@ int vb2_core_streamon(struct vb2_queue * int vb2_core_streamoff(struct vb2_queue *q, unsigned int type); -+/** + /** + * vb2_core_expbuf_dmabuf() - Export a buffer as a dma_buf structure + * @q: videobuf2 queue + * @type: buffer type @@ -82,9 +77,7 @@ index 3b5986cee073..4b72d0e16ee3 100644 + unsigned int index, unsigned int plane, + unsigned int flags, struct dma_buf **dmabuf); + - /** ++/** * vb2_core_expbuf() - Export a buffer as a file descriptor. * @q: pointer to &struct vb2_queue with videobuf2 queue. --- -2.33.1 - + * @fd: pointer to the file descriptor associated with DMABUF diff --git a/root/target/linux/bcm27xx/patches-5.15/0144-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch b/root/target/linux/bcm27xx/patches-5.15/950-0135-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0144-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0135-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch index 9214fdaa..16840172 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0144-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0135-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch @@ -1,7 +1,7 @@ -From c4144f221b64e8eee2fba7a5deab6c36ce4215bc Mon Sep 17 00:00:00 2001 +From 732a6f5cff4884bb5f75ea6c20c5f32920ee6019 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 22 Jan 2019 12:04:09 +0000 -Subject: [PATCH 144/634] staging: mmal-vchiq: Fix client_component for 64 bit +Subject: [PATCH 135/828] staging: mmal-vchiq: Fix client_component for 64 bit kernel The MMAL client_component field is used with the event @@ -19,11 +19,9 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -index 2fbb813c27f1..d6d98b20c76a 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -@@ -460,9 +460,9 @@ buffer_from_host(struct vchiq_mmal_instance *instance, +@@ -460,9 +460,9 @@ buffer_from_host(struct vchiq_mmal_insta static void event_to_host_cb(struct vchiq_mmal_instance *instance, struct mmal_msg *msg, u32 msg_len) { @@ -35,6 +33,3 @@ index 2fbb813c27f1..d6d98b20c76a 100644 struct vchiq_mmal_port *port = NULL; struct mmal_msg_context *msg_context; u32 port_num = msg->u.event_to_host.port_num; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0145-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch b/root/target/linux/bcm27xx/patches-5.15/950-0136-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0145-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0136-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch index b3229994..11aa4967 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0145-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0136-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch @@ -1,7 +1,7 @@ -From 61a9bb66ac81ed1916b1f6cdc3b08bbe0cc76e28 Mon Sep 17 00:00:00 2001 +From 984dd42eb74bdc492fff8bf5b221d6c5b8b4c917 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 24 Jan 2019 15:09:28 +0000 -Subject: [PATCH 145/634] clk: clk-bcm2835: Use %zd when printing size_t +Subject: [PATCH 136/828] clk: clk-bcm2835: Use %zd when printing size_t The debug text for how many clocks have been registered uses "%d" with a size_t. Correct it to "%zd". @@ -11,11 +11,9 @@ Signed-off-by: Dave Stevenson drivers/clk/bcm/clk-bcm2835.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 9b9a799a487d..44f1c05fce85 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2376,7 +2376,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2376,7 +2376,7 @@ static int bcm2835_clk_probe(struct plat return ret; /* note that we have registered all the clocks */ @@ -24,6 +22,3 @@ index 9b9a799a487d..44f1c05fce85 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0146-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch b/root/target/linux/bcm27xx/patches-5.15/950-0137-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch similarity index 87% rename from root/target/linux/bcm27xx/patches-5.15/0146-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0137-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch index 36f0ab2c..67914790 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0146-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0137-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch @@ -1,7 +1,7 @@ -From 2742216cf3596595e38912acd453b64c4d5b4f97 Mon Sep 17 00:00:00 2001 +From d50bdbbaf7c2b9e4b61163eb7b30a4caaa4ee6ac Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 Feb 2019 12:33:29 +0000 -Subject: [PATCH 146/634] staging: mmal_vchiq: Add in the Bayer encoding +Subject: [PATCH 137/828] staging: mmal_vchiq: Add in the Bayer encoding formats The list of formats was copied before Bayer support was added. @@ -13,8 +13,6 @@ Signed-off-by: Dave Stevenson .../vc04_services/vchiq-mmal/mmal-encodings.h | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h -index 2be9941a1f30..44ba91aa6d47 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h @@ -69,6 +69,33 @@ @@ -51,6 +49,3 @@ index 2be9941a1f30..44ba91aa6d47 100644 /** An EGL image handle */ #define MMAL_ENCODING_EGL_IMAGE MMAL_FOURCC('E', 'G', 'L', 'I') --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0147-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch b/root/target/linux/bcm27xx/patches-5.15/950-0138-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch similarity index 85% rename from root/target/linux/bcm27xx/patches-5.15/0147-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0138-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch index 435e7654..833c3931 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0147-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0138-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch @@ -1,7 +1,7 @@ -From b154c9ddbba27222c182440bf007774c55ec4096 Mon Sep 17 00:00:00 2001 +From 96d441dc7841527e95ea5ea714997f9d79ea14b5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 18 Feb 2019 15:52:29 +0000 -Subject: [PATCH 147/634] staging: mmal-vchiq: Update mmal_parameters.h with +Subject: [PATCH 138/828] staging: mmal-vchiq: Update mmal_parameters.h with recently defined params mmal_parameters.h hasn't been updated to reflect additions made @@ -13,8 +13,6 @@ Signed-off-by: Dave Stevenson .../vchiq-mmal/mmal-parameters.h | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h -index a1e39b1b1701..1793103b18fd 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h @@ -580,7 +580,37 @@ enum mmal_parameter_video_type { @@ -56,6 +54,3 @@ index a1e39b1b1701..1793103b18fd 100644 }; /** Valid mirror modes */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0148-staging-mmal-vchiq-Free-the-event-context-for-contro.patch b/root/target/linux/bcm27xx/patches-5.15/950-0139-staging-mmal-vchiq-Free-the-event-context-for-contro.patch similarity index 66% rename from root/target/linux/bcm27xx/patches-5.15/0148-staging-mmal-vchiq-Free-the-event-context-for-contro.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0139-staging-mmal-vchiq-Free-the-event-context-for-contro.patch index e6408c00..d228efe1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0148-staging-mmal-vchiq-Free-the-event-context-for-contro.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0139-staging-mmal-vchiq-Free-the-event-context-for-contro.patch @@ -1,7 +1,7 @@ -From a8b8a58bf93ed93e971fb1afa7a7ba596994bb11 Mon Sep 17 00:00:00 2001 +From 01e13ed3774b4550ec019f3c92814edf8b11ddea Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 May 2019 13:27:23 +0100 -Subject: [PATCH 148/634] staging: mmal-vchiq: Free the event context for +Subject: [PATCH 139/828] staging: mmal-vchiq: Free the event context for control ports vchiq_mmal_component_init calls init_event_context for the @@ -15,11 +15,9 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -index d6d98b20c76a..b4893e08f54a 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -@@ -1901,6 +1901,8 @@ int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance, +@@ -1901,6 +1901,8 @@ int vchiq_mmal_component_finalise(struct for (idx = 0; idx < component->clocks; idx++) free_event_context(&component->clock[idx]); @@ -28,6 +26,3 @@ index d6d98b20c76a..b4893e08f54a 100644 mutex_unlock(&instance->vchiq_mutex); return ret; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0149-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch b/root/target/linux/bcm27xx/patches-5.15/950-0140-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0149-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0140-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch index ea2e1b51..9112bd15 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0149-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0140-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch @@ -1,7 +1,7 @@ -From a454cb5bcb7e17e7065344e12c4a6820282449b9 Mon Sep 17 00:00:00 2001 +From bb7a88a8e9b0fec15f2e505c2742c9b6fbc33ac0 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 15:50:01 +0100 -Subject: [PATCH 149/634] staging: mmal-vchiq: Fix memory leak in error path +Subject: [PATCH 140/828] staging: mmal-vchiq: Fix memory leak in error path On error, vchiq_mmal_component_init could leave the event context allocated for ports. @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson .../vc04_services/vchiq-mmal/mmal-vchiq.c | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -index b4893e08f54a..38303b030156 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c -@@ -1767,9 +1767,26 @@ static void free_event_context(struct vchiq_mmal_port *port) +@@ -1767,9 +1767,26 @@ static void free_event_context(struct vc { struct mmal_msg_context *ctx = port->event_context; @@ -43,7 +41,7 @@ index b4893e08f54a..38303b030156 100644 } /* Initialise a mmal component and its ports -@@ -1867,6 +1884,7 @@ int vchiq_mmal_component_init(struct vchiq_mmal_instance *instance, +@@ -1867,6 +1884,7 @@ int vchiq_mmal_component_init(struct vch release_component: destroy_component(instance, component); @@ -51,7 +49,7 @@ index b4893e08f54a..38303b030156 100644 unlock: if (component) component->in_use = 0; -@@ -1882,7 +1900,7 @@ EXPORT_SYMBOL_GPL(vchiq_mmal_component_init); +@@ -1882,7 +1900,7 @@ EXPORT_SYMBOL_GPL(vchiq_mmal_component_i int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance, struct vchiq_mmal_component *component) { @@ -60,7 +58,7 @@ index b4893e08f54a..38303b030156 100644 if (mutex_lock_interruptible(&instance->vchiq_mutex)) return -EINTR; -@@ -1894,14 +1912,7 @@ int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance, +@@ -1894,14 +1912,7 @@ int vchiq_mmal_component_finalise(struct component->in_use = 0; @@ -76,6 +74,3 @@ index b4893e08f54a..38303b030156 100644 mutex_unlock(&instance->vchiq_mutex); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0150-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch b/root/target/linux/bcm27xx/patches-5.15/950-0141-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch similarity index 71% rename from root/target/linux/bcm27xx/patches-5.15/0150-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0141-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch index f9a1e13c..03bf9f61 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0150-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0141-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch @@ -1,7 +1,7 @@ -From e1ce50f1eb28a03b0291e56c9a560400594b8959 Mon Sep 17 00:00:00 2001 +From 3de45a590b6b8f96345b10c7cb1965bdf1a22ed5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Jun 2019 17:15:05 +0100 -Subject: [PATCH 150/634] w1: w1-gpio: Make GPIO an output for strong pullup +Subject: [PATCH 141/828] w1: w1-gpio: Make GPIO an output for strong pullup The logic to drive the data line high to implement a strong pullup assumed that the pin was already an output - setting a value does @@ -14,11 +14,9 @@ Signed-off-by: Phil Elwell drivers/w1/masters/w1-gpio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c -index d4632aace402..4832cd8c2596 100644 --- a/drivers/w1/masters/w1-gpio.c +++ b/drivers/w1/masters/w1-gpio.c -@@ -30,7 +30,7 @@ static u8 w1_gpio_set_pullup(void *data, int delay) +@@ -30,7 +30,7 @@ static u8 w1_gpio_set_pullup(void *data, * This will OVERRIDE open drain emulation and force-pull * the line high for some time. */ @@ -27,6 +25,3 @@ index d4632aace402..4832cd8c2596 100644 msleep(pdata->pullup_duration); /* * This will simply set the line as input since we are doing --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0151-arm-bcm2835-Fix-FIQ-early-ioremap.patch b/root/target/linux/bcm27xx/patches-5.15/950-0142-arm-bcm2835-Fix-FIQ-early-ioremap.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0151-arm-bcm2835-Fix-FIQ-early-ioremap.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0142-arm-bcm2835-Fix-FIQ-early-ioremap.patch index f0cb2dde..81a9aa48 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0151-arm-bcm2835-Fix-FIQ-early-ioremap.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0142-arm-bcm2835-Fix-FIQ-early-ioremap.patch @@ -1,7 +1,7 @@ -From 9ed1c6436e27f743143024f1280229e614dd2072 Mon Sep 17 00:00:00 2001 +From 19c676cf4de5dea4a853093e52dabaa49967a326 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 20 Feb 2019 08:49:39 +0000 -Subject: [PATCH 151/634] arm: bcm2835: Fix FIQ early ioremap +Subject: [PATCH 142/828] arm: bcm2835: Fix FIQ early ioremap The ioremapping creates mappings within the vmalloc area. The equivalent early function, create_mapping, now checks that the @@ -15,8 +15,6 @@ Signed-off-by: Phil Elwell arch/arm/mach-bcm/board_bcm2835.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 9b6c921106b5..9bd9842da59f 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -5,17 +5,20 @@ @@ -42,7 +40,7 @@ index 9b6c921106b5..9bd9842da59f 100644 static void __init bcm2835_init(void) { -@@ -74,20 +77,26 @@ static int __init bcm2835_map_usb(unsigned long node, const char *uname, +@@ -74,20 +77,26 @@ static int __init bcm2835_map_usb(unsign static void __init bcm2835_map_io(void) { @@ -73,6 +71,3 @@ index 9b6c921106b5..9bd9842da59f 100644 /* Now search for bcm2708-usb node in device tree */ of_scan_flat_dt(bcm2835_map_usb, &p2b_offset); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0152-arm-bcm2835-DMA-can-only-address-1GB.patch b/root/target/linux/bcm27xx/patches-5.15/950-0143-arm-bcm2835-DMA-can-only-address-1GB.patch similarity index 66% rename from root/target/linux/bcm27xx/patches-5.15/0152-arm-bcm2835-DMA-can-only-address-1GB.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0143-arm-bcm2835-DMA-can-only-address-1GB.patch index 1671de2a..3211dc7d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0152-arm-bcm2835-DMA-can-only-address-1GB.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0143-arm-bcm2835-DMA-can-only-address-1GB.patch @@ -1,7 +1,7 @@ -From 129c8b004eb7c432bcb9fc089c9a49ca82039700 Mon Sep 17 00:00:00 2001 +From a7fd907b5b54ae28b10471f7d08f36069b164733 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 29 May 2019 15:47:42 +0100 -Subject: [PATCH 152/634] arm: bcm2835: DMA can only address 1GB +Subject: [PATCH 143/828] arm: bcm2835: DMA can only address 1GB The legacy peripherals can only address the first gigabyte of RAM, so ensure that DMA allocations are restricted to that region. @@ -11,11 +11,9 @@ Signed-off-by: Phil Elwell arch/arm/mach-bcm/board_bcm2835.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 9bd9842da59f..7d59a9364175 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c -@@ -114,6 +114,9 @@ static const char * const bcm2835_compat[] = { +@@ -114,6 +114,9 @@ static const char * const bcm2835_compat }; DT_MACHINE_START(BCM2835, "BCM2835") @@ -25,6 +23,3 @@ index 9bd9842da59f..7d59a9364175 100644 .map_io = bcm2835_map_io, .init_machine = bcm2835_init, .dt_compat = bcm2835_compat, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0153-hwrng-iproc-rng200-Add-BCM2838-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0144-hwrng-iproc-rng200-Add-BCM2838-support.patch similarity index 89% rename from root/target/linux/bcm27xx/patches-5.15/0153-hwrng-iproc-rng200-Add-BCM2838-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0144-hwrng-iproc-rng200-Add-BCM2838-support.patch index 684eea00..f5086386 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0153-hwrng-iproc-rng200-Add-BCM2838-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0144-hwrng-iproc-rng200-Add-BCM2838-support.patch @@ -1,7 +1,7 @@ -From d2bf716c9a53075e0afa4dc1289c9dc19f3a5bd6 Mon Sep 17 00:00:00 2001 +From 597c654989ecb0b9b75220157be37175bfbc2c5c Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Sat, 4 May 2019 17:06:15 +0200 -Subject: [PATCH 153/634] hwrng: iproc-rng200: Add BCM2838 support +Subject: [PATCH 144/828] hwrng: iproc-rng200: Add BCM2838 support The HWRNG on the BCM2838 is compatible to iproc-rng200, so add the support to this driver instead of bcm2835-rng. @@ -20,8 +20,6 @@ Signed-off-by: Phil Elwell drivers/char/hw_random/iproc-rng200.c | 78 +++++++++++++++++++++++++-- 2 files changed, 76 insertions(+), 4 deletions(-) -diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index 239eca4d6805..d17cc5f7fc03 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -104,7 +104,7 @@ config HW_RANDOM_IPROC_RNG200 @@ -33,8 +31,6 @@ index 239eca4d6805..d17cc5f7fc03 100644 To compile this driver as a module, choose M here: the module will be called iproc-rng200 -diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c -index a43743887db1..f689cd63deae 100644 --- a/drivers/char/hw_random/iproc-rng200.c +++ b/drivers/char/hw_random/iproc-rng200.c @@ -28,6 +28,7 @@ @@ -69,7 +65,7 @@ index a43743887db1..f689cd63deae 100644 struct iproc_rng200_dev { struct hwrng rng; -@@ -165,6 +173,64 @@ static int iproc_rng200_init(struct hwrng *rng) +@@ -165,6 +173,64 @@ static int iproc_rng200_init(struct hwrn return 0; } @@ -134,7 +130,7 @@ index a43743887db1..f689cd63deae 100644 static void iproc_rng200_cleanup(struct hwrng *rng) { struct iproc_rng200_dev *priv = to_rng_priv(rng); -@@ -189,11 +255,17 @@ static int iproc_rng200_probe(struct platform_device *pdev) +@@ -189,11 +255,17 @@ static int iproc_rng200_probe(struct pla return PTR_ERR(priv->base); } @@ -155,6 +151,3 @@ index a43743887db1..f689cd63deae 100644 /* Register driver */ ret = devm_hwrng_register(dev, &priv->rng); if (ret) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0154-bcmgenet-constrain-max-DMA-burst-length.patch b/root/target/linux/bcm27xx/patches-5.15/950-0145-bcmgenet-constrain-max-DMA-burst-length.patch similarity index 67% rename from root/target/linux/bcm27xx/patches-5.15/0154-bcmgenet-constrain-max-DMA-burst-length.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0145-bcmgenet-constrain-max-DMA-burst-length.patch index f1f1a660..14a00892 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0154-bcmgenet-constrain-max-DMA-burst-length.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0145-bcmgenet-constrain-max-DMA-burst-length.patch @@ -1,14 +1,12 @@ -From e39199661f193249f4796781a0218da3a1a2c900 Mon Sep 17 00:00:00 2001 +From 57f6e5d68942acb15de6bf4f7efd26ef9d15f5aa Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Wed, 12 Sep 2018 14:44:53 +0100 -Subject: [PATCH 154/634] bcmgenet: constrain max DMA burst length +Subject: [PATCH 145/828] bcmgenet: constrain max DMA burst length --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.h b/drivers/net/ethernet/broadcom/genet/bcmgenet.h -index 0a6d91b0f0aa..5e653f21aeb9 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.h +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.h @@ -31,7 +31,7 @@ @@ -20,6 +18,3 @@ index 0a6d91b0f0aa..5e653f21aeb9 100644 /* misc. configuration */ #define MAX_NUM_OF_FS_RULES 16 --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0155-bcmgenet-Better-coalescing-parameter-defaults.patch b/root/target/linux/bcm27xx/patches-5.15/950-0146-bcmgenet-Better-coalescing-parameter-defaults.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0155-bcmgenet-Better-coalescing-parameter-defaults.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0146-bcmgenet-Better-coalescing-parameter-defaults.patch index 5641dd68..a4b6e238 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0155-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0146-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -1,7 +1,7 @@ -From f566731dbb834a81c8aeae2ccf83b7d9676e185c Mon Sep 17 00:00:00 2001 +From 3f19386026486051fdbca7d45210b60a182a434f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 27 Mar 2019 13:45:46 +0000 -Subject: [PATCH 155/634] bcmgenet: Better coalescing parameter defaults +Subject: [PATCH 146/828] bcmgenet: Better coalescing parameter defaults Set defaults for TX and RX packet coalescing to be equivalent to: @@ -16,11 +16,9 @@ Signed-off-by: Phil Elwell drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 23c7595d2a1d..f10ff4e95ce0 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2599,7 +2599,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_priv *priv, +@@ -2601,7 +2601,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); @@ -29,7 +27,7 @@ index 23c7595d2a1d..f10ff4e95ce0 100644 /* Disable rate control for now */ bcmgenet_tdma_ring_writel(priv, index, flow_period_val, TDMA_FLOW_PERIOD); -@@ -4060,9 +4060,12 @@ static int bcmgenet_probe(struct platform_device *pdev) +@@ -4064,9 +4064,12 @@ static int bcmgenet_probe(struct platfor netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ @@ -43,6 +41,3 @@ index 23c7595d2a1d..f10ff4e95ce0 100644 /* libphy will determine the link state */ netif_carrier_off(dev); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0156-net-genet-enable-link-energy-detect-powerdown-for-ex.patch b/root/target/linux/bcm27xx/patches-5.15/950-0147-net-genet-enable-link-energy-detect-powerdown-for-ex.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0156-net-genet-enable-link-energy-detect-powerdown-for-ex.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0147-net-genet-enable-link-energy-detect-powerdown-for-ex.patch index a51a3472..16227af6 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0156-net-genet-enable-link-energy-detect-powerdown-for-ex.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0147-net-genet-enable-link-energy-detect-powerdown-for-ex.patch @@ -1,7 +1,7 @@ -From 32222127e3f13414f09894b1940955d3e37a01fb Mon Sep 17 00:00:00 2001 +From 01e0db195114cb82037d77ce0bfa020b6ab75d8d Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 14 May 2019 17:17:59 +0100 -Subject: [PATCH 156/634] net: genet: enable link energy detect powerdown for +Subject: [PATCH 147/828] net: genet: enable link energy detect powerdown for external PHYs There are several warts surrounding bcmgenet_mii_probe() as this @@ -18,11 +18,9 @@ Signed-off-by: Jonathan Bell drivers/net/ethernet/broadcom/genet/bcmmii.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c -index 89d16c587bb7..817cd0042e30 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c -@@ -293,6 +293,8 @@ int bcmgenet_mii_probe(struct net_device *dev) +@@ -293,6 +293,8 @@ int bcmgenet_mii_probe(struct net_device /* Communicate the integrated PHY revision */ if (priv->internal_phy) phy_flags = priv->gphy_rev; @@ -31,6 +29,3 @@ index 89d16c587bb7..817cd0042e30 100644 /* Initialize link state variables that bcmgenet_mii_setup() uses */ priv->old_link = -1; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0157-spi-bcm2835-enable-shared-interrupt-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0148-spi-bcm2835-enable-shared-interrupt-support.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0157-spi-bcm2835-enable-shared-interrupt-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0148-spi-bcm2835-enable-shared-interrupt-support.patch index a4b1409c..27223d85 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0157-spi-bcm2835-enable-shared-interrupt-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0148-spi-bcm2835-enable-shared-interrupt-support.patch @@ -1,7 +1,7 @@ -From 59147f610e4862898ac587404f5dd1ae966ed319 Mon Sep 17 00:00:00 2001 +From 0a82fc56efc23b20cfefb7b0f2e1abfdadec05b0 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Mon, 13 May 2019 11:05:27 +0000 -Subject: [PATCH 157/634] spi: bcm2835: enable shared interrupt support +Subject: [PATCH 148/828] spi: bcm2835: enable shared interrupt support Add shared interrupt support for this driver. @@ -10,11 +10,9 @@ Signed-off-by: Martin Sperl drivers/spi/spi-bcm2835.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c -index 775c0bf2f923..80444e6bf034 100644 --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c -@@ -384,6 +384,10 @@ static irqreturn_t bcm2835_spi_interrupt(int irq, void *dev_id) +@@ -384,6 +384,10 @@ static irqreturn_t bcm2835_spi_interrupt if (bs->tx_len && cs & BCM2835_SPI_CS_DONE) bcm2835_wr_fifo_blind(bs, BCM2835_SPI_FIFO_SIZE); @@ -25,7 +23,7 @@ index 775c0bf2f923..80444e6bf034 100644 /* Read as many bytes as possible from FIFO */ bcm2835_rd_fifo(bs); /* Write as many bytes as possible to FIFO */ -@@ -1365,7 +1369,8 @@ static int bcm2835_spi_probe(struct platform_device *pdev) +@@ -1365,7 +1369,8 @@ static int bcm2835_spi_probe(struct plat bcm2835_wr(bs, BCM2835_SPI_CS, BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX); @@ -35,6 +33,3 @@ index 775c0bf2f923..80444e6bf034 100644 dev_name(&pdev->dev), bs); if (err) { dev_err(&pdev->dev, "could not request IRQ: %d\n", err); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0158-clk-bcm2835-Don-t-wait-for-pllh-lock.patch b/root/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Don-t-wait-for-pllh-lock.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0158-clk-bcm2835-Don-t-wait-for-pllh-lock.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Don-t-wait-for-pllh-lock.patch index 44e99b60..5bc22eca 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0158-clk-bcm2835-Don-t-wait-for-pllh-lock.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0149-clk-bcm2835-Don-t-wait-for-pllh-lock.patch @@ -1,18 +1,16 @@ -From f00b550546e7d143f180f1b3cf9254fa5515f5bb Mon Sep 17 00:00:00 2001 +From 8a3dffebb0376f06d78a7063c0399324333b759f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 23 Jan 2019 16:11:50 +0000 -Subject: [PATCH 158/634] clk-bcm2835: Don't wait for pllh lock +Subject: [PATCH 149/828] clk-bcm2835: Don't wait for pllh lock Signed-off-by: Phil Elwell --- drivers/clk/bcm/clk-bcm2835.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 44f1c05fce85..8d624034ecbf 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -644,15 +644,17 @@ static int bcm2835_pll_on(struct clk_hw *hw) +@@ -644,15 +644,17 @@ static int bcm2835_pll_on(struct clk_hw spin_unlock(&cprman->regs_lock); /* Wait for the PLL to lock. */ @@ -22,6 +20,7 @@ index 44f1c05fce85..8d624034ecbf 100644 - dev_err(cprman->dev, "%s: couldn't lock PLL\n", - clk_hw_get_name(hw)); - return -ETIMEDOUT; +- } + if (strcmp(data->name, "pllh")) { + timeout = ktime_add_ns(ktime_get(), LOCK_TIMEOUT_NS); + while (!(cprman_read(cprman, CM_LOCK) & data->lock_mask)) { @@ -30,14 +29,10 @@ index 44f1c05fce85..8d624034ecbf 100644 + clk_hw_get_name(hw)); + return -ETIMEDOUT; + } -+ -+ cpu_relax(); - } -- + - cpu_relax(); ++ cpu_relax(); ++ } } cprman_write(cprman, data->a2w_ctrl_reg, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0159-soc-bcm-bcm2835-pm-Add-support-for-2711.patch b/root/target/linux/bcm27xx/patches-5.15/950-0150-soc-bcm-bcm2835-pm-Add-support-for-2711.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0159-soc-bcm-bcm2835-pm-Add-support-for-2711.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0150-soc-bcm-bcm2835-pm-Add-support-for-2711.patch index c6d0b26c..87ce0b24 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0159-soc-bcm-bcm2835-pm-Add-support-for-2711.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0150-soc-bcm-bcm2835-pm-Add-support-for-2711.patch @@ -1,7 +1,7 @@ -From 88dd765a0589855121b64c6c956bab9b30122b9f Mon Sep 17 00:00:00 2001 +From 1019293a492c3721b3e5cdcfe9a8cf81acaf70ca Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 11 Jan 2019 17:31:07 -0800 -Subject: [PATCH 159/634] soc: bcm: bcm2835-pm: Add support for 2711. +Subject: [PATCH 150/828] soc: bcm: bcm2835-pm: Add support for 2711. Without the actual power management part any more, there's a lot less to set up for V3D. We just need to clear the RSTN field for the power @@ -18,11 +18,9 @@ Signed-off-by: Eric Anholt include/linux/mfd/bcm2835-pm.h | 1 + 3 files changed, 34 insertions(+) -diff --git a/drivers/mfd/bcm2835-pm.c b/drivers/mfd/bcm2835-pm.c -index 42fe67f1538e..ab1e9cbc50b1 100644 --- a/drivers/mfd/bcm2835-pm.c +++ b/drivers/mfd/bcm2835-pm.c -@@ -50,6 +50,17 @@ static int bcm2835_pm_probe(struct platform_device *pdev) +@@ -50,6 +50,17 @@ static int bcm2835_pm_probe(struct platf if (ret) return ret; @@ -40,8 +38,6 @@ index 42fe67f1538e..ab1e9cbc50b1 100644 /* We'll use the presence of the AXI ASB regs in the * bcm2835-pm binding as the key for whether we can reference * the full PM register range and support power domains. -diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c -index 1e0041ec8132..c0618a9c26fa 100644 --- a/drivers/soc/bcm/bcm2835-power.c +++ b/drivers/soc/bcm/bcm2835-power.c @@ -143,6 +143,8 @@ struct bcm2835_power { @@ -53,7 +49,7 @@ index 1e0041ec8132..c0618a9c26fa 100644 struct genpd_onecell_data pd_xlate; struct bcm2835_power_domain domains[BCM2835_POWER_DOMAIN_COUNT]; struct reset_controller_dev reset; -@@ -192,6 +194,10 @@ static int bcm2835_power_power_off(struct bcm2835_power_domain *pd, u32 pm_reg) +@@ -192,6 +194,10 @@ static int bcm2835_power_power_off(struc { struct bcm2835_power *power = pd->power; @@ -64,7 +60,7 @@ index 1e0041ec8132..c0618a9c26fa 100644 /* Enable functional isolation */ PM_WRITE(pm_reg, PM_READ(pm_reg) & ~PM_ISFUNC); -@@ -213,6 +219,10 @@ static int bcm2835_power_power_on(struct bcm2835_power_domain *pd, u32 pm_reg) +@@ -213,6 +219,10 @@ static int bcm2835_power_power_on(struct int inrush; bool powok; @@ -75,7 +71,7 @@ index 1e0041ec8132..c0618a9c26fa 100644 /* If it was already powered on by the fw, leave it that way. */ if (PM_READ(pm_reg) & PM_POWUP) return 0; -@@ -627,6 +637,18 @@ static int bcm2835_power_probe(struct platform_device *pdev) +@@ -627,6 +637,18 @@ static int bcm2835_power_probe(struct pl power->base = pm->base; power->asb = pm->asb; @@ -94,8 +90,6 @@ index 1e0041ec8132..c0618a9c26fa 100644 id = ASB_READ(ASB_AXI_BRDG_ID); if (id != 0x62726467 /* "BRDG" */) { dev_err(dev, "ASB register ID returned 0x%08x\n", id); -diff --git a/include/linux/mfd/bcm2835-pm.h b/include/linux/mfd/bcm2835-pm.h -index ed37dc40e82a..b2d157091e12 100644 --- a/include/linux/mfd/bcm2835-pm.h +++ b/include/linux/mfd/bcm2835-pm.h @@ -9,6 +9,7 @@ struct bcm2835_pm { @@ -106,6 +100,3 @@ index ed37dc40e82a..b2d157091e12 100644 }; #endif /* BCM2835_MFD_PM_H */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0160-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch b/root/target/linux/bcm27xx/patches-5.15/950-0151-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0160-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0151-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch index c18ba4c2..ec802f5d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0160-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0151-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch @@ -1,7 +1,7 @@ -From 95b11d99074a04fb79a052c23491ef17dae83e39 Mon Sep 17 00:00:00 2001 +From e172ee5d6effc8e8a3334a3e3b6694e0eed2dc30 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:11:05 -0700 -Subject: [PATCH 160/634] clk: bcm2835: Add support for setting leaf clock +Subject: [PATCH 151/828] clk: bcm2835: Add support for setting leaf clock rates while running. As long as you wait for !BUSY, you can do glitch-free updates of clock @@ -12,11 +12,9 @@ Signed-off-by: Eric Anholt drivers/clk/bcm/clk-bcm2835.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 8d624034ecbf..bfeb6cac0393 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1109,15 +1109,19 @@ static int bcm2835_clock_set_rate(struct clk_hw *hw, +@@ -1109,15 +1109,19 @@ static int bcm2835_clock_set_rate(struct spin_lock(&cprman->regs_lock); @@ -44,7 +42,7 @@ index 8d624034ecbf..bfeb6cac0393 100644 ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0; cprman_write(cprman, data->ctl_reg, ctl); -@@ -1493,7 +1497,7 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman, +@@ -1493,7 +1497,7 @@ static struct clk_hw *bcm2835_register_c init.ops = &bcm2835_vpu_clock_clk_ops; } else { init.ops = &bcm2835_clock_clk_ops; @@ -53,6 +51,3 @@ index 8d624034ecbf..bfeb6cac0393 100644 /* If the clock wasn't actually enabled at boot, it's not * critical. --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0161-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch b/root/target/linux/bcm27xx/patches-5.15/950-0152-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0161-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0152-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch index 7010d323..8fc06354 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0161-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0152-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch @@ -1,7 +1,7 @@ -From ef20dbe3d9d7caf238f5dfb638f7a0ebc6ce5ba0 Mon Sep 17 00:00:00 2001 +From 4aa0c6ac6ecb7a0d89b77e6bf126a485edad0925 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 15:24:04 -0700 -Subject: [PATCH 161/634] clk: bcm2835: Allow reparenting leaf clocks while +Subject: [PATCH 152/828] clk: bcm2835: Allow reparenting leaf clocks while they're running. This falls under the same "we can reprogram glitch-free as long as we @@ -13,11 +13,9 @@ Signed-off-by: Eric Anholt drivers/clk/bcm/clk-bcm2835.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index bfeb6cac0393..857a8e16d014 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1098,8 +1098,10 @@ static int bcm2835_clock_on(struct clk_hw *hw) +@@ -1098,8 +1098,10 @@ static int bcm2835_clock_on(struct clk_h return 0; } @@ -30,7 +28,7 @@ index bfeb6cac0393..857a8e16d014 100644 { struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct bcm2835_cprman *cprman = clock->cprman; -@@ -1121,6 +1123,11 @@ static int bcm2835_clock_set_rate(struct clk_hw *hw, +@@ -1121,6 +1123,11 @@ static int bcm2835_clock_set_rate(struct bcm2835_clock_wait_busy(clock); } @@ -42,7 +40,7 @@ index bfeb6cac0393..857a8e16d014 100644 ctl &= ~CM_FRAC; ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0; cprman_write(cprman, data->ctl_reg, ctl); -@@ -1132,6 +1139,12 @@ static int bcm2835_clock_set_rate(struct clk_hw *hw, +@@ -1132,6 +1139,12 @@ static int bcm2835_clock_set_rate(struct return 0; } @@ -55,7 +53,7 @@ index bfeb6cac0393..857a8e16d014 100644 static bool bcm2835_clk_is_pllc(struct clk_hw *hw) { -@@ -1315,6 +1328,7 @@ static const struct clk_ops bcm2835_clock_clk_ops = { +@@ -1315,6 +1328,7 @@ static const struct clk_ops bcm2835_cloc .unprepare = bcm2835_clock_off, .recalc_rate = bcm2835_clock_get_rate, .set_rate = bcm2835_clock_set_rate, @@ -63,7 +61,7 @@ index bfeb6cac0393..857a8e16d014 100644 .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, .get_parent = bcm2835_clock_get_parent, -@@ -1497,7 +1511,6 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman, +@@ -1497,7 +1511,6 @@ static struct clk_hw *bcm2835_register_c init.ops = &bcm2835_vpu_clock_clk_ops; } else { init.ops = &bcm2835_clock_clk_ops; @@ -71,6 +69,3 @@ index bfeb6cac0393..857a8e16d014 100644 /* If the clock wasn't actually enabled at boot, it's not * critical. --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0162-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/root/target/linux/bcm27xx/patches-5.15/950-0153-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0162-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0153-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index 25a52f2d..91d35e46 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0162-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0153-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -1,7 +1,7 @@ -From 27ecc53b8fcf3254355aa4f8e21a675982f23999 Mon Sep 17 00:00:00 2001 +From 60cf01dab21cfc6c606b1e77d51385af16592709 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 10:55:00 +0100 -Subject: [PATCH 162/634] usb: add plumbing for updating interrupt endpoint +Subject: [PATCH 153/828] usb: add plumbing for updating interrupt endpoint interval state xHCI caches device and endpoint data after the interface is configured, @@ -25,11 +25,9 @@ Signed-off-by: Jonathan Bell include/linux/usb/hcd.h | 7 +++++++ 4 files changed, 34 insertions(+) -diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 00d35fe1fef0..c8c1c89f7914 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -1948,6 +1948,16 @@ int usb_hcd_alloc_bandwidth(struct usb_device *udev, +@@ -1969,6 +1969,16 @@ reset: return ret; } @@ -46,11 +44,9 @@ index 00d35fe1fef0..c8c1c89f7914 100644 /* Disables the endpoint: synchronizes with the hcd to make sure all * endpoint state is gone from hardware. usb_hcd_flush_endpoint() must * have been called previously. Use for set_configuration, set_interface, -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 7a32053e941f..e8045997d6ec 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -1268,6 +1268,21 @@ static void remove_intf_ep_devs(struct usb_interface *intf) +@@ -1268,6 +1268,21 @@ static void remove_intf_ep_devs(struct u intf->ep_devs_created = 0; } @@ -72,11 +68,9 @@ index 7a32053e941f..e8045997d6ec 100644 /** * usb_disable_endpoint -- Disable an endpoint by address * @dev: the device whose endpoint is being disabled -diff --git a/include/linux/usb.h b/include/linux/usb.h -index 7ccaa76a9a96..77d9a69534f0 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h -@@ -1840,6 +1840,8 @@ extern int usb_clear_halt(struct usb_device *dev, int pipe); +@@ -1840,6 +1840,8 @@ extern int usb_clear_halt(struct usb_dev extern int usb_reset_configuration(struct usb_device *dev); extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate); extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr); @@ -85,8 +79,6 @@ index 7ccaa76a9a96..77d9a69534f0 100644 /* this request isn't really synchronous, but it belongs with the others */ extern int usb_driver_set_configuration(struct usb_device *udev, int config); -diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h -index 548a028f2dab..d397194881c3 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -382,6 +382,11 @@ struct hc_driver { @@ -101,7 +93,7 @@ index 548a028f2dab..d397194881c3 100644 /* Returns the hardware-chosen device address */ int (*address_device)(struct usb_hcd *, struct usb_device *udev); /* prepares the hardware to send commands to the device */ -@@ -446,6 +451,8 @@ extern void usb_hcd_unmap_urb_setup_for_dma(struct usb_hcd *, struct urb *); +@@ -446,6 +451,8 @@ extern void usb_hcd_unmap_urb_setup_for_ extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *); extern void usb_hcd_flush_endpoint(struct usb_device *udev, struct usb_host_endpoint *ep); @@ -110,6 +102,3 @@ index 548a028f2dab..d397194881c3 100644 extern void usb_hcd_disable_endpoint(struct usb_device *udev, struct usb_host_endpoint *ep); extern void usb_hcd_reset_endpoint(struct usb_device *udev, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0163-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/root/target/linux/bcm27xx/patches-5.15/950-0154-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch similarity index 90% rename from root/target/linux/bcm27xx/patches-5.15/0163-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0154-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 06d6dfd5..53c818a9 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0163-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0154-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -1,7 +1,7 @@ -From 5920dec6b922358a29689658fc0b6611d0e04d1f Mon Sep 17 00:00:00 2001 +From 6f6bc0f3d9422043f0f2d5aa55d0baddb92a0f9f Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:33:39 +0100 -Subject: [PATCH 163/634] xhci: implement xhci_fixup_endpoint for interval +Subject: [PATCH 154/828] xhci: implement xhci_fixup_endpoint for interval adjustments Must be called in a non-atomic context, after the endpoint @@ -13,15 +13,12 @@ Signed-off-by: Jonathan Bell drivers/usb/host/xhci.c | 104 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) -diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c -index 902f410874e8..9be9e95f8c7a 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1590,6 +1590,109 @@ static int xhci_check_maxpacket(struct xhci_hcd *xhci, unsigned int slot_id, - return ret; +@@ -1596,6 +1596,109 @@ command_cleanup: } -+/* + /* + * RPI: Fixup endpoint intervals when requested + * - Check interval versus the (cached) endpoint context + * - set the endpoint interval to the new value @@ -124,10 +121,11 @@ index 902f410874e8..9be9e95f8c7a 100644 + mutex_unlock(&xhci->mutex); +} + - /* ++/* * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it -@@ -5409,6 +5512,7 @@ static const struct hc_driver xhci_hc_driver = { + */ +@@ -5421,6 +5524,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, @@ -135,6 +133,3 @@ index 902f410874e8..9be9e95f8c7a 100644 .address_device = xhci_address_device, .enable_device = xhci_enable_device, .update_hub_device = xhci_update_hub_device, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0164-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch b/root/target/linux/bcm27xx/patches-5.15/950-0155-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch similarity index 62% rename from root/target/linux/bcm27xx/patches-5.15/0164-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0155-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch index 35172c23..a7b47433 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0164-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0155-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch @@ -1,7 +1,7 @@ -From d6d617b867c77cef7bc7578bc856c9a700b6aaa0 Mon Sep 17 00:00:00 2001 +From a4e552dc907c2aae8024be001cb91aac6efaa9b2 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 11 Jun 2019 11:42:03 +0100 -Subject: [PATCH 164/634] usbhid: call usb_fixup_endpoint after mangling +Subject: [PATCH 155/828] usbhid: call usb_fixup_endpoint after mangling intervals Lets the mousepoll override mechanism work with xhci. @@ -11,11 +11,9 @@ Signed-off-by: Jonathan Bell drivers/hid/usbhid/hid-core.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index 8a9d8214d8af..3541229ef9dc 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c -@@ -1126,6 +1126,7 @@ static int usbhid_start(struct hid_device *hid) +@@ -1126,6 +1126,7 @@ static int usbhid_start(struct hid_devic interval = hid_kbpoll_interval; break; } @@ -23,6 +21,3 @@ index 8a9d8214d8af..3541229ef9dc 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0165-arm-bcm2835-Add-bcm2838-compatible-string.patch b/root/target/linux/bcm27xx/patches-5.15/950-0156-arm-bcm2835-Add-bcm2838-compatible-string.patch similarity index 54% rename from root/target/linux/bcm27xx/patches-5.15/0165-arm-bcm2835-Add-bcm2838-compatible-string.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0156-arm-bcm2835-Add-bcm2838-compatible-string.patch index bc99f4a5..7d970616 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0165-arm-bcm2835-Add-bcm2838-compatible-string.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0156-arm-bcm2835-Add-bcm2838-compatible-string.patch @@ -1,18 +1,16 @@ -From c30288ed705b3d77fe3cf6744b1f7be04328726b Mon Sep 17 00:00:00 2001 +From f3d3d894047198aa1aa8611db19c5b0dc8097ccc Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 11 Jun 2019 17:38:28 +0100 -Subject: [PATCH 165/634] arm: bcm2835: Add bcm2838 compatible string. +Subject: [PATCH 156/828] arm: bcm2835: Add bcm2838 compatible string. Signed-off-by: Phil Elwell --- arch/arm/mach-bcm/board_bcm2835.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 7d59a9364175..282a023027fc 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c -@@ -109,6 +109,7 @@ static const char * const bcm2835_compat[] = { +@@ -109,6 +109,7 @@ static const char * const bcm2835_compat #ifdef CONFIG_ARCH_MULTI_V7 "brcm,bcm2836", "brcm,bcm2837", @@ -20,6 +18,3 @@ index 7d59a9364175..282a023027fc 100644 #endif NULL }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0166-drm-v3d-Add-support-for-2711.patch b/root/target/linux/bcm27xx/patches-5.15/950-0157-drm-v3d-Add-support-for-2711.patch similarity index 60% rename from root/target/linux/bcm27xx/patches-5.15/0166-drm-v3d-Add-support-for-2711.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0157-drm-v3d-Add-support-for-2711.patch index 694bd431..9f708149 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0166-drm-v3d-Add-support-for-2711.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0157-drm-v3d-Add-support-for-2711.patch @@ -1,18 +1,16 @@ -From 670579d8778e9c0e545ca914453d0cda91e2f89b Mon Sep 17 00:00:00 2001 +From 5aa74a5703783d066a24ad97f4971cd4c5f5a4c6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Oct 2018 17:22:43 -0700 -Subject: [PATCH 166/634] drm/v3d: Add support for 2711. +Subject: [PATCH 157/828] drm/v3d: Add support for 2711. Signed-off-by: Eric Anholt --- drivers/gpu/drm/v3d/v3d_drv.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c -index 9403c3b36aca..02c6f4d67837 100644 --- a/drivers/gpu/drm/v3d/v3d_drv.c +++ b/drivers/gpu/drm/v3d/v3d_drv.c -@@ -199,6 +199,7 @@ static const struct drm_driver v3d_drm_driver = { +@@ -199,6 +199,7 @@ static const struct drm_driver v3d_drm_d static const struct of_device_id v3d_of_match[] = { { .compatible = "brcm,7268-v3d" }, { .compatible = "brcm,7278-v3d" }, @@ -20,6 +18,3 @@ index 9403c3b36aca..02c6f4d67837 100644 {}, }; MODULE_DEVICE_TABLE(of, v3d_of_match); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0167-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch b/root/target/linux/bcm27xx/patches-5.15/950-0158-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0167-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0158-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch index 939703d2..0b87db7d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0167-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0158-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch @@ -1,7 +1,7 @@ -From 23f69f62de1697356d978e7800890a445c62955c Mon Sep 17 00:00:00 2001 +From 3972a8a5d0effcec06982a738fdf40cf176b6b45 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 12:35:43 -0800 -Subject: [PATCH 167/634] drm/v3d: Skip MMU flush if the device is currently +Subject: [PATCH 158/828] drm/v3d: Skip MMU flush if the device is currently off. If it's off, we know it will be reset on poweron, so the MMU won't @@ -14,8 +14,6 @@ Signed-off-by: Eric Anholt drivers/gpu/drm/v3d/v3d_mmu.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -diff --git a/drivers/gpu/drm/v3d/v3d_mmu.c b/drivers/gpu/drm/v3d/v3d_mmu.c -index 5a453532901f..8986e7b96461 100644 --- a/drivers/gpu/drm/v3d/v3d_mmu.c +++ b/drivers/gpu/drm/v3d/v3d_mmu.c @@ -18,6 +18,8 @@ @@ -27,7 +25,7 @@ index 5a453532901f..8986e7b96461 100644 #include "v3d_drv.h" #include "v3d_regs.h" -@@ -34,6 +36,14 @@ static int v3d_mmu_flush_all(struct v3d_dev *v3d) +@@ -34,6 +36,14 @@ static int v3d_mmu_flush_all(struct v3d_ { int ret; @@ -42,7 +40,7 @@ index 5a453532901f..8986e7b96461 100644 /* Make sure that another flush isn't already running when we * start this one. */ -@@ -61,6 +71,9 @@ static int v3d_mmu_flush_all(struct v3d_dev *v3d) +@@ -61,6 +71,9 @@ static int v3d_mmu_flush_all(struct v3d_ if (ret) dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n"); @@ -52,6 +50,3 @@ index 5a453532901f..8986e7b96461 100644 return ret; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0168-drm-v3d-Hook-up-the-runtime-PM-ops.patch b/root/target/linux/bcm27xx/patches-5.15/950-0159-drm-v3d-Hook-up-the-runtime-PM-ops.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0168-drm-v3d-Hook-up-the-runtime-PM-ops.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0159-drm-v3d-Hook-up-the-runtime-PM-ops.patch index 60c5ba91..bfdbb8a1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0168-drm-v3d-Hook-up-the-runtime-PM-ops.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0159-drm-v3d-Hook-up-the-runtime-PM-ops.patch @@ -1,7 +1,7 @@ -From 77035aecac2af1f536a76a04bbc0310fa64d6bf7 Mon Sep 17 00:00:00 2001 +From 11e637a0361bf2d50aa0a67024ba2491dfc3907b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 14:47:57 -0800 -Subject: [PATCH 168/634] drm/v3d: Hook up the runtime PM ops. +Subject: [PATCH 159/828] drm/v3d: Hook up the runtime PM ops. In translating the runtime PM code from vc4, I missed the ".pm" assignment to actually connect them up. Fixes missing MMU setup if @@ -13,8 +13,6 @@ Signed-off-by: Eric Anholt drivers/gpu/drm/v3d/v3d_drv.c | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) -diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c -index 02c6f4d67837..441ee13d7b65 100644 --- a/drivers/gpu/drm/v3d/v3d_drv.c +++ b/drivers/gpu/drm/v3d/v3d_drv.c @@ -38,6 +38,42 @@ @@ -60,7 +58,7 @@ index 02c6f4d67837..441ee13d7b65 100644 static int v3d_get_param_ioctl(struct drm_device *dev, void *data, struct drm_file *file_priv) { -@@ -328,6 +364,7 @@ static struct platform_driver v3d_platform_driver = { +@@ -332,6 +368,7 @@ static struct platform_driver v3d_platfo .driver = { .name = "v3d", .of_match_table = v3d_of_match, @@ -68,6 +66,3 @@ index 02c6f4d67837..441ee13d7b65 100644 }, }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0169-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch b/root/target/linux/bcm27xx/patches-5.15/950-0160-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0169-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0160-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch index 76d56e8f..9ce7bf33 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0169-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0160-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch @@ -1,7 +1,7 @@ -From e07e0c7d74c02b6ddf73ceaba8d51498317199c7 Mon Sep 17 00:00:00 2001 +From bfe64c398d4b3be2291178057d82bf5d1ee34855 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 12 Jul 2019 15:38:35 +0100 -Subject: [PATCH 169/634] i2c: bcm2835: Set clock-stretch timeout to 35ms +Subject: [PATCH 160/828] i2c: bcm2835: Set clock-stretch timeout to 35ms The BCM2835 I2C blocks have a register to set the clock-stretch timeout - how long the device is allowed to hold SCL low - in bus @@ -17,11 +17,9 @@ Signed-off-by: Phil Elwell drivers/i2c/busses/i2c-bcm2835.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c -index 18b2e9e3d752..5b2589b6b9cc 100644 --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c -@@ -188,6 +188,7 @@ static int clk_bcm2835_i2c_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -193,6 +193,7 @@ static int clk_bcm2835_i2c_set_rate(stru { struct clk_bcm2835_i2c *div = to_clk_bcm2835_i2c(hw); u32 redl, fedl; @@ -29,7 +27,7 @@ index 18b2e9e3d752..5b2589b6b9cc 100644 u32 divider = clk_bcm2835_i2c_calc_divider(rate, parent_rate); if (divider == -EINVAL) -@@ -211,6 +212,17 @@ static int clk_bcm2835_i2c_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -216,6 +217,17 @@ static int clk_bcm2835_i2c_set_rate(stru bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DEL, (fedl << BCM2835_I2C_FEDL_SHIFT) | (redl << BCM2835_I2C_REDL_SHIFT)); @@ -47,6 +45,3 @@ index 18b2e9e3d752..5b2589b6b9cc 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0170-clk-bcm2835-Avoid-null-pointer-exception.patch b/root/target/linux/bcm27xx/patches-5.15/950-0161-clk-bcm2835-Avoid-null-pointer-exception.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0170-clk-bcm2835-Avoid-null-pointer-exception.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0161-clk-bcm2835-Avoid-null-pointer-exception.patch index c3d756fd..583f7005 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0170-clk-bcm2835-Avoid-null-pointer-exception.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0161-clk-bcm2835-Avoid-null-pointer-exception.patch @@ -1,7 +1,7 @@ -From 46593228b86c066260d738ae2403562209750374 Mon Sep 17 00:00:00 2001 +From 0fcd5f41c8b13705c9e1fce3652ea36f81e8d32e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Aug 2019 15:23:14 +0100 -Subject: [PATCH 170/634] clk-bcm2835: Avoid null pointer exception +Subject: [PATCH 161/828] clk-bcm2835: Avoid null pointer exception clk_desc_array[BCM2835_PLLB] doesn't exist so we dereference null when iterating @@ -10,11 +10,9 @@ Signed-off-by: popcornmix drivers/clk/bcm/clk-bcm2835.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 857a8e16d014..fe005f9dbe02 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2304,9 +2304,11 @@ static bool bcm2835_clk_is_claimed(const char *name) +@@ -2304,9 +2304,11 @@ static bool bcm2835_clk_is_claimed(const int i; for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) { @@ -29,6 +27,3 @@ index 857a8e16d014..fe005f9dbe02 100644 } return false; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0171-drm-v3d-HACK-gut-runtime-pm-for-now.patch b/root/target/linux/bcm27xx/patches-5.15/950-0162-drm-v3d-HACK-gut-runtime-pm-for-now.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0171-drm-v3d-HACK-gut-runtime-pm-for-now.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0162-drm-v3d-HACK-gut-runtime-pm-for-now.patch index 1c46a29b..e7bfb090 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0171-drm-v3d-HACK-gut-runtime-pm-for-now.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0162-drm-v3d-HACK-gut-runtime-pm-for-now.patch @@ -1,7 +1,7 @@ -From 80c0e9ca498d732f19cdf14dd7d6a08ff5f3080c Mon Sep 17 00:00:00 2001 +From 9ecfc6b9c50e67ab8c9a0a81d043a95fd9259136 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 Jan 2019 15:13:17 -0800 -Subject: [PATCH 171/634] drm/v3d: HACK: gut runtime pm for now. +Subject: [PATCH 162/828] drm/v3d: HACK: gut runtime pm for now. Something is still unstable -- on starting a new glxgears from an idle X11, I get an MMU violation in high addresses. The CTS also failed @@ -15,8 +15,6 @@ Signed-off-by: Eric Anholt drivers/gpu/drm/v3d/v3d_drv.c | 9 --------- 2 files changed, 1 insertion(+), 24 deletions(-) -diff --git a/drivers/gpu/drm/v3d/v3d_debugfs.c b/drivers/gpu/drm/v3d/v3d_debugfs.c -index e76b24bb8828..b7b296bb87d0 100644 --- a/drivers/gpu/drm/v3d/v3d_debugfs.c +++ b/drivers/gpu/drm/v3d/v3d_debugfs.c @@ -4,7 +4,6 @@ @@ -27,7 +25,7 @@ index e76b24bb8828..b7b296bb87d0 100644 #include #include -@@ -130,11 +129,8 @@ static int v3d_v3d_debugfs_ident(struct seq_file *m, void *unused) +@@ -130,11 +129,8 @@ static int v3d_v3d_debugfs_ident(struct struct drm_device *dev = node->minor->dev; struct v3d_dev *v3d = to_v3d_dev(dev); u32 ident0, ident1, ident2, ident3, cores; @@ -40,7 +38,7 @@ index e76b24bb8828..b7b296bb87d0 100644 ident0 = V3D_READ(V3D_HUB_IDENT0); ident1 = V3D_READ(V3D_HUB_IDENT1); -@@ -187,9 +183,6 @@ static int v3d_v3d_debugfs_ident(struct seq_file *m, void *unused) +@@ -187,9 +183,6 @@ static int v3d_v3d_debugfs_ident(struct (misccfg & V3D_MISCCFG_OVRTMUOUT) != 0); } @@ -50,7 +48,7 @@ index e76b24bb8828..b7b296bb87d0 100644 return 0; } -@@ -217,11 +210,6 @@ static int v3d_measure_clock(struct seq_file *m, void *unused) +@@ -217,11 +210,6 @@ static int v3d_measure_clock(struct seq_ uint32_t cycles; int core = 0; int measure_ms = 1000; @@ -62,7 +60,7 @@ index e76b24bb8828..b7b296bb87d0 100644 if (v3d->ver >= 40) { V3D_CORE_WRITE(core, V3D_V4_PCTR_0_SRC_0_3, -@@ -245,8 +233,6 @@ static int v3d_measure_clock(struct seq_file *m, void *unused) +@@ -245,8 +233,6 @@ static int v3d_measure_clock(struct seq_ cycles / (measure_ms * 1000), (cycles / (measure_ms * 100)) % 10); @@ -71,11 +69,9 @@ index e76b24bb8828..b7b296bb87d0 100644 return 0; } -diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c -index 441ee13d7b65..3969b64127e0 100644 --- a/drivers/gpu/drm/v3d/v3d_drv.c +++ b/drivers/gpu/drm/v3d/v3d_drv.c -@@ -79,7 +79,6 @@ static int v3d_get_param_ioctl(struct drm_device *dev, void *data, +@@ -79,7 +79,6 @@ static int v3d_get_param_ioctl(struct dr { struct v3d_dev *v3d = to_v3d_dev(dev); struct drm_v3d_get_param *args = data; @@ -83,7 +79,7 @@ index 441ee13d7b65..3969b64127e0 100644 static const u32 reg_map[] = { [DRM_V3D_PARAM_V3D_UIFCFG] = V3D_HUB_UIFCFG, [DRM_V3D_PARAM_V3D_HUB_IDENT1] = V3D_HUB_IDENT1, -@@ -105,17 +104,12 @@ static int v3d_get_param_ioctl(struct drm_device *dev, void *data, +@@ -105,17 +104,12 @@ static int v3d_get_param_ioctl(struct dr if (args->value != 0) return -EINVAL; @@ -101,7 +97,7 @@ index 441ee13d7b65..3969b64127e0 100644 return 0; } -@@ -316,9 +310,6 @@ static int v3d_platform_drm_probe(struct platform_device *pdev) +@@ -320,9 +314,6 @@ static int v3d_platform_drm_probe(struct return -ENOMEM; } @@ -111,6 +107,3 @@ index 441ee13d7b65..3969b64127e0 100644 ret = v3d_gem_init(drm); if (ret) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0172-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/root/target/linux/bcm27xx/patches-5.15/950-0163-drm-v3d-Clock-V3D-down-when-not-in-use.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0172-drm-v3d-Clock-V3D-down-when-not-in-use.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0163-drm-v3d-Clock-V3D-down-when-not-in-use.patch index 397ea07d..b29fcfe4 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0172-drm-v3d-Clock-V3D-down-when-not-in-use.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0163-drm-v3d-Clock-V3D-down-when-not-in-use.patch @@ -1,7 +1,7 @@ -From 89cdfc8912ff1c9230668d2e81187a8279d0be46 Mon Sep 17 00:00:00 2001 +From 63c1536f33d8190d2ed481fe7baa4850f91b5f53 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 May 2019 13:22:53 -0700 -Subject: [PATCH 172/634] drm/v3d: Clock V3D down when not in use. +Subject: [PATCH 163/828] drm/v3d: Clock V3D down when not in use. My various attempts at re-enabling runtime PM have failed, so just crank the clock down when V3D is idle to reduce power consumption. @@ -13,11 +13,9 @@ Signed-off-by: Eric Anholt drivers/gpu/drm/v3d/v3d_gem.c | 53 +++++++++++++++++++++++++++++++---- 3 files changed, 72 insertions(+), 5 deletions(-) -diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c -index 3969b64127e0..e202870873a4 100644 --- a/drivers/gpu/drm/v3d/v3d_drv.c +++ b/drivers/gpu/drm/v3d/v3d_drv.c -@@ -297,6 +297,21 @@ static int v3d_platform_drm_probe(struct platform_device *pdev) +@@ -301,6 +301,21 @@ static int v3d_platform_drm_probe(struct } } @@ -39,7 +37,7 @@ index 3969b64127e0..e202870873a4 100644 if (v3d->ver < 41) { ret = map_regs(v3d, &v3d->gca_regs, "gca"); if (ret) -@@ -323,6 +338,9 @@ static int v3d_platform_drm_probe(struct platform_device *pdev) +@@ -327,6 +342,9 @@ static int v3d_platform_drm_probe(struct if (ret) goto irq_disable; @@ -49,8 +47,6 @@ index 3969b64127e0..e202870873a4 100644 return 0; irq_disable: -diff --git a/drivers/gpu/drm/v3d/v3d_drv.h b/drivers/gpu/drm/v3d/v3d_drv.h -index 270134779073..37b353a81ed0 100644 --- a/drivers/gpu/drm/v3d/v3d_drv.h +++ b/drivers/gpu/drm/v3d/v3d_drv.h @@ -85,6 +85,12 @@ struct v3d_dev { @@ -66,8 +62,6 @@ index 270134779073..37b353a81ed0 100644 struct reset_control *reset; /* Virtual and DMA addresses of the single shared page table. */ -diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c -index 772b5831bcc6..d369221642c5 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c @@ -4,6 +4,7 @@ @@ -78,11 +72,10 @@ index 772b5831bcc6..d369221642c5 100644 #include #include #include -@@ -18,6 +19,47 @@ - #include "v3d_regs.h" +@@ -19,6 +20,47 @@ #include "v3d_trace.h" -+static void + static void +v3d_clock_down_work(struct work_struct *work) +{ + struct v3d_dev *v3d = @@ -123,9 +116,10 @@ index 772b5831bcc6..d369221642c5 100644 +} + + - static void ++static void v3d_init_core(struct v3d_dev *v3d, int core) { + /* Set OVRTMUOUT, which means that the texture sampler uniform @@ -358,6 +400,7 @@ v3d_job_free(struct kref *ref) struct v3d_job *job = container_of(ref, struct v3d_job, refcount); unsigned long index; @@ -147,7 +141,7 @@ index 772b5831bcc6..d369221642c5 100644 if (job->perfmon) v3d_perfmon_put(job->perfmon); -@@ -460,6 +499,7 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, +@@ -460,6 +499,7 @@ v3d_job_init(struct v3d_dev *v3d, struct if (ret) goto fail; @@ -155,7 +149,7 @@ index 772b5831bcc6..d369221642c5 100644 kref_init(&job->refcount); return 0; -@@ -912,6 +952,9 @@ v3d_gem_init(struct drm_device *dev) +@@ -914,6 +954,9 @@ v3d_gem_init(struct drm_device *dev) mutex_init(&v3d->sched_lock); mutex_init(&v3d->cache_clean_lock); @@ -165,6 +159,3 @@ index 772b5831bcc6..d369221642c5 100644 /* Note: We don't allocate address 0. Various bits of HW * treat 0 as special, such as the occlusion query counters * where 0 means "disabled". --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0173-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch b/root/target/linux/bcm27xx/patches-5.15/950-0164-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch similarity index 92% rename from root/target/linux/bcm27xx/patches-5.15/0173-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0164-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch index a4732218..100959fd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0173-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0164-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch @@ -1,7 +1,7 @@ -From e32bcf7bb3087911bc759bf0672eb04d91a428b6 Mon Sep 17 00:00:00 2001 +From c76f759dbe576574734108ef65653180dd61ecf7 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 9 May 2019 14:30:37 +0100 -Subject: [PATCH 173/634] drivers: char: add chardev for mmap'ing the RPiVid +Subject: [PATCH 164/828] drivers: char: add chardev for mmap'ing the RPiVid control registers Based on the gpiomem driver, allow mapping of the decoder register @@ -68,8 +68,6 @@ Signed-off-by: Dave Stevenson 6 files changed, 311 insertions(+), 10 deletions(-) create mode 100644 drivers/char/broadcom/rpivid-mem.c -diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index c11b834ccdbd..e555e841b8db 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -39,3 +39,11 @@ config BCM2835_SMI_DEV @@ -84,8 +82,6 @@ index c11b834ccdbd..e555e841b8db 100644 + This driver provides a character device interface for memory-map operations + so userspace tools can access the control and status registers of the + Raspberry Pi RPiVid video decoder hardware. -diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index ea7495b01c28..a302fb3ff91a 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -2,3 +2,4 @@ obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o @@ -93,9 +89,6 @@ index ea7495b01c28..a302fb3ff91a 100644 obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o obj-$(CONFIG_BCM2835_SMI_DEV) += bcm2835_smi_dev.o +obj-$(CONFIG_RPIVID_MEM) += rpivid-mem.o -diff --git a/drivers/char/broadcom/rpivid-mem.c b/drivers/char/broadcom/rpivid-mem.c -new file mode 100644 -index 000000000000..fbf3d4f3fe0c --- /dev/null +++ b/drivers/char/broadcom/rpivid-mem.c @@ -0,0 +1,292 @@ @@ -391,11 +384,9 @@ index 000000000000..fbf3d4f3fe0c +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Driver for accessing RPiVid decoder registers from userspace"); +MODULE_AUTHOR("Jonathan Bell "); -diff --git a/drivers/mfd/bcm2835-pm.c b/drivers/mfd/bcm2835-pm.c -index ab1e9cbc50b1..f66f92fe28c3 100644 --- a/drivers/mfd/bcm2835-pm.c +++ b/drivers/mfd/bcm2835-pm.c -@@ -50,14 +50,14 @@ static int bcm2835_pm_probe(struct platform_device *pdev) +@@ -50,14 +50,14 @@ static int bcm2835_pm_probe(struct platf if (ret) return ret; @@ -416,11 +407,9 @@ index ab1e9cbc50b1..f66f92fe28c3 100644 } } -diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c -index c0618a9c26fa..6059210170bc 100644 --- a/drivers/soc/bcm/bcm2835-power.c +++ b/drivers/soc/bcm/bcm2835-power.c -@@ -637,15 +637,15 @@ static int bcm2835_power_probe(struct platform_device *pdev) +@@ -637,15 +637,15 @@ static int bcm2835_power_probe(struct pl power->base = pm->base; power->asb = pm->asb; @@ -439,8 +428,6 @@ index c0618a9c26fa..6059210170bc 100644 power->is_2711 = true; } -diff --git a/include/linux/mfd/bcm2835-pm.h b/include/linux/mfd/bcm2835-pm.h -index b2d157091e12..f70a810c55f7 100644 --- a/include/linux/mfd/bcm2835-pm.h +++ b/include/linux/mfd/bcm2835-pm.h @@ -9,7 +9,7 @@ struct bcm2835_pm { @@ -452,6 +439,3 @@ index b2d157091e12..f70a810c55f7 100644 }; #endif /* BCM2835_MFD_PM_H */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0174-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/root/target/linux/bcm27xx/patches-5.15/950-0165-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0174-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0165-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 5dd05a3c..c3f75403 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0174-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0165-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -1,7 +1,7 @@ -From d77ad604bfb2a118e2bb7ff17e651597e90f972c Mon Sep 17 00:00:00 2001 +From 005d56e2ec60eee6776d287b1694d86e9dd9ac91 Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Thu, 1 Aug 2019 16:41:20 +0100 -Subject: [PATCH 174/634] hid: usb: Add device quirks for Freeway Airmouse T3 +Subject: [PATCH 165/828] hid: usb: Add device quirks for Freeway Airmouse T3 and MX3 These wireless mouse/keyboard combo remote control devices specify @@ -21,8 +21,6 @@ Signed-off-by: Jonathan Bell drivers/hid/hid-quirks.c | 2 ++ 2 files changed, 8 insertions(+) -diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 29564b370341..23c080dd435f 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -225,6 +225,9 @@ @@ -35,7 +33,7 @@ index 29564b370341..23c080dd435f 100644 #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1298,6 +1301,9 @@ +@@ -1305,6 +1308,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -45,11 +43,9 @@ index 29564b370341..23c080dd435f 100644 #define USB_VENDOR_ID_XIN_MO 0x16c0 #define USB_DEVICE_ID_XIN_MO_DUAL_ARCADE 0x05e1 #define USB_DEVICE_ID_THT_2P_ARCADE 0x75e1 -diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c -index 2e104682c22b..21f1517696d2 100644 --- a/drivers/hid/hid-quirks.c +++ b/drivers/hid/hid-quirks.c -@@ -41,6 +41,7 @@ static const struct hid_device_id hid_quirks[] = { +@@ -41,6 +41,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS682), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS692), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM), HID_QUIRK_NOGET }, @@ -57,7 +53,7 @@ index 2e104682c22b..21f1517696d2 100644 { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -193,6 +194,7 @@ static const struct hid_device_id hid_quirks[] = { +@@ -195,6 +196,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, @@ -65,6 +61,3 @@ index 2e104682c22b..21f1517696d2 100644 { 0 } }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0175-Add-HDMI1-facility-to-the-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0166-Add-HDMI1-facility-to-the-driver.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0175-Add-HDMI1-facility-to-the-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0166-Add-HDMI1-facility-to-the-driver.patch index 9bad23bc..aba7d25a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0175-Add-HDMI1-facility-to-the-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0166-Add-HDMI1-facility-to-the-driver.patch @@ -1,7 +1,7 @@ -From e6f4369a86fe02b8527cd8cb5fd22db919cbd116 Mon Sep 17 00:00:00 2001 +From 0a0d749c35bde50e0231b8848db26c0ec3d9fe80 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 16 Jul 2019 12:18:21 +0100 -Subject: [PATCH 175/634] Add HDMI1 facility to the driver. +Subject: [PATCH 166/828] Add HDMI1 facility to the driver. For generic ALSA, all you need is the bcm2835.h change, but have also added structures for IEC958 HDMI. Not sure how to @@ -11,11 +11,9 @@ test those. .../vc04_services/bcm2835-audio/bcm2835.h | 4 ++- 2 files changed, 28 insertions(+), 5 deletions(-) -diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -index b42917c25050..eb8a8a5b7ec8 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -79,7 +79,11 @@ static int bcm2835_audio_alsa_newpcm(struct bcm2835_chip *chip, +@@ -79,7 +79,11 @@ static int bcm2835_audio_alsa_newpcm(str if (err) return err; @@ -28,7 +26,7 @@ index b42917c25050..eb8a8a5b7ec8 100644 if (err) return err; -@@ -106,7 +110,7 @@ static struct bcm2835_audio_driver bcm2835_audio_alsa = { +@@ -106,7 +110,7 @@ static struct bcm2835_audio_driver bcm28 .newctl = snd_bcm2835_new_ctl, }; @@ -37,7 +35,7 @@ index b42917c25050..eb8a8a5b7ec8 100644 .driver = { .name = "bcm2835_hdmi", .owner = THIS_MODULE, -@@ -116,7 +120,20 @@ static struct bcm2835_audio_driver bcm2835_audio_hdmi = { +@@ -116,7 +120,20 @@ static struct bcm2835_audio_driver bcm28 .minchannels = 1, .newpcm = bcm2835_audio_simple_newpcm, .newctl = snd_bcm2835_new_hdmi_ctl, @@ -59,7 +57,7 @@ index b42917c25050..eb8a8a5b7ec8 100644 }; static struct bcm2835_audio_driver bcm2835_audio_headphones = { -@@ -143,7 +160,11 @@ static struct bcm2835_audio_drivers children_devices[] = { +@@ -143,7 +160,11 @@ static struct bcm2835_audio_drivers chil .is_enabled = &enable_compat_alsa, }, { @@ -72,8 +70,6 @@ index b42917c25050..eb8a8a5b7ec8 100644 .is_enabled = &enable_hdmi, }, { -diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h -index 51066ac8eea5..b42a2fb12248 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h @@ -33,7 +33,9 @@ enum { @@ -87,6 +83,3 @@ index 51066ac8eea5..b42a2fb12248 100644 AUDIO_DEST_MAX, }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0176-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/root/target/linux/bcm27xx/patches-5.15/950-0167-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0176-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0167-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch index 96c43437..ed2dc294 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0176-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0167-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch @@ -1,7 +1,7 @@ -From aed2994f21a62601acf9f1aaf454e8f7ea4ef47d Mon Sep 17 00:00:00 2001 +From 70351efcb62171405de72882f800a73f4f34f106 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 9 Aug 2019 08:51:43 +0100 -Subject: [PATCH 176/634] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail +Subject: [PATCH 167/828] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail Some combinations of Pi 4Bs and Ethernet switches don't reliably get a DCHP-assigned IP address, leaving the unit with a self=assigned 169.254 @@ -25,8 +25,6 @@ Signed-off-by: Phil Elwell drivers/net/ethernet/broadcom/genet/bcmgenet.c | 8 ++++++++ 1 file changed, 8 insertions(+) -diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index f10ff4e95ce0..6bce096a364a 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,6 +67,9 @@ @@ -39,7 +37,7 @@ index f10ff4e95ce0..6bce096a364a 100644 static inline void bcmgenet_writel(u32 value, void __iomem *offset) { -@@ -2430,6 +2433,11 @@ static void reset_umac(struct bcmgenet_priv *priv) +@@ -2432,6 +2435,11 @@ static void reset_umac(struct bcmgenet_p bcmgenet_rbuf_ctrl_set(priv, 0); udelay(10); @@ -51,6 +49,3 @@ index f10ff4e95ce0..6bce096a364a 100644 /* issue soft reset and disable MAC while updating its registers */ bcmgenet_umac_writel(priv, CMD_SW_RESET, UMAC_CMD); udelay(2); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0177-xhci-Use-more-event-ring-segment-table-entries.patch b/root/target/linux/bcm27xx/patches-5.15/950-0168-xhci-Use-more-event-ring-segment-table-entries.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0177-xhci-Use-more-event-ring-segment-table-entries.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0168-xhci-Use-more-event-ring-segment-table-entries.patch index 39108dec..7653b556 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0177-xhci-Use-more-event-ring-segment-table-entries.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0168-xhci-Use-more-event-ring-segment-table-entries.patch @@ -1,7 +1,7 @@ -From 6d78e6c63b43d46146b80d592cf5de1fb0afc804 Mon Sep 17 00:00:00 2001 +From 74049cc0109466c836409b09b6eb6337b245f3fe Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Tue, 13 Aug 2019 15:53:29 +0100 -Subject: [PATCH 177/634] xhci: Use more event ring segment table entries +Subject: [PATCH 168/828] xhci: Use more event ring segment table entries Users have reported log spam created by "Event Ring Full" xHC event TRBs. These are caused by interrupt latency in conjunction with a very @@ -20,11 +20,9 @@ Signed-off-by: Jonathan Bell drivers/usb/host/xhci.h | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) -diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c -index 0e312066c5c6..df84bfae98ae 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c -@@ -2511,9 +2511,11 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) +@@ -2511,9 +2511,11 @@ int xhci_mem_init(struct xhci_hcd *xhci, * Event ring setup: Allocate a normal ring, but also setup * the event ring segment table (ERST). Section 4.9.3. */ @@ -38,7 +36,7 @@ index 0e312066c5c6..df84bfae98ae 100644 if (!xhci->event_ring) goto fail; if (xhci_check_trb_in_td_math(xhci) < 0) -@@ -2526,7 +2528,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) +@@ -2526,7 +2528,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, /* set ERST count with the number of entries in the segment table */ val = readl(&xhci->ir_set->erst_size); val &= ERST_SIZE_MASK; @@ -47,11 +45,9 @@ index 0e312066c5c6..df84bfae98ae 100644 xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Write ERST size = %i to ir_set 0 (some bits preserved)", val); -diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h -index 5a75fe563123..20b1819ac8d5 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1670,8 +1670,8 @@ struct urb_priv { +@@ -1673,8 +1673,8 @@ struct urb_priv { * Each segment table entry is 4*32bits long. 1K seems like an ok size: * (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table, * meaning 64 ring segments. @@ -62,6 +58,3 @@ index 5a75fe563123..20b1819ac8d5 100644 /* Poll every 60 seconds */ #define POLL_TIMEOUT 60 /* Stop endpoint command timeout (secs) for URB cancellation watchdog timer */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0178-configs-arm64-bcm2711-Enable-V3D.patch b/root/target/linux/bcm27xx/patches-5.15/950-0169-configs-arm64-bcm2711-Enable-V3D.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0178-configs-arm64-bcm2711-Enable-V3D.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0169-configs-arm64-bcm2711-Enable-V3D.patch index 21ace018..73c94556 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0178-configs-arm64-bcm2711-Enable-V3D.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0169-configs-arm64-bcm2711-Enable-V3D.patch @@ -1,7 +1,7 @@ -From 59a038dee3a3d996031211235a5f58390b0d151d Mon Sep 17 00:00:00 2001 +From 40d7ce7c36d66cea6bac243eeae38c758b2ddf57 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 15 Aug 2019 12:02:34 +0100 -Subject: [PATCH 178/634] configs: arm64/bcm2711: Enable V3D +Subject: [PATCH 169/828] configs: arm64/bcm2711: Enable V3D Enable the V3D driver, which depends on BCM2835_POWER. @@ -15,8 +15,6 @@ Signed-off-by: Phil Elwell drivers/gpu/drm/v3d/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig -index 9a5c44606337..b0e048697964 100644 --- a/drivers/gpu/drm/v3d/Kconfig +++ b/drivers/gpu/drm/v3d/Kconfig @@ -1,7 +1,7 @@ @@ -28,6 +26,3 @@ index 9a5c44606337..b0e048697964 100644 depends on DRM depends on COMMON_CLK depends on MMU --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0179-arch-arm-Add-model-string-to-cpuinfo.patch b/root/target/linux/bcm27xx/patches-5.15/950-0170-arch-arm-Add-model-string-to-cpuinfo.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0179-arch-arm-Add-model-string-to-cpuinfo.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0170-arch-arm-Add-model-string-to-cpuinfo.patch index 592ea6eb..6d1e8fb8 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0179-arch-arm-Add-model-string-to-cpuinfo.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0170-arch-arm-Add-model-string-to-cpuinfo.patch @@ -1,18 +1,16 @@ -From 5e6c458ae35bc5a7a482b89c8e634c2662dbb4ce Mon Sep 17 00:00:00 2001 +From b6dd7062b3500f268a7104bc9ffae811054422c0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:16:56 +0100 -Subject: [PATCH 179/634] arch/arm: Add model string to cpuinfo +Subject: [PATCH 170/828] arch/arm: Add model string to cpuinfo Signed-off-by: Phil Elwell --- arch/arm/kernel/setup.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c -index 284a80c0b6e1..12e73ce6e8fa 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c -@@ -1264,6 +1264,8 @@ static int c_show(struct seq_file *m, void *v) +@@ -1264,6 +1264,8 @@ static int c_show(struct seq_file *m, vo { int i, j; u32 cpuid; @@ -21,7 +19,7 @@ index 284a80c0b6e1..12e73ce6e8fa 100644 for_each_online_cpu(i) { /* -@@ -1323,6 +1325,14 @@ static int c_show(struct seq_file *m, void *v) +@@ -1323,6 +1325,14 @@ static int c_show(struct seq_file *m, vo seq_printf(m, "Revision\t: %04x\n", system_rev); seq_printf(m, "Serial\t\t: %s\n", system_serial); @@ -36,6 +34,3 @@ index 284a80c0b6e1..12e73ce6e8fa 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0180-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch b/root/target/linux/bcm27xx/patches-5.15/950-0171-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0180-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0171-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch index acb0e91a..2c3509f0 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0180-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0171-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch @@ -1,15 +1,13 @@ -From 099b730b022be0b855dbb7d5c1815f1096aa434e Mon Sep 17 00:00:00 2001 +From dbde93677f27bb0b2a407ded3800ca380fc8a9f9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 3 Sep 2019 18:17:25 +0100 -Subject: [PATCH 180/634] arch/arm64: Add Revision, Serial, Model to cpuinfo +Subject: [PATCH 171/828] arch/arm64: Add Revision, Serial, Model to cpuinfo Signed-off-by: Phil Elwell --- arch/arm64/kernel/cpuinfo.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c -index 87731fea5e41..619ad8e3db71 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c @@ -17,6 +17,7 @@ @@ -20,7 +18,7 @@ index 87731fea5e41..619ad8e3db71 100644 #include #include #include -@@ -137,6 +138,10 @@ static int c_show(struct seq_file *m, void *v) +@@ -140,6 +141,10 @@ static int c_show(struct seq_file *m, vo { int i, j; bool compat = personality(current->personality) == PER_LINUX32; @@ -31,7 +29,7 @@ index 87731fea5e41..619ad8e3db71 100644 for_each_online_cpu(i) { struct cpuinfo_arm64 *cpuinfo = &per_cpu(cpu_data, i); -@@ -197,6 +202,26 @@ static int c_show(struct seq_file *m, void *v) +@@ -200,6 +205,26 @@ static int c_show(struct seq_file *m, vo seq_printf(m, "CPU revision\t: %d\n\n", MIDR_REVISION(midr)); } @@ -58,6 +56,3 @@ index 87731fea5e41..619ad8e3db71 100644 return 0; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0181-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch b/root/target/linux/bcm27xx/patches-5.15/950-0172-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch similarity index 89% rename from root/target/linux/bcm27xx/patches-5.15/0181-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0172-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch index 798f46d3..a3ca6e78 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0181-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0172-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch @@ -1,7 +1,7 @@ -From 6145fba2874d02d7811a202afc42a75575c3b633 Mon Sep 17 00:00:00 2001 +From d98997603f7d8664102a8cbc3d4d095d05bdfb7c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 28 Aug 2019 13:34:30 +0100 -Subject: [PATCH 181/634] media: dt-bindings: Add binding for the Sony IMX219 +Subject: [PATCH 172/828] media: dt-bindings: Add binding for the Sony IMX219 sensor The IMX219 is an 8MPix CSI2 sensor, supporting 2 or 4 data lanes. @@ -13,9 +13,6 @@ Signed-off-by: Dave Stevenson 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/imx219.txt -diff --git a/Documentation/devicetree/bindings/media/i2c/imx219.txt b/Documentation/devicetree/bindings/media/i2c/imx219.txt -new file mode 100644 -index 000000000000..a02f1ce1e120 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/imx219.txt @@ -0,0 +1,59 @@ @@ -78,6 +75,3 @@ index 000000000000..a02f1ce1e120 + }; + }; + }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0182-v4l2-Add-a-Greyworld-AWB-mode.patch b/root/target/linux/bcm27xx/patches-5.15/950-0173-v4l2-Add-a-Greyworld-AWB-mode.patch similarity index 99% rename from root/target/linux/bcm27xx/patches-5.15/0182-v4l2-Add-a-Greyworld-AWB-mode.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0173-v4l2-Add-a-Greyworld-AWB-mode.patch index d455ea07..7ded027c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0182-v4l2-Add-a-Greyworld-AWB-mode.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0173-v4l2-Add-a-Greyworld-AWB-mode.patch @@ -1,7 +1,7 @@ -From f7b793be77aa819fa1c8ad69f5759e247cfc1b98 Mon Sep 17 00:00:00 2001 +From d240683f4f0591e341935d91a7b4bb82ef2bf55b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:04:51 +0100 -Subject: [PATCH 182/634] v4l2: Add a Greyworld AWB mode. +Subject: [PATCH 173/828] v4l2: Add a Greyworld AWB mode. Adds a simple greyworld white balance preset, mainly for use with cameras without an IR filter (eg Raspberry Pi NoIR) @@ -13,9 +13,6 @@ Signed-off-by: Dave Stevenson 2 files changed, 5037 insertions(+) create mode 100644 drivers/media/v4l2-core/v4l2-ctrls.c -diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c -new file mode 100644 -index 000000000000..49d9085d77e3 --- /dev/null +++ b/drivers/media/v4l2-core/v4l2-ctrls.c @@ -0,0 +1,5036 @@ @@ -5055,8 +5052,6 @@ index 000000000000..49d9085d77e3 + return hdl->error; +} +EXPORT_SYMBOL(v4l2_ctrl_new_fwnode_properties); -diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h -index 5532b5f68493..ee1684f51d97 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -926,6 +926,7 @@ enum v4l2_auto_n_preset_white_balance { @@ -5067,6 +5062,3 @@ index 5532b5f68493..ee1684f51d97 100644 }; #define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0183-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch b/root/target/linux/bcm27xx/patches-5.15/950-0174-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch similarity index 67% rename from root/target/linux/bcm27xx/patches-5.15/0183-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0174-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch index 7be26575..1c4d1f3e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0183-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0174-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch @@ -1,7 +1,7 @@ -From cdaef018bca97798356b6edbabe76cf6639f2668 Mon Sep 17 00:00:00 2001 +From 55150861a836d8a68efa527227236d707ea75add Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 6 Sep 2019 15:13:06 +0100 -Subject: [PATCH 183/634] staging: bcm2835-camera: Add greyworld AWB mode +Subject: [PATCH 174/828] staging: bcm2835-camera: Add greyworld AWB mode This is mainly used for the NoIR camera which has no IR filter and can completely confuse normal AWB presets. @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h | 1 + 2 files changed, 5 insertions(+) -diff --git a/drivers/staging/vc04_services/bcm2835-camera/controls.c b/drivers/staging/vc04_services/bcm2835-camera/controls.c -index b096a12387f7..a7af25f90449 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/controls.c +++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c -@@ -474,6 +474,10 @@ static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev, +@@ -474,6 +474,10 @@ static int ctrl_set_awb_mode(struct bm28 case V4L2_WHITE_BALANCE_SHADE: u32_value = MMAL_PARAM_AWBMODE_SHADE; break; @@ -27,8 +25,6 @@ index b096a12387f7..a7af25f90449 100644 } return vchiq_mmal_port_parameter_set(dev->instance, control, -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h -index 1793103b18fd..27bafc5f01d2 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h @@ -313,6 +313,7 @@ enum mmal_parameter_awbmode { @@ -39,6 +35,3 @@ index 1793103b18fd..27bafc5f01d2 100644 }; enum mmal_parameter_imagefx { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0184-drm-v3d-Delete-pm_runtime-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0175-drm-v3d-Delete-pm_runtime-support.patch similarity index 67% rename from root/target/linux/bcm27xx/patches-5.15/0184-drm-v3d-Delete-pm_runtime-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0175-drm-v3d-Delete-pm_runtime-support.patch index c90c2e3f..1e143e97 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0184-drm-v3d-Delete-pm_runtime-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0175-drm-v3d-Delete-pm_runtime-support.patch @@ -1,7 +1,7 @@ -From 472a6ea35b5e790fa6a4029579d76fe26fb5f38c Mon Sep 17 00:00:00 2001 +From 692368d17b51193e449eb4cf4f9c6da7439f379e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 18 Sep 2019 17:22:36 +0100 -Subject: [PATCH 184/634] drm/v3d: Delete pm_runtime support +Subject: [PATCH 175/828] drm/v3d: Delete pm_runtime support The pm_runtime was blocking changelist submission, so delete it as a temporary workaround. @@ -12,11 +12,9 @@ Signed-off-by: Phil Elwell drivers/gpu/drm/v3d/v3d_mmu.c | 11 ----------- 2 files changed, 16 deletions(-) -diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c -index d369221642c5..7ca97c3d7975 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c -@@ -485,10 +485,6 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, +@@ -485,10 +485,6 @@ v3d_job_init(struct v3d_dev *v3d, struct job->v3d = v3d; job->free = free; @@ -27,7 +25,7 @@ index d369221642c5..7ca97c3d7975 100644 xa_init_flags(&job->deps, XA_FLAGS_ALLOC); ret = drm_syncobj_find_fence(file_priv, in_sync, 0, 0, &in_fence); -@@ -505,7 +501,6 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, +@@ -505,7 +501,6 @@ v3d_job_init(struct v3d_dev *v3d, struct return 0; fail: xa_destroy(&job->deps); @@ -35,11 +33,9 @@ index d369221642c5..7ca97c3d7975 100644 return ret; } -diff --git a/drivers/gpu/drm/v3d/v3d_mmu.c b/drivers/gpu/drm/v3d/v3d_mmu.c -index 8986e7b96461..618503f2f2f1 100644 --- a/drivers/gpu/drm/v3d/v3d_mmu.c +++ b/drivers/gpu/drm/v3d/v3d_mmu.c -@@ -36,14 +36,6 @@ static int v3d_mmu_flush_all(struct v3d_dev *v3d) +@@ -36,14 +36,6 @@ static int v3d_mmu_flush_all(struct v3d_ { int ret; @@ -54,7 +50,7 @@ index 8986e7b96461..618503f2f2f1 100644 /* Make sure that another flush isn't already running when we * start this one. */ -@@ -71,9 +63,6 @@ static int v3d_mmu_flush_all(struct v3d_dev *v3d) +@@ -71,9 +63,6 @@ static int v3d_mmu_flush_all(struct v3d_ if (ret) dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n"); @@ -64,6 +60,3 @@ index 8986e7b96461..618503f2f2f1 100644 return ret; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0185-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch b/root/target/linux/bcm27xx/patches-5.15/950-0176-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch similarity index 65% rename from root/target/linux/bcm27xx/patches-5.15/0185-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0176-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch index 1a2598fc..59a25b64 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0185-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0176-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch @@ -1,7 +1,7 @@ -From 7f8a5c818e97033dcf7e979b3ac0ca2d35e372f0 Mon Sep 17 00:00:00 2001 +From a5545f2bf11515db23ec92e6e236205835abf9b5 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Thu, 19 Sep 2019 20:45:30 +0200 -Subject: [PATCH 185/634] ARM: bcm: Switch board, clk and pinctrl to bcm2711 +Subject: [PATCH 176/828] ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible After the decision to use bcm2711 compatible for upstream, we should @@ -13,11 +13,9 @@ Signed-off-by: Stefan Wahren arch/arm/mach-bcm/board_bcm2835.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 282a023027fc..e538e0f899a5 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c -@@ -109,7 +109,7 @@ static const char * const bcm2835_compat[] = { +@@ -109,7 +109,7 @@ static const char * const bcm2835_compat #ifdef CONFIG_ARCH_MULTI_V7 "brcm,bcm2836", "brcm,bcm2837", @@ -26,6 +24,3 @@ index 282a023027fc..e538e0f899a5 100644 #endif NULL }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0186-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch b/root/target/linux/bcm27xx/patches-5.15/950-0177-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0186-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0177-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch index 2b5cbab5..4abe91df 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0186-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0177-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch @@ -1,7 +1,7 @@ -From c5a14d2ebbbc22ea4b88303b206368db8efe5877 Mon Sep 17 00:00:00 2001 +From 3a0c465116a10d93e406f1c11af9e74b1602945d Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 24 Sep 2019 18:26:55 +0100 -Subject: [PATCH 186/634] Rename HDMI ALSA device names, check for enable state +Subject: [PATCH 177/828] Rename HDMI ALSA device names, check for enable state HDMI Alsa devices renamed to match names used by DRM, to HDMI 1 and HDMI 2 @@ -19,8 +19,6 @@ Signed-off-by: James Hughes .../vc04_services/bcm2835-audio/bcm2835.c | 70 +++++++++++++++++-- 1 file changed, 63 insertions(+), 7 deletions(-) -diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -index eb8a8a5b7ec8..f926784c622d 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c @@ -9,8 +9,9 @@ @@ -34,7 +32,7 @@ index eb8a8a5b7ec8..f926784c622d 100644 static bool enable_headphones; static bool enable_compat_alsa = true; -@@ -115,8 +116,8 @@ static struct bcm2835_audio_driver bcm2835_audio_hdmi0 = { +@@ -115,8 +116,8 @@ static struct bcm2835_audio_driver bcm28 .name = "bcm2835_hdmi", .owner = THIS_MODULE, }, @@ -45,7 +43,7 @@ index eb8a8a5b7ec8..f926784c622d 100644 .minchannels = 1, .newpcm = bcm2835_audio_simple_newpcm, .newctl = snd_bcm2835_new_hdmi_ctl, -@@ -128,8 +129,8 @@ static struct bcm2835_audio_driver bcm2835_audio_hdmi1 = { +@@ -128,8 +129,8 @@ static struct bcm2835_audio_driver bcm28 .name = "bcm2835_hdmi", .owner = THIS_MODULE, }, @@ -56,7 +54,7 @@ index eb8a8a5b7ec8..f926784c622d 100644 .minchannels = 1, .newpcm = bcm2835_audio_simple_newpcm, .newctl = snd_bcm2835_new_hdmi_ctl, -@@ -161,11 +162,11 @@ static struct bcm2835_audio_drivers children_devices[] = { +@@ -161,11 +162,11 @@ static struct bcm2835_audio_drivers chil }, { .audio_driver = &bcm2835_audio_hdmi0, @@ -70,7 +68,7 @@ index eb8a8a5b7ec8..f926784c622d 100644 }, { .audio_driver = &bcm2835_audio_headphones, -@@ -312,6 +313,53 @@ static int snd_add_child_devices(struct device *device, u32 numchans) +@@ -312,6 +313,53 @@ static int snd_add_child_devices(struct return 0; } @@ -124,7 +122,7 @@ index eb8a8a5b7ec8..f926784c622d 100644 static int snd_bcm2835_alsa_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -332,6 +380,14 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) +@@ -332,6 +380,14 @@ static int snd_bcm2835_alsa_probe(struct numchans); } @@ -139,6 +137,3 @@ index eb8a8a5b7ec8..f926784c622d 100644 err = bcm2835_devm_add_vchi_ctx(dev); if (err) return err; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0187-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch b/root/target/linux/bcm27xx/patches-5.15/950-0178-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0187-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0178-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch index 4366be13..66bbec8b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0187-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0178-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch @@ -1,7 +1,7 @@ -From af2d53cf2914250dad85d1c659d38f78fb374824 Mon Sep 17 00:00:00 2001 +From 6e04679f54fafa25fbaab4de3f784ba0e5cfa205 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:08 +0200 -Subject: [PATCH 187/634] dt-bindings: Add binding for the Infineon IRS1125 +Subject: [PATCH 178/828] dt-bindings: Add binding for the Infineon IRS1125 sensor Adds a binding for the Infineon IRS1125 time-of-flight depth @@ -13,9 +13,6 @@ Signed-off-by: Markus Proeller 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/irs1125.txt -diff --git a/Documentation/devicetree/bindings/media/i2c/irs1125.txt b/Documentation/devicetree/bindings/media/i2c/irs1125.txt -new file mode 100644 -index 000000000000..25a48028c957 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/irs1125.txt @@ -0,0 +1,48 @@ @@ -67,6 +64,3 @@ index 000000000000..25a48028c957 + }; + }; + }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0188-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch b/root/target/linux/bcm27xx/patches-5.15/950-0179-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0188-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0179-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch index 1bab0b0b..aac0c8fc 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0188-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0179-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch @@ -1,7 +1,7 @@ -From f62f827c7b7a6b5e0c37311278ba4e6e7b9cdf43 Mon Sep 17 00:00:00 2001 +From 5180dcfb7cbd61d33640609f1fc0452e68b0f1c6 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Thu, 10 Oct 2019 19:12:36 +0200 -Subject: [PATCH 188/634] media: i2c: Add a driver for the Infineon IRS1125 +Subject: [PATCH 179/828] media: i2c: Add a driver for the Infineon IRS1125 depth sensor The Infineon IRS1125 is a time of flight depth sensor that @@ -19,8 +19,6 @@ Signed-off-by: Markus Proeller create mode 100644 drivers/media/i2c/irs1125.c create mode 100644 drivers/media/i2c/irs1125.h -diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig -index 6157e73eef24..f5eec949a93e 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -1187,6 +1187,18 @@ config VIDEO_OV13858 @@ -42,8 +40,6 @@ index 6157e73eef24..f5eec949a93e 100644 config VIDEO_VS6624 tristate "ST VS6624 sensor support" depends on VIDEO_V4L2 && I2C -diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile -index 83268f20aa3a..ceba2bbf43d2 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -89,6 +89,7 @@ obj-$(CONFIG_VIDEO_OV9640) += ov9640.o @@ -54,9 +50,6 @@ index 83268f20aa3a..ceba2bbf43d2 100644 obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o -diff --git a/drivers/media/i2c/irs1125.c b/drivers/media/i2c/irs1125.c -new file mode 100644 -index 000000000000..25e1dd5a08ef --- /dev/null +++ b/drivers/media/i2c/irs1125.c @@ -0,0 +1,1112 @@ @@ -1172,9 +1165,6 @@ index 000000000000..25e1dd5a08ef +MODULE_DESCRIPTION("Infineon irs1125 sensor driver"); +MODULE_LICENSE("GPL v2"); + -diff --git a/drivers/media/i2c/irs1125.h b/drivers/media/i2c/irs1125.h -new file mode 100644 -index 000000000000..dccaca23aa76 --- /dev/null +++ b/drivers/media/i2c/irs1125.h @@ -0,0 +1,61 @@ @@ -1239,6 +1229,3 @@ index 000000000000..dccaca23aa76 + +#endif /* IRS1125 */ + --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0189-drm-v3d-Suppress-all-but-the-first-MMU-error.patch b/root/target/linux/bcm27xx/patches-5.15/950-0180-drm-v3d-Suppress-all-but-the-first-MMU-error.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0189-drm-v3d-Suppress-all-but-the-first-MMU-error.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0180-drm-v3d-Suppress-all-but-the-first-MMU-error.patch index 1af79cf5..0c3a6f4f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0189-drm-v3d-Suppress-all-but-the-first-MMU-error.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0180-drm-v3d-Suppress-all-but-the-first-MMU-error.patch @@ -1,7 +1,7 @@ -From 72dd74f47083e7e19d5505dd9149601d40e702df Mon Sep 17 00:00:00 2001 +From 3eaf1b1f7f9c4fd15697c9339ffe78b0d3f0d944 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 Nov 2019 20:18:08 +0000 -Subject: [PATCH 189/634] drm/v3d: Suppress all but the first MMU error +Subject: [PATCH 180/828] drm/v3d: Suppress all but the first MMU error The v3d driver currently encounters a lot of MMU PTE exceptions, so only log the first to avoid swamping the kernel log. @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/gpu/drm/v3d/v3d_irq.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c -index e714d5318f30..0f7a23f051df 100644 --- a/drivers/gpu/drm/v3d/v3d_irq.c +++ b/drivers/gpu/drm/v3d/v3d_irq.c @@ -177,6 +177,7 @@ v3d_hub_irq(int irq, void *arg) @@ -39,6 +37,3 @@ index e714d5318f30..0f7a23f051df 100644 status = IRQ_HANDLED; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0190-drm-v3d-Plug-dma_fence-leak.patch b/root/target/linux/bcm27xx/patches-5.15/950-0181-drm-v3d-Plug-dma_fence-leak.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0190-drm-v3d-Plug-dma_fence-leak.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0181-drm-v3d-Plug-dma_fence-leak.patch index 43ea8657..e4d152f7 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0190-drm-v3d-Plug-dma_fence-leak.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0181-drm-v3d-Plug-dma_fence-leak.patch @@ -1,7 +1,7 @@ -From 221c9ee03ed568457aa2b32054157b654ef4be87 Mon Sep 17 00:00:00 2001 +From 250cddf6a615ace05a830e2880aa67e579e23c55 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 12 Nov 2019 16:41:21 +0000 -Subject: [PATCH 190/634] drm/v3d: Plug dma_fence leak +Subject: [PATCH 181/828] drm/v3d: Plug dma_fence leak The irq_fence and done_fence are given a reference that is never released. The necessary dma_fence_put()s seem to have been @@ -14,8 +14,6 @@ Signed-off-by: Phil Elwell drivers/gpu/drm/v3d/v3d_gem.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c -index 7ca97c3d7975..a378a0cc67c2 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c @@ -414,6 +414,9 @@ v3d_job_free(struct kref *ref) @@ -28,6 +26,3 @@ index 7ca97c3d7975..a378a0cc67c2 100644 v3d_clock_up_put(v3d); if (job->perfmon) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0191-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch b/root/target/linux/bcm27xx/patches-5.15/950-0182-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch similarity index 71% rename from root/target/linux/bcm27xx/patches-5.15/0191-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0182-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch index 1f4e0595..b15982f9 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0191-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0182-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch @@ -1,7 +1,7 @@ -From c190196f665d499d4625ba6b6fb890b217d31547 Mon Sep 17 00:00:00 2001 +From 6ba33c1ffadb826836eea6e04839ecf5b87df505 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:48 +0000 -Subject: [PATCH 191/634] staging: vchiq_arm: Register vcsm-cma as a platform +Subject: [PATCH 182/828] staging: vchiq_arm: Register vcsm-cma as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -12,8 +12,6 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index 967f10b9582a..af0e2cae6175 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -67,6 +67,7 @@ struct vchiq_state g_state; @@ -24,7 +22,7 @@ index 967f10b9582a..af0e2cae6175 100644 static struct vchiq_drvdata bcm2835_drvdata = { .cache_line_size = 32, -@@ -1819,6 +1820,7 @@ static int vchiq_probe(struct platform_device *pdev) +@@ -1838,6 +1839,7 @@ static int vchiq_probe(struct platform_d goto error_exit; } @@ -32,7 +30,7 @@ index 967f10b9582a..af0e2cae6175 100644 bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); -@@ -1834,6 +1836,7 @@ static int vchiq_remove(struct platform_device *pdev) +@@ -1853,6 +1855,7 @@ static int vchiq_remove(struct platform_ { platform_device_unregister(bcm2835_audio); platform_device_unregister(bcm2835_camera); @@ -40,6 +38,3 @@ index 967f10b9582a..af0e2cae6175 100644 vchiq_debugfs_deinit(); vchiq_deregister_chrdev(); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0192-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch b/root/target/linux/bcm27xx/patches-5.15/950-0183-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0192-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0183-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch index 43f9595c..02069dc9 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0192-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0183-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch @@ -1,7 +1,7 @@ -From 7a4897dbef3cb2e2055af10f4c8bf9578f1fdfb6 Mon Sep 17 00:00:00 2001 +From 3cd45eeaec4045f0004f23950806cc9859692b14 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 6 Nov 2019 13:57:58 +0000 -Subject: [PATCH 192/634] staging: vchiq_arm: Register bcm2835-codec as a +Subject: [PATCH 183/828] staging: vchiq_arm: Register bcm2835-codec as a platform driver Following the same pattern as bcm2835-camera and bcm2835-audio, @@ -12,8 +12,6 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index af0e2cae6175..a457f31043fc 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -67,6 +67,7 @@ struct vchiq_state g_state; @@ -24,7 +22,7 @@ index af0e2cae6175..a457f31043fc 100644 static struct platform_device *vcsm_cma; static struct vchiq_drvdata bcm2835_drvdata = { -@@ -1821,6 +1822,7 @@ static int vchiq_probe(struct platform_device *pdev) +@@ -1840,6 +1841,7 @@ static int vchiq_probe(struct platform_d } vcsm_cma = vchiq_register_child(pdev, "vcsm-cma"); @@ -32,7 +30,7 @@ index af0e2cae6175..a457f31043fc 100644 bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); -@@ -1836,6 +1838,7 @@ static int vchiq_remove(struct platform_device *pdev) +@@ -1855,6 +1857,7 @@ static int vchiq_remove(struct platform_ { platform_device_unregister(bcm2835_audio); platform_device_unregister(bcm2835_camera); @@ -40,6 +38,3 @@ index af0e2cae6175..a457f31043fc 100644 platform_device_unregister(vcsm_cma); vchiq_debugfs_deinit(); vchiq_deregister_chrdev(); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0193-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch b/root/target/linux/bcm27xx/patches-5.15/950-0184-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0193-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0184-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch index 8983def5..09525ee7 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0193-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0184-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch @@ -1,7 +1,7 @@ -From 38fd276e222a66a6b3101a742b19c6c86899fbed Mon Sep 17 00:00:00 2001 +From 2fb210003b2001472850579242c46cc17392f5e1 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 31 Oct 2019 14:39:44 +0000 -Subject: [PATCH 193/634] net:phy:2711 Allow ethernet LED mode to be set via +Subject: [PATCH 184/828] net:phy:2711 Allow ethernet LED mode to be set via device tree Add device tree entries and code to allow the specification of @@ -17,11 +17,9 @@ releases. drivers/net/phy/broadcom.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) -diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c -index 83aea5c5cd03..ab40956b8c65 100644 --- a/drivers/net/phy/broadcom.c +++ b/drivers/net/phy/broadcom.c -@@ -315,6 +315,9 @@ static void bcm54xx_adjust_rxrefclk(struct phy_device *phydev) +@@ -316,6 +316,9 @@ static void bcm54xx_adjust_rxrefclk(stru static int bcm54xx_config_init(struct phy_device *phydev) { int reg, err, val; @@ -31,7 +29,7 @@ index 83aea5c5cd03..ab40956b8c65 100644 reg = phy_read(phydev, MII_BCM54XX_ECR); if (reg < 0) -@@ -370,10 +373,10 @@ static int bcm54xx_config_init(struct phy_device *phydev) +@@ -371,10 +374,10 @@ static int bcm54xx_config_init(struct ph bcm54xx_phydsp_config(phydev); @@ -44,7 +42,7 @@ index 83aea5c5cd03..ab40956b8c65 100644 * Don't do this for devices on an SFP module, since some of these * use the LED outputs to control the SFP LOS signal, and changing * these settings will cause LOS to malfunction. -@@ -384,8 +387,8 @@ static int bcm54xx_config_init(struct phy_device *phydev) +@@ -385,8 +388,8 @@ static int bcm54xx_config_init(struct ph bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val); val = BCM_LED_MULTICOLOR_IN_PHASE | @@ -55,6 +53,3 @@ index 83aea5c5cd03..ab40956b8c65 100644 bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val); } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0194-v3d_drv-Handle-missing-clock-more-gracefully.patch b/root/target/linux/bcm27xx/patches-5.15/950-0185-v3d_drv-Handle-missing-clock-more-gracefully.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0194-v3d_drv-Handle-missing-clock-more-gracefully.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0185-v3d_drv-Handle-missing-clock-more-gracefully.patch index 18545a2d..310c249c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0194-v3d_drv-Handle-missing-clock-more-gracefully.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0185-v3d_drv-Handle-missing-clock-more-gracefully.patch @@ -1,18 +1,16 @@ -From 195b7433f951847965210bb8a7af7603f6b991c7 Mon Sep 17 00:00:00 2001 +From 6dbf29bf8e964eccbbc7d156d585a1bbd3e70222 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 23 Aug 2019 16:34:38 +0100 -Subject: [PATCH 194/634] v3d_drv: Handle missing clock more gracefully +Subject: [PATCH 185/828] v3d_drv: Handle missing clock more gracefully Signed-off-by: popcornmix --- drivers/gpu/drm/v3d/v3d_drv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c -index e202870873a4..6112a8f72adc 100644 --- a/drivers/gpu/drm/v3d/v3d_drv.c +++ b/drivers/gpu/drm/v3d/v3d_drv.c -@@ -298,10 +298,10 @@ static int v3d_platform_drm_probe(struct platform_device *pdev) +@@ -302,10 +302,10 @@ static int v3d_platform_drm_probe(struct } v3d->clk = devm_clk_get(dev, NULL); @@ -27,6 +25,3 @@ index e202870873a4..6112a8f72adc 100644 } v3d->clk_up_rate = clk_get_rate(v3d->clk); /* For downclocking, drop it to the minimum frequency we can get from --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0195-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch b/root/target/linux/bcm27xx/patches-5.15/950-0186-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0195-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0186-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch index 84399b4c..5e8c552c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0195-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0186-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch @@ -1,7 +1,7 @@ -From f12b90a2babfed3c9ea13f6d940bc5bdc76bb13f Mon Sep 17 00:00:00 2001 +From a74ef19f143d1bf1c333dd909597ce883992278d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 5 Sep 2019 17:59:14 +0100 -Subject: [PATCH 195/634] v3d_gem: Kick the clock so firmware knows we are +Subject: [PATCH 186/828] v3d_gem: Kick the clock so firmware knows we are using firmware clock interface Setting the v3d clock to low value allows firmware to handle dvfs in case @@ -12,11 +12,9 @@ Signed-off-by: popcornmix drivers/gpu/drm/v3d/v3d_gem.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c -index a378a0cc67c2..0cfc30daa6a6 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c -@@ -953,6 +953,10 @@ v3d_gem_init(struct drm_device *dev) +@@ -955,6 +955,10 @@ v3d_gem_init(struct drm_device *dev) mutex_init(&v3d->clk_lock); INIT_DELAYED_WORK(&v3d->clk_down_work, v3d_clock_down_work); @@ -27,6 +25,3 @@ index a378a0cc67c2..0cfc30daa6a6 100644 /* Note: We don't allocate address 0. Various bits of HW * treat 0 as special, such as the occlusion query counters * where 0 means "disabled". --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0196-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0187-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch similarity index 65% rename from root/target/linux/bcm27xx/patches-5.15/0196-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0187-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch index 455c274d..2c90d4bd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0196-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0187-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch @@ -1,7 +1,7 @@ -From 9dee01ef3aa37167d4a146994011f07b8a8ab4c3 Mon Sep 17 00:00:00 2001 +From 9e50c584550d3dfea066aa49ab8baa86573bafd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 9 Sep 2019 15:49:56 +0100 -Subject: [PATCH 196/634] clk-raspberrypi: Allow cpufreq driver to also adjust +Subject: [PATCH 187/828] clk-raspberrypi: Allow cpufreq driver to also adjust gpu clocks For performance/power it is beneficial to adjust gpu clocks with arm clock. @@ -12,11 +12,9 @@ Signed-off-by: popcornmix drivers/clk/bcm/clk-raspberrypi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/clk/bcm/clk-raspberrypi.c b/drivers/clk/bcm/clk-raspberrypi.c -index dd3b71eafabf..19f4e3b7b190 100644 --- a/drivers/clk/bcm/clk-raspberrypi.c +++ b/drivers/clk/bcm/clk-raspberrypi.c -@@ -97,7 +97,7 @@ static int raspberrypi_clock_property(struct rpi_firmware *firmware, +@@ -97,7 +97,7 @@ static int raspberrypi_clock_property(st struct raspberrypi_firmware_prop msg = { .id = cpu_to_le32(data->id), .val = cpu_to_le32(*val), @@ -25,6 +23,3 @@ index dd3b71eafabf..19f4e3b7b190 100644 }; int ret; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0197-clk-bcm2835-Disable-v3d-clock.patch b/root/target/linux/bcm27xx/patches-5.15/950-0188-clk-bcm2835-Disable-v3d-clock.patch similarity index 84% rename from root/target/linux/bcm27xx/patches-5.15/0197-clk-bcm2835-Disable-v3d-clock.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0188-clk-bcm2835-Disable-v3d-clock.patch index 4c35d7bc..243da875 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0197-clk-bcm2835-Disable-v3d-clock.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0188-clk-bcm2835-Disable-v3d-clock.patch @@ -1,7 +1,7 @@ -From e58fb03493b1a902c35bff550f07f7c484471e15 Mon Sep 17 00:00:00 2001 +From e653a73dd59f1126e425a3601d20db23d7d2d61b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 3 Sep 2019 20:28:00 +0100 -Subject: [PATCH 197/634] clk-bcm2835: Disable v3d clock +Subject: [PATCH 188/828] clk-bcm2835: Disable v3d clock This is controlled by firmware, see clk-raspberrypi.c @@ -10,11 +10,9 @@ Signed-off-by: popcornmix drivers/clk/bcm/clk-bcm2835.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index fe005f9dbe02..4f983b82eab1 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1735,16 +1735,12 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { +@@ -1735,16 +1735,12 @@ static const struct bcm2835_clk_desc clk .hold_mask = CM_PLLA_HOLDCORE, .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), @@ -37,7 +35,7 @@ index fe005f9dbe02..4f983b82eab1 100644 [BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV( SOC_ALL, .name = "plla_dsi0", -@@ -2045,14 +2041,12 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { +@@ -2045,14 +2041,12 @@ static const struct bcm2835_clk_desc clk .int_bits = 6, .frac_bits = 0, .tcnt_mux = 3), @@ -58,6 +56,3 @@ index fe005f9dbe02..4f983b82eab1 100644 /* * VPU clock. This doesn't have an enable bit, since it drives * the bus for everything else, and is special so it doesn't need --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0198-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch b/root/target/linux/bcm27xx/patches-5.15/950-0189-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch similarity index 68% rename from root/target/linux/bcm27xx/patches-5.15/0198-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0189-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch index 7c9b289d..f4a497ba 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0198-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0189-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch @@ -1,7 +1,7 @@ -From 5b4716e9f006006fb55df40766034623894572c9 Mon Sep 17 00:00:00 2001 +From 44f36204c45212a311159ae827e37624b0eeb793 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 29 Jan 2019 16:13:25 +0000 -Subject: [PATCH 198/634] staging: vchiq_arm: Set up dma ranges on child +Subject: [PATCH 189/828] staging: vchiq_arm: Set up dma ranges on child devices The VCHIQ driver now loads the audio, camera, codec, and vc-sm @@ -16,11 +16,9 @@ Signed-off-by: Dave Stevenson .../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index a457f31043fc..b65dbcef9731 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -1771,6 +1771,12 @@ vchiq_register_child(struct platform_device *pdev, const char *name) +@@ -1790,6 +1790,12 @@ vchiq_register_child(struct platform_dev child = NULL; } @@ -33,6 +31,3 @@ index a457f31043fc..b65dbcef9731 100644 return child; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0199-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch b/root/target/linux/bcm27xx/patches-5.15/950-0190-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0199-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0190-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch index 54f86921..ed75d4bb 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0199-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0190-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch @@ -1,7 +1,7 @@ -From 3b8c627872c59353b2966844bd3075a92e6d92f0 Mon Sep 17 00:00:00 2001 +From 235f45b0e4a9b0d5bb0b059e3991af0ab042d256 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 18 Jun 2019 12:15:50 +0100 -Subject: [PATCH 199/634] staging: vchiq: Use the old dma controller for OF +Subject: [PATCH 190/828] staging: vchiq: Use the old dma controller for OF config on platform devices vchiq on Pi4 is no longer under the soc node, therefore it @@ -15,11 +15,9 @@ Signed-off-by: Dave Stevenson .../interface/vchiq_arm/vchiq_arm.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index b65dbcef9731..d52f689ce8ca 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -1757,6 +1757,7 @@ vchiq_register_child(struct platform_device *pdev, const char *name) +@@ -1776,6 +1776,7 @@ vchiq_register_child(struct platform_dev { struct platform_device_info pdevinfo; struct platform_device *child; @@ -27,7 +25,7 @@ index b65dbcef9731..d52f689ce8ca 100644 memset(&pdevinfo, 0, sizeof(pdevinfo)); -@@ -1772,10 +1773,20 @@ vchiq_register_child(struct platform_device *pdev, const char *name) +@@ -1791,10 +1792,20 @@ vchiq_register_child(struct platform_dev } /* @@ -51,6 +49,3 @@ index b65dbcef9731..d52f689ce8ca 100644 return child; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0200-ARM-bcm-Backport-BCM2711-support-from-upstream.patch b/root/target/linux/bcm27xx/patches-5.15/950-0191-ARM-bcm-Backport-BCM2711-support-from-upstream.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0200-ARM-bcm-Backport-BCM2711-support-from-upstream.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0191-ARM-bcm-Backport-BCM2711-support-from-upstream.patch index ec52a54c..9315f97a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0200-ARM-bcm-Backport-BCM2711-support-from-upstream.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0191-ARM-bcm-Backport-BCM2711-support-from-upstream.patch @@ -1,7 +1,7 @@ -From a951cbd47add6f9bd5bb9e849cbe7b46595cabcf Mon Sep 17 00:00:00 2001 +From 5ac7595da13f36b1314374ba978787ab739f9801 Mon Sep 17 00:00:00 2001 From: Stefan Wahren Date: Fri, 27 Dec 2019 11:40:56 +0100 -Subject: [PATCH 200/634] ARM: bcm: Backport BCM2711 support from upstream +Subject: [PATCH 191/828] ARM: bcm: Backport BCM2711 support from upstream Make the BCM2711 a different machine, but keep it in board_bcm2835. @@ -10,11 +10,9 @@ Signed-off-by: Stefan Wahren arch/arm/mach-bcm/board_bcm2835.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) -diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index e538e0f899a5..91a758c61f48 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c -@@ -109,17 +109,30 @@ static const char * const bcm2835_compat[] = { +@@ -109,17 +109,30 @@ static const char * const bcm2835_compat #ifdef CONFIG_ARCH_MULTI_V7 "brcm,bcm2836", "brcm,bcm2837", @@ -47,6 +45,3 @@ index e538e0f899a5..91a758c61f48 100644 + .dt_compat = bcm2711_compat, .smp = smp_ops(bcm2836_smp_ops), MACHINE_END --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0201-Initialise-rpi-firmware-before-clk-bcm2835.patch b/root/target/linux/bcm27xx/patches-5.15/950-0192-Initialise-rpi-firmware-before-clk-bcm2835.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0201-Initialise-rpi-firmware-before-clk-bcm2835.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0192-Initialise-rpi-firmware-before-clk-bcm2835.patch index 2527fcda..56e22b28 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0201-Initialise-rpi-firmware-before-clk-bcm2835.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0192-Initialise-rpi-firmware-before-clk-bcm2835.patch @@ -1,7 +1,7 @@ -From 175480d37bdf8f12136469735fb92904daf0b879 Mon Sep 17 00:00:00 2001 +From c66a405e5fb57a02137d890466f7e62920dea213 Mon Sep 17 00:00:00 2001 From: Luke Hinds <7058938+lukehinds@users.noreply.github.com> Date: Wed, 22 Jan 2020 16:03:00 +0000 -Subject: [PATCH 201/634] Initialise rpi-firmware before clk-bcm2835 +Subject: [PATCH 192/828] Initialise rpi-firmware before clk-bcm2835 The IMA (Integrity Measurement Architecture) looks for a TPM (Trusted Platform Module) having been registered when it initialises; otherwise @@ -23,11 +23,9 @@ Co-authored-by: Phil Elwell drivers/firmware/raspberrypi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 4f983b82eab1..961acade005f 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2423,7 +2423,7 @@ static int __init __bcm2835_clk_driver_init(void) +@@ -2423,7 +2423,7 @@ static int __init __bcm2835_clk_driver_i { return platform_driver_register(&bcm2835_clk_driver); } @@ -36,11 +34,9 @@ index 4f983b82eab1..961acade005f 100644 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index 2a7a0a9933d7..fa105074f05f 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -498,7 +498,7 @@ static int __init rpi_firmware_init(void) +@@ -498,7 +498,7 @@ out2: out1: return ret; } @@ -49,6 +45,3 @@ index 2a7a0a9933d7..fa105074f05f 100644 static void __init rpi_firmware_exit(void) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0202-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch b/root/target/linux/bcm27xx/patches-5.15/950-0193-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0202-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0193-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch index 3c3ac50a..a98e51d4 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0202-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0193-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch @@ -1,7 +1,7 @@ -From d473a06242f6253dd9b1537a93469fabd85b4c07 Mon Sep 17 00:00:00 2001 +From 74d3f5f26b0d2454bdbeda6bcf6ecf21e31f93c9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 3 Feb 2020 17:30:46 +0000 -Subject: [PATCH 202/634] staging: vchiq_arm: Give vchiq children DT nodes +Subject: [PATCH 193/828] staging: vchiq_arm: Give vchiq children DT nodes vchiq kernel clients are now instantiated as platform drivers rather than using DT, but the children of the vchiq interface may still @@ -14,11 +14,9 @@ Signed-off-by: Phil Elwell .../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 8 ++++++++ 1 file changed, 8 insertions(+) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index d52f689ce8ca..79009bd24354 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -1766,12 +1766,20 @@ vchiq_register_child(struct platform_device *pdev, const char *name) +@@ -1785,12 +1785,20 @@ vchiq_register_child(struct platform_dev pdevinfo.id = PLATFORM_DEVID_NONE; pdevinfo.dma_mask = DMA_BIT_MASK(32); @@ -39,6 +37,3 @@ index d52f689ce8ca..79009bd24354 100644 /* * We want the dma-ranges etc to be copied from a device with the * correct dma-ranges for the VPU. --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0203-pinctrl-bcm2835-Remove-gpiochip-on-error.patch b/root/target/linux/bcm27xx/patches-5.15/950-0194-pinctrl-bcm2835-Remove-gpiochip-on-error.patch similarity index 66% rename from root/target/linux/bcm27xx/patches-5.15/0203-pinctrl-bcm2835-Remove-gpiochip-on-error.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0194-pinctrl-bcm2835-Remove-gpiochip-on-error.patch index 18079834..af28c98f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0203-pinctrl-bcm2835-Remove-gpiochip-on-error.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0194-pinctrl-bcm2835-Remove-gpiochip-on-error.patch @@ -1,7 +1,7 @@ -From eeecd38020a2da0b84c51126bcec450284d46e83 Mon Sep 17 00:00:00 2001 +From ec1e2052164eb3f3215ce34a03944c3e5441c600 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Jan 2020 16:04:30 +0000 -Subject: [PATCH 203/634] pinctrl: bcm2835: Remove gpiochip on error +Subject: [PATCH 194/828] pinctrl: bcm2835: Remove gpiochip on error A failure in gpiochip_irqchip_add leads to a leak of a gpiochip. Fix the leak with the use of devm_gpiochip_add_data. @@ -12,11 +12,9 @@ Signed-off-by: Phil Elwell drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 7167927e9f26..1fb103eb34a2 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1303,7 +1303,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) +@@ -1321,7 +1321,7 @@ static int bcm2835_pinctrl_probe(struct girq->default_type = IRQ_TYPE_NONE; girq->handler = handle_level_irq; @@ -24,7 +22,4 @@ index 7167927e9f26..1fb103eb34a2 100644 + err = devm_gpiochip_add_data(dev, &pc->gpio_chip, pc); if (err) { dev_err(dev, "could not add GPIO chip\n"); - return err; --- -2.33.1 - + goto out_remove; diff --git a/root/target/linux/bcm27xx/patches-5.15/0205-drivers-char-vcio-Use-common-compat-header.patch b/root/target/linux/bcm27xx/patches-5.15/950-0195-drivers-char-vcio-Use-common-compat-header.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0205-drivers-char-vcio-Use-common-compat-header.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0195-drivers-char-vcio-Use-common-compat-header.patch index e19b687a..89081a59 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0205-drivers-char-vcio-Use-common-compat-header.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0195-drivers-char-vcio-Use-common-compat-header.patch @@ -1,7 +1,7 @@ -From a6d27048e25d448455ccbbdd5bd98cdd6e8d4375 Mon Sep 17 00:00:00 2001 +From 93ad49a5ad7df994bc65af7b600a619bfb59b505 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:40:19 +0000 -Subject: [PATCH 205/634] drivers: char: vcio: Use common compat header +Subject: [PATCH 195/828] drivers: char: vcio: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/char/broadcom/vcio.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/char/broadcom/vcio.c b/drivers/char/broadcom/vcio.c -index d2598663a2b5..a39155a94fb7 100644 --- a/drivers/char/broadcom/vcio.c +++ b/drivers/char/broadcom/vcio.c @@ -18,6 +18,7 @@ @@ -23,6 +21,3 @@ index d2598663a2b5..a39155a94fb7 100644 #include #define MBOX_CHAN_PROPERTY 8 --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0206-video-fbdev-bcm2708_fb-Use-common-compat-header.patch b/root/target/linux/bcm27xx/patches-5.15/950-0196-video-fbdev-bcm2708_fb-Use-common-compat-header.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0206-video-fbdev-bcm2708_fb-Use-common-compat-header.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0196-video-fbdev-bcm2708_fb-Use-common-compat-header.patch index 7ee09d12..9fe2e80e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0206-video-fbdev-bcm2708_fb-Use-common-compat-header.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0196-video-fbdev-bcm2708_fb-Use-common-compat-header.patch @@ -1,7 +1,7 @@ -From 9c1c3405794665429e2690162dd3fbf111807744 Mon Sep 17 00:00:00 2001 +From 4f60e15b2476c8e84d6b08674cddbf2fe3e253a2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 2 Mar 2020 14:42:23 +0000 -Subject: [PATCH 206/634] video: fbdev: bcm2708_fb: Use common compat header +Subject: [PATCH 196/828] video: fbdev: bcm2708_fb: Use common compat header The definition of compat_ptr is now common for most platforms, but requires the inclusion of . @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/video/fbdev/bcm2708_fb.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c -index 0e9ec3f593b8..17e9260655e4 100644 --- a/drivers/video/fbdev/bcm2708_fb.c +++ b/drivers/video/fbdev/bcm2708_fb.c @@ -38,6 +38,7 @@ @@ -23,6 +21,3 @@ index 0e9ec3f593b8..17e9260655e4 100644 //#define BCM2708_FB_DEBUG #define MODULE_NAME "bcm2708_fb" --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0207-of-overlay-Correct-symbol-path-fixups.patch b/root/target/linux/bcm27xx/patches-5.15/950-0197-of-overlay-Correct-symbol-path-fixups.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0207-of-overlay-Correct-symbol-path-fixups.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0197-of-overlay-Correct-symbol-path-fixups.patch index c49cdb6d..eb66de31 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0207-of-overlay-Correct-symbol-path-fixups.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0197-of-overlay-Correct-symbol-path-fixups.patch @@ -1,7 +1,7 @@ -From 412aa5c62539f08480673a36e5479e976a1f908a Mon Sep 17 00:00:00 2001 +From 18bf7068dc6df6caa77f44d457754ca85530594a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 6 Feb 2020 12:23:15 +0000 -Subject: [PATCH 207/634] of: overlay: Correct symbol path fixups +Subject: [PATCH 197/828] of: overlay: Correct symbol path fixups When symbols from overlays are added to the live tree their paths must be rebased. The translated symbol is normally the result of joining @@ -24,11 +24,9 @@ Signed-off-by: Phil Elwell drivers/of/overlay.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c -index d80160cf34bb..2100d277ff98 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c -@@ -245,6 +245,8 @@ static struct property *dup_and_fixup_symbol_prop( +@@ -245,6 +245,8 @@ static struct property *dup_and_fixup_sy if (!target_path) return NULL; target_path_len = strlen(target_path); @@ -37,6 +35,3 @@ index d80160cf34bb..2100d277ff98 100644 new_prop = kzalloc(sizeof(*new_prop), GFP_KERNEL); if (!new_prop) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0208-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch b/root/target/linux/bcm27xx/patches-5.15/950-0198-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch similarity index 90% rename from root/target/linux/bcm27xx/patches-5.15/0208-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0198-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch index b8b4cca5..86dadd21 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0208-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0198-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch @@ -1,7 +1,7 @@ -From a3ce8bd7d947ada4ff3ee15a8bbaf159cb636f76 Mon Sep 17 00:00:00 2001 +From 15920b66c02ce0a8419d8315503cfeaaa9d1eef6 Mon Sep 17 00:00:00 2001 From: Jim Quinlan Date: Mon, 15 Jan 2018 18:28:39 -0500 -Subject: [PATCH 208/634] dt-bindings: pci: Add DT docs for Brcmstb PCIe device +Subject: [PATCH 198/828] dt-bindings: pci: Add DT docs for Brcmstb PCIe device The DT bindings description of the Brcmstb PCIe device is described. This node can be used by almost all Broadcom settop box chips, using @@ -13,9 +13,6 @@ Signed-off-by: Jim Quinlan 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/brcmstb-pcie.txt -diff --git a/Documentation/devicetree/bindings/pci/brcmstb-pcie.txt b/Documentation/devicetree/bindings/pci/brcmstb-pcie.txt -new file mode 100644 -index 000000000000..a1a9ad5e70ca --- /dev/null +++ b/Documentation/devicetree/bindings/pci/brcmstb-pcie.txt @@ -0,0 +1,59 @@ @@ -78,6 +75,3 @@ index 000000000000..a1a9ad5e70ca + max-link-speed = <1>; + linux,pci-domain = <0>; + }; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0209-bcmgenet-Disable-skip_umac_reset-by-default.patch b/root/target/linux/bcm27xx/patches-5.15/950-0199-bcmgenet-Disable-skip_umac_reset-by-default.patch similarity index 71% rename from root/target/linux/bcm27xx/patches-5.15/0209-bcmgenet-Disable-skip_umac_reset-by-default.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0199-bcmgenet-Disable-skip_umac_reset-by-default.patch index 490b3a4e..95d4e91f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0209-bcmgenet-Disable-skip_umac_reset-by-default.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0199-bcmgenet-Disable-skip_umac_reset-by-default.patch @@ -1,7 +1,7 @@ -From 40cd57420fcd0ad5514114d036dbd913c1da4191 Mon Sep 17 00:00:00 2001 +From 5630861657975b9ebed3d0437b60689d82c5a5c9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 Apr 2020 11:22:44 +0100 -Subject: [PATCH 209/634] bcmgenet: Disable skip_umac_reset by default +Subject: [PATCH 199/828] bcmgenet: Disable skip_umac_reset by default Possible fixed upstream by 'net: bcmgenet: keep MAC in reset until PHY is up' @@ -10,8 +10,6 @@ Signed-off-by: popcornmix drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -index 6bce096a364a..def2b05974c5 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -67,7 +67,7 @@ @@ -23,6 +21,3 @@ index 6bce096a364a..def2b05974c5 100644 module_param(skip_umac_reset, bool, 0444); MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0210-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch b/root/target/linux/bcm27xx/patches-5.15/950-0200-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0210-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0200-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch index a6ac6664..e81a37fc 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0210-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0200-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch @@ -1,7 +1,7 @@ -From 903b10087640d2143b510641d49cdc1cb4b6ab11 Mon Sep 17 00:00:00 2001 +From 065d8e012c678f861455360caa35cea4f51c62b4 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:22:06 +0000 -Subject: [PATCH 210/634] drm/fourcc: Add packed 10bit YUV 4:2:0 format +Subject: [PATCH 200/828] drm/fourcc: Add packed 10bit YUV 4:2:0 format Adds a format that is 3 10bit YUV 4:2:0 samples packed into a 32bit work (with 2 spare bits). @@ -14,11 +14,9 @@ Signed-off-by: Dave Stevenson include/uapi/drm/drm_fourcc.h | 11 +++++++++++ 2 files changed, 14 insertions(+) -diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c -index eda832f9200d..8537a41811e0 100644 --- a/drivers/gpu/drm/drm_fourcc.c +++ b/drivers/gpu/drm/drm_fourcc.c -@@ -266,6 +266,9 @@ const struct drm_format_info *__drm_format_info(u32 format) +@@ -266,6 +266,9 @@ const struct drm_format_info *__drm_form .num_planes = 3, .char_per_block = { 2, 2, 2 }, .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0, .vsub = 0, .is_yuv = true }, @@ -28,25 +26,23 @@ index eda832f9200d..8537a41811e0 100644 }; unsigned int i; -diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h -index 9f4bb4a6f358..dcf0c65f1341 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h -@@ -324,6 +324,13 @@ extern "C" { - */ +@@ -325,6 +325,13 @@ extern "C" { #define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1') -+/* + /* + * 2 plane YCbCr MSB aligned, 3 pixels packed into 4 bytes. + * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian + * index 1 = Cr:Cb plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 [2:10:10:10:2:10:10:10] little endian + */ +#define DRM_FORMAT_P030 fourcc_code('P', '0', '3', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel packed */ + - /* ++/* * 3 plane YCbCr * index 0: Y plane, [7:0] Y -@@ -842,6 +849,10 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier) + * index 1: Cb plane, [7:0] Cb +@@ -842,6 +849,10 @@ drm_fourcc_canonicalize_nvidia_format_mo * and UV. Some SAND-using hardware stores UV in a separate tiled * image from Y to reduce the column height, which is not supported * with these modifiers. @@ -57,6 +53,3 @@ index 9f4bb4a6f358..dcf0c65f1341 100644 */ #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0211-media-uapi-hevc-Add-scaling-matrix-control.patch b/root/target/linux/bcm27xx/patches-5.15/950-0201-media-uapi-hevc-Add-scaling-matrix-control.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0211-media-uapi-hevc-Add-scaling-matrix-control.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0201-media-uapi-hevc-Add-scaling-matrix-control.patch index 3a92a314..1b69803f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0211-media-uapi-hevc-Add-scaling-matrix-control.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0201-media-uapi-hevc-Add-scaling-matrix-control.patch @@ -1,7 +1,7 @@ -From 434f7185b28e6a0f882829c452c7ba5344d3aa2b Mon Sep 17 00:00:00 2001 +From 6676de325bd86d5bb096219f0ea24386fb5c4b70 Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Fri, 13 Dec 2019 17:04:25 +0100 -Subject: [PATCH 211/634] media: uapi: hevc: Add scaling matrix control +Subject: [PATCH 201/828] media: uapi: hevc: Add scaling matrix control Taken from https://patchwork.linuxtv.org/patch/60728/ Changes (mainly documentation) have been requested. @@ -16,11 +16,9 @@ Signed-off-by: Jernej Skrabec include/media/hevc-ctrls.h | 11 +++++ 4 files changed, 65 insertions(+), 2 deletions(-) -diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst -index 976d34445a24..dca893cb9f18 100644 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst -@@ -3181,6 +3181,47 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - +@@ -3181,6 +3181,47 @@ enum v4l2_mpeg_video_hevc_size_of_length \normalsize @@ -68,8 +66,6 @@ index 976d34445a24..dca893cb9f18 100644 ``V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (enum)`` Specifies the decoding mode to use. Currently exposes slice-based and frame-based decoding but new modes might be added later on. -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst b/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst -index 0ede39907ee2..e7d69b737abf 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst @@ -195,8 +195,9 @@ Compressed Formats @@ -84,8 +80,6 @@ index 0ede39907ee2..e7d69b737abf 100644 See the :ref:`associated Codec Control IDs `. Buffers associated with this pixel format must contain the appropriate number of macroblocks to decode a full corresponding frame. -diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c -index 49d9085d77e3..b750ce3ae723 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls.c +++ b/drivers/media/v4l2-core/v4l2-ctrls.c @@ -1042,6 +1042,7 @@ const char *v4l2_ctrl_get_name(u32 id) @@ -96,7 +90,7 @@ index 49d9085d77e3..b750ce3ae723 100644 case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE: return "HEVC Decode Mode"; case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE: return "HEVC Start Code"; -@@ -1527,6 +1528,9 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, +@@ -1527,6 +1528,9 @@ void v4l2_ctrl_fill(u32 id, const char * case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS: *type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS; break; @@ -106,7 +100,7 @@ index 49d9085d77e3..b750ce3ae723 100644 case V4L2_CID_UNIT_CELL_SIZE: *type = V4L2_CTRL_TYPE_AREA; *flags |= V4L2_CTRL_FLAG_READ_ONLY; -@@ -2238,6 +2242,9 @@ static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx, +@@ -2238,6 +2242,9 @@ static int std_validate_compound(const s break; @@ -116,7 +110,7 @@ index 49d9085d77e3..b750ce3ae723 100644 case V4L2_CTRL_TYPE_AREA: area = p; if (!area->width || !area->height) -@@ -2954,6 +2961,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, +@@ -2954,6 +2961,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(s case V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY: elem_size = sizeof(struct v4l2_ctrl_hdr10_mastering_display); break; @@ -126,8 +120,6 @@ index 49d9085d77e3..b750ce3ae723 100644 case V4L2_CTRL_TYPE_AREA: elem_size = sizeof(struct v4l2_area); break; -diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h -index 781371bff2ad..1c6567b13b7e 100644 --- a/include/media/hevc-ctrls.h +++ b/include/media/hevc-ctrls.h @@ -19,6 +19,7 @@ @@ -160,6 +152,3 @@ index 781371bff2ad..1c6567b13b7e 100644 +}; + #endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0212-media-uapi-hevc-Add-segment-address-field.patch b/root/target/linux/bcm27xx/patches-5.15/950-0202-media-uapi-hevc-Add-segment-address-field.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0212-media-uapi-hevc-Add-segment-address-field.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0202-media-uapi-hevc-Add-segment-address-field.patch index 99ee200d..a0288d95 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0212-media-uapi-hevc-Add-segment-address-field.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0202-media-uapi-hevc-Add-segment-address-field.patch @@ -1,7 +1,7 @@ -From a282fdf22ec16930283a198e4aa7a7b142839048 Mon Sep 17 00:00:00 2001 +From 0280fee1ca9b68e8485c51c4a3d9a0474691a194 Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Fri, 13 Dec 2019 17:04:27 +0100 -Subject: [PATCH 212/634] media: uapi: hevc: Add segment address field +Subject: [PATCH 202/828] media: uapi: hevc: Add segment address field From https://patchwork.linuxtv.org/patch/60725/ Changes requested, but mainly docs. @@ -17,11 +17,9 @@ Signed-off-by: Jernej Skrabec include/media/hevc-ctrls.h | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) -diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst -index dca893cb9f18..b699257ebb96 100644 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst -@@ -2961,6 +2961,9 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - +@@ -2961,6 +2961,9 @@ enum v4l2_mpeg_video_hevc_size_of_length * - __u32 - ``data_bit_offset`` - Offset (in bits) to the video data in the current slice data. @@ -31,8 +29,6 @@ index dca893cb9f18..b699257ebb96 100644 * - __u8 - ``nal_unit_type`` - -diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h -index 1c6567b13b7e..7cbbbf055f47 100644 --- a/include/media/hevc-ctrls.h +++ b/include/media/hevc-ctrls.h @@ -173,6 +173,10 @@ struct v4l2_ctrl_hevc_slice_params { @@ -61,6 +57,3 @@ index 1c6567b13b7e..7cbbbf055f47 100644 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */ struct v4l2_hevc_pred_weight_table pred_weight_table; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0213-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch b/root/target/linux/bcm27xx/patches-5.15/950-0203-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0213-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0203-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch index f1422165..f68a67bb 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0213-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0203-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch @@ -1,7 +1,7 @@ -From 7c408dcfe63ac501801083111d2ad3218d14482b Mon Sep 17 00:00:00 2001 +From f362b5320d259bde494733280656f9596b96fb7a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 24 Jan 2020 14:28:21 +0000 -Subject: [PATCH 213/634] media: videodev2.h: Add a format for column YUV4:2:0 +Subject: [PATCH 203/828] media: videodev2.h: Add a format for column YUV4:2:0 modes Some of the Broadcom codec blocks use a column based YUV4:2:0 image @@ -18,9 +18,6 @@ Signed-off-by: Dave Stevenson 5 files changed, 251 insertions(+) create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-nv12-col128.rst -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-nv12-col128.rst b/Documentation/userspace-api/media/v4l/pixfmt-nv12-col128.rst -new file mode 100644 -index 000000000000..196ca33a5dff --- /dev/null +++ b/Documentation/userspace-api/media/v4l/pixfmt-nv12-col128.rst @@ -0,0 +1,215 @@ @@ -239,8 +236,6 @@ index 000000000000..196ca33a5dff + + + -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst -index 090c091affd2..34739b5b6338 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst @@ -470,6 +470,17 @@ number of lines as the luma plane. @@ -261,8 +256,6 @@ index 090c091affd2..34739b5b6338 100644 Fully Planar YUV Formats ======================== -diff --git a/Documentation/userspace-api/media/v4l/yuv-formats.rst b/Documentation/userspace-api/media/v4l/yuv-formats.rst -index 24b34cdfa6fe..458e07782c8d 100644 --- a/Documentation/userspace-api/media/v4l/yuv-formats.rst +++ b/Documentation/userspace-api/media/v4l/yuv-formats.rst @@ -270,4 +270,23 @@ image. @@ -289,11 +282,9 @@ index 24b34cdfa6fe..458e07782c8d 100644 + pixfmt-nv16m + pixfmt-nv24 pixfmt-m420 -diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c -index f4f67b385d00..96075d624c32 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1306,6 +1306,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) +@@ -1308,6 +1308,8 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_NV61M: descr = "Y/CrCb 4:2:2 (N-C)"; break; case V4L2_PIX_FMT_NV12MT: descr = "Y/CbCr 4:2:0 (64x32 MB, N-C)"; break; case V4L2_PIX_FMT_NV12MT_16X16: descr = "Y/CbCr 4:2:0 (16x16 MB, N-C)"; break; @@ -302,8 +293,6 @@ index f4f67b385d00..96075d624c32 100644 case V4L2_PIX_FMT_YUV420M: descr = "Planar YUV 4:2:0 (N-C)"; break; case V4L2_PIX_FMT_YVU420M: descr = "Planar YVU 4:2:0 (N-C)"; break; case V4L2_PIX_FMT_YUV422M: descr = "Planar YUV 4:2:2 (N-C)"; break; -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index fba99eb8eeee..0cfd4089653f 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -742,6 +742,10 @@ struct v4l2_pix_format { @@ -317,6 +306,3 @@ index fba99eb8eeee..0cfd4089653f 100644 /* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0214-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch b/root/target/linux/bcm27xx/patches-5.15/950-0204-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch similarity index 85% rename from root/target/linux/bcm27xx/patches-5.15/0214-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0204-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch index 7a263369..aa11ad03 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0214-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0204-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch @@ -1,7 +1,7 @@ -From 0a15835e4a916e99b8d8fd13c872c2b5b9ae661c Mon Sep 17 00:00:00 2001 +From a02399d4c243158528f491c1da9464beee55e578 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 17 Mar 2020 10:53:16 +0000 -Subject: [PATCH 214/634] media: dt-bindings: media: Add binding for the +Subject: [PATCH 204/828] media: dt-bindings: media: Add binding for the Raspberry PI HEVC decoder Adds a binding for the HEVC decoder found on the BCM2711 / Raspberry Pi 4. @@ -13,9 +13,6 @@ Signed-off-by: Dave Stevenson 2 files changed, 79 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/rpivid_hevc.yaml -diff --git a/Documentation/devicetree/bindings/media/rpivid_hevc.yaml b/Documentation/devicetree/bindings/media/rpivid_hevc.yaml -new file mode 100644 -index 000000000000..ce6b81a10303 --- /dev/null +++ b/Documentation/devicetree/bindings/media/rpivid_hevc.yaml @@ -0,0 +1,72 @@ @@ -91,11 +88,9 @@ index 000000000000..ce6b81a10303 + }; + +... -diff --git a/MAINTAINERS b/MAINTAINERS -index d2cdcab16854..512a5a5d7b71 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3551,6 +3551,13 @@ N: bcm113* +@@ -3552,6 +3552,13 @@ N: bcm113* N: bcm216* N: kona @@ -109,6 +104,3 @@ index d2cdcab16854..512a5a5d7b71 100644 BROADCOM BCM2835 CAMERA DRIVER M: Dave Stevenson L: linux-media@vger.kernel.org --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0215-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch b/root/target/linux/bcm27xx/patches-5.15/950-0205-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0215-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0205-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch index a14d2e39..188528fe 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0215-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0205-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch @@ -1,7 +1,7 @@ -From cb9e66c34599daf366b57b40e765c81eeae235d5 Mon Sep 17 00:00:00 2001 +From f3301f13a4d1846ae91c13fe0799d5eae59b3ed7 Mon Sep 17 00:00:00 2001 From: John Cox Date: Thu, 5 Mar 2020 18:30:41 +0000 -Subject: [PATCH 215/634] staging: media: Add Raspberry Pi V4L2 H265 decoder +Subject: [PATCH 205/828] staging: media: Add Raspberry Pi V4L2 H265 decoder This driver is for the HEVC/H265 decoder block on the Raspberry Pi 4, and conforms to the V4L2 stateless decoder API. @@ -34,11 +34,9 @@ Signed-off-by: John Cox create mode 100644 drivers/staging/media/rpivid/rpivid_video.c create mode 100644 drivers/staging/media/rpivid/rpivid_video.h -diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig -index e3aaae920847..d2128cd87f92 100644 --- a/drivers/staging/media/Kconfig +++ b/drivers/staging/media/Kconfig -@@ -32,6 +32,8 @@ source "drivers/staging/media/omap4iss/Kconfig" +@@ -32,6 +32,8 @@ source "drivers/staging/media/omap4iss/K source "drivers/staging/media/rkvdec/Kconfig" @@ -47,8 +45,6 @@ index e3aaae920847..d2128cd87f92 100644 source "drivers/staging/media/sunxi/Kconfig" source "drivers/staging/media/tegra-vde/Kconfig" -diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile -index 5b5afc5b03a0..4d61af6ec42a 100644 --- a/drivers/staging/media/Makefile +++ b/drivers/staging/media/Makefile @@ -4,6 +4,7 @@ obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx/ @@ -59,9 +55,6 @@ index 5b5afc5b03a0..4d61af6ec42a 100644 obj-$(CONFIG_VIDEO_SUNXI) += sunxi/ obj-$(CONFIG_VIDEO_TEGRA) += tegra-video/ obj-$(CONFIG_TEGRA_VDE) += tegra-vde/ -diff --git a/drivers/staging/media/rpivid/Kconfig b/drivers/staging/media/rpivid/Kconfig -new file mode 100644 -index 000000000000..58b470c80db1 --- /dev/null +++ b/drivers/staging/media/rpivid/Kconfig @@ -0,0 +1,16 @@ @@ -81,9 +74,6 @@ index 000000000000..58b470c80db1 + To compile this driver as a module, choose M here: the module + will be called rpivid-hevc. + -diff --git a/drivers/staging/media/rpivid/Makefile b/drivers/staging/media/rpivid/Makefile -new file mode 100644 -index 000000000000..990257052b07 --- /dev/null +++ b/drivers/staging/media/rpivid/Makefile @@ -0,0 +1,5 @@ @@ -92,9 +82,6 @@ index 000000000000..990257052b07 + +rpivid-hevc-y = rpivid.o rpivid_video.o rpivid_dec.o \ + rpivid_hw.o rpivid_h265.o -diff --git a/drivers/staging/media/rpivid/rpivid.c b/drivers/staging/media/rpivid/rpivid.c -new file mode 100644 -index 000000000000..4e28c9d91192 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid.c @@ -0,0 +1,432 @@ @@ -530,9 +517,6 @@ index 000000000000..4e28c9d91192 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("John Cox "); +MODULE_DESCRIPTION("Raspberry Pi HEVC V4L2 driver"); -diff --git a/drivers/staging/media/rpivid/rpivid.h b/drivers/staging/media/rpivid/rpivid.h -new file mode 100644 -index 000000000000..faafe936b878 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid.h @@ -0,0 +1,181 @@ @@ -717,9 +701,6 @@ index 000000000000..faafe936b878 +void *rpivid_find_control_data(struct rpivid_ctx *ctx, u32 id); + +#endif -diff --git a/drivers/staging/media/rpivid/rpivid_dec.c b/drivers/staging/media/rpivid/rpivid_dec.c -new file mode 100644 -index 000000000000..d81aa46de017 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_dec.c @@ -0,0 +1,79 @@ @@ -802,9 +783,6 @@ index 000000000000..d81aa46de017 + + dev->dec_ops->trigger(ctx); +} -diff --git a/drivers/staging/media/rpivid/rpivid_dec.h b/drivers/staging/media/rpivid/rpivid_dec.h -new file mode 100644 -index 000000000000..8f15bb6406ab --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_dec.h @@ -0,0 +1,19 @@ @@ -827,9 +805,6 @@ index 000000000000..8f15bb6406ab +void rpivid_device_run(void *priv); + +#endif -diff --git a/drivers/staging/media/rpivid/rpivid_h265.c b/drivers/staging/media/rpivid/rpivid_h265.c -new file mode 100644 -index 000000000000..47d4de42c584 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_h265.c @@ -0,0 +1,2275 @@ @@ -3108,9 +3083,6 @@ index 000000000000..47d4de42c584 + .stop = rpivid_h265_stop, + .trigger = rpivid_h265_trigger, +}; -diff --git a/drivers/staging/media/rpivid/rpivid_hw.c b/drivers/staging/media/rpivid/rpivid_hw.c -new file mode 100644 -index 000000000000..5f86bbed8c1c --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_hw.c @@ -0,0 +1,321 @@ @@ -3435,9 +3407,6 @@ index 000000000000..5f86bbed8c1c + ictl_uninit(&dev->ic_active2); +} + -diff --git a/drivers/staging/media/rpivid/rpivid_hw.h b/drivers/staging/media/rpivid/rpivid_hw.h -new file mode 100644 -index 000000000000..cf4cc8be8a55 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_hw.h @@ -0,0 +1,300 @@ @@ -3741,9 +3710,6 @@ index 000000000000..cf4cc8be8a55 +void rpivid_hw_remove(struct rpivid_dev *dev); + +#endif -diff --git a/drivers/staging/media/rpivid/rpivid_video.c b/drivers/staging/media/rpivid/rpivid_video.c -new file mode 100644 -index 000000000000..3b9e51ca05b3 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_video.c @@ -0,0 +1,593 @@ @@ -4340,9 +4306,6 @@ index 000000000000..3b9e51ca05b3 + + return vb2_queue_init(dst_vq); +} -diff --git a/drivers/staging/media/rpivid/rpivid_video.h b/drivers/staging/media/rpivid/rpivid_video.h -new file mode 100644 -index 000000000000..9c4f3fb2f9f6 --- /dev/null +++ b/drivers/staging/media/rpivid/rpivid_video.h @@ -0,0 +1,30 @@ @@ -4376,6 +4339,3 @@ index 000000000000..9c4f3fb2f9f6 +int rpivid_prepare_dst_format(struct v4l2_pix_format *pix_fmt); + +#endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0216-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch b/root/target/linux/bcm27xx/patches-5.15/950-0206-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0216-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0206-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch index 7bc29e33..6a22b967 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0216-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0206-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch @@ -1,7 +1,7 @@ -From a96f55453a199923d5b6449a0e3db3627b580783 Mon Sep 17 00:00:00 2001 +From ced8a050b0567f1e41e57d9c4f5dacc9cc2febb9 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 13 Feb 2020 17:51:09 +0100 -Subject: [PATCH 216/634] dt-bindings: clock: Add a binding for the RPi +Subject: [PATCH 206/828] dt-bindings: clock: Add a binding for the RPi Firmware clocks The firmare running on the RPi VideoCore can be used to discover and @@ -19,9 +19,6 @@ Signed-off-by: Maxime Ripard 1 file changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/raspberrypi,firmware-clocks.yaml -diff --git a/Documentation/devicetree/bindings/clock/raspberrypi,firmware-clocks.yaml b/Documentation/devicetree/bindings/clock/raspberrypi,firmware-clocks.yaml -new file mode 100644 -index 000000000000..d37bc311321d --- /dev/null +++ b/Documentation/devicetree/bindings/clock/raspberrypi,firmware-clocks.yaml @@ -0,0 +1,39 @@ @@ -64,6 +61,3 @@ index 000000000000..d37bc311321d + }; + +... --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0217-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch b/root/target/linux/bcm27xx/patches-5.15/950-0207-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch similarity index 92% rename from root/target/linux/bcm27xx/patches-5.15/0217-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0207-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch index 25bf09df..9dcdc084 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0217-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0207-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch @@ -1,7 +1,7 @@ -From e3aed553a3e47de4de456e63b36f134290f4b6b9 Mon Sep 17 00:00:00 2001 +From 943ea1b8b3601d9abfc5b021f6ae00f08fb64cf3 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Thu, 13 Feb 2020 16:45:24 +0100 -Subject: [PATCH 217/634] dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI +Subject: [PATCH 207/828] dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI controllers bindings The HDMI controllers found in the BCM2711 SoC need some adjustments to the @@ -15,8 +15,6 @@ Signed-off-by: Maxime Ripard .../bindings/display/brcm,bcm2835-hdmi.yaml | 118 ++++++++++++++++-- 1 file changed, 109 insertions(+), 9 deletions(-) -diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml -index 031e35e76db2..e7ef3a36327b 100644 --- a/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml +++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml @@ -11,24 +11,58 @@ maintainers: @@ -174,6 +172,3 @@ index 031e35e76db2..e7ef3a36327b 100644 + }; + ... --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0218-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch b/root/target/linux/bcm27xx/patches-5.15/950-0208-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0218-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0208-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch index 54522eed..2aed89d6 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0218-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0208-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch @@ -1,7 +1,7 @@ -From a4002dabca01e1813c66e94eb4a88572f1fa8ec5 Mon Sep 17 00:00:00 2001 +From d478ecf17ca2f89caad188a890c9a18f3886a033 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 27 Jan 2020 10:22:44 +0000 -Subject: [PATCH 218/634] drm: Checking of the pitch is only valid for linear +Subject: [PATCH 208/828] drm: Checking of the pitch is only valid for linear formats framebuffer_check was computing a minimum pitch value and ensuring @@ -13,25 +13,22 @@ Signed-off-by: Dave Stevenson drivers/gpu/drm/drm_framebuffer.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) -diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c -index 07f5abc875e9..8683b59bcbcb 100644 --- a/drivers/gpu/drm/drm_framebuffer.c +++ b/drivers/gpu/drm/drm_framebuffer.c -@@ -214,12 +214,16 @@ static int framebuffer_check(struct drm_device *dev, +@@ -214,12 +214,16 @@ static int framebuffer_check(struct drm_ if (min_pitch > UINT_MAX) return -ERANGE; - if ((uint64_t) height * r->pitches[i] + r->offsets[i] > UINT_MAX) - return -ERANGE; -- -- if (block_size && r->pitches[i] < min_pitch) { -- DRM_DEBUG_KMS("bad pitch %u for plane %d\n", r->pitches[i], i); -- return -EINVAL; + if (r->modifier[i] == DRM_FORMAT_MOD_LINEAR) { + if ((uint64_t)height * r->pitches[i] + r->offsets[i] > + UINT_MAX) + return -ERANGE; -+ + +- if (block_size && r->pitches[i] < min_pitch) { +- DRM_DEBUG_KMS("bad pitch %u for plane %d\n", r->pitches[i], i); +- return -EINVAL; + if (block_size && r->pitches[i] < min_pitch) { + DRM_DEBUG_KMS("bad pitch %u for plane %d\n", + r->pitches[i], i); @@ -40,6 +37,3 @@ index 07f5abc875e9..8683b59bcbcb 100644 } if (r->modifier[i] && !(r->flags & DRM_MODE_FB_MODIFIERS)) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0219-driver-char-rpivid-Remove-legacy-name-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0209-driver-char-rpivid-Remove-legacy-name-support.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0219-driver-char-rpivid-Remove-legacy-name-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0209-driver-char-rpivid-Remove-legacy-name-support.patch index 780ebb43..d373e368 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0219-driver-char-rpivid-Remove-legacy-name-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0209-driver-char-rpivid-Remove-legacy-name-support.patch @@ -1,18 +1,16 @@ -From c9dd7af7f66e6c5a4f999e79d53bf8d8d8dcf419 Mon Sep 17 00:00:00 2001 +From 9ee99d47ef581c1c41c7636870f2a06b6a1146ea Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 20 Apr 2020 22:18:52 +0100 -Subject: [PATCH 219/634] driver: char: rpivid: Remove legacy name support +Subject: [PATCH 209/828] driver: char: rpivid: Remove legacy name support Signed-off-by: Phil Elwell --- drivers/char/broadcom/rpivid-mem.c | 22 ---------------------- 1 file changed, 22 deletions(-) -diff --git a/drivers/char/broadcom/rpivid-mem.c b/drivers/char/broadcom/rpivid-mem.c -index fbf3d4f3fe0c..5f4c91924ec1 100644 --- a/drivers/char/broadcom/rpivid-mem.c +++ b/drivers/char/broadcom/rpivid-mem.c -@@ -193,32 +193,11 @@ static int rpivid_mem_probe(struct platform_device *pdev) +@@ -193,32 +193,11 @@ static int rpivid_mem_probe(struct platf goto failed_device_create; } @@ -45,7 +43,7 @@ index fbf3d4f3fe0c..5f4c91924ec1 100644 failed_device_create: class_destroy(priv->class); failed_class_create: -@@ -238,7 +217,6 @@ static int rpivid_mem_remove(struct platform_device *pdev) +@@ -238,7 +217,6 @@ static int rpivid_mem_remove(struct plat struct device *dev = &pdev->dev; struct rpivid_mem_priv *priv = platform_get_drvdata(pdev); @@ -53,6 +51,3 @@ index fbf3d4f3fe0c..5f4c91924ec1 100644 device_destroy(priv->class, priv->devid); class_destroy(priv->class); cdev_del(&priv->rpivid_mem_cdev); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0220-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch b/root/target/linux/bcm27xx/patches-5.15/950-0210-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0220-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0210-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch index 2eb13dcd..33d639b1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0220-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0210-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch @@ -1,7 +1,7 @@ -From a2dc8b146ee5d8f3285f5b6dc13c754bc10417de Mon Sep 17 00:00:00 2001 +From 656c95b9b67ca4eada929d0db5c75b591cb0a52f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Apr 2020 10:46:19 +0100 -Subject: [PATCH 220/634] spi: Force CS_HIGH if GPIO descriptors are used +Subject: [PATCH 210/828] spi: Force CS_HIGH if GPIO descriptors are used Commit f3186dd87669 ("spi: Optionally use GPIO descriptors for CS GPIOs") amended of_spi_parse_dt() to always set SPI_CS_HIGH for SPI slaves whose @@ -30,11 +30,9 @@ Signed-off-by: Phil Elwell drivers/spi/spi.c | 9 +++++++++ 1 file changed, 9 insertions(+) -diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c -index 2a2f41b6df68..43c3f75b1740 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c -@@ -3466,6 +3466,7 @@ static int __spi_validate_bits_per_word(struct spi_controller *ctlr, +@@ -3469,6 +3469,7 @@ static int __spi_validate_bits_per_word( */ int spi_setup(struct spi_device *spi) { @@ -42,7 +40,7 @@ index 2a2f41b6df68..43c3f75b1740 100644 unsigned bad_bits, ugly_bits; int status; -@@ -3487,6 +3488,14 @@ int spi_setup(struct spi_device *spi) +@@ -3490,6 +3491,14 @@ int spi_setup(struct spi_device *spi) (SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL | SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL))) return -EINVAL; @@ -57,6 +55,3 @@ index 2a2f41b6df68..43c3f75b1740 100644 /* help drivers fail *cleanly* when they need options * that aren't supported with their current controller * SPI_CS_WORD has a fallback software implementation, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0221-driver-char-rpivid-Don-t-map-more-than-wanted.patch b/root/target/linux/bcm27xx/patches-5.15/950-0211-driver-char-rpivid-Don-t-map-more-than-wanted.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0221-driver-char-rpivid-Don-t-map-more-than-wanted.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0211-driver-char-rpivid-Don-t-map-more-than-wanted.patch index 4a8b3b9e..39f933a3 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0221-driver-char-rpivid-Don-t-map-more-than-wanted.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0211-driver-char-rpivid-Don-t-map-more-than-wanted.patch @@ -1,7 +1,7 @@ -From 401da445edee9fa762de9aeff10a420323b730bb Mon Sep 17 00:00:00 2001 +From ca4c188997fe54222810c97fe035e103b8c9fcbf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 21 Apr 2020 11:30:23 +0100 -Subject: [PATCH 221/634] driver: char: rpivid: Don't map more than wanted +Subject: [PATCH 211/828] driver: char: rpivid: Don't map more than wanted Limit mappings to the permitted range, but don't map more than asked for otherwise we walk off the end of the allocated VMA. @@ -11,11 +11,9 @@ Signed-off-by: Phil Elwell drivers/char/broadcom/rpivid-mem.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -diff --git a/drivers/char/broadcom/rpivid-mem.c b/drivers/char/broadcom/rpivid-mem.c -index 5f4c91924ec1..9f38083f4cb6 100644 --- a/drivers/char/broadcom/rpivid-mem.c +++ b/drivers/char/broadcom/rpivid-mem.c -@@ -100,6 +100,7 @@ static int rpivid_mem_mmap(struct file *file, struct vm_area_struct *vma) +@@ -100,6 +100,7 @@ static int rpivid_mem_mmap(struct file * { struct rpivid_mem_priv *priv; unsigned long pages; @@ -23,7 +21,7 @@ index 5f4c91924ec1..9f38083f4cb6 100644 priv = file->private_data; pages = priv->regs_phys >> PAGE_SHIFT; -@@ -107,14 +108,13 @@ static int rpivid_mem_mmap(struct file *file, struct vm_area_struct *vma) +@@ -107,14 +108,13 @@ static int rpivid_mem_mmap(struct file * * The address decode is far larger than the actual number of registers. * Just map the whole lot in. */ @@ -42,7 +40,7 @@ index 5f4c91924ec1..9f38083f4cb6 100644 return -EAGAIN; } return 0; -@@ -156,7 +156,7 @@ static int rpivid_mem_probe(struct platform_device *pdev) +@@ -156,7 +156,7 @@ static int rpivid_mem_probe(struct platf ioresource = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (ioresource) { priv->regs_phys = ioresource->start; @@ -51,6 +49,3 @@ index 5f4c91924ec1..9f38083f4cb6 100644 } else { dev_err(priv->dev, "failed to get IO resource"); err = -ENOENT; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0222-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch b/root/target/linux/bcm27xx/patches-5.15/950-0212-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0222-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0212-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch index 91ab1821..bd591581 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0222-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0212-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch @@ -1,7 +1,7 @@ -From 0f9509c39e84912a073ab38146d4b8e66ff4a74e Mon Sep 17 00:00:00 2001 +From f477512e880232d3ef656be2fe3c0f6cd785d0fa Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:39:49 +0100 -Subject: [PATCH 222/634] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 212/828] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add driver for the Unicam camera receiver block on @@ -26,11 +26,9 @@ Signed-off-by: Naushir Patuck create mode 100644 drivers/media/platform/bcm2835/bcm2835-unicam.c create mode 100644 drivers/media/platform/bcm2835/vc4-regs-unicam.h -diff --git a/MAINTAINERS b/MAINTAINERS -index 512a5a5d7b71..8688aaded569 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3559,7 +3559,7 @@ F: Documentation/devicetree/bindings/media/rpivid_hevc.jaml +@@ -3560,7 +3560,7 @@ F: Documentation/devicetree/bindings/med F: drivers/staging/media/rpivid BROADCOM BCM2835 CAMERA DRIVER @@ -39,11 +37,9 @@ index 512a5a5d7b71..8688aaded569 100644 L: linux-media@vger.kernel.org S: Maintained F: drivers/media/platform/bcm2835/ -diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig -index 80321e03809a..9263d3d04774 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig -@@ -170,6 +170,7 @@ source "drivers/media/platform/am437x/Kconfig" +@@ -170,6 +170,7 @@ source "drivers/media/platform/am437x/Kc source "drivers/media/platform/xilinx/Kconfig" source "drivers/media/platform/rcar-vin/Kconfig" source "drivers/media/platform/atmel/Kconfig" @@ -51,11 +47,9 @@ index 80321e03809a..9263d3d04774 100644 source "drivers/media/platform/sunxi/Kconfig" config VIDEO_TI_CAL -diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile -index 73ce083c2fc6..9d52476bc725 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile -@@ -83,6 +83,8 @@ obj-$(CONFIG_VIDEO_QCOM_CAMSS) += qcom/camss/ +@@ -83,6 +83,8 @@ obj-$(CONFIG_VIDEO_QCOM_CAMSS) += qcom/ obj-$(CONFIG_VIDEO_QCOM_VENUS) += qcom/venus/ @@ -64,9 +58,6 @@ index 73ce083c2fc6..9d52476bc725 100644 obj-y += sunxi/ obj-$(CONFIG_VIDEO_MESON_GE2D) += meson/ge2d/ -diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig -new file mode 100644 -index 000000000000..20e15147ee02 --- /dev/null +++ b/drivers/media/platform/bcm2835/Kconfig @@ -0,0 +1,14 @@ @@ -84,18 +75,12 @@ index 000000000000..20e15147ee02 + + To compile this driver as a module, choose M here. The module + will be called bcm2835-unicam. -diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile -new file mode 100644 -index 000000000000..a98aba03598a --- /dev/null +++ b/drivers/media/platform/bcm2835/Makefile @@ -0,0 +1,3 @@ +# Makefile for BCM2835 Unicam driver + +obj-$(CONFIG_VIDEO_BCM2835_UNICAM) += bcm2835-unicam.o -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -new file mode 100644 -index 000000000000..9da9f22c3db5 --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -0,0 +1,2369 @@ @@ -2468,9 +2453,6 @@ index 000000000000..9da9f22c3db5 +MODULE_DESCRIPTION("BCM2835 Unicam driver"); +MODULE_LICENSE("GPL"); +MODULE_VERSION(UNICAM_VERSION); -diff --git a/drivers/media/platform/bcm2835/vc4-regs-unicam.h b/drivers/media/platform/bcm2835/vc4-regs-unicam.h -new file mode 100644 -index 000000000000..ae059a171d0f --- /dev/null +++ b/drivers/media/platform/bcm2835/vc4-regs-unicam.h @@ -0,0 +1,253 @@ @@ -2727,6 +2709,3 @@ index 000000000000..ae059a171d0f +#define UNICAM_FL1 BIT(9) + +#endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0223-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0213-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0223-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0213-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch index 9f4863a6..f129412e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0223-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0213-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch @@ -1,7 +1,7 @@ -From 2f809887baf0abc4d322895d7a15a2e9c8b79c32 Mon Sep 17 00:00:00 2001 +From 6f907e017a1c117b6475e631034d20d411bfa0d0 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 1 Apr 2020 08:46:29 +0100 -Subject: [PATCH 223/634] media: uapi: v4l2-core: Add sensor ancillary data +Subject: [PATCH 213/828] media: uapi: v4l2-core: Add sensor ancillary data V4L2 foucc type. Add V4L2_META_FMT_SENSOR_DATA format 4CC. @@ -18,11 +18,9 @@ Signed-off-by: Naushir Patuck 4 files changed, 35 insertions(+) create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-meta-sensor-data.rst -diff --git a/Documentation/userspace-api/media/v4l/meta-formats.rst b/Documentation/userspace-api/media/v4l/meta-formats.rst -index fff25357fe86..b2201d1524eb 100644 --- a/Documentation/userspace-api/media/v4l/meta-formats.rst +++ b/Documentation/userspace-api/media/v4l/meta-formats.rst -@@ -15,6 +15,7 @@ These formats are used for the :ref:`metadata` interface only. +@@ -15,6 +15,7 @@ These formats are used for the :ref:`met pixfmt-meta-d4xx pixfmt-meta-intel-ipu3 pixfmt-meta-rkisp1 @@ -30,9 +28,6 @@ index fff25357fe86..b2201d1524eb 100644 pixfmt-meta-uvc pixfmt-meta-vsp1-hgo pixfmt-meta-vsp1-hgt -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-sensor-data.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-sensor-data.rst -new file mode 100644 -index 000000000000..4a67e204d08a --- /dev/null +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-sensor-data.rst @@ -0,0 +1,32 @@ @@ -68,11 +63,9 @@ index 000000000000..4a67e204d08a +field in :c:type:`v4l2_subdev_format` is set to 1. Note that this size is fixed +and cannot be modified with a call to :c:type:`VIDIOC_SUBDEV_S_FMT`. + -diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c -index 96075d624c32..939d9a775bb1 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1387,6 +1387,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) +@@ -1389,6 +1389,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_META_FMT_VIVID: descr = "Vivid Metadata"; break; case V4L2_META_FMT_RK_ISP1_PARAMS: descr = "Rockchip ISP1 3A Parameters"; break; case V4L2_META_FMT_RK_ISP1_STAT_3A: descr = "Rockchip ISP1 3A Statistics"; break; @@ -80,8 +73,6 @@ index 96075d624c32..939d9a775bb1 100644 default: /* Compressed formats */ -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index 0cfd4089653f..58cbf8a9c5b7 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -775,6 +775,7 @@ struct v4l2_pix_format { @@ -92,6 +83,3 @@ index 0cfd4089653f..58cbf8a9c5b7 100644 /* Vendor specific - used for RK_ISP1 camera sub-system */ #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0224-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch b/root/target/linux/bcm27xx/patches-5.15/950-0214-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0224-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0214-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch index 1e58d86c..5e993cda 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0224-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0214-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch @@ -1,7 +1,7 @@ -From 9527d2f7b589155eb2771df74395a0467658a2b8 Mon Sep 17 00:00:00 2001 +From dd900d3d266aa01eb4fe0df2538e745853ad45a2 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Jan 2020 14:06:47 +0000 -Subject: [PATCH 224/634] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus +Subject: [PATCH 214/828] media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus format This patch adds MEDIA_BUS_FMT_SENSOR_DATA used by the bcm2835-unicam @@ -13,11 +13,9 @@ Signed-off-by: Naushir Patuck include/uapi/linux/media-bus-format.h | 3 ++ 2 files changed, 35 insertions(+) -diff --git a/Documentation/userspace-api/media/v4l/subdev-formats.rst b/Documentation/userspace-api/media/v4l/subdev-formats.rst -index bd68588b2683..e7a2fac30ae4 100644 --- a/Documentation/userspace-api/media/v4l/subdev-formats.rst +++ b/Documentation/userspace-api/media/v4l/subdev-formats.rst -@@ -7930,3 +7930,35 @@ The following table lists the existing metadata formats. +@@ -7930,3 +7930,35 @@ The following table lists the existing m both sides of the link and the bus format is a fixed metadata format that is not configurable from userspace. Width and height will be set to 0 for this format. @@ -53,8 +51,6 @@ index bd68588b2683..e7a2fac30ae4 100644 + CSI-2/SMIA embedded data format as described in the `CSI-2 specification. + `_ + -diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h -index 0dfc11ee243a..aa56d7f54784 100644 --- a/include/uapi/linux/media-bus-format.h +++ b/include/uapi/linux/media-bus-format.h @@ -165,4 +165,7 @@ @@ -65,6 +61,3 @@ index 0dfc11ee243a..aa56d7f54784 100644 +#define MEDIA_BUS_FMT_SENSOR_DATA 0x7002 + #endif /* __LINUX_MEDIA_BUS_FORMAT_H */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0225-media-bcm2835-unicam-Add-support-for-mulitple-device.patch b/root/target/linux/bcm27xx/patches-5.15/950-0215-media-bcm2835-unicam-Add-support-for-mulitple-device.patch similarity index 89% rename from root/target/linux/bcm27xx/patches-5.15/0225-media-bcm2835-unicam-Add-support-for-mulitple-device.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0215-media-bcm2835-unicam-Add-support-for-mulitple-device.patch index 0249208d..b47e96d4 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0225-media-bcm2835-unicam-Add-support-for-mulitple-device.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0215-media-bcm2835-unicam-Add-support-for-mulitple-device.patch @@ -1,7 +1,7 @@ -From a764b1349621898ba896609f92c7b7304a24851b Mon Sep 17 00:00:00 2001 +From 38f9694390ca57c91d13451997d585fcbbc89eb9 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 7 Apr 2020 10:42:14 +0100 -Subject: [PATCH 225/634] media: bcm2835-unicam: Add support for mulitple +Subject: [PATCH 215/828] media: bcm2835-unicam: Add support for mulitple device nodes. Move device node specific state out of the device state structure and @@ -17,11 +17,9 @@ Signed-off-by: Naushir Patuck .../media/platform/bcm2835/bcm2835-unicam.c | 484 ++++++++++-------- 1 file changed, 283 insertions(+), 201 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 9da9f22c3db5..b34551a3f44b 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -109,7 +109,8 @@ MODULE_PARM_DESC(debug, "Debug level 0-3"); +@@ -109,7 +109,8 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 /* Define a nominal minimum image size */ #define MIN_WIDTH 16 #define MIN_HEIGHT 16 @@ -121,7 +119,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 }; /* Hardware access */ -@@ -526,10 +530,11 @@ static inline unsigned int bytes_per_line(u32 width, +@@ -526,10 +530,11 @@ static inline unsigned int bytes_per_lin } static int __subdev_get_format(struct unicam_device *dev, @@ -134,7 +132,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 }; int ret; -@@ -598,29 +603,30 @@ static int unicam_calc_format_size_bpl(struct unicam_device *dev, +@@ -598,29 +603,30 @@ static int unicam_calc_format_size_bpl(s return 0; } @@ -173,7 +171,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return 0; } -@@ -635,14 +641,14 @@ static void unicam_wr_dma_addr(struct unicam_device *dev, dma_addr_t dmaaddr) +@@ -635,14 +641,14 @@ static void unicam_wr_dma_addr(struct un reg_write(&dev->cfg, UNICAM_IBSA0, dmaaddr); reg_write(&dev->cfg, UNICAM_IBEA0, @@ -191,7 +189,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (!frm) return 0; -@@ -654,12 +660,12 @@ static inline unsigned int unicam_get_lines_done(struct unicam_device *dev) +@@ -654,12 +660,12 @@ static inline unsigned int unicam_get_li static inline void unicam_schedule_next_buffer(struct unicam_device *dev) { @@ -206,7 +204,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 list_del(&buf->list); addr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 0); -@@ -668,11 +674,11 @@ static inline void unicam_schedule_next_buffer(struct unicam_device *dev) +@@ -668,11 +674,11 @@ static inline void unicam_schedule_next_ static inline void unicam_process_buffer_complete(struct unicam_device *dev) { @@ -222,7 +220,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 } /* -@@ -687,7 +693,7 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -687,7 +693,7 @@ static irqreturn_t unicam_isr(int irq, v { struct unicam_device *unicam = (struct unicam_device *)dev; struct unicam_cfg *cfg = &unicam->cfg; @@ -231,7 +229,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 unsigned int lines_done = unicam_get_lines_done(dev); unsigned int sequence = unicam->sequence; int ista, sta; -@@ -720,8 +726,9 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -720,8 +726,9 @@ static irqreturn_t unicam_isr(int irq, v * Timestamp is to be when the first data byte was captured, * aka frame start. */ @@ -243,7 +241,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 } if (ista & UNICAM_FEI || sta & UNICAM_PI0) { /* -@@ -729,7 +736,8 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -729,7 +736,8 @@ static irqreturn_t unicam_isr(int irq, v * stop the peripheral. Overwrite the frame we've just * captured instead. */ @@ -253,7 +251,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 unicam_process_buffer_complete(unicam); } -@@ -738,11 +746,11 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -738,11 +746,11 @@ static irqreturn_t unicam_isr(int irq, v * already started. */ if (ista & (UNICAM_FSI | UNICAM_LCI) && !(ista & UNICAM_FEI)) { @@ -268,7 +266,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 } if (reg_read(&unicam->cfg, UNICAM_ICTL) & UNICAM_FCM) { -@@ -756,7 +764,8 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -756,7 +764,8 @@ static irqreturn_t unicam_isr(int irq, v static int unicam_querycap(struct file *file, void *priv, struct v4l2_capability *cap) { @@ -278,7 +276,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 strlcpy(cap->driver, UNICAM_MODULE_NAME, sizeof(cap->driver)); strlcpy(cap->card, UNICAM_MODULE_NAME, sizeof(cap->card)); -@@ -770,7 +779,8 @@ static int unicam_querycap(struct file *file, void *priv, +@@ -770,7 +779,8 @@ static int unicam_querycap(struct file * static int unicam_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l2_fmtdesc *f) { @@ -288,7 +286,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 struct v4l2_subdev_mbus_code_enum mbus_code; const struct unicam_fmt *fmt = NULL; int index = 0; -@@ -815,9 +825,9 @@ static int unicam_enum_fmt_vid_cap(struct file *file, void *priv, +@@ -815,9 +825,9 @@ static int unicam_enum_fmt_vid_cap(struc static int unicam_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f) { @@ -300,7 +298,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return 0; } -@@ -859,9 +869,11 @@ const struct unicam_fmt *get_first_supported_format(struct unicam_device *dev) +@@ -859,9 +869,11 @@ const struct unicam_fmt *get_first_suppo static int unicam_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f) { @@ -313,7 +311,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 }; struct v4l2_mbus_framefmt *mbus_fmt = &sd_fmt.format; const struct unicam_fmt *fmt; -@@ -939,8 +951,9 @@ static int unicam_try_fmt_vid_cap(struct file *file, void *priv, +@@ -939,8 +951,9 @@ static int unicam_try_fmt_vid_cap(struct static int unicam_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f) { @@ -325,7 +323,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 struct v4l2_mbus_framefmt mbus_fmt = {0}; const struct unicam_fmt *fmt; int ret; -@@ -985,17 +998,18 @@ static int unicam_s_fmt_vid_cap(struct file *file, void *priv, +@@ -985,17 +998,18 @@ static int unicam_s_fmt_vid_cap(struct f return -EINVAL; } @@ -333,15 +331,16 @@ index 9da9f22c3db5..b34551a3f44b 100644 - dev->v_fmt.fmt.pix.pixelformat = f->fmt.pix.pixelformat; - dev->v_fmt.fmt.pix.bytesperline = f->fmt.pix.bytesperline; - unicam_reset_format(dev); -+ node->fmt = fmt; -+ node->v_fmt.fmt.pix.pixelformat = f->fmt.pix.pixelformat; -+ node->v_fmt.fmt.pix.bytesperline = f->fmt.pix.bytesperline; -+ unicam_reset_format(node); - +- - unicam_dbg(3, dev, "%s %dx%d, mbus_fmt 0x%08X, V4L2 pix 0x%08X.\n", - __func__, dev->v_fmt.fmt.pix.width, - dev->v_fmt.fmt.pix.height, mbus_fmt.code, - dev->v_fmt.fmt.pix.pixelformat); ++ node->fmt = fmt; ++ node->v_fmt.fmt.pix.pixelformat = f->fmt.pix.pixelformat; ++ node->v_fmt.fmt.pix.bytesperline = f->fmt.pix.bytesperline; ++ unicam_reset_format(node); ++ + unicam_dbg(3, dev, + "%s %dx%d, mbus_fmt 0x%08X, V4L2 pix 0x%08X.\n", + __func__, node->v_fmt.fmt.pix.width, @@ -353,7 +352,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return 0; } -@@ -1006,8 +1020,9 @@ static int unicam_queue_setup(struct vb2_queue *vq, +@@ -1006,8 +1020,9 @@ static int unicam_queue_setup(struct vb2 unsigned int sizes[], struct device *alloc_devs[]) { @@ -365,7 +364,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (vq->num_buffers + *nbuffers < 3) *nbuffers = 3 - vq->num_buffers; -@@ -1029,15 +1044,16 @@ static int unicam_queue_setup(struct vb2_queue *vq, +@@ -1029,15 +1044,16 @@ static int unicam_queue_setup(struct vb2 static int unicam_buffer_prepare(struct vb2_buffer *vb) { @@ -385,7 +384,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (vb2_plane_size(vb, 0) < size) { unicam_err(dev, "data will not fit into plane (%lu < %lu)\n", vb2_plane_size(vb, 0), size); -@@ -1050,15 +1066,15 @@ static int unicam_buffer_prepare(struct vb2_buffer *vb) +@@ -1050,15 +1066,15 @@ static int unicam_buffer_prepare(struct static void unicam_buffer_queue(struct vb2_buffer *vb) { @@ -405,7 +404,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 } static void unicam_set_packing_config(struct unicam_device *dev) -@@ -1066,11 +1082,12 @@ static void unicam_set_packing_config(struct unicam_device *dev) +@@ -1066,11 +1082,12 @@ static void unicam_set_packing_config(st int pack, unpack; u32 val; @@ -420,7 +419,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 case 8: unpack = UNICAM_PUM_UNPACK8; break; -@@ -1108,17 +1125,17 @@ static void unicam_cfg_image_id(struct unicam_device *dev) +@@ -1108,17 +1125,17 @@ static void unicam_cfg_image_id(struct u if (dev->bus_type == V4L2_MBUS_CSI2_DPHY) { /* CSI2 mode */ reg_write(cfg, UNICAM_IDI0, @@ -441,7 +440,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 unsigned int i; u32 val; -@@ -1266,7 +1283,8 @@ static void unicam_start_rx(struct unicam_device *dev, unsigned long addr) +@@ -1266,7 +1283,8 @@ static void unicam_start_rx(struct unica reg_write(cfg, UNICAM_DAT3, val); } @@ -451,7 +450,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 unicam_wr_dma_addr(dev, addr); unicam_set_packing_config(dev); unicam_cfg_image_id(dev); -@@ -1327,21 +1345,22 @@ static void unicam_disable(struct unicam_device *dev) +@@ -1327,21 +1345,22 @@ static void unicam_disable(struct unicam static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) { @@ -481,7 +480,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 dev->sequence = 0; ret = unicam_runtime_get(dev); -@@ -1411,20 +1430,21 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1411,20 +1430,21 @@ err_release_buffers: list_del(&buf->list); vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_QUEUED); } @@ -510,7 +509,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 struct unicam_buffer *buf, *tmp; unsigned long flags; -@@ -1434,22 +1454,24 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1434,22 +1454,24 @@ static void unicam_stop_streaming(struct unicam_disable(dev); /* Release all active buffers */ @@ -543,7 +542,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 clk_disable_unprepare(dev->clock); unicam_runtime_put(dev); -@@ -1458,7 +1480,8 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1458,7 +1480,8 @@ static void unicam_stop_streaming(struct static int unicam_enum_input(struct file *file, void *priv, struct v4l2_input *inp) { @@ -553,7 +552,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (inp->index != 0) return -EINVAL; -@@ -1506,21 +1529,24 @@ static int unicam_s_input(struct file *file, void *priv, unsigned int i) +@@ -1506,21 +1529,24 @@ static int unicam_s_input(struct file *f static int unicam_querystd(struct file *file, void *priv, v4l2_std_id *std) { @@ -581,7 +580,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 int ret; v4l2_std_id current_std; -@@ -1531,29 +1557,31 @@ static int unicam_s_std(struct file *file, void *priv, v4l2_std_id std) +@@ -1531,29 +1557,31 @@ static int unicam_s_std(struct file *fil if (std == current_std) return 0; @@ -618,7 +617,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return v4l2_subdev_call(dev->sensor, pad, get_edid, edid); } -@@ -1561,7 +1589,8 @@ static int unicam_g_edid(struct file *file, void *priv, struct v4l2_edid *edid) +@@ -1561,7 +1589,8 @@ static int unicam_g_edid(struct file *fi static int unicam_enum_framesizes(struct file *file, void *priv, struct v4l2_frmsizeenum *fsize) { @@ -628,7 +627,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 const struct unicam_fmt *fmt; struct v4l2_subdev_frame_size_enum fse; int ret; -@@ -1596,7 +1625,8 @@ static int unicam_enum_framesizes(struct file *file, void *priv, +@@ -1596,7 +1625,8 @@ static int unicam_enum_framesizes(struct static int unicam_enum_frameintervals(struct file *file, void *priv, struct v4l2_frmivalenum *fival) { @@ -638,7 +637,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 const struct unicam_fmt *fmt; struct v4l2_subdev_frame_interval_enum fie = { .index = fival->index, -@@ -1624,14 +1654,16 @@ static int unicam_enum_frameintervals(struct file *file, void *priv, +@@ -1624,14 +1654,16 @@ static int unicam_enum_frameintervals(st static int unicam_g_parm(struct file *file, void *fh, struct v4l2_streamparm *a) { @@ -657,7 +656,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return v4l2_s_parm_cap(video_devdata(file), dev->sensor, a); } -@@ -1639,7 +1671,8 @@ static int unicam_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a) +@@ -1639,7 +1671,8 @@ static int unicam_s_parm(struct file *fi static int unicam_g_dv_timings(struct file *file, void *priv, struct v4l2_dv_timings *timings) { @@ -667,7 +666,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return v4l2_subdev_call(dev->sensor, video, g_dv_timings, timings); } -@@ -1647,7 +1680,8 @@ static int unicam_g_dv_timings(struct file *file, void *priv, +@@ -1647,7 +1680,8 @@ static int unicam_g_dv_timings(struct fi static int unicam_s_dv_timings(struct file *file, void *priv, struct v4l2_dv_timings *timings) { @@ -677,7 +676,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 struct v4l2_dv_timings current_timings; int ret; -@@ -1657,15 +1691,15 @@ static int unicam_s_dv_timings(struct file *file, void *priv, +@@ -1657,15 +1691,15 @@ static int unicam_s_dv_timings(struct fi if (v4l2_match_dv_timings(timings, ¤t_timings, 0, false)) return 0; @@ -696,7 +695,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return ret; } -@@ -1673,7 +1707,8 @@ static int unicam_s_dv_timings(struct file *file, void *priv, +@@ -1673,7 +1707,8 @@ static int unicam_s_dv_timings(struct fi static int unicam_query_dv_timings(struct file *file, void *priv, struct v4l2_dv_timings *timings) { @@ -706,7 +705,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return v4l2_subdev_call(dev->sensor, video, query_dv_timings, timings); } -@@ -1681,7 +1716,8 @@ static int unicam_query_dv_timings(struct file *file, void *priv, +@@ -1681,7 +1716,8 @@ static int unicam_query_dv_timings(struc static int unicam_enum_dv_timings(struct file *file, void *priv, struct v4l2_enum_dv_timings *timings) { @@ -716,7 +715,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return v4l2_subdev_call(dev->sensor, pad, enum_dv_timings, timings); } -@@ -1689,7 +1725,8 @@ static int unicam_enum_dv_timings(struct file *file, void *priv, +@@ -1689,7 +1725,8 @@ static int unicam_enum_dv_timings(struct static int unicam_dv_timings_cap(struct file *file, void *priv, struct v4l2_dv_timings_cap *cap) { @@ -726,7 +725,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return v4l2_subdev_call(dev->sensor, pad, dv_timings_cap, cap); } -@@ -1707,7 +1744,8 @@ static int unicam_subscribe_event(struct v4l2_fh *fh, +@@ -1707,7 +1744,8 @@ static int unicam_subscribe_event(struct static int unicam_log_status(struct file *file, void *fh) { @@ -736,7 +735,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 struct unicam_cfg *cfg = &dev->cfg; u32 reg; -@@ -1716,10 +1754,10 @@ static int unicam_log_status(struct file *file, void *fh) +@@ -1716,10 +1754,10 @@ static int unicam_log_status(struct file unicam_info(dev, "-----Receiver status-----\n"); unicam_info(dev, "V4L2 width/height: %ux%u\n", @@ -750,7 +749,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 reg = reg_read(&dev->cfg, UNICAM_IPIPE); unicam_info(dev, "Unpacking/packing: %u / %u\n", get_field(reg, UNICAM_PUM_MASK), -@@ -1744,7 +1782,7 @@ static void unicam_notify(struct v4l2_subdev *sd, +@@ -1744,7 +1782,7 @@ static void unicam_notify(struct v4l2_su switch (notification) { case V4L2_DEVICE_NOTIFY_EVENT: @@ -759,7 +758,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 break; default: break; -@@ -1767,10 +1805,11 @@ static const struct vb2_ops unicam_video_qops = { +@@ -1767,10 +1805,11 @@ static const struct vb2_ops unicam_video */ static int unicam_open(struct file *file) { @@ -773,7 +772,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 ret = v4l2_fh_open(file); if (ret) { -@@ -1790,18 +1829,19 @@ static int unicam_open(struct file *file) +@@ -1790,18 +1829,19 @@ static int unicam_open(struct file *file ret = 0; unlock: @@ -796,7 +795,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 fh_singular = v4l2_fh_is_singular_file(file); -@@ -1810,7 +1850,7 @@ static int unicam_release(struct file *file) +@@ -1810,7 +1850,7 @@ static int unicam_release(struct file *f if (fh_singular) v4l2_subdev_call(sd, core, s_power, 0); @@ -805,7 +804,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 return ret; } -@@ -1892,7 +1932,8 @@ unicam_async_bound(struct v4l2_async_notifier *notifier, +@@ -1892,7 +1932,8 @@ unicam_async_bound(struct v4l2_async_not return 0; } @@ -815,7 +814,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 { struct video_device *vdev; struct vb2_queue *q; -@@ -1900,15 +1941,7 @@ static int unicam_probe_complete(struct unicam_device *unicam) +@@ -1900,15 +1941,7 @@ static int unicam_probe_complete(struct const struct unicam_fmt *fmt; int ret; @@ -832,7 +831,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (ret) { unicam_err(unicam, "Failed to get_format - ret %d\n", ret); return ret; -@@ -1938,14 +1971,15 @@ static int unicam_probe_complete(struct unicam_device *unicam) +@@ -1938,14 +1971,15 @@ static int unicam_probe_complete(struct return -EINVAL; } @@ -852,7 +851,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (v4l2_subdev_has_op(unicam->sensor, video, s_std)) { v4l2_std_id tvnorms; -@@ -1962,27 +1996,30 @@ static int unicam_probe_complete(struct unicam_device *unicam) +@@ -1962,27 +1996,30 @@ static int unicam_probe_complete(struct g_tvnorms, &tvnorms); if (WARN_ON(ret)) return -EINVAL; @@ -895,7 +894,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 q->min_buffers_needed = 2; q->dev = &unicam->pdev->dev; -@@ -1992,9 +2029,9 @@ static int unicam_probe_complete(struct unicam_device *unicam) +@@ -1992,9 +2029,9 @@ static int unicam_probe_complete(struct return ret; } @@ -907,7 +906,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 strlcpy(vdev->name, UNICAM_MODULE_NAME, sizeof(vdev->name)); vdev->release = video_device_release_empty; vdev->fops = &unicam_fops; -@@ -2002,69 +2039,113 @@ static int unicam_probe_complete(struct unicam_device *unicam) +@@ -2002,69 +2039,113 @@ static int unicam_probe_complete(struct vdev->v4l2_dev = &unicam->v4l2_dev; vdev->vfl_dir = VFL_DIR_RX; vdev->queue = q; @@ -1052,7 +1051,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 } static int unicam_async_complete(struct v4l2_async_notifier *notifier) -@@ -2274,7 +2355,8 @@ static int unicam_probe(struct platform_device *pdev) +@@ -2274,7 +2355,8 @@ static int unicam_probe(struct platform_ pdev->dev.driver->name, dev_name(&pdev->dev)); unicam->mdev.hw_revision = 1; @@ -1062,7 +1061,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 media_device_init(&unicam->mdev); unicam->v4l2_dev.mdev = &unicam->mdev; -@@ -2294,7 +2376,7 @@ static int unicam_probe(struct platform_device *pdev) +@@ -2294,7 +2376,7 @@ static int unicam_probe(struct platform_ } /* Reserve space for the controls */ @@ -1071,7 +1070,7 @@ index 9da9f22c3db5..b34551a3f44b 100644 ret = v4l2_ctrl_handler_init(hdl, 16); if (ret < 0) goto media_unregister; -@@ -2335,9 +2417,9 @@ static int unicam_remove(struct platform_device *pdev) +@@ -2335,9 +2417,9 @@ static int unicam_remove(struct platform pm_runtime_disable(&pdev->dev); v4l2_async_notifier_unregister(&unicam->notifier); @@ -1083,6 +1082,3 @@ index 9da9f22c3db5..b34551a3f44b 100644 if (unicam->sensor_config) v4l2_subdev_free_pad_config(unicam->sensor_config); media_device_unregister(&unicam->mdev); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0226-media-bcm2835-unicam-Add-embedded-data-node.patch b/root/target/linux/bcm27xx/patches-5.15/950-0216-media-bcm2835-unicam-Add-embedded-data-node.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0226-media-bcm2835-unicam-Add-embedded-data-node.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0216-media-bcm2835-unicam-Add-embedded-data-node.patch index 06b56505..8781ca13 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0226-media-bcm2835-unicam-Add-embedded-data-node.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0216-media-bcm2835-unicam-Add-embedded-data-node.patch @@ -1,7 +1,7 @@ -From 3b47d0669f2613f50b12c8925ee3f3a91184444c Mon Sep 17 00:00:00 2001 +From 2d12ef792f9e2da4be359b9856643da8ac7778d5 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 16 Apr 2020 11:35:41 +0100 -Subject: [PATCH 226/634] media: bcm2835-unicam: Add embedded data node. +Subject: [PATCH 216/828] media: bcm2835-unicam: Add embedded data node. This patch adds a new node in the bcm2835-unicam driver to support CSI-2 embedded data streams. The subdevice is queried to see if @@ -12,11 +12,9 @@ Signed-off-by: Naushir Patuck .../media/platform/bcm2835/bcm2835-unicam.c | 667 +++++++++++++----- 1 file changed, 474 insertions(+), 193 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index b34551a3f44b..d5e0f70b600c 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -109,8 +109,15 @@ MODULE_PARM_DESC(debug, "Debug level 0-3"); +@@ -109,8 +109,15 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 /* Define a nominal minimum image size */ #define MIN_WIDTH 16 #define MIN_HEIGHT 16 @@ -34,7 +32,7 @@ index b34551a3f44b..d5e0f70b600c 100644 /* * struct unicam_fmt - Unicam media bus format information * @pixelformat: V4L2 pixel format FCC identifier. 0 if n/a. -@@ -327,6 +334,12 @@ static const struct unicam_fmt formats[] = { +@@ -327,6 +334,12 @@ static const struct unicam_fmt formats[] .depth = 12, .csi_dt = 0x2c, }, @@ -87,7 +85,7 @@ index b34551a3f44b..d5e0f70b600c 100644 struct unicam_node node[MAX_NODES]; }; -@@ -488,6 +499,7 @@ static int check_mbus_format(struct unicam_device *dev, +@@ -488,6 +499,7 @@ static int check_mbus_format(struct unic for (i = 0; !ret && i < MAX_ENUM_MBUS_CODE; i++) { memset(&mbus_code, 0, sizeof(mbus_code)); mbus_code.index = i; @@ -95,7 +93,7 @@ index b34551a3f44b..d5e0f70b600c 100644 mbus_code.which = V4L2_SUBDEV_FORMAT_ACTIVE; ret = v4l2_subdev_call(dev->sensor, pad, enum_mbus_code, -@@ -552,10 +564,11 @@ static int __subdev_get_format(struct unicam_device *dev, +@@ -552,10 +564,11 @@ static int __subdev_get_format(struct un } static int __subdev_set_format(struct unicam_device *dev, @@ -108,7 +106,7 @@ index b34551a3f44b..d5e0f70b600c 100644 }; int ret; -@@ -566,8 +579,12 @@ static int __subdev_set_format(struct unicam_device *dev, +@@ -566,8 +579,12 @@ static int __subdev_set_format(struct un if (ret < 0) return ret; @@ -123,7 +121,7 @@ index b34551a3f44b..d5e0f70b600c 100644 return 0; } -@@ -609,46 +626,70 @@ static int unicam_reset_format(struct unicam_node *node) +@@ -609,46 +626,70 @@ static int unicam_reset_format(struct un struct v4l2_mbus_framefmt mbus_fmt; int ret; @@ -215,7 +213,7 @@ index b34551a3f44b..d5e0f70b600c 100644 if (!frm) return 0; -@@ -658,27 +699,51 @@ static inline unsigned int unicam_get_lines_done(struct unicam_device *dev) +@@ -658,27 +699,51 @@ static inline unsigned int unicam_get_li return (unsigned int)(cur_addr - start_addr) / stride; } @@ -276,7 +274,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } /* -@@ -693,10 +758,12 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -693,10 +758,12 @@ static irqreturn_t unicam_isr(int irq, v { struct unicam_device *unicam = (struct unicam_device *)dev; struct unicam_cfg *cfg = &unicam->cfg; @@ -290,7 +288,7 @@ index b34551a3f44b..d5e0f70b600c 100644 /* * Don't service interrupts if not streaming. -@@ -704,7 +771,7 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -704,7 +771,7 @@ static irqreturn_t unicam_isr(int irq, v * peripheral without the kernel knowing (that * shouldn't happen, but causes issues if it does). */ @@ -299,7 +297,7 @@ index b34551a3f44b..d5e0f70b600c 100644 return IRQ_HANDLED; sta = reg_read(cfg, UNICAM_STA); -@@ -726,9 +793,12 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -726,9 +793,12 @@ static irqreturn_t unicam_isr(int irq, v * Timestamp is to be when the first data byte was captured, * aka frame start. */ @@ -315,7 +313,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } if (ista & UNICAM_FEI || sta & UNICAM_PI0) { /* -@@ -736,9 +806,13 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -736,9 +806,13 @@ static irqreturn_t unicam_isr(int irq, v * stop the peripheral. Overwrite the frame we've just * captured instead. */ @@ -332,7 +330,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } /* Cannot swap buffer at frame end, there may be a race condition -@@ -746,11 +820,13 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -746,11 +820,13 @@ static irqreturn_t unicam_isr(int irq, v * already started. */ if (ista & (UNICAM_FSI | UNICAM_LCI) && !(ista & UNICAM_FEI)) { @@ -351,7 +349,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } if (reg_read(&unicam->cfg, UNICAM_ICTL) & UNICAM_FCM) { -@@ -773,6 +849,15 @@ static int unicam_querycap(struct file *file, void *priv, +@@ -773,6 +849,15 @@ static int unicam_querycap(struct file * snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s", dev->v4l2_dev.name); @@ -367,7 +365,7 @@ index b34551a3f44b..d5e0f70b600c 100644 return 0; } -@@ -787,9 +872,14 @@ static int unicam_enum_fmt_vid_cap(struct file *file, void *priv, +@@ -787,9 +872,14 @@ static int unicam_enum_fmt_vid_cap(struc int ret = 0; int i; @@ -382,7 +380,7 @@ index b34551a3f44b..d5e0f70b600c 100644 ret = v4l2_subdev_call(dev->sensor, pad, enum_mbus_code, NULL, &mbus_code); -@@ -827,6 +917,9 @@ static int unicam_g_fmt_vid_cap(struct file *file, void *priv, +@@ -827,6 +917,9 @@ static int unicam_g_fmt_vid_cap(struct f { struct unicam_node *node = video_drvdata(file); @@ -392,7 +390,7 @@ index b34551a3f44b..d5e0f70b600c 100644 *f = node->v_fmt; return 0; -@@ -843,6 +936,9 @@ const struct unicam_fmt *get_first_supported_format(struct unicam_device *dev) +@@ -843,6 +936,9 @@ const struct unicam_fmt *get_first_suppo for (j = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++j) { memset(&mbus_code, 0, sizeof(mbus_code)); mbus_code.index = j; @@ -402,7 +400,7 @@ index b34551a3f44b..d5e0f70b600c 100644 ret = v4l2_subdev_call(dev->sensor, pad, enum_mbus_code, NULL, &mbus_code); if (ret < 0) { -@@ -873,12 +969,15 @@ static int unicam_try_fmt_vid_cap(struct file *file, void *priv, +@@ -873,12 +969,15 @@ static int unicam_try_fmt_vid_cap(struct struct unicam_device *dev = node->dev; struct v4l2_subdev_format sd_fmt = { .which = V4L2_SUBDEV_FORMAT_TRY, @@ -419,7 +417,7 @@ index b34551a3f44b..d5e0f70b600c 100644 fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat); if (!fmt) { /* Pixel format not supported by unicam. Choose the first -@@ -983,7 +1082,7 @@ static int unicam_s_fmt_vid_cap(struct file *file, void *priv, +@@ -983,7 +1082,7 @@ static int unicam_s_fmt_vid_cap(struct f v4l2_fill_mbus_format(&mbus_fmt, &f->fmt.pix, fmt->code); @@ -428,7 +426,7 @@ index b34551a3f44b..d5e0f70b600c 100644 if (ret) { unicam_dbg(3, dev, "%s __subdev_set_format failed %d\n", __func__, ret); -@@ -1014,6 +1113,106 @@ static int unicam_s_fmt_vid_cap(struct file *file, void *priv, +@@ -1014,6 +1113,106 @@ static int unicam_s_fmt_vid_cap(struct f return 0; } @@ -535,7 +533,7 @@ index b34551a3f44b..d5e0f70b600c 100644 static int unicam_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, unsigned int *nplanes, -@@ -1022,7 +1221,9 @@ static int unicam_queue_setup(struct vb2_queue *vq, +@@ -1022,7 +1221,9 @@ static int unicam_queue_setup(struct vb2 { struct unicam_node *node = vb2_get_drv_priv(vq); struct unicam_device *dev = node->dev; @@ -546,7 +544,7 @@ index b34551a3f44b..d5e0f70b600c 100644 if (vq->num_buffers + *nbuffers < 3) *nbuffers = 3 - vq->num_buffers; -@@ -1053,7 +1254,8 @@ static int unicam_buffer_prepare(struct vb2_buffer *vb) +@@ -1053,7 +1254,8 @@ static int unicam_buffer_prepare(struct if (WARN_ON(!node->fmt)) return -EINVAL; @@ -556,7 +554,7 @@ index b34551a3f44b..d5e0f70b600c 100644 if (vb2_plane_size(vb, 0) < size) { unicam_err(dev, "data will not fit into plane (%lu < %lu)\n", vb2_plane_size(vb, 0), size); -@@ -1082,12 +1284,12 @@ static void unicam_set_packing_config(struct unicam_device *dev) +@@ -1082,12 +1284,12 @@ static void unicam_set_packing_config(st int pack, unpack; u32 val; @@ -572,7 +570,7 @@ index b34551a3f44b..d5e0f70b600c 100644 case 8: unpack = UNICAM_PUM_UNPACK8; break; -@@ -1125,17 +1327,31 @@ static void unicam_cfg_image_id(struct unicam_device *dev) +@@ -1125,17 +1327,31 @@ static void unicam_cfg_image_id(struct u if (dev->bus_type == V4L2_MBUS_CSI2_DPHY) { /* CSI2 mode */ reg_write(cfg, UNICAM_IDI0, @@ -608,7 +606,7 @@ index b34551a3f44b..d5e0f70b600c 100644 unsigned int i; u32 val; -@@ -1284,27 +1500,31 @@ static void unicam_start_rx(struct unicam_device *dev, unsigned long addr) +@@ -1284,27 +1500,31 @@ static void unicam_start_rx(struct unica } reg_write(&dev->cfg, UNICAM_IBLS, @@ -647,7 +645,7 @@ index b34551a3f44b..d5e0f70b600c 100644 /* * Enable trigger only for the first frame to * sync correctly to the FS from the source. -@@ -1339,6 +1559,9 @@ static void unicam_disable(struct unicam_device *dev) +@@ -1339,6 +1559,9 @@ static void unicam_disable(struct unicam /* Disable peripheral */ reg_write_field(cfg, UNICAM_CTRL, 0, UNICAM_CPE); @@ -657,7 +655,7 @@ index b34551a3f44b..d5e0f70b600c 100644 /* Disable all lane clocks */ clk_write(cfg, 0); } -@@ -1347,26 +1570,23 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1347,26 +1570,23 @@ static int unicam_start_streaming(struct { struct unicam_node *node = vb2_get_drv_priv(vq); struct unicam_device *dev = node->dev; @@ -694,7 +692,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } dev->active_data_lanes = dev->max_data_lanes; -@@ -1388,7 +1608,7 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1388,7 +1608,7 @@ static int unicam_start_streaming(struct dev->active_data_lanes = dev->max_data_lanes; } if (dev->active_data_lanes > dev->max_data_lanes) { @@ -703,7 +701,7 @@ index b34551a3f44b..d5e0f70b600c 100644 dev->active_data_lanes, dev->max_data_lanes); ret = -EINVAL; goto err_pm_put; -@@ -1408,9 +1628,22 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1408,9 +1628,22 @@ static int unicam_start_streaming(struct unicam_err(dev, "Failed to enable CSI clock: %d\n", ret); goto err_pm_put; } @@ -728,7 +726,7 @@ index b34551a3f44b..d5e0f70b600c 100644 ret = v4l2_subdev_call(dev->sensor, video, s_stream, 1); if (ret < 0) { -@@ -1421,21 +1654,11 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1421,21 +1654,11 @@ static int unicam_start_streaming(struct return 0; err_disable_unicam: @@ -751,7 +749,7 @@ index b34551a3f44b..d5e0f70b600c 100644 return ret; } -@@ -1448,33 +1671,47 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1448,33 +1671,47 @@ static void unicam_stop_streaming(struct struct unicam_buffer *buf, *tmp; unsigned long flags; @@ -767,7 +765,8 @@ index b34551a3f44b..d5e0f70b600c 100644 + */ + if (v4l2_subdev_call(dev->sensor, video, s_stream, 0) < 0) + unicam_err(dev, "stream off failed in subdev\n"); -+ + +- /* Release all active buffers */ + unicam_disable(dev); + clk_disable_unprepare(dev->clock); + unicam_runtime_put(dev); @@ -781,8 +780,7 @@ index b34551a3f44b..d5e0f70b600c 100644 + */ + unicam_wr_dma_addr(dev, 0xc0000000, METADATA_PAD); + } - -- /* Release all active buffers */ ++ + /* Clear all queued buffers for the node */ spin_lock_irqsave(&node->dma_queue_lock, flags); list_for_each_entry_safe(buf, tmp, &dma_q->active, list) { @@ -811,7 +809,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } static int unicam_enum_input(struct file *file, void *priv, -@@ -1595,17 +1832,23 @@ static int unicam_enum_framesizes(struct file *file, void *priv, +@@ -1595,17 +1832,23 @@ static int unicam_enum_framesizes(struct struct v4l2_subdev_frame_size_enum fse; int ret; @@ -843,7 +841,7 @@ index b34551a3f44b..d5e0f70b600c 100644 ret = v4l2_subdev_call(dev->sensor, pad, enum_frame_size, NULL, &fse); if (ret) -@@ -1782,7 +2025,7 @@ static void unicam_notify(struct v4l2_subdev *sd, +@@ -1782,7 +2025,7 @@ static void unicam_notify(struct v4l2_su switch (notification) { case V4L2_DEVICE_NOTIFY_EVENT: @@ -852,7 +850,7 @@ index b34551a3f44b..d5e0f70b600c 100644 break; default: break; -@@ -1826,6 +2069,7 @@ static int unicam_open(struct file *file) +@@ -1826,6 +2069,7 @@ static int unicam_open(struct file *file goto unlock; } @@ -860,7 +858,7 @@ index b34551a3f44b..d5e0f70b600c 100644 ret = 0; unlock: -@@ -1850,6 +2094,10 @@ static int unicam_release(struct file *file) +@@ -1850,6 +2094,10 @@ static int unicam_release(struct file *f if (fh_singular) v4l2_subdev_call(sd, core, s_power, 0); @@ -871,7 +869,7 @@ index b34551a3f44b..d5e0f70b600c 100644 mutex_unlock(&node->lock); return ret; -@@ -1874,6 +2122,11 @@ static const struct v4l2_ioctl_ops unicam_ioctl_ops = { +@@ -1874,6 +2122,11 @@ static const struct v4l2_ioctl_ops unica .vidioc_s_fmt_vid_cap = unicam_s_fmt_vid_cap, .vidioc_try_fmt_vid_cap = unicam_try_fmt_vid_cap, @@ -883,7 +881,7 @@ index b34551a3f44b..d5e0f70b600c 100644 .vidioc_enum_input = unicam_enum_input, .vidioc_g_input = unicam_g_input, .vidioc_s_input = unicam_s_input, -@@ -1941,42 +2194,53 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -1941,42 +2194,53 @@ static int register_node(struct unicam_d const struct unicam_fmt *fmt; int ret; @@ -892,6 +890,13 @@ index b34551a3f44b..d5e0f70b600c 100644 - unicam_err(unicam, "Failed to get_format - ret %d\n", ret); - return ret; - } +- +- fmt = find_format_by_code(mbus_fmt.code); +- if (!fmt) { +- /* Find the first format that the sensor and unicam both +- * support +- */ +- fmt = get_first_supported_format(unicam); + if (unicam->sensor_embedded_data || pad_id != METADATA_PAD) { + ret = __subdev_get_format(unicam, &mbus_fmt, pad_id); + if (ret) { @@ -900,12 +905,9 @@ index b34551a3f44b..d5e0f70b600c 100644 + return ret; + } -- fmt = find_format_by_code(mbus_fmt.code); -- if (!fmt) { -- /* Find the first format that the sensor and unicam both -- * support -- */ -- fmt = get_first_supported_format(unicam); +- if (!fmt) +- /* No compatible formats */ +- return -EINVAL; + fmt = find_format_by_code(mbus_fmt.code); + if (!fmt) { + /* Find the first format that the sensor and unicam both @@ -913,13 +915,6 @@ index b34551a3f44b..d5e0f70b600c 100644 + */ + fmt = get_first_supported_format(unicam); -- if (!fmt) -- /* No compatible formats */ -- return -EINVAL; -+ if (!fmt) -+ /* No compatible formats */ -+ return -EINVAL; - - mbus_fmt.code = fmt->code; - ret = __subdev_set_format(unicam, &mbus_fmt); - if (ret) @@ -931,6 +926,10 @@ index b34551a3f44b..d5e0f70b600c 100644 - ret = __subdev_set_format(unicam, &mbus_fmt); - if (ret) - return -EINVAL; ++ if (!fmt) ++ /* No compatible formats */ ++ return -EINVAL; ++ + mbus_fmt.code = fmt->code; + ret = __subdev_set_format(unicam, &mbus_fmt, pad_id); + if (ret) @@ -965,7 +964,7 @@ index b34551a3f44b..d5e0f70b600c 100644 /* Read current subdev format */ unicam_reset_format(node); -@@ -2002,13 +2266,21 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2002,13 +2266,21 @@ static int register_node(struct unicam_d spin_lock_init(&node->dma_queue_lock); mutex_init(&node->lock); @@ -988,7 +987,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } q = &node->buffer_queue; -@@ -2031,8 +2303,6 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2031,8 +2303,6 @@ static int register_node(struct unicam_d INIT_LIST_HEAD(&node->dma_queue.active); @@ -997,7 +996,7 @@ index b34551a3f44b..d5e0f70b600c 100644 vdev->release = video_device_release_empty; vdev->fops = &unicam_fops; vdev->ioctl_ops = &unicam_ioctl_ops; -@@ -2040,24 +2310,28 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2040,24 +2310,28 @@ static int register_node(struct unicam_d vdev->vfl_dir = VFL_DIR_RX; vdev->queue = q; vdev->lock = &node->lock; @@ -1035,7 +1034,7 @@ index b34551a3f44b..d5e0f70b600c 100644 v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_EDID); v4l2_disable_ioctl(&node->video_dev, VIDIOC_G_EDID); v4l2_disable_ioctl(&node->video_dev, VIDIOC_DV_TIMINGS_CAP); -@@ -2066,15 +2340,19 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2066,15 +2340,19 @@ static int register_node(struct unicam_d v4l2_disable_ioctl(&node->video_dev, VIDIOC_ENUM_DV_TIMINGS); v4l2_disable_ioctl(&node->video_dev, VIDIOC_QUERY_DV_TIMINGS); } @@ -1059,7 +1058,7 @@ index b34551a3f44b..d5e0f70b600c 100644 v4l2_disable_ioctl(&node->video_dev, VIDIOC_ENUM_FRAMESIZES); ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1); -@@ -2082,27 +2360,29 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2082,27 +2360,29 @@ static int register_node(struct unicam_d unicam_err(unicam, "Unable to register video device.\n"); return ret; } @@ -1089,20 +1088,21 @@ index b34551a3f44b..d5e0f70b600c 100644 - if (unicam->node[0].registered) { - video_unregister_device(&unicam->node[0].video_dev); - unicam->node[0].registered = false; -+ if (unicam->node[IMAGE_PAD].registered) { -+ video_unregister_device(&unicam->node[IMAGE_PAD].video_dev); -+ unicam->node[IMAGE_PAD].registered = 0; - } +- } - if (unicam->node[1].registered) { - video_unregister_device(&unicam->node[1].video_dev); - unicam->node[1].registered = false; ++ if (unicam->node[IMAGE_PAD].registered) { ++ video_unregister_device(&unicam->node[IMAGE_PAD].video_dev); ++ unicam->node[IMAGE_PAD].registered = 0; ++ } + if (unicam->node[METADATA_PAD].registered) { + video_unregister_device(&unicam->node[METADATA_PAD].video_dev); + unicam->node[METADATA_PAD].registered = 0; } } -@@ -2118,20 +2398,20 @@ static int unicam_probe_complete(struct unicam_device *unicam) +@@ -2118,20 +2398,20 @@ static int unicam_probe_complete(struct if (!unicam->sensor_config) return -ENOMEM; @@ -1133,7 +1133,7 @@ index b34551a3f44b..d5e0f70b600c 100644 } ret = v4l2_device_register_ro_subdev_nodes(&unicam->v4l2_dev); -@@ -2355,8 +2635,10 @@ static int unicam_probe(struct platform_device *pdev) +@@ -2355,8 +2635,10 @@ static int unicam_probe(struct platform_ pdev->dev.driver->name, dev_name(&pdev->dev)); unicam->mdev.hw_revision = 1; @@ -1146,7 +1146,7 @@ index b34551a3f44b..d5e0f70b600c 100644 media_device_init(&unicam->mdev); unicam->v4l2_dev.mdev = &unicam->mdev; -@@ -2376,11 +2658,10 @@ static int unicam_probe(struct platform_device *pdev) +@@ -2376,11 +2658,10 @@ static int unicam_probe(struct platform_ } /* Reserve space for the controls */ @@ -1159,7 +1159,7 @@ index b34551a3f44b..d5e0f70b600c 100644 /* set the driver data in platform device */ platform_set_drvdata(pdev, unicam); -@@ -2417,7 +2698,7 @@ static int unicam_remove(struct platform_device *pdev) +@@ -2417,7 +2698,7 @@ static int unicam_remove(struct platform pm_runtime_disable(&pdev->dev); v4l2_async_notifier_unregister(&unicam->notifier); @@ -1168,6 +1168,3 @@ index b34551a3f44b..d5e0f70b600c 100644 v4l2_device_unregister(&unicam->v4l2_dev); unregister_nodes(unicam); if (unicam->sensor_config) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0227-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch b/root/target/linux/bcm27xx/patches-5.15/950-0217-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0227-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0217-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch index c829be10..60570e88 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0227-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0217-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch @@ -1,7 +1,7 @@ -From e122e87b59aa2a7d2a256ac4e0eb99de3be54cdd Mon Sep 17 00:00:00 2001 +From 508c93705916df5b83af07f9b122fb5c6f945b6d Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 2 Apr 2020 16:08:51 +0100 -Subject: [PATCH 227/634] media: bcm2835-unicam: Use dummy buffer if none have +Subject: [PATCH 217/828] media: bcm2835-unicam: Use dummy buffer if none have been queued If no buffer has been queued by a userland application, we use an @@ -14,8 +14,6 @@ Signed-off-by: Naushir Patuck .../media/platform/bcm2835/bcm2835-unicam.c | 160 ++++++++++++------ 1 file changed, 110 insertions(+), 50 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index d5e0f70b600c..933f1ba49e3d 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -47,6 +47,7 @@ @@ -26,7 +24,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 #include #include #include -@@ -112,6 +113,12 @@ MODULE_PARM_DESC(debug, "Debug level 0-3"); +@@ -112,6 +113,12 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 /* Default size of the embedded buffer */ #define UNICAM_EMBEDDED_SIZE 8192 @@ -52,7 +50,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 }; struct unicam_device { -@@ -661,27 +674,24 @@ static int unicam_reset_format(struct unicam_node *node) +@@ -661,27 +674,24 @@ static int unicam_reset_format(struct un return 0; } @@ -91,7 +89,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 } } -@@ -704,6 +714,7 @@ static inline void unicam_schedule_next_buffer(struct unicam_node *node) +@@ -704,6 +714,7 @@ static inline void unicam_schedule_next_ struct unicam_device *dev = node->dev; struct unicam_dmaqueue *dma_q = &node->dma_queue; struct unicam_buffer *buf; @@ -99,7 +97,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 dma_addr_t addr; buf = list_entry(dma_q->active.next, struct unicam_buffer, list); -@@ -711,7 +722,23 @@ static inline void unicam_schedule_next_buffer(struct unicam_node *node) +@@ -711,7 +722,23 @@ static inline void unicam_schedule_next_ list_del(&buf->list); addr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 0); @@ -124,7 +122,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 } static inline void unicam_process_buffer_complete(struct unicam_node *node, -@@ -721,7 +748,6 @@ static inline void unicam_process_buffer_complete(struct unicam_node *node, +@@ -721,7 +748,6 @@ static inline void unicam_process_buffer node->cur_frm->vb.sequence = sequence; vb2_buffer_done(&node->cur_frm->vb.vb2_buf, VB2_BUF_STATE_DONE); @@ -132,7 +130,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 } static int unicam_num_nodes_streaming(struct unicam_device *dev) -@@ -788,6 +814,28 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -788,6 +814,28 @@ static irqreturn_t unicam_isr(int irq, v if (!(sta && (UNICAM_IS | UNICAM_PI0))) return IRQ_HANDLED; @@ -161,7 +159,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 if (ista & UNICAM_FSI) { /* * Timestamp is to be when the first data byte was captured, -@@ -798,24 +846,16 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -798,24 +846,16 @@ static irqreturn_t unicam_isr(int irq, v if (unicam->node[i].cur_frm) unicam->node[i].cur_frm->vb.vb2_buf.timestamp = ts; @@ -194,7 +192,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 * where the HW does not actually swap it if the new frame has * already started. */ -@@ -823,7 +863,7 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -823,7 +863,7 @@ static irqreturn_t unicam_isr(int irq, v for (i = 0; i < num_nodes_streaming; i++) { spin_lock(&unicam->node[i].dma_queue_lock); if (!list_empty(&unicam->node[i].dma_queue.active) && @@ -203,7 +201,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 unicam_schedule_next_buffer(&unicam->node[i]); spin_unlock(&unicam->node[i].dma_queue_lock); } -@@ -1352,7 +1392,7 @@ static void unicam_start_rx(struct unicam_device *dev, dma_addr_t *addr) +@@ -1352,7 +1392,7 @@ static void unicam_start_rx(struct unica { struct unicam_cfg *cfg = &dev->cfg; int line_int_freq = dev->node[IMAGE_PAD].v_fmt.fmt.pix.height >> 2; @@ -212,7 +210,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 u32 val; if (line_int_freq < 128) -@@ -1413,7 +1453,7 @@ static void unicam_start_rx(struct unicam_device *dev, dma_addr_t *addr) +@@ -1413,7 +1453,7 @@ static void unicam_start_rx(struct unica reg_write_field(cfg, UNICAM_ANA, 0, UNICAM_DDL); /* Always start in trigger frame capture mode (UNICAM_FCM set) */ @@ -221,7 +219,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 set_field(&val, line_int_freq, UNICAM_LCIE_MASK); reg_write(cfg, UNICAM_ICTL, val); reg_write(cfg, UNICAM_STA, UNICAM_STA_MASK_ALL); -@@ -1501,7 +1541,8 @@ static void unicam_start_rx(struct unicam_device *dev, dma_addr_t *addr) +@@ -1501,7 +1541,8 @@ static void unicam_start_rx(struct unica reg_write(&dev->cfg, UNICAM_IBLS, dev->node[IMAGE_PAD].v_fmt.fmt.pix.bytesperline); @@ -231,7 +229,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 unicam_set_packing_config(dev); unicam_cfg_image_id(dev); -@@ -1511,8 +1552,10 @@ static void unicam_start_rx(struct unicam_device *dev, dma_addr_t *addr) +@@ -1511,8 +1552,10 @@ static void unicam_start_rx(struct unica reg_write(cfg, UNICAM_MISC, val); if (dev->node[METADATA_PAD].streaming && dev->sensor_embedded_data) { @@ -243,7 +241,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 } /* Enable peripheral */ -@@ -1686,13 +1729,14 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1686,13 +1729,14 @@ static void unicam_stop_streaming(struct unicam_runtime_put(dev); } else if (node->pad_id == METADATA_PAD) { @@ -264,7 +262,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 } /* Clear all queued buffers for the node */ -@@ -2321,6 +2365,15 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2321,6 +2365,15 @@ static int register_node(struct unicam_d video_set_drvdata(vdev, node); vdev->entity.flags |= MEDIA_ENT_FL_DEFAULT; @@ -280,7 +278,7 @@ index d5e0f70b600c..933f1ba49e3d 100644 if (node->pad_id == METADATA_PAD || !v4l2_subdev_has_op(unicam->sensor, video, s_std)) { v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_STD); -@@ -2376,13 +2429,20 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2376,13 +2429,20 @@ static int register_node(struct unicam_d static void unregister_nodes(struct unicam_device *unicam) { @@ -308,6 +306,3 @@ index d5e0f70b600c..933f1ba49e3d 100644 } } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0228-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch b/root/target/linux/bcm27xx/patches-5.15/950-0218-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0228-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0218-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch index 949c2d46..f31e1308 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0228-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0218-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch @@ -1,7 +1,7 @@ -From 0387e64d8fd383b74994ccb02e304840ea56d350 Mon Sep 17 00:00:00 2001 +From eb26017cdebde6e61c8b76e6bec2a37d1ea7a326 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 24 Mar 2020 23:13:02 +0200 -Subject: [PATCH 228/634] media: bcm2835-unicam: Disable event-related ioctls +Subject: [PATCH 218/828] media: bcm2835-unicam: Disable event-related ioctls on metadata node The unicam driver supports both the SOURCE_CHANGE and CTRL events. Both @@ -15,11 +15,9 @@ Reviewed-by: Naushir Patuck drivers/media/platform/bcm2835/bcm2835-unicam.c | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 933f1ba49e3d..2d4c7a247fc5 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2374,6 +2374,11 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2374,6 +2374,11 @@ static int register_node(struct unicam_d return -ENOMEM; } @@ -31,6 +29,3 @@ index 933f1ba49e3d..2d4c7a247fc5 100644 if (node->pad_id == METADATA_PAD || !v4l2_subdev_has_op(unicam->sensor, video, s_std)) { v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_STD); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0229-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0219-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0229-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0219-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch index c7e78c3b..b4713ec8 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0229-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0219-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch @@ -1,7 +1,7 @@ -From 9bfa2cba51a25e53466e5eab0645e74e3a2fd38c Mon Sep 17 00:00:00 2001 +From 972b51d8784316919ca1d0a107bceff893962dc1 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 24 Mar 2020 23:13:02 +0200 -Subject: [PATCH 229/634] media: bcm2835-unicam: Add support for the FRAME_SYNC +Subject: [PATCH 219/828] media: bcm2835-unicam: Add support for the FRAME_SYNC event The FRAME_SYNC event is useful for userspace image processing algorithms @@ -16,11 +16,9 @@ Reviewed-by: Naushir Patuck drivers/media/platform/bcm2835/bcm2835-unicam.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 2d4c7a247fc5..21d3a8585118 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -772,6 +772,16 @@ static int unicam_all_nodes_disabled(struct unicam_device *dev) +@@ -772,6 +772,16 @@ static int unicam_all_nodes_disabled(str !dev->node[METADATA_PAD].streaming; } @@ -37,7 +35,7 @@ index 2d4c7a247fc5..21d3a8585118 100644 /* * unicam_isr : ISR handler for unicam capture * @irq: irq number -@@ -853,6 +863,8 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -853,6 +863,8 @@ static irqreturn_t unicam_isr(int irq, v */ unicam_schedule_dummy_buffer(&unicam->node[i]); } @@ -46,7 +44,7 @@ index 2d4c7a247fc5..21d3a8585118 100644 } /* * Cannot swap buffer at frame end, there may be a race condition -@@ -2022,6 +2034,8 @@ static int unicam_subscribe_event(struct v4l2_fh *fh, +@@ -2022,6 +2034,8 @@ static int unicam_subscribe_event(struct const struct v4l2_event_subscription *sub) { switch (sub->type) { @@ -55,6 +53,3 @@ index 2d4c7a247fc5..21d3a8585118 100644 case V4L2_EVENT_SOURCE_CHANGE: return v4l2_event_subscribe(fh, sub, 4, NULL); } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0230-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0220-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0230-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0220-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch index 7ccb3322..eca102ed 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0230-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0220-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch @@ -1,7 +1,7 @@ -From 081408a6fa21ceb9669c624a4906d2c8d27e98fe Mon Sep 17 00:00:00 2001 +From 406161018f8f412f7e1d705349a17e74ae99ce83 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 16:26:03 +0100 -Subject: [PATCH 230/634] media: bcm2835-unicam: Re-fetch mbus code from subdev +Subject: [PATCH 220/828] media: bcm2835-unicam: Re-fetch mbus code from subdev on a g_fmt call The sensor subdevice may change the Bayer order if a H/V flip is @@ -13,11 +13,9 @@ Signed-off-by: Naushir Patuck .../media/platform/bcm2835/bcm2835-unicam.c | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 21d3a8585118..d4684fb2797f 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -967,11 +967,30 @@ static int unicam_enum_fmt_vid_cap(struct file *file, void *priv, +@@ -967,11 +967,30 @@ static int unicam_enum_fmt_vid_cap(struc static int unicam_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format *f) { @@ -29,16 +27,16 @@ index 21d3a8585118..d4684fb2797f 100644 - if (node->pad_id == METADATA_PAD) + if (node->pad_id != IMAGE_PAD) -+ return -EINVAL; -+ + return -EINVAL; + + /* + * If a flip has occurred in the sensor, the fmt code might have + * changed. So we will need to re-fetch the format from the subdevice. + */ + ret = __subdev_get_format(dev, &mbus_fmt, node->pad_id); + if (ret) - return -EINVAL; - ++ return -EINVAL; ++ + /* Find the V4L2 format from mbus code. We must match a known format. */ + fmt = find_format_by_code(mbus_fmt.code); + if (!fmt) @@ -49,6 +47,3 @@ index 21d3a8585118..d4684fb2797f 100644 *f = node->v_fmt; return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0231-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0221-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0231-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0221-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch index 67622a63..ebd21aaa 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0231-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0221-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch @@ -1,7 +1,7 @@ -From 69d73c1279aa12a1ba971253e6d2f14daa1c5a13 Mon Sep 17 00:00:00 2001 +From c286f2e1532ffbaee87fce5c83b5ea995b78d401 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 23 Apr 2020 10:20:26 +0100 -Subject: [PATCH 231/634] media: uapi: v4l2-core: Add ISP statistics output +Subject: [PATCH 221/828] media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type Add V4L2_META_FMT_BCM2835_ISP_STATS V4L2 format type. @@ -18,11 +18,9 @@ Signed-off-by: Naushir Patuck 4 files changed, 44 insertions(+) create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst -diff --git a/Documentation/userspace-api/media/v4l/meta-formats.rst b/Documentation/userspace-api/media/v4l/meta-formats.rst -index b2201d1524eb..c1dd92a2d617 100644 --- a/Documentation/userspace-api/media/v4l/meta-formats.rst +++ b/Documentation/userspace-api/media/v4l/meta-formats.rst -@@ -12,6 +12,7 @@ These formats are used for the :ref:`metadata` interface only. +@@ -12,6 +12,7 @@ These formats are used for the :ref:`met .. toctree:: :maxdepth: 1 @@ -30,9 +28,6 @@ index b2201d1524eb..c1dd92a2d617 100644 pixfmt-meta-d4xx pixfmt-meta-intel-ipu3 pixfmt-meta-rkisp1 -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst -new file mode 100644 -index 000000000000..f974774c8252 --- /dev/null +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst @@ -0,0 +1,41 @@ @@ -77,11 +72,9 @@ index 000000000000..f974774c8252 + :functions: bcm2835_isp_stats_hist bcm2835_isp_stats_region + bcm2835_isp_stats_focus bcm2835_isp_stats + -diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c -index 939d9a775bb1..67e5ad8bc80d 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1388,6 +1388,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) +@@ -1390,6 +1390,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_META_FMT_RK_ISP1_PARAMS: descr = "Rockchip ISP1 3A Parameters"; break; case V4L2_META_FMT_RK_ISP1_STAT_3A: descr = "Rockchip ISP1 3A Statistics"; break; case V4L2_META_FMT_SENSOR_DATA: descr = "Sensor Ancillary Metadata"; break; @@ -89,8 +82,6 @@ index 939d9a775bb1..67e5ad8bc80d 100644 default: /* Compressed formats */ -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index 58cbf8a9c5b7..f56bae0c4671 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -776,6 +776,7 @@ struct v4l2_pix_format { @@ -101,6 +92,3 @@ index 58cbf8a9c5b7..f56bae0c4671 100644 /* Vendor specific - used for RK_ISP1 camera sub-system */ #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0232-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch b/root/target/linux/bcm27xx/patches-5.15/950-0222-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch similarity index 89% rename from root/target/linux/bcm27xx/patches-5.15/0232-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0222-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch index 2e8885f4..4daeceb2 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0232-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0222-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch @@ -1,7 +1,7 @@ -From 216bc235c7f7d2050d52e3348b6a3aa26f45f9bc Mon Sep 17 00:00:00 2001 +From 3fd8c86caf51a567548d1ac85cd1a478d6163544 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 21 Apr 2020 15:06:19 +0100 -Subject: [PATCH 232/634] media: uapi: v4l-ctrls: Add CID base for the +Subject: [PATCH 222/828] media: uapi: v4l-ctrls: Add CID base for the bcm2835-isp driver We are reserving controls for the new bcm2835-isp driver. @@ -14,9 +14,6 @@ Signed-off-by: Naushir Patuck 3 files changed, 132 insertions(+) create mode 100644 Documentation/admin-guide/media/bcm2835-isp.rst -diff --git a/Documentation/admin-guide/media/bcm2835-isp.rst b/Documentation/admin-guide/media/bcm2835-isp.rst -new file mode 100644 -index 000000000000..e1c19f78435e --- /dev/null +++ b/Documentation/admin-guide/media/bcm2835-isp.rst @@ -0,0 +1,127 @@ @@ -147,11 +144,9 @@ index 000000000000..e1c19f78435e + bcm2835_isp_black_level bcm2835_isp_geq bcm2835_isp_gamma + bcm2835_isp_denoise bcm2835_isp_sharpen + bcm2835_isp_dpc_mode bcm2835_isp_dpc -diff --git a/Documentation/userspace-api/media/drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst -index 12e3c512d718..8f4d593c54a5 100644 --- a/Documentation/userspace-api/media/drivers/index.rst +++ b/Documentation/userspace-api/media/drivers/index.rst -@@ -35,6 +35,7 @@ For more details see the file COPYING in the source distribution of Linux. +@@ -35,6 +35,7 @@ For more details see the file COPYING in cx2341x-uapi hantro imx-uapi @@ -159,8 +154,6 @@ index 12e3c512d718..8f4d593c54a5 100644 max2175 meye-uapi omap3isp-uapi -diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h -index ee1684f51d97..cda42967cdb3 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -212,6 +212,10 @@ enum v4l2_colorfx { @@ -174,6 +167,3 @@ index ee1684f51d97..cda42967cdb3 100644 /* MPEG-class control IDs */ /* The MPEG controls are applicable to all codec controls * and the 'MPEG' part of the define is historical */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0233-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch b/root/target/linux/bcm27xx/patches-5.15/950-0223-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0233-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0223-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch index 5dbc79da..6c1bfb71 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0233-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0223-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch @@ -1,7 +1,7 @@ -From 7e8c9c8078aba0672acef249969c889802171ef5 Mon Sep 17 00:00:00 2001 +From d57aa89766495d350972f6fd76342919098ad84d Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 22 Apr 2020 08:32:32 +0100 -Subject: [PATCH 233/634] staging: vchiq: Load bcm2835_isp driver from vchiq +Subject: [PATCH 223/828] staging: vchiq: Load bcm2835_isp driver from vchiq bcmn2835_isp is a platform driver dependent on vchiq, therefore add the load/unload functions for it to vchiq. @@ -11,11 +11,9 @@ Signed-off-by: Naushir Patuck drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -index 79009bd24354..45da87359cd2 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c -@@ -69,6 +69,7 @@ static struct platform_device *bcm2835_camera; +@@ -69,6 +69,7 @@ static struct platform_device *bcm2835_c static struct platform_device *bcm2835_audio; static struct platform_device *bcm2835_codec; static struct platform_device *vcsm_cma; @@ -23,7 +21,7 @@ index 79009bd24354..45da87359cd2 100644 static struct vchiq_drvdata bcm2835_drvdata = { .cache_line_size = 32, -@@ -1850,6 +1851,7 @@ static int vchiq_probe(struct platform_device *pdev) +@@ -1869,6 +1870,7 @@ static int vchiq_probe(struct platform_d bcm2835_codec = vchiq_register_child(pdev, "bcm2835-codec"); bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera"); bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio"); @@ -31,7 +29,7 @@ index 79009bd24354..45da87359cd2 100644 return 0; -@@ -1861,6 +1863,7 @@ static int vchiq_probe(struct platform_device *pdev) +@@ -1880,6 +1882,7 @@ error_exit: static int vchiq_remove(struct platform_device *pdev) { @@ -39,6 +37,3 @@ index 79009bd24354..45da87359cd2 100644 platform_device_unregister(bcm2835_audio); platform_device_unregister(bcm2835_camera); platform_device_unregister(bcm2835_codec); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0234-bcm2835-dma-Add-proper-40-bit-DMA-support.patch b/root/target/linux/bcm27xx/patches-5.15/950-0224-bcm2835-dma-Add-proper-40-bit-DMA-support.patch similarity index 90% rename from root/target/linux/bcm27xx/patches-5.15/0234-bcm2835-dma-Add-proper-40-bit-DMA-support.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0224-bcm2835-dma-Add-proper-40-bit-DMA-support.patch index 2507485f..4a511d4f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0234-bcm2835-dma-Add-proper-40-bit-DMA-support.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0224-bcm2835-dma-Add-proper-40-bit-DMA-support.patch @@ -1,7 +1,7 @@ -From 9a19d132c732479cdd19cd6942e9dba9d796ca85 Mon Sep 17 00:00:00 2001 +From 3e8b86625c68d2d3a7ba594f921081fd980080b8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 4 Apr 2019 13:33:47 +0100 -Subject: [PATCH 234/634] bcm2835-dma: Add proper 40-bit DMA support +Subject: [PATCH 224/828] bcm2835-dma: Add proper 40-bit DMA support BCM2711 has 4 DMA channels with a 40-bit address range, allowing them to access the full 4GB of memory on a Pi 4. @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/dma/bcm2835-dma.c | 485 ++++++++++++++++++++++++++++++++------ 1 file changed, 412 insertions(+), 73 deletions(-) -diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 87b5d0bef355..ac0458a8027f 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -38,6 +38,11 @@ @@ -181,7 +179,7 @@ index 87b5d0bef355..ac0458a8027f 100644 static inline size_t bcm2835_dma_max_frame_length(struct bcm2835_chan *c) { /* lite and normal channels have different max frame length */ -@@ -207,6 +330,32 @@ static inline struct bcm2835_desc *to_bcm2835_dma_desc( +@@ -207,6 +330,32 @@ static inline struct bcm2835_desc *to_bc return container_of(t, struct bcm2835_desc, vd.tx); } @@ -214,7 +212,7 @@ index 87b5d0bef355..ac0458a8027f 100644 static void bcm2835_dma_free_cb_chain(struct bcm2835_desc *desc) { size_t i; -@@ -225,45 +374,53 @@ static void bcm2835_dma_desc_free(struct virt_dma_desc *vd) +@@ -225,45 +374,53 @@ static void bcm2835_dma_desc_free(struct } static void bcm2835_dma_create_cb_set_length( @@ -276,12 +274,13 @@ index 87b5d0bef355..ac0458a8027f 100644 - - /* reset total_length for next period */ - *total_len = 0; +- +- /* add extrainfo bits in info */ +- control_block->info |= finalextrainfo; + if (c->is_40bit_channel) { + struct bcm2711_dma40_scb *scb = + (struct bcm2711_dma40_scb *)control_block; - -- /* add extrainfo bits in info */ -- control_block->info |= finalextrainfo; ++ + scb->len = cb_len; + /* add extrainfo bits to ti */ + scb->ti |= to_bcm2711_ti(finalextrainfo); @@ -293,7 +292,7 @@ index 87b5d0bef355..ac0458a8027f 100644 } static inline size_t bcm2835_dma_count_frames_for_sg( -@@ -286,7 +443,7 @@ static inline size_t bcm2835_dma_count_frames_for_sg( +@@ -286,7 +443,7 @@ static inline size_t bcm2835_dma_count_f /** * bcm2835_dma_create_cb_chain - create a control block and fills data in * @@ -302,7 +301,7 @@ index 87b5d0bef355..ac0458a8027f 100644 * @direction: the direction in which we transfer * @cyclic: it is a cyclic transfer * @info: the default info bits to apply per controlblock -@@ -304,12 +461,11 @@ static inline size_t bcm2835_dma_count_frames_for_sg( +@@ -304,12 +461,11 @@ static inline size_t bcm2835_dma_count_f * @gfp: the GFP flag to use for allocation */ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( @@ -316,7 +315,7 @@ index 87b5d0bef355..ac0458a8027f 100644 size_t len = buf_len, total_len; size_t frame; struct bcm2835_desc *d; -@@ -341,11 +497,23 @@ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( +@@ -341,11 +497,23 @@ static struct bcm2835_desc *bcm2835_dma_ /* fill in the control block */ control_block = cb_entry->cb; @@ -345,7 +344,7 @@ index 87b5d0bef355..ac0458a8027f 100644 /* set up length in control_block if requested */ if (buf_len) { /* calculate length honoring period_length */ -@@ -359,7 +527,11 @@ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( +@@ -359,7 +527,11 @@ static struct bcm2835_desc *bcm2835_dma_ } /* link this the last controlblock */ @@ -358,7 +357,7 @@ index 87b5d0bef355..ac0458a8027f 100644 d->cb_list[frame - 1].cb->next = cb_entry->paddr; /* update src and dst and length */ -@@ -369,11 +541,21 @@ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( +@@ -369,11 +541,21 @@ static struct bcm2835_desc *bcm2835_dma_ dst += control_block->length; /* Length of total transfer */ @@ -382,7 +381,7 @@ index 87b5d0bef355..ac0458a8027f 100644 /* detect a size missmatch */ if (buf_len && (d->size != buf_len)) -@@ -387,13 +569,12 @@ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( +@@ -387,13 +569,12 @@ error_cb: } static void bcm2835_dma_fill_cb_chain_with_sg( @@ -397,7 +396,7 @@ index 87b5d0bef355..ac0458a8027f 100644 size_t len, max_len; unsigned int i; dma_addr_t addr; -@@ -401,14 +582,35 @@ static void bcm2835_dma_fill_cb_chain_with_sg( +@@ -401,14 +582,35 @@ static void bcm2835_dma_fill_cb_chain_wi max_len = bcm2835_dma_max_frame_length(c); for_each_sg(sgl, sgent, sg_len, i) { @@ -441,7 +440,7 @@ index 87b5d0bef355..ac0458a8027f 100644 } } } -@@ -417,6 +619,10 @@ static void bcm2835_dma_abort(struct bcm2835_chan *c) +@@ -417,6 +619,10 @@ static void bcm2835_dma_abort(struct bcm { void __iomem *chan_base = c->chan_base; long int timeout = 10000; @@ -452,7 +451,7 @@ index 87b5d0bef355..ac0458a8027f 100644 /* * A zero control block address means the channel is idle. -@@ -429,8 +635,7 @@ static void bcm2835_dma_abort(struct bcm2835_chan *c) +@@ -429,8 +635,7 @@ static void bcm2835_dma_abort(struct bcm writel(0, chan_base + BCM2835_DMA_CS); /* Wait for any current AXI transfer to complete */ @@ -462,7 +461,7 @@ index 87b5d0bef355..ac0458a8027f 100644 cpu_relax(); /* Peripheral might be stuck and fail to signal AXI write responses */ -@@ -455,9 +660,16 @@ static void bcm2835_dma_start_desc(struct bcm2835_chan *c) +@@ -455,9 +660,16 @@ static void bcm2835_dma_start_desc(struc c->desc = d = to_bcm2835_dma_desc(&vd->tx); @@ -482,7 +481,7 @@ index 87b5d0bef355..ac0458a8027f 100644 } static irqreturn_t bcm2835_dma_callback(int irq, void *data) -@@ -484,8 +696,7 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) +@@ -484,8 +696,7 @@ static irqreturn_t bcm2835_dma_callback( * if this IRQ handler is threaded.) If the channel is finished, it * will remain idle despite the ACTIVE flag being set. */ @@ -492,7 +491,7 @@ index 87b5d0bef355..ac0458a8027f 100644 c->chan_base + BCM2835_DMA_CS); d = c->desc; -@@ -588,9 +799,17 @@ static enum dma_status bcm2835_dma_tx_status(struct dma_chan *chan, +@@ -588,9 +799,17 @@ static enum dma_status bcm2835_dma_tx_st struct bcm2835_desc *d = c->desc; dma_addr_t pos; @@ -512,7 +511,7 @@ index 87b5d0bef355..ac0458a8027f 100644 pos = readl(c->chan_base + BCM2835_DMA_DEST_AD); else pos = 0; -@@ -636,7 +855,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy( +@@ -636,7 +855,7 @@ static struct dma_async_tx_descriptor *b frames = bcm2835_dma_frames_for_length(len, max_len); /* allocate the CB chain - this also fills in the pointers */ @@ -521,7 +520,7 @@ index 87b5d0bef355..ac0458a8027f 100644 info, extra, frames, src, dst, len, 0, GFP_KERNEL); if (!d) -@@ -671,11 +890,21 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( +@@ -671,11 +890,21 @@ static struct dma_async_tx_descriptor *b if (c->cfg.src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) return NULL; src = c->cfg.src_addr; @@ -543,7 +542,7 @@ index 87b5d0bef355..ac0458a8027f 100644 info |= BCM2835_DMA_D_DREQ | BCM2835_DMA_S_INC; } -@@ -683,7 +912,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( +@@ -683,7 +912,7 @@ static struct dma_async_tx_descriptor *b frames = bcm2835_dma_count_frames_for_sg(c, sgl, sg_len); /* allocate the CB chain */ @@ -552,7 +551,7 @@ index 87b5d0bef355..ac0458a8027f 100644 info, extra, frames, src, dst, 0, 0, GFP_NOWAIT); -@@ -691,7 +920,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( +@@ -691,7 +920,7 @@ static struct dma_async_tx_descriptor *b return NULL; /* fill in frames with scatterlist pointers */ @@ -561,7 +560,7 @@ index 87b5d0bef355..ac0458a8027f 100644 sgl, sg_len); return vchan_tx_prep(&c->vc, &d->vd, flags); -@@ -745,12 +974,16 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( +@@ -745,12 +974,16 @@ static struct dma_async_tx_descriptor *b if (c->cfg.src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) return NULL; src = c->cfg.src_addr; @@ -578,7 +577,7 @@ index 87b5d0bef355..ac0458a8027f 100644 src = buf_addr; info |= BCM2835_DMA_D_DREQ | BCM2835_DMA_S_INC; -@@ -770,7 +1003,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( +@@ -770,7 +1003,7 @@ static struct dma_async_tx_descriptor *b * note that we need to use GFP_NOWAIT, as the ALSA i2s dmaengine * implementation calls prep_dma_cyclic with interrupts disabled. */ @@ -587,7 +586,7 @@ index 87b5d0bef355..ac0458a8027f 100644 info, extra, frames, src, dst, buf_len, period_len, GFP_NOWAIT); -@@ -778,7 +1011,12 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( +@@ -778,7 +1011,12 @@ static struct dma_async_tx_descriptor *b return NULL; /* wrap around into a loop */ @@ -601,7 +600,7 @@ index 87b5d0bef355..ac0458a8027f 100644 return vchan_tx_prep(&c->vc, &d->vd, flags); } -@@ -839,9 +1077,11 @@ static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, +@@ -839,9 +1077,11 @@ static int bcm2835_dma_chan_init(struct c->irq_number = irq; c->irq_flags = irq_flags; @@ -616,7 +615,7 @@ index 87b5d0bef355..ac0458a8027f 100644 c->is_lite_channel = true; return 0; -@@ -861,8 +1101,58 @@ static void bcm2835_dma_free(struct bcm2835_dmadev *od) +@@ -861,8 +1101,58 @@ static void bcm2835_dma_free(struct bcm2 DMA_TO_DEVICE, DMA_ATTR_SKIP_CPU_SYNC); } @@ -676,7 +675,7 @@ index 87b5d0bef355..ac0458a8027f 100644 {}, }; MODULE_DEVICE_TABLE(of, bcm2835_dma_of_match); -@@ -894,6 +1184,8 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -894,6 +1184,8 @@ static int bcm2835_dma_probe(struct plat int irq_flags; uint32_t chans_available; char chan_name[BCM2835_DMA_CHAN_NAME_SIZE]; @@ -685,7 +684,7 @@ index 87b5d0bef355..ac0458a8027f 100644 if (!pdev->dev.dma_mask) pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; -@@ -914,9 +1206,13 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -914,9 +1206,13 @@ static int bcm2835_dma_probe(struct plat base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(base)) return PTR_ERR(base); @@ -702,7 +701,7 @@ index 87b5d0bef355..ac0458a8027f 100644 od->base = base; -@@ -953,6 +1249,14 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -953,6 +1249,14 @@ static int bcm2835_dma_probe(struct plat return -ENOMEM; } @@ -717,7 +716,7 @@ index 87b5d0bef355..ac0458a8027f 100644 /* Request DMA channel mask from device tree */ if (of_property_read_u32(pdev->dev.of_node, "brcm,dma-channel-mask", -@@ -962,11 +1266,34 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -962,11 +1266,34 @@ static int bcm2835_dma_probe(struct plat goto err_no_dma; } @@ -755,7 +754,7 @@ index 87b5d0bef355..ac0458a8027f 100644 /* skip masked out channels */ if (!(chans_available & (1 << i))) { irq[i] = -1; -@@ -989,13 +1316,17 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -989,13 +1316,17 @@ static int bcm2835_dma_probe(struct plat irq[i] = platform_get_irq(pdev, i < 11 ? i : 11); } @@ -774,7 +773,7 @@ index 87b5d0bef355..ac0458a8027f 100644 irq_flags = 0; for (j = 0; j <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; j++) if ((i != j) && (irq[j] == irq[i])) { -@@ -1007,9 +1338,10 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -1007,9 +1338,10 @@ static int bcm2835_dma_probe(struct plat rc = bcm2835_dma_chan_init(od, i, irq[i], irq_flags); if (rc) goto err_no_dma; @@ -786,7 +785,7 @@ index 87b5d0bef355..ac0458a8027f 100644 /* Device-tree DMA controller registration */ rc = of_dma_controller_register(pdev->dev.of_node, -@@ -1041,6 +1373,13 @@ static int bcm2835_dma_remove(struct platform_device *pdev) +@@ -1041,6 +1373,13 @@ static int bcm2835_dma_remove(struct pla bcm_dmaman_remove(pdev); dma_async_device_unregister(&od->ddev); @@ -800,6 +799,3 @@ index 87b5d0bef355..ac0458a8027f 100644 bcm2835_dma_free(od); return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0235-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch b/root/target/linux/bcm27xx/patches-5.15/950-0225-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0235-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0225-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch index e1adc8ad..c6fb7efa 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0235-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0225-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch @@ -1,7 +1,7 @@ -From 29fd62995cd40ef899dc407079fea060e7b21ec2 Mon Sep 17 00:00:00 2001 +From 1177118ba1ac3b45eeadf794fc51f6748351bb50 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 16:45:02 +0100 -Subject: [PATCH 235/634] media: bcm2835-unicam: Add support for +Subject: [PATCH 225/828] media: bcm2835-unicam: Add support for VIDIOC_[S|G]_SELECTION Sensors are now reflecting cropping and scaling parameters through @@ -13,11 +13,9 @@ Signed-off-by: Dave Stevenson .../media/platform/bcm2835/bcm2835-unicam.c | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index d4684fb2797f..0e1d525a0b35 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -1898,6 +1898,39 @@ static int unicam_g_edid(struct file *file, void *priv, struct v4l2_edid *edid) +@@ -1898,6 +1898,39 @@ static int unicam_g_edid(struct file *fi return v4l2_subdev_call(dev->sensor, pad, get_edid, edid); } @@ -57,7 +55,7 @@ index d4684fb2797f..0e1d525a0b35 100644 static int unicam_enum_framesizes(struct file *file, void *priv, struct v4l2_frmsizeenum *fsize) { -@@ -2218,6 +2251,9 @@ static const struct v4l2_ioctl_ops unicam_ioctl_ops = { +@@ -2218,6 +2251,9 @@ static const struct v4l2_ioctl_ops unica .vidioc_enum_framesizes = unicam_enum_framesizes, .vidioc_enum_frameintervals = unicam_enum_frameintervals, @@ -67,7 +65,7 @@ index d4684fb2797f..0e1d525a0b35 100644 .vidioc_g_parm = unicam_g_parm, .vidioc_s_parm = unicam_s_parm, -@@ -2446,6 +2482,14 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2446,6 +2482,14 @@ static int register_node(struct unicam_d !v4l2_subdev_has_op(unicam->sensor, pad, enum_frame_size)) v4l2_disable_ioctl(&node->video_dev, VIDIOC_ENUM_FRAMESIZES); @@ -82,6 +80,3 @@ index d4684fb2797f..0e1d525a0b35 100644 ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1); if (ret) { unicam_err(unicam, "Unable to register video device.\n"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0236-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch b/root/target/linux/bcm27xx/patches-5.15/950-0226-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch similarity index 70% rename from root/target/linux/bcm27xx/patches-5.15/0236-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0226-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch index 13602af9..b25c51ab 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0236-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0226-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch @@ -1,7 +1,7 @@ -From ca61129542c7cf2d86589251548eb41dd172f9ae Mon Sep 17 00:00:00 2001 +From bdcea74a84a4d8ca59a83cb09ec4275610448630 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 29 Apr 2020 22:05:09 +0100 -Subject: [PATCH 236/634] media: bcm2835-unicam: Do not stop streaming in +Subject: [PATCH 226/828] media: bcm2835-unicam: Do not stop streaming in unicam_release unicam_release calls _vb2_fop_release, which will call stop_streaming @@ -14,11 +14,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 3 --- 1 file changed, 3 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 0e1d525a0b35..c7e211d04ed3 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2204,9 +2204,6 @@ static int unicam_release(struct file *file) +@@ -2204,9 +2204,6 @@ static int unicam_release(struct file *f if (fh_singular) v4l2_subdev_call(sd, core, s_power, 0); @@ -28,6 +26,3 @@ index 0e1d525a0b35..c7e211d04ed3 100644 node->open--; mutex_unlock(&node->lock); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0237-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch b/root/target/linux/bcm27xx/patches-5.15/950-0227-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0237-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0227-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch index c8fbb21f..0d7fe21c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0237-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0227-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch @@ -1,7 +1,7 @@ -From adbb3ce2d7af228db346909bb321174e238ebafe Mon Sep 17 00:00:00 2001 +From d2bd297666eabcc351bab79ced0dc4e8ff0d74ff Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 30 Apr 2020 09:52:50 +0100 -Subject: [PATCH 237/634] media: bcm2835-unicam: Fix reference counting in +Subject: [PATCH 227/828] media: bcm2835-unicam: Fix reference counting in unicam_open The reference counting of node->open was only incremented after @@ -14,11 +14,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index c7e211d04ed3..a79fc4d99d36 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2170,16 +2170,18 @@ static int unicam_open(struct file *file) +@@ -2170,16 +2170,18 @@ static int unicam_open(struct file *file goto unlock; } @@ -38,6 +36,3 @@ index c7e211d04ed3..a79fc4d99d36 100644 ret = 0; unlock: --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0238-media-i2c-tc358743-Fix-fallthrough-warning.patch b/root/target/linux/bcm27xx/patches-5.15/950-0228-media-i2c-tc358743-Fix-fallthrough-warning.patch similarity index 60% rename from root/target/linux/bcm27xx/patches-5.15/0238-media-i2c-tc358743-Fix-fallthrough-warning.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0228-media-i2c-tc358743-Fix-fallthrough-warning.patch index 5f1d5a43..b8d24c68 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0238-media-i2c-tc358743-Fix-fallthrough-warning.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0228-media-i2c-tc358743-Fix-fallthrough-warning.patch @@ -1,18 +1,16 @@ -From 63f5efed800c66b968c46fd061b442e2d09c2cad Mon Sep 17 00:00:00 2001 +From 7f67a057d1f44fd4faedf5649419b438fa26f596 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:28:14 +0200 -Subject: [PATCH 238/634] media: i2c: tc358743: Fix fallthrough warning +Subject: [PATCH 228/828] media: i2c: tc358743: Fix fallthrough warning Signed-off-by: Jacko Dirks --- drivers/media/i2c/tc358743.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index 69f2d676448e..2985dd9e46cd 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -2006,6 +2006,7 @@ static int tc358743_probe_of(struct tc358743_state *state) +@@ -2006,6 +2006,7 @@ static int tc358743_probe_of(struct tc35 switch (bps_pr_lane) { default: dev_warn(dev, "untested bps per lane: %u bps\n", bps_pr_lane); @@ -20,6 +18,3 @@ index 69f2d676448e..2985dd9e46cd 100644 case 594000000U: state->pdata.lineinitcnt = 0xe80; state->pdata.lptxtimecnt = 0x003; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0239-media-bcm2835-unicam-Fix-uninitialized-warning.patch b/root/target/linux/bcm27xx/patches-5.15/950-0229-media-bcm2835-unicam-Fix-uninitialized-warning.patch similarity index 58% rename from root/target/linux/bcm27xx/patches-5.15/0239-media-bcm2835-unicam-Fix-uninitialized-warning.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0229-media-bcm2835-unicam-Fix-uninitialized-warning.patch index 0e8d2d21..f501ba46 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0239-media-bcm2835-unicam-Fix-uninitialized-warning.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0229-media-bcm2835-unicam-Fix-uninitialized-warning.patch @@ -1,18 +1,16 @@ -From afa0a128d810a9c987f48234d3989f158ecf9937 Mon Sep 17 00:00:00 2001 +From eee7a1da77f41106ba256bd72a63d1e6c2c78b94 Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 239/634] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 229/828] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- drivers/media/platform/bcm2835/bcm2835-unicam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index a79fc4d99d36..92e5deb4c6fd 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -1001,7 +1001,7 @@ const struct unicam_fmt *get_first_supported_format(struct unicam_device *dev) +@@ -1001,7 +1001,7 @@ const struct unicam_fmt *get_first_suppo { struct v4l2_subdev_mbus_code_enum mbus_code; const struct unicam_fmt *fmt = NULL; @@ -21,6 +19,3 @@ index a79fc4d99d36..92e5deb4c6fd 100644 int j; for (j = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++j) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0240-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch b/root/target/linux/bcm27xx/patches-5.15/950-0230-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0240-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0230-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch index 4c674bbd..42eff5ac 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0240-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0230-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch @@ -1,7 +1,7 @@ -From 1c0089c2268f72f53e513f1cc81ef0b898824bcc Mon Sep 17 00:00:00 2001 +From 2d19332d93b7739e51e4e641b485f3064aa90c8a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 19:45:41 +0100 -Subject: [PATCH 240/634] video: bcm2708_fb: Disable FB if no displays found +Subject: [PATCH 230/828] video: bcm2708_fb: Disable FB if no displays found If the firmware hasn't detected a display, the driver would assume one display was available, but because it had failed to retrieve the @@ -17,11 +17,9 @@ Signed-off-by: Phil Elwell drivers/video/fbdev/bcm2708_fb.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c -index 17e9260655e4..dac5c021ce52 100644 --- a/drivers/video/fbdev/bcm2708_fb.c +++ b/drivers/video/fbdev/bcm2708_fb.c -@@ -1092,10 +1092,9 @@ static int bcm2708_fb_probe(struct platform_device *dev) +@@ -1092,10 +1092,9 @@ static int bcm2708_fb_probe(struct platf * set one display */ if (ret || num_displays == 0) { @@ -34,6 +32,3 @@ index 17e9260655e4..dac5c021ce52 100644 } else { fbdev->firmware_supports_multifb = 1; } --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0241-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch b/root/target/linux/bcm27xx/patches-5.15/950-0231-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0241-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0231-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch index e3202c02..a27f6d42 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0241-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0231-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch @@ -1,7 +1,7 @@ -From bccf3df3736ff4d27ead15803ff595de53271d13 Mon Sep 17 00:00:00 2001 +From d2354a9d6fec42208eb71b4bd69edd98646e9b94 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Thu, 7 May 2020 15:50:54 +0100 -Subject: [PATCH 241/634] dt-bindings: media: i2c: Add IMX477 CMOS sensor +Subject: [PATCH 231/828] dt-bindings: media: i2c: Add IMX477 CMOS sensor binding Add YAML device tree binding for IMX477 CMOS image sensor. @@ -12,9 +12,6 @@ Signed-off-by: Naushir Patuck 1 file changed, 113 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/imx477.yaml -diff --git a/Documentation/devicetree/bindings/media/i2c/imx477.yaml b/Documentation/devicetree/bindings/media/i2c/imx477.yaml -new file mode 100644 -index 000000000000..0994e13e67f6 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/imx477.yaml @@ -0,0 +1,113 @@ @@ -131,6 +128,3 @@ index 000000000000..0994e13e67f6 + }; + +... --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0242-media-bcm2835-unicam-Always-service-interrupts.patch b/root/target/linux/bcm27xx/patches-5.15/950-0232-media-bcm2835-unicam-Always-service-interrupts.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0242-media-bcm2835-unicam-Always-service-interrupts.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0232-media-bcm2835-unicam-Always-service-interrupts.patch index ca15ffcb..4853f73d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0242-media-bcm2835-unicam-Always-service-interrupts.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0232-media-bcm2835-unicam-Always-service-interrupts.patch @@ -1,7 +1,7 @@ -From b9654e991c61643e2aac8525c7d0baceade29133 Mon Sep 17 00:00:00 2001 +From 4855155d32ac204d85c8f16c494e8bb8c70a7c83 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 242/634] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 232/828] media: bcm2835-unicam: Always service interrupts From when bringing up the driver, there was a check in the isr to ignore interrupts (claiming them handled) should the driver @@ -18,11 +18,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 15 --------------- 1 file changed, 15 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 92e5deb4c6fd..52a534d932bf 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -766,12 +766,6 @@ static int unicam_all_nodes_streaming(struct unicam_device *dev) +@@ -766,12 +766,6 @@ static int unicam_all_nodes_streaming(st return ret; } @@ -35,7 +33,7 @@ index 92e5deb4c6fd..52a534d932bf 100644 static void unicam_queue_event_sof(struct unicam_device *unicam) { struct v4l2_event event = { -@@ -801,15 +795,6 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -801,15 +795,6 @@ static irqreturn_t unicam_isr(int irq, v u64 ts; int i; @@ -51,6 +49,3 @@ index 92e5deb4c6fd..52a534d932bf 100644 sta = reg_read(cfg, UNICAM_STA); /* Write value back to clear the interrupts */ reg_write(cfg, UNICAM_STA, sta); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0243-sc16is7xx-Fix-for-hardware-flow-control.patch b/root/target/linux/bcm27xx/patches-5.15/950-0233-sc16is7xx-Fix-for-hardware-flow-control.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0243-sc16is7xx-Fix-for-hardware-flow-control.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0233-sc16is7xx-Fix-for-hardware-flow-control.patch index e551a6e0..efe60334 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0243-sc16is7xx-Fix-for-hardware-flow-control.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0233-sc16is7xx-Fix-for-hardware-flow-control.patch @@ -1,7 +1,7 @@ -From a78c7abb44150cf2e63d42867df0d62e64661eea Mon Sep 17 00:00:00 2001 +From 665e0c3a2b5f8dff0c037f02ca6b62772dcdaa15 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 13 May 2020 20:10:15 +0100 -Subject: [PATCH 243/634] sc16is7xx: Fix for hardware flow control +Subject: [PATCH 233/828] sc16is7xx: Fix for hardware flow control The SC16IS7XX hardware flow control is mishandled by the driver in a number of ways: @@ -24,11 +24,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/sc16is7xx.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) -diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c -index f8adcb68c409..2836fc22b1d4 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c -@@ -523,8 +523,9 @@ static int sc16is7xx_set_baud(struct uart_port *port, int baud) +@@ -523,8 +523,9 @@ static int sc16is7xx_set_baud(struct uar /* Enable enhanced features */ regcache_cache_bypass(s->regmap, true); @@ -40,7 +38,7 @@ index f8adcb68c409..2836fc22b1d4 100644 regcache_cache_bypass(s->regmap, false); /* Put LCR back to the normal mode */ -@@ -839,7 +840,7 @@ static unsigned int sc16is7xx_get_mctrl(struct uart_port *port) +@@ -842,7 +843,7 @@ static unsigned int sc16is7xx_get_mctrl( /* DCD and DSR are not wired and CTS/RTS is handled automatically * so just indicate DSR and CAR asserted */ @@ -49,7 +47,7 @@ index f8adcb68c409..2836fc22b1d4 100644 } static void sc16is7xx_set_mctrl(struct uart_port *port, unsigned int mctrl) -@@ -926,14 +927,19 @@ static void sc16is7xx_set_termios(struct uart_port *port, +@@ -929,14 +930,19 @@ static void sc16is7xx_set_termios(struct regcache_cache_bypass(s->regmap, true); sc16is7xx_port_write(port, SC16IS7XX_XON1_REG, termios->c_cc[VSTART]); sc16is7xx_port_write(port, SC16IS7XX_XOFF1_REG, termios->c_cc[VSTOP]); @@ -70,6 +68,3 @@ index f8adcb68c409..2836fc22b1d4 100644 sc16is7xx_port_write(port, SC16IS7XX_EFR_REG, flow); regcache_cache_bypass(s->regmap, false); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0244-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch b/root/target/linux/bcm27xx/patches-5.15/950-0234-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0244-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0234-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch index aa5527ae..c514d994 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0244-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0234-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch @@ -1,7 +1,7 @@ -From 5109f89b692276d7ac36d42959ed7563203154fe Mon Sep 17 00:00:00 2001 +From c8d96de559662047e3ca6eceff890a94445b282f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:42:10 +0100 -Subject: [PATCH 244/634] staging: vc04_services: mmal-vchiq: Update parameters +Subject: [PATCH 234/828] staging: vc04_services: mmal-vchiq: Update parameters list Adds in a couple of new MMAL parameter defines. @@ -11,8 +11,6 @@ Signed-off-by: Dave Stevenson drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h -index 27bafc5f01d2..89059bca0b77 100644 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h @@ -612,6 +612,12 @@ enum mmal_parameter_video_type { @@ -28,6 +26,3 @@ index 27bafc5f01d2..89059bca0b77 100644 }; /** Valid mirror modes */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0245-staging-vc04_services-bcm2835-camera-Request-headers.patch b/root/target/linux/bcm27xx/patches-5.15/950-0235-staging-vc04_services-bcm2835-camera-Request-headers.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0245-staging-vc04_services-bcm2835-camera-Request-headers.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0235-staging-vc04_services-bcm2835-camera-Request-headers.patch index 104cc234..73d5731b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0245-staging-vc04_services-bcm2835-camera-Request-headers.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0235-staging-vc04_services-bcm2835-camera-Request-headers.patch @@ -1,7 +1,7 @@ -From 8cd8ec2a5d671ffcf19f5271a2198ed3ba84ddcb Mon Sep 17 00:00:00 2001 +From c1fa65117abad264bb8c697f014b636fd5863df0 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 15 May 2020 13:48:59 +0100 -Subject: [PATCH 245/634] staging:vc04_services: bcm2835-camera: Request +Subject: [PATCH 235/828] staging:vc04_services: bcm2835-camera: Request headers with I-frame V4L2 wishes to have the codec header bytes in the same buffer as the @@ -13,11 +13,9 @@ Signed-off-by: Dave Stevenson .../staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -index 1b184d5c6b82..6b348e399c06 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c +++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c -@@ -1734,6 +1734,12 @@ static int mmal_init(struct bm2835_mmal_dev *dev) +@@ -1734,6 +1734,12 @@ static int mmal_init(struct bm2835_mmal_ MMAL_PARAMETER_MINIMISE_FRAGMENTATION, &enable, sizeof(enable)); @@ -30,6 +28,3 @@ index 1b184d5c6b82..6b348e399c06 100644 } ret = bm2835_mmal_set_all_camera_controls(dev); if (ret < 0) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0246-media-bcm2835-unicam-Retain-packing-information-on-G.patch b/root/target/linux/bcm27xx/patches-5.15/950-0236-media-bcm2835-unicam-Retain-packing-information-on-G.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0246-media-bcm2835-unicam-Retain-packing-information-on-G.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0236-media-bcm2835-unicam-Retain-packing-information-on-G.patch index 41093ea8..5eb97eb5 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0246-media-bcm2835-unicam-Retain-packing-information-on-G.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0236-media-bcm2835-unicam-Retain-packing-information-on-G.patch @@ -1,7 +1,7 @@ -From fb6a8f536e6e0374a9feacc554dea1b73080339f Mon Sep 17 00:00:00 2001 +From ed07f6c8df98216c634d209400a33198c75f442a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 246/634] media: bcm2835-unicam: Retain packing information on +Subject: [PATCH 236/828] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -18,11 +18,9 @@ Signed-off-by: Dave Stevenson .../media/platform/bcm2835/bcm2835-unicam.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 52a534d932bf..b32b2d33a4e2 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -974,8 +974,23 @@ static int unicam_g_fmt_vid_cap(struct file *file, void *priv, +@@ -974,8 +974,23 @@ static int unicam_g_fmt_vid_cap(struct f if (!fmt) return -EINVAL; @@ -48,6 +46,3 @@ index 52a534d932bf..b32b2d33a4e2 100644 *f = node->v_fmt; return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0247-zswap-Defer-zswap-initialisation.patch b/root/target/linux/bcm27xx/patches-5.15/950-0237-zswap-Defer-zswap-initialisation.patch similarity index 85% rename from root/target/linux/bcm27xx/patches-5.15/0247-zswap-Defer-zswap-initialisation.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0237-zswap-Defer-zswap-initialisation.patch index e65c5578..bdfe5460 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0247-zswap-Defer-zswap-initialisation.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0237-zswap-Defer-zswap-initialisation.patch @@ -1,7 +1,7 @@ -From a7633aee0a5e8cf5c05997403b43621b8d339eeb Mon Sep 17 00:00:00 2001 +From 82da79ba4a9c7c9d813575150665f426f5bf84fb Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 5 May 2020 15:23:32 +0100 -Subject: [PATCH 247/634] zswap: Defer zswap initialisation +Subject: [PATCH 237/828] zswap: Defer zswap initialisation Enabling zswap support in the kernel configuration costs about 1.5MB of RAM, even when zswap is not enabled at runtime. This cost can be @@ -18,11 +18,9 @@ Signed-off-by: Phil Elwell mm/zswap.c | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) -diff --git a/mm/zswap.c b/mm/zswap.c -index 7944e3e57e78..4719af5f27fe 100644 --- a/mm/zswap.c +++ b/mm/zswap.c -@@ -648,8 +648,9 @@ static struct zswap_pool *zswap_pool_create(char *type, char *compressor) +@@ -648,8 +648,9 @@ error: return NULL; } @@ -33,7 +31,7 @@ index 7944e3e57e78..4719af5f27fe 100644 bool has_comp, has_zpool; has_comp = crypto_has_acomp(zswap_compressor, 0, 0); -@@ -685,9 +686,21 @@ static __init struct zswap_pool *__zswap_pool_create_fallback(void) +@@ -685,9 +686,21 @@ static __init struct zswap_pool *__zswap } if (!has_comp || !has_zpool) @@ -57,7 +55,7 @@ index 7944e3e57e78..4719af5f27fe 100644 } static void zswap_pool_destroy(struct zswap_pool *pool) -@@ -860,16 +873,19 @@ static int zswap_zpool_param_set(const char *val, +@@ -860,16 +873,19 @@ static int zswap_zpool_param_set(const c static int zswap_enabled_param_set(const char *val, const struct kernel_param *kp) { @@ -82,7 +80,7 @@ index 7944e3e57e78..4719af5f27fe 100644 } /********************************* -@@ -1436,7 +1452,6 @@ static int __init zswap_debugfs_init(void) +@@ -1436,7 +1452,6 @@ static int __init zswap_debugfs_init(voi **********************************/ static int __init init_zswap(void) { @@ -125,6 +123,3 @@ index 7944e3e57e78..4719af5f27fe 100644 hp_fail: cpuhp_remove_state(CPUHP_MM_ZSWP_MEM_PREPARE); dstmem_fail: --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0248-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch b/root/target/linux/bcm27xx/patches-5.15/950-0238-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0248-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0238-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch index 20d748f9..1646b03c 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0248-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0238-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch @@ -1,7 +1,7 @@ -From 68fddd0f12feaed8be4d54ac8f857d61df0b0b39 Mon Sep 17 00:00:00 2001 +From 787a639203bd8adc231e9248892fc0209936e582 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 248/634] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 238/828] media: bcm2835-unicam: change minimum number of vb2_queue buffers to 1 Since the unicam driver was modified to write to a dummy buffer when no @@ -15,11 +15,9 @@ Signed-off-by: David Plowman drivers/media/platform/bcm2835/bcm2835-unicam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index b32b2d33a4e2..e76323af0952 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2404,7 +2404,7 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2404,7 +2404,7 @@ static int register_node(struct unicam_d q->buf_struct_size = sizeof(struct unicam_buffer); q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->lock = &node->lock; @@ -28,6 +26,3 @@ index b32b2d33a4e2..e76323af0952 100644 q->dev = &unicam->pdev->dev; ret = vb2_queue_init(q); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0250-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch b/root/target/linux/bcm27xx/patches-5.15/950-0239-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0250-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0239-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch index 539f92e6..3d8eda11 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0250-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0239-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch @@ -1,7 +1,7 @@ -From 3e390a38f29f48f8f2addc9710184ea03ea185cc Mon Sep 17 00:00:00 2001 +From 1be28b65180d3813010be470dfc450fb81fd2205 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Fri, 5 Jun 2020 09:22:49 +0000 -Subject: [PATCH 250/634] snd_bcm2835: disable HDMI audio when vc4 is used +Subject: [PATCH 239/828] snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware @@ -18,11 +18,9 @@ Signed-off-by: Hristo Venev drivers/staging/vc04_services/bcm2835-audio/bcm2835.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -index f926784c622d..31968fec297f 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -381,7 +381,9 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) +@@ -381,7 +381,9 @@ static int snd_bcm2835_alsa_probe(struct } if (!enable_compat_alsa) { @@ -33,6 +31,3 @@ index f926784c622d..31968fec297f 100644 // In this mode, always enable analog output enable_headphones = true; } else { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0251-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch b/root/target/linux/bcm27xx/patches-5.15/950-0240-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0251-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0240-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch index 3a9ed6b6..b1ac49b3 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0251-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0240-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch @@ -1,7 +1,7 @@ -From 0b18a52fbc7157a48e9e9e8d79a9e50467f8f214 Mon Sep 17 00:00:00 2001 +From 51c37ec0763368c1bd5abdf870e0e454ff858b3b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Apr 2018 14:42:27 +0100 -Subject: [PATCH 251/634] gpiolib: Don't prevent IRQ usage of output GPIOs +Subject: [PATCH 240/828] gpiolib: Don't prevent IRQ usage of output GPIOs Upstream Linux deems using output GPIOs to generate IRQs as a bogus use case, even though the BCM2835 GPIO controller is capable of doing @@ -15,8 +15,6 @@ Signed-off-by: Phil Elwell drivers/gpio/gpiolib.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) -diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c -index d1b9b721218f..34bac9a763ef 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -52,6 +52,8 @@ @@ -28,7 +26,7 @@ index d1b9b721218f..34bac9a763ef 100644 /* Device and char device-related information */ static DEFINE_IDA(gpio_ida); static dev_t gpio_devt; -@@ -2332,8 +2334,8 @@ int gpiod_direction_output(struct gpio_desc *desc, int value) +@@ -2361,8 +2363,8 @@ int gpiod_direction_output(struct gpio_d value = !!value; /* GPIOs used for enabled IRQs shall not be set as output */ @@ -39,7 +37,7 @@ index d1b9b721218f..34bac9a763ef 100644 gpiod_err(desc, "%s: tried to set a GPIO tied to an IRQ as output\n", __func__); -@@ -3141,8 +3143,8 @@ int gpiochip_lock_as_irq(struct gpio_chip *gc, unsigned int offset) +@@ -3180,8 +3182,8 @@ int gpiochip_lock_as_irq(struct gpio_chi } /* To be valid for IRQ the line needs to be input or open drain */ @@ -50,6 +48,3 @@ index d1b9b721218f..34bac9a763ef 100644 chip_err(gc, "%s: tried to flag a GPIO set as output for IRQ\n", __func__); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0252-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch b/root/target/linux/bcm27xx/patches-5.15/950-0241-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch similarity index 88% rename from root/target/linux/bcm27xx/patches-5.15/0252-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0241-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch index d2c2021f..7e0b2bab 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0252-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0241-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch @@ -1,7 +1,7 @@ -From 1a3755601874900b451bfb71cea1ce8d9d5a3a1c Mon Sep 17 00:00:00 2001 +From 6906c2e3573fe37d90a643143020c3e66bdb095c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jun 2020 09:57:03 +0100 -Subject: [PATCH 252/634] PCI: brcmstb: Add DT property to control L1SS +Subject: [PATCH 241/828] PCI: brcmstb: Add DT property to control L1SS The BRCM PCIe block has controls to enable control of the CLKREQ# signal by the L1SS, and to gate the refclk with the CLKREQ# input. @@ -16,8 +16,6 @@ Signed-off-by: Phil Elwell drivers/pci/controller/pcie-brcmstb.c | 30 ++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) -diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index cc30215f5a43..77967a37cbd9 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -116,8 +116,9 @@ @@ -40,7 +38,7 @@ index cc30215f5a43..77967a37cbd9 100644 int gen; u64 msi_target_addr; struct brcm_msi *msi; -@@ -1033,12 +1035,25 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie) +@@ -1033,12 +1035,25 @@ static int brcm_pcie_setup(struct brcm_p PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK); writel(tmp, base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1); @@ -71,7 +69,7 @@ index cc30215f5a43..77967a37cbd9 100644 writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); return 0; -@@ -1267,6 +1282,7 @@ static int brcm_pcie_probe(struct platform_device *pdev) +@@ -1267,6 +1282,7 @@ static int brcm_pcie_probe(struct platfo pcie->gen = (ret < 0) ? 0 : ret; pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc"); @@ -79,6 +77,3 @@ index cc30215f5a43..77967a37cbd9 100644 ret = clk_prepare_enable(pcie->clk); if (ret) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0253-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch b/root/target/linux/bcm27xx/patches-5.15/950-0242-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0253-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0242-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch index b84c636f..c415bc77 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0253-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0242-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch @@ -1,7 +1,7 @@ -From 88cec5d2caabb83866ae42546971d34657501f52 Mon Sep 17 00:00:00 2001 +From 433b3181ad361e70b67536d03d1cc2a4b2086a3c Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:24:31 +0200 -Subject: [PATCH 253/634] media: irs1125: Using i2c_transfer for ic2 reads +Subject: [PATCH 242/828] media: irs1125: Using i2c_transfer for ic2 reads Reading data over i2c is done by using i2c_transfer to ensure that this operation can't be interrupted. @@ -11,11 +11,9 @@ Signed-off-by: Markus Proeller drivers/media/i2c/irs1125.c | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) -diff --git a/drivers/media/i2c/irs1125.c b/drivers/media/i2c/irs1125.c -index 25e1dd5a08ef..6680afea5894 100644 --- a/drivers/media/i2c/irs1125.c +++ b/drivers/media/i2c/irs1125.c -@@ -248,27 +248,34 @@ static int irs1125_write(struct v4l2_subdev *sd, u16 reg, u16 val) +@@ -248,27 +248,34 @@ static int irs1125_write(struct v4l2_sub static int irs1125_read(struct v4l2_subdev *sd, u16 reg, u16 *val) { @@ -65,6 +63,3 @@ index 25e1dd5a08ef..6680afea5894 100644 } static int irs1125_write_array(struct v4l2_subdev *sd, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0254-media-irs1125-Refactoring-and-debug-messages.patch b/root/target/linux/bcm27xx/patches-5.15/950-0243-media-irs1125-Refactoring-and-debug-messages.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0254-media-irs1125-Refactoring-and-debug-messages.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0243-media-irs1125-Refactoring-and-debug-messages.patch index 5727b7f9..a96c9849 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0254-media-irs1125-Refactoring-and-debug-messages.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0243-media-irs1125-Refactoring-and-debug-messages.patch @@ -1,7 +1,7 @@ -From 41938024886d9aae3f7d95cdd341646a42fa28d5 Mon Sep 17 00:00:00 2001 +From 561f2461853713fe485c243b57e29ed127f10057 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:27:42 +0200 -Subject: [PATCH 254/634] media: irs1125: Refactoring and debug messages +Subject: [PATCH 243/828] media: irs1125: Refactoring and debug messages Changed some variable names to comply with checkpatch --strict mode. Debug messages added. @@ -11,8 +11,6 @@ Signed-off-by: Markus Proeller drivers/media/i2c/irs1125.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) -diff --git a/drivers/media/i2c/irs1125.c b/drivers/media/i2c/irs1125.c -index 6680afea5894..289f0c25b141 100644 --- a/drivers/media/i2c/irs1125.c +++ b/drivers/media/i2c/irs1125.c @@ -15,6 +15,7 @@ @@ -67,7 +65,7 @@ index 6680afea5894..289f0c25b141 100644 #define IRS1125_WINDOW_WIDTH_DEF 352 struct regval_list { -@@ -87,7 +89,7 @@ static inline struct irs1125 *to_state(struct v4l2_subdev *sd) +@@ -87,7 +89,7 @@ static inline struct irs1125 *to_state(s return container_of(sd, struct irs1125, sd); } @@ -76,7 +74,7 @@ index 6680afea5894..289f0c25b141 100644 {0xB017, 0x0413}, {0xB086, 0x3535}, {0xB0AE, 0xEF02}, -@@ -153,7 +155,7 @@ static struct regval_list irs1125_26MHz[] = { +@@ -153,7 +155,7 @@ static struct regval_list irs1125_26MHz[ {0xFFFF, 100} }; @@ -85,7 +83,7 @@ index 6680afea5894..289f0c25b141 100644 {0xC3A0, 0x823D}, {0xC3A1, 0xB13B}, {0xC3A2, 0x0313}, -@@ -243,6 +245,7 @@ static int irs1125_write(struct v4l2_subdev *sd, u16 reg, u16 val) +@@ -243,6 +245,7 @@ static int irs1125_write(struct v4l2_sub dev_err(&client->dev, "%s: i2c write error, reg: %x\n", __func__, reg); @@ -93,7 +91,7 @@ index 6680afea5894..289f0c25b141 100644 return ret; } -@@ -364,8 +367,8 @@ static int __sensor_init(struct v4l2_subdev *sd) +@@ -364,8 +367,8 @@ static int __sensor_init(struct v4l2_sub cnt++; } @@ -104,7 +102,7 @@ index 6680afea5894..289f0c25b141 100644 if (ret < 0) { dev_err(&client->dev, "write sensor default regs error\n"); return ret; -@@ -415,8 +418,8 @@ static int __sensor_init(struct v4l2_subdev *sd) +@@ -415,8 +418,8 @@ static int __sensor_init(struct v4l2_sub } release_firmware(fw); @@ -115,7 +113,7 @@ index 6680afea5894..289f0c25b141 100644 if (ret < 0) { dev_err(&client->dev, "write default sequence failed\n"); return ret; -@@ -1037,6 +1040,7 @@ static int irs1125_probe(struct i2c_client *client, +@@ -1037,6 +1040,7 @@ static int irs1125_probe(struct i2c_clie } gpio_num = desc_to_gpio(sensor->reset); @@ -123,6 +121,3 @@ index 6680afea5894..289f0c25b141 100644 mutex_init(&sensor->lock); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0255-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch b/root/target/linux/bcm27xx/patches-5.15/950-0244-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch similarity index 93% rename from root/target/linux/bcm27xx/patches-5.15/0255-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0244-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch index 2b0084d1..cb81d0d2 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0255-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0244-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch @@ -1,7 +1,7 @@ -From 86ff3d9c824ae03cc92f20a4f06825b1565fb019 Mon Sep 17 00:00:00 2001 +From a38f39915e7ffa099907c442b43996fe109bb764 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:31:36 +0200 -Subject: [PATCH 255/634] media: irs1125: Atomic access to imager +Subject: [PATCH 244/828] media: irs1125: Atomic access to imager reconfiguration Instead of changing the exposure and framerate settings for all sequences, @@ -18,11 +18,9 @@ Signed-off-by: Markus Proeller drivers/media/i2c/irs1125.h | 68 ++++++++--- 2 files changed, 204 insertions(+), 88 deletions(-) -diff --git a/drivers/media/i2c/irs1125.c b/drivers/media/i2c/irs1125.c -index 289f0c25b141..d59e05004a03 100644 --- a/drivers/media/i2c/irs1125.c +++ b/drivers/media/i2c/irs1125.c -@@ -89,6 +89,52 @@ static inline struct irs1125 *to_state(struct v4l2_subdev *sd) +@@ -89,6 +89,52 @@ static inline struct irs1125 *to_state(s return container_of(sd, struct irs1125, sd); } @@ -75,7 +73,7 @@ index 289f0c25b141..d59e05004a03 100644 static struct regval_list irs1125_26mhz[] = { {0xB017, 0x0413}, {0xB086, 0x3535}, -@@ -561,36 +607,57 @@ static int irs1125_s_ctrl(struct v4l2_ctrl *ctrl) +@@ -561,36 +607,57 @@ static int irs1125_s_ctrl(struct v4l2_ct struct irs1125 *dev = container_of(ctrl->handler, struct irs1125, ctrl_handler); struct i2c_client *client = v4l2_get_subdevdata(&dev->sd); @@ -159,7 +157,7 @@ index 289f0c25b141..d59e05004a03 100644 break; } case IRS1125_CID_MOD_PLL: -@@ -655,40 +722,40 @@ static int irs1125_s_ctrl(struct v4l2_ctrl *ctrl) +@@ -655,40 +722,40 @@ static int irs1125_s_ctrl(struct v4l2_ct } } break; @@ -230,12 +228,10 @@ index 289f0c25b141..d59e05004a03 100644 case IRS1125_CID_NUM_SEQS: err = irs1125_write(&dev->sd, 0xA88D, ctrl->val - 1); if (err >= 0) -@@ -758,19 +825,6 @@ static const struct v4l2_ctrl_config irs1125_custom_ctrls[] = { - .elem_size = sizeof(u16), - .dims = {sizeof(struct irs1125_mod_pll) / sizeof(u16), +@@ -760,19 +827,6 @@ static const struct v4l2_ctrl_config irs IRS1125_NUM_MOD_PLLS} -- }, { -- .ops = &irs1125_ctrl_ops, + }, { + .ops = &irs1125_ctrl_ops, - .id = IRS1125_CID_SAFE_RECONFIG, - .name = "Change exposure and pause of single seq", - .type = V4L2_CTRL_TYPE_U16, @@ -247,10 +243,12 @@ index 289f0c25b141..d59e05004a03 100644 - .elem_size = sizeof(u16), - .dims = {sizeof(struct irs1125_illu) / sizeof(u16), - IRS1125_NUM_SEQ_ENTRIES} - }, { - .ops = &irs1125_ctrl_ops, +- }, { +- .ops = &irs1125_ctrl_ops, .id = IRS1125_CID_SEQ_CONFIG, -@@ -900,9 +954,16 @@ static int irs1125_ctrls_init(struct irs1125 *sensor, struct device *dev) + .name = "Change sequence settings", + .type = V4L2_CTRL_TYPE_U16, +@@ -900,9 +954,16 @@ static int irs1125_ctrls_init(struct irs { struct v4l2_ctrl *ctrl; int err, i; @@ -269,7 +267,7 @@ index 289f0c25b141..d59e05004a03 100644 v4l2_ctrl_handler_init(hdl, ARRAY_SIZE(irs1125_custom_ctrls)); for (i = 0; i < ARRAY_SIZE(irs1125_custom_ctrls); i++) { -@@ -923,6 +984,27 @@ static int irs1125_ctrls_init(struct irs1125 *sensor, struct device *dev) +@@ -923,6 +984,27 @@ static int irs1125_ctrls_init(struct irs goto error_ctrls; } @@ -297,8 +295,6 @@ index 289f0c25b141..d59e05004a03 100644 sensor->sd.ctrl_handler = hdl; return 0; -diff --git a/drivers/media/i2c/irs1125.h b/drivers/media/i2c/irs1125.h -index dccaca23aa76..96d676123d5e 100644 --- a/drivers/media/i2c/irs1125.h +++ b/drivers/media/i2c/irs1125.h @@ -21,18 +21,57 @@ @@ -383,6 +379,3 @@ index dccaca23aa76..96d676123d5e 100644 struct irs1125_mod_pll { __u16 pllcfg1; __u16 pllcfg2; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0256-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch b/root/target/linux/bcm27xx/patches-5.15/950-0245-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch similarity index 89% rename from root/target/linux/bcm27xx/patches-5.15/0256-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0245-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch index bdcacaee..45821fba 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0256-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0245-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch @@ -1,7 +1,7 @@ -From 10bc85c32986727748817b8d4d9002eb774aa779 Mon Sep 17 00:00:00 2001 +From c6e3e462801bfc69373874b3778848211bc575c6 Mon Sep 17 00:00:00 2001 From: Markus Proeller Date: Tue, 16 Jun 2020 13:33:56 +0200 -Subject: [PATCH 256/634] media: irs1125: Keep HW in sync after imager reset +Subject: [PATCH 245/828] media: irs1125: Keep HW in sync after imager reset When closing the video device, the irs1125 is put in power down state. To keep V4L2 ctrls and the HW in sync, v4l2_ctrl_handler_setup is @@ -17,8 +17,6 @@ Signed-off-by: Markus Proeller drivers/media/i2c/irs1125.c | 121 +++++++++++++++++------------------- 1 file changed, 58 insertions(+), 63 deletions(-) -diff --git a/drivers/media/i2c/irs1125.c b/drivers/media/i2c/irs1125.c -index d59e05004a03..30c3d2640386 100644 --- a/drivers/media/i2c/irs1125.c +++ b/drivers/media/i2c/irs1125.c @@ -82,6 +82,7 @@ struct irs1125 { @@ -29,7 +27,7 @@ index d59e05004a03..30c3d2640386 100644 }; static inline struct irs1125 *to_state(struct v4l2_subdev *sd) -@@ -276,8 +277,7 @@ static struct regval_list irs1125_seq_cfg_init[] = { +@@ -276,8 +277,7 @@ static struct regval_list irs1125_seq_cf {0xC039, 0x0000}, {0xC401, 0x0002}, @@ -39,7 +37,7 @@ index d59e05004a03..30c3d2640386 100644 }; static int irs1125_write(struct v4l2_subdev *sd, u16 reg, u16 val) -@@ -471,7 +471,11 @@ static int __sensor_init(struct v4l2_subdev *sd) +@@ -471,7 +471,11 @@ static int __sensor_init(struct v4l2_sub return ret; } @@ -52,7 +50,7 @@ index d59e05004a03..30c3d2640386 100644 } static int irs1125_sensor_power(struct v4l2_subdev *sd, int on) -@@ -607,8 +611,6 @@ static int irs1125_s_ctrl(struct v4l2_ctrl *ctrl) +@@ -607,8 +611,6 @@ static int irs1125_s_ctrl(struct v4l2_ct struct irs1125 *dev = container_of(ctrl->handler, struct irs1125, ctrl_handler); struct i2c_client *client = v4l2_get_subdevdata(&dev->sd); @@ -61,7 +59,7 @@ index d59e05004a03..30c3d2640386 100644 int err = 0, i; switch (ctrl->id) { -@@ -660,68 +662,61 @@ static int irs1125_s_ctrl(struct v4l2_ctrl *ctrl) +@@ -660,68 +662,61 @@ static int irs1125_s_ctrl(struct v4l2_ct ctrl->val); break; } @@ -181,6 +179,3 @@ index d59e05004a03..30c3d2640386 100644 case IRS1125_CID_SEQ_CONFIG: { struct irs1125_seq_cfg *cfg_new; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0257-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch b/root/target/linux/bcm27xx/patches-5.15/950-0246-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0257-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0246-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch index 30d59072..bd6d1fea 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0257-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0246-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch @@ -1,7 +1,7 @@ -From 1f88c470cf3b4c3b6db0ed02c03c633abdda8ef5 Mon Sep 17 00:00:00 2001 +From 94cbe2b0a76192bb69ae6168ec0439c6367ada7b Mon Sep 17 00:00:00 2001 From: Maxim Mikityanskiy Date: Sat, 20 Jun 2020 15:40:00 +0300 -Subject: [PATCH 257/634] staging: bcm2835-audio: Add missing MODULE_ALIAS +Subject: [PATCH 246/828] staging: bcm2835-audio: Add missing MODULE_ALIAS Commit 8353fe6f1e0f ("Revert "staging: bcm2835-audio: Drop DT dependency"") reverts the upstream change and makes bcm2835-audio use @@ -21,15 +21,10 @@ Signed-off-by: Maxim Mikityanskiy drivers/staging/vc04_services/bcm2835-audio/bcm2835.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -index 31968fec297f..a0cba3823e5e 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.c -@@ -438,3 +438,4 @@ module_platform_driver(bcm2835_alsa_driver); +@@ -438,3 +438,4 @@ module_platform_driver(bcm2835_alsa_driv MODULE_AUTHOR("Dom Cobley"); MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:bcm2835_audio"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0258-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch b/root/target/linux/bcm27xx/patches-5.15/950-0247-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch similarity index 86% rename from root/target/linux/bcm27xx/patches-5.15/0258-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0247-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch index bf750fa5..8aa70e30 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0258-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0247-brcmfmac-Prefer-a-ccode-from-OTP-over-nvram-file.patch @@ -1,7 +1,7 @@ -From 27eb3f6f7c3928da6360101ddc41d22abef961d0 Mon Sep 17 00:00:00 2001 +From 0e585ca8be4c2e35a9fba1af88720e5a4732b5a1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 Jun 2020 11:51:05 +0100 -Subject: [PATCH 258/634] brcmfmac: Prefer a ccode from OTP over nvram file +Subject: [PATCH 247/828] brcmfmac: Prefer a ccode from OTP over nvram file Allow the nvram file to set a default ccode (regulatory domain) without overriding one set in OTP. @@ -12,8 +12,6 @@ Signed-off-by: Phil Elwell .../broadcom/brcm80211/brcmfmac/firmware.c | 21 +++++++++- 2 files changed, 47 insertions(+), 13 deletions(-) -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index c388d56269bc..fefa8c058350 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -9,6 +9,7 @@ @@ -24,7 +22,7 @@ index c388d56269bc..fefa8c058350 100644 #include #include #include -@@ -7508,31 +7509,45 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -7508,31 +7509,45 @@ static void brcmf_cfg80211_reg_notifier( struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0); struct brcmf_pub *drvr = cfg->pub; struct brcmf_fil_country_le ccreq; @@ -82,8 +80,6 @@ index c388d56269bc..fefa8c058350 100644 if (err) return; -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c -index 0eb13e5df517..bce38ddfab9e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -10,6 +10,7 @@ @@ -103,7 +99,7 @@ index 0eb13e5df517..bce38ddfab9e 100644 /** * struct nvram_parser - internal info for parser. * -@@ -541,10 +544,26 @@ static int brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx) +@@ -543,10 +546,26 @@ static int brcmf_fw_request_nvram_done(c goto fail; } @@ -131,6 +127,3 @@ index 0eb13e5df517..bce38ddfab9e 100644 if (free_bcm47xx_nvram) bcm47xx_nvram_release_contents(data); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0259-drivers-media-Remove-the-downstream-version-of-bcm28.patch b/root/target/linux/bcm27xx/patches-5.15/950-0248-drivers-media-Remove-the-downstream-version-of-bcm28.patch similarity index 99% rename from root/target/linux/bcm27xx/patches-5.15/0259-drivers-media-Remove-the-downstream-version-of-bcm28.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0248-drivers-media-Remove-the-downstream-version-of-bcm28.patch index fbe07733..54bce064 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0259-drivers-media-Remove-the-downstream-version-of-bcm28.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0248-drivers-media-Remove-the-downstream-version-of-bcm28.patch @@ -1,7 +1,7 @@ -From 7728035d7358ad8f99128e7d5a9b727f73563227 Mon Sep 17 00:00:00 2001 +From 7d004a9a9e1acbe5a1c93372dcb92cbc42f45779 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 10:05:57 +0100 -Subject: [PATCH 259/634] drivers: media: Remove the downstream version of +Subject: [PATCH 248/828] drivers: media: Remove the downstream version of bcm2835-unicam About to be replaced by the upstream version. @@ -18,9 +18,6 @@ Signed-off-by: Dave Stevenson delete mode 100644 drivers/media/platform/bcm2835/bcm2835-unicam.c delete mode 100644 drivers/media/platform/bcm2835/vc4-regs-unicam.h -diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig -deleted file mode 100644 -index 20e15147ee02..000000000000 --- a/drivers/media/platform/bcm2835/Kconfig +++ /dev/null @@ -1,14 +0,0 @@ @@ -38,18 +35,12 @@ index 20e15147ee02..000000000000 - - To compile this driver as a module, choose M here. The module - will be called bcm2835-unicam. -diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile -deleted file mode 100644 -index a98aba03598a..000000000000 --- a/drivers/media/platform/bcm2835/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# Makefile for BCM2835 Unicam driver - -obj-$(CONFIG_VIDEO_BCM2835_UNICAM) += bcm2835-unicam.o -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -deleted file mode 100644 -index e76323af0952..000000000000 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ /dev/null @@ -1,2873 +0,0 @@ @@ -2926,9 +2917,6 @@ index e76323af0952..000000000000 -MODULE_DESCRIPTION("BCM2835 Unicam driver"); -MODULE_LICENSE("GPL"); -MODULE_VERSION(UNICAM_VERSION); -diff --git a/drivers/media/platform/bcm2835/vc4-regs-unicam.h b/drivers/media/platform/bcm2835/vc4-regs-unicam.h -deleted file mode 100644 -index ae059a171d0f..000000000000 --- a/drivers/media/platform/bcm2835/vc4-regs-unicam.h +++ /dev/null @@ -1,253 +0,0 @@ @@ -3185,6 +3173,3 @@ index ae059a171d0f..000000000000 -#define UNICAM_FL1 BIT(9) - -#endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0260-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch b/root/target/linux/bcm27xx/patches-5.15/950-0249-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0260-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0249-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch index b75fac19..bdd2aba1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0260-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0249-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch @@ -1,7 +1,7 @@ -From 2e13d36f35073b72d84d93721e46f8a973e05a58 Mon Sep 17 00:00:00 2001 +From af60fe428f7daec12a552ac5256fa872ca0d2219 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 4 May 2020 12:25:41 +0300 -Subject: [PATCH 260/634] media: bcm2835-unicam: Driver for CCP2/CSI2 camera +Subject: [PATCH 249/828] media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface Add a driver for the Unicam camera receiver block on BCM283x processors. @@ -29,11 +29,9 @@ Reported-by: kbuild test robot create mode 100644 drivers/media/platform/bcm2835/bcm2835-unicam.c create mode 100644 drivers/media/platform/bcm2835/vc4-regs-unicam.h -diff --git a/MAINTAINERS b/MAINTAINERS -index 8688aaded569..77181bae6abe 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3563,7 +3563,7 @@ M: Raspberry Pi Kernel Maintenance +@@ -3564,7 +3564,7 @@ M: Raspberry Pi Kernel Maintenance -diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig -new file mode 100644 -index 000000000000..ec46e3ef053c --- /dev/null +++ b/drivers/media/platform/bcm2835/Kconfig @@ -0,0 +1,15 @@ @@ -63,18 +58,12 @@ index 000000000000..ec46e3ef053c + + To compile this driver as a module, choose M here. The module will be + called bcm2835-unicam. -diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile -new file mode 100644 -index 000000000000..a98aba03598a --- /dev/null +++ b/drivers/media/platform/bcm2835/Makefile @@ -0,0 +1,3 @@ +# Makefile for BCM2835 Unicam driver + +obj-$(CONFIG_VIDEO_BCM2835_UNICAM) += bcm2835-unicam.o -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -new file mode 100644 -index 000000000000..2e9387cbc1e0 --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -0,0 +1,2825 @@ @@ -2903,9 +2892,6 @@ index 000000000000..2e9387cbc1e0 +MODULE_DESCRIPTION("BCM2835 Unicam driver"); +MODULE_LICENSE("GPL"); +MODULE_VERSION(UNICAM_VERSION); -diff --git a/drivers/media/platform/bcm2835/vc4-regs-unicam.h b/drivers/media/platform/bcm2835/vc4-regs-unicam.h -new file mode 100644 -index 000000000000..ae059a171d0f --- /dev/null +++ b/drivers/media/platform/bcm2835/vc4-regs-unicam.h @@ -0,0 +1,253 @@ @@ -3162,6 +3148,3 @@ index 000000000000..ae059a171d0f +#define UNICAM_FL1 BIT(9) + +#endif --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0261-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch b/root/target/linux/bcm27xx/patches-5.15/950-0250-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch similarity index 84% rename from root/target/linux/bcm27xx/patches-5.15/0261-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0250-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch index 0b24cf2d..2013301a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0261-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0250-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch @@ -1,7 +1,7 @@ -From 29a850685bb7616e7f2a6e3797e69fb57a6beb4e Mon Sep 17 00:00:00 2001 +From edfca11d9de1480d4a9653f42ec521723bba377e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 14:32:51 +0100 -Subject: [PATCH 261/634] media: bcm2835-unicam: Add support for +Subject: [PATCH 250/828] media: bcm2835-unicam: Add support for get_mbus_config to set num lanes Use the get_mbus_config pad subdev call to allow a source to use @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson .../media/platform/bcm2835/bcm2835-unicam.c | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 2e9387cbc1e0..9adfb2d217af 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -1639,12 +1639,35 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1639,12 +1639,35 @@ static int unicam_start_streaming(struct goto err_streaming; } @@ -56,6 +54,3 @@ index 2e9387cbc1e0..9adfb2d217af 100644 ret = clk_set_rate(dev->clock, 100 * 1000 * 1000); if (ret) { unicam_err(dev, "failed to set up clock\n"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0262-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch b/root/target/linux/bcm27xx/patches-5.15/950-0251-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch similarity index 68% rename from root/target/linux/bcm27xx/patches-5.15/0262-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0251-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch index f6f284f6..db544302 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0262-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0251-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch @@ -1,7 +1,7 @@ -From e2e3dbdc0ab710902a6886b8cad5803e03949e07 Mon Sep 17 00:00:00 2001 +From a7785ffbb26519f0250027ec0c4a9e00941d2b08 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 15:53:44 +0100 -Subject: [PATCH 262/634] media: bcm2835-unicam: Avoid gcc warning over {0} on +Subject: [PATCH 251/828] media: bcm2835-unicam: Avoid gcc warning over {0} on endpoint Older gcc versions object to = { 0 } initialisation if the first @@ -14,11 +14,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 9adfb2d217af..a65e1da55142 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2586,7 +2586,7 @@ static const struct v4l2_async_notifier_operations unicam_async_ops = { +@@ -2586,7 +2586,7 @@ static const struct v4l2_async_notifier_ static int of_unicam_connect_subdevs(struct unicam_device *dev) { struct platform_device *pdev = dev->pdev; @@ -27,6 +25,3 @@ index 9adfb2d217af..a65e1da55142 100644 struct device_node *ep_node; struct device_node *sensor_node; unsigned int lane; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0263-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch b/root/target/linux/bcm27xx/patches-5.15/950-0252-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0263-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0252-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch index 2f1c49a0..d5cf0163 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0263-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0252-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch @@ -1,7 +1,7 @@ -From 747d384b2930f8c5a9848d1b3c82a4c20eabcf74 Mon Sep 17 00:00:00 2001 +From ad5af1b10a777ba456e48af615a16c6fe0d2be0b Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 12 Jun 2020 15:53:46 +0200 -Subject: [PATCH 263/634] media: i2c: imx290: set the format before +Subject: [PATCH 252/828] media: i2c: imx290: set the format before VIDIOC_SUBDEV_G_FMT is called Commit d46cfdc86c30d5ec768924f0b1e2683c8d20b671 upstream. @@ -26,11 +26,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/i2c/imx290.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index bf7a6c37ca5d..f6ae24a964d4 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c -@@ -1087,6 +1087,9 @@ static int imx290_probe(struct i2c_client *client) +@@ -1087,6 +1087,9 @@ static int imx290_probe(struct i2c_clien goto free_ctrl; } @@ -40,6 +38,3 @@ index bf7a6c37ca5d..f6ae24a964d4 100644 ret = v4l2_async_register_subdev(&imx290->sd); if (ret < 0) { dev_err(dev, "Could not register v4l2 device\n"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0264-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch b/root/target/linux/bcm27xx/patches-5.15/950-0253-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0264-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0253-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch index 36cffd0d..66384ac8 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0264-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0253-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch @@ -1,7 +1,7 @@ -From 0e533fd55be400ca2fa15cd0b659e984e4c8d41f Mon Sep 17 00:00:00 2001 +From f090a245997bffaf33cab254ef7735c90da11520 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 08:28:51 +0100 -Subject: [PATCH 264/634] media: i2c: imx290: Add support for 74.25MHz clock +Subject: [PATCH 253/828] media: i2c: imx290: Add support for 74.25MHz clock The existing driver only supported a clock of 37.125MHz, but the sensor also supports 74.25MHz. @@ -14,8 +14,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 119 ++++++++++++++++++++++++++++++------- 1 file changed, 97 insertions(+), 22 deletions(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index f6ae24a964d4..45b10a8aafa1 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -1,6 +1,10 @@ @@ -59,7 +57,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 struct regmap *regmap; u8 nlanes; u8 bpp; -@@ -116,8 +130,6 @@ static const struct imx290_regval imx290_global_init_settings[] = { +@@ -116,8 +130,6 @@ static const struct imx290_regval imx290 { 0x3018, 0x65 }, { 0x3019, 0x04 }, { 0x301a, 0x00 }, @@ -68,7 +66,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 { 0x303a, 0x0c }, { 0x3040, 0x00 }, { 0x3041, 0x00 }, -@@ -171,6 +183,30 @@ static const struct imx290_regval imx290_global_init_settings[] = { +@@ -171,6 +183,30 @@ static const struct imx290_regval imx290 { 0x33b3, 0x04 }, }; @@ -99,7 +97,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 static const struct imx290_regval imx290_1080p_settings[] = { /* mode settings */ { 0x3007, 0x00 }, -@@ -182,13 +218,6 @@ static const struct imx290_regval imx290_1080p_settings[] = { +@@ -182,13 +218,6 @@ static const struct imx290_regval imx290 { 0x3419, 0x04 }, { 0x3012, 0x64 }, { 0x3013, 0x00 }, @@ -113,7 +111,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 /* data rate settings */ { 0x3405, 0x10 }, { 0x3446, 0x57 }, -@@ -209,6 +238,30 @@ static const struct imx290_regval imx290_1080p_settings[] = { +@@ -209,6 +238,30 @@ static const struct imx290_regval imx290 { 0x3455, 0x00 }, }; @@ -144,7 +142,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 static const struct imx290_regval imx290_720p_settings[] = { /* mode settings */ { 0x3007, 0x10 }, -@@ -220,13 +273,6 @@ static const struct imx290_regval imx290_720p_settings[] = { +@@ -220,13 +273,6 @@ static const struct imx290_regval imx290 { 0x3419, 0x02 }, { 0x3012, 0x64 }, { 0x3013, 0x00 }, @@ -158,7 +156,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 /* data rate settings */ { 0x3405, 0x10 }, { 0x3446, 0x4f }, -@@ -312,6 +358,11 @@ static const struct imx290_mode imx290_modes_2lanes[] = { +@@ -312,6 +358,11 @@ static const struct imx290_mode imx290_m .link_freq_index = FREQ_INDEX_1080P, .data = imx290_1080p_settings, .data_size = ARRAY_SIZE(imx290_1080p_settings), @@ -170,7 +168,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 }, { .width = 1280, -@@ -320,6 +371,11 @@ static const struct imx290_mode imx290_modes_2lanes[] = { +@@ -320,6 +371,11 @@ static const struct imx290_mode imx290_m .link_freq_index = FREQ_INDEX_720P, .data = imx290_720p_settings, .data_size = ARRAY_SIZE(imx290_720p_settings), @@ -182,7 +180,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 }, }; -@@ -331,6 +387,11 @@ static const struct imx290_mode imx290_modes_4lanes[] = { +@@ -331,6 +387,11 @@ static const struct imx290_mode imx290_m .link_freq_index = FREQ_INDEX_1080P, .data = imx290_1080p_settings, .data_size = ARRAY_SIZE(imx290_1080p_settings), @@ -194,7 +192,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 }, { .width = 1280, -@@ -339,6 +400,11 @@ static const struct imx290_mode imx290_modes_4lanes[] = { +@@ -339,6 +400,11 @@ static const struct imx290_mode imx290_m .link_freq_index = FREQ_INDEX_720P, .data = imx290_720p_settings, .data_size = ARRAY_SIZE(imx290_720p_settings), @@ -206,7 +204,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 }, }; -@@ -712,6 +778,8 @@ static int imx290_set_hmax(struct imx290 *imx290, u32 val) +@@ -712,6 +778,8 @@ static int imx290_set_hmax(struct imx290 /* Start streaming */ static int imx290_start_streaming(struct imx290 *imx290) { @@ -215,7 +213,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 int ret; /* Set init register settings */ -@@ -723,6 +791,14 @@ static int imx290_start_streaming(struct imx290 *imx290) +@@ -723,6 +791,14 @@ static int imx290_start_streaming(struct return ret; } @@ -230,7 +228,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 /* Apply the register values related to current frame format */ ret = imx290_write_current_format(imx290); if (ret < 0) { -@@ -935,7 +1011,6 @@ static int imx290_probe(struct i2c_client *client) +@@ -935,7 +1011,6 @@ static int imx290_probe(struct i2c_clien .bus_type = V4L2_MBUS_CSI2_DPHY }; struct imx290 *imx290; @@ -238,7 +236,7 @@ index f6ae24a964d4..45b10a8aafa1 100644 s64 fq; int ret; -@@ -999,21 +1074,21 @@ static int imx290_probe(struct i2c_client *client) +@@ -999,21 +1074,21 @@ static int imx290_probe(struct i2c_clien } ret = fwnode_property_read_u32(dev_fwnode(dev), "clock-frequency", @@ -264,6 +262,3 @@ index f6ae24a964d4..45b10a8aafa1 100644 if (ret) { dev_err(dev, "Could not set xclk frequency\n"); goto free_err; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0265-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0254-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch similarity index 69% rename from root/target/linux/bcm27xx/patches-5.15/0265-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0254-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch index c6ed8220..d91cc13e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0265-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0254-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch @@ -1,7 +1,7 @@ -From 4d6177efadc41b3f293656fbb720fd692cf200e8 Mon Sep 17 00:00:00 2001 +From 0c6f16dc548e60f7db63ba747bd001eb7dd8bc9e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 13:41:43 +0100 -Subject: [PATCH 265/634] media: i2c: imx290: Correct range for V4L2_CID_GAIN +Subject: [PATCH 254/828] media: i2c: imx290: Correct range for V4L2_CID_GAIN to 0-238 The datasheet lists the gain as being 0.0 to 72.0dB in 0.3dB steps, which @@ -13,11 +13,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index 45b10a8aafa1..f89584a9bbd7 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c -@@ -1120,7 +1120,7 @@ static int imx290_probe(struct i2c_client *client) +@@ -1120,7 +1120,7 @@ static int imx290_probe(struct i2c_clien v4l2_ctrl_handler_init(&imx290->ctrls, 4); v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, @@ -26,6 +24,3 @@ index 45b10a8aafa1..f89584a9bbd7 100644 imx290->link_freq = v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0266-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch b/root/target/linux/bcm27xx/patches-5.15/950-0255-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0266-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0255-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch index 7d3332f5..5dbc0f3d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0266-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0255-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch @@ -1,7 +1,7 @@ -From 89be9babd0aa324bc79db3f524b5d47e5608a2f8 Mon Sep 17 00:00:00 2001 +From 654bf9e440c97319cc8bada4ee21e5599052fe74 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 14:36:40 +0100 -Subject: [PATCH 266/634] media: i2c: imx290: Convert HMAX setting into +Subject: [PATCH 255/828] media: i2c: imx290: Convert HMAX setting into V4L2_CID_HBLANK Userspace needs to know HBLANK if it is to work out exposure times @@ -12,8 +12,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 66 +++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 22 deletions(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index f89584a9bbd7..e77ddd0dea4e 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -40,6 +40,9 @@ enum imx290_clk_index { @@ -42,7 +40,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 struct mutex lock; }; -@@ -518,6 +523,26 @@ static int imx290_set_gain(struct imx290 *imx290, u32 value) +@@ -518,6 +523,26 @@ static int imx290_set_gain(struct imx290 return ret; } @@ -69,7 +67,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 /* Stop streaming */ static int imx290_stop_streaming(struct imx290 *imx290) { -@@ -546,6 +571,9 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -546,6 +571,9 @@ static int imx290_set_ctrl(struct v4l2_c case V4L2_CID_GAIN: ret = imx290_set_gain(imx290, ctrl->val); break; @@ -79,7 +77,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 case V4L2_CID_TEST_PATTERN: if (ctrl->val) { imx290_write_reg(imx290, IMX290_BLKLEVEL_LOW, 0x00); -@@ -702,6 +730,12 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -702,6 +730,12 @@ static int imx290_set_fmt(struct v4l2_su if (imx290->pixel_rate) __v4l2_ctrl_s_ctrl_int64(imx290->pixel_rate, imx290_calc_pixel_rate(imx290)); @@ -92,7 +90,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 } *format = fmt->format; -@@ -756,25 +790,6 @@ static int imx290_write_current_format(struct imx290 *imx290) +@@ -756,25 +790,6 @@ static int imx290_write_current_format(s return 0; } @@ -118,7 +116,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 /* Start streaming */ static int imx290_start_streaming(struct imx290 *imx290) { -@@ -813,9 +828,6 @@ static int imx290_start_streaming(struct imx290 *imx290) +@@ -813,9 +828,6 @@ static int imx290_start_streaming(struct dev_err(imx290->dev, "Could not set current mode\n"); return ret; } @@ -128,7 +126,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 /* Apply customized values from user */ ret = v4l2_ctrl_handler_setup(imx290->sd.ctrl_handler); -@@ -1010,6 +1022,7 @@ static int imx290_probe(struct i2c_client *client) +@@ -1010,6 +1022,7 @@ static int imx290_probe(struct i2c_clien struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY }; @@ -136,7 +134,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 struct imx290 *imx290; s64 fq; int ret; -@@ -1048,6 +1061,8 @@ static int imx290_probe(struct i2c_client *client) +@@ -1048,6 +1061,8 @@ static int imx290_probe(struct i2c_clien ret = -EINVAL; goto free_err; } @@ -145,7 +143,7 @@ index f89584a9bbd7..e77ddd0dea4e 100644 dev_dbg(dev, "Using %u data lanes\n", imx290->nlanes); -@@ -1122,6 +1137,13 @@ static int imx290_probe(struct i2c_client *client) +@@ -1122,6 +1137,13 @@ static int imx290_probe(struct i2c_clien v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_GAIN, 0, 238, 1, 0); @@ -159,6 +157,3 @@ index f89584a9bbd7..e77ddd0dea4e 100644 imx290->link_freq = v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0267-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch b/root/target/linux/bcm27xx/patches-5.15/950-0256-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0267-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0256-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch index f2ec5b26..b7c3b4c1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0267-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0256-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch @@ -1,7 +1,7 @@ -From ceb88f6b700c85e1cdd6f46be3546ef55d2b26a4 Mon Sep 17 00:00:00 2001 +From 3d882213388fb86e2cc2ec96822ea224910ed6f7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:09:12 +0100 -Subject: [PATCH 267/634] media: i2c: imx290: Add support for V4L2_CID_VBLANK +Subject: [PATCH 256/828] media: i2c: imx290: Add support for V4L2_CID_VBLANK In order to calculate framerate and durations userspace needs the vertical blanking information. This can be configurable, @@ -15,8 +15,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index e77ddd0dea4e..ceb71d83c993 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -38,6 +38,8 @@ enum imx290_clk_index { @@ -44,7 +42,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 struct mutex lock; }; -@@ -132,8 +136,6 @@ static const char * const imx290_test_pattern_menu[] = { +@@ -132,8 +136,6 @@ static const char * const imx290_test_pa static const struct imx290_regval imx290_global_init_settings[] = { { 0x3007, 0x00 }, @@ -53,7 +51,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 { 0x301a, 0x00 }, { 0x303a, 0x0c }, { 0x3040, 0x00 }, -@@ -360,6 +362,7 @@ static const struct imx290_mode imx290_modes_2lanes[] = { +@@ -360,6 +362,7 @@ static const struct imx290_mode imx290_m .width = 1920, .height = 1080, .hmax = 0x1130, @@ -61,7 +59,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 .link_freq_index = FREQ_INDEX_1080P, .data = imx290_1080p_settings, .data_size = ARRAY_SIZE(imx290_1080p_settings), -@@ -373,6 +376,7 @@ static const struct imx290_mode imx290_modes_2lanes[] = { +@@ -373,6 +376,7 @@ static const struct imx290_mode imx290_m .width = 1280, .height = 720, .hmax = 0x19c8, @@ -69,7 +67,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 .link_freq_index = FREQ_INDEX_720P, .data = imx290_720p_settings, .data_size = ARRAY_SIZE(imx290_720p_settings), -@@ -389,6 +393,7 @@ static const struct imx290_mode imx290_modes_4lanes[] = { +@@ -389,6 +393,7 @@ static const struct imx290_mode imx290_m .width = 1920, .height = 1080, .hmax = 0x0898, @@ -77,7 +75,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 .link_freq_index = FREQ_INDEX_1080P, .data = imx290_1080p_settings, .data_size = ARRAY_SIZE(imx290_1080p_settings), -@@ -402,6 +407,7 @@ static const struct imx290_mode imx290_modes_4lanes[] = { +@@ -402,6 +407,7 @@ static const struct imx290_mode imx290_m .width = 1280, .height = 720, .hmax = 0x0ce4, @@ -85,7 +83,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 .link_freq_index = FREQ_INDEX_720P, .data = imx290_720p_settings, .data_size = ARRAY_SIZE(imx290_720p_settings), -@@ -543,6 +549,19 @@ static int imx290_set_hmax(struct imx290 *imx290, u32 val) +@@ -543,6 +549,19 @@ static int imx290_set_hmax(struct imx290 return 0; } @@ -105,7 +103,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 /* Stop streaming */ static int imx290_stop_streaming(struct imx290 *imx290) { -@@ -574,6 +593,9 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -574,6 +593,9 @@ static int imx290_set_ctrl(struct v4l2_c case V4L2_CID_HBLANK: ret = imx290_set_hmax(imx290, ctrl->val); break; @@ -115,7 +113,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 case V4L2_CID_TEST_PATTERN: if (ctrl->val) { imx290_write_reg(imx290, IMX290_BLKLEVEL_LOW, 0x00); -@@ -736,6 +758,12 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -736,6 +758,12 @@ static int imx290_set_fmt(struct v4l2_su imx290->hmax_min - mode->width, IMX290_HMAX_MAX - mode->width, 1, mode->hmax - mode->width); @@ -128,7 +126,7 @@ index e77ddd0dea4e..ceb71d83c993 100644 } *format = fmt->format; -@@ -1144,6 +1172,12 @@ static int imx290_probe(struct i2c_client *client) +@@ -1144,6 +1172,12 @@ static int imx290_probe(struct i2c_clien IMX290_HMAX_MAX - mode->width, 1, mode->hmax - mode->width); @@ -141,6 +139,3 @@ index e77ddd0dea4e..ceb71d83c993 100644 imx290->link_freq = v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0268-media-i2c-imx290-Add-exposure-control-to-the-driver.patch b/root/target/linux/bcm27xx/patches-5.15/950-0257-media-i2c-imx290-Add-exposure-control-to-the-driver.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0268-media-i2c-imx290-Add-exposure-control-to-the-driver.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0257-media-i2c-imx290-Add-exposure-control-to-the-driver.patch index af231e9c..a1cf6b82 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0268-media-i2c-imx290-Add-exposure-control-to-the-driver.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0257-media-i2c-imx290-Add-exposure-control-to-the-driver.patch @@ -1,7 +1,7 @@ -From 70ab44beded5d0238d71760c0ede856557d1ed38 Mon Sep 17 00:00:00 2001 +From 4ec99016f9e815a0d5208d92f95b5233143ff732 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:19:13 +0100 -Subject: [PATCH 268/634] media: i2c: imx290: Add exposure control to the +Subject: [PATCH 257/828] media: i2c: imx290: Add exposure control to the driver. Adds support for V4L2_CID_EXPOSURE so that userspace can control @@ -12,8 +12,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index ceb71d83c993..3e52c43b837d 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -45,6 +45,10 @@ enum imx290_clk_index { @@ -35,7 +33,7 @@ index ceb71d83c993..3e52c43b837d 100644 struct mutex lock; }; -@@ -529,6 +534,20 @@ static int imx290_set_gain(struct imx290 *imx290, u32 value) +@@ -529,6 +534,20 @@ static int imx290_set_gain(struct imx290 return ret; } @@ -56,7 +54,7 @@ index ceb71d83c993..3e52c43b837d 100644 static int imx290_set_hmax(struct imx290 *imx290, u32 val) { u32 hmax = val + imx290->current_mode->width; -@@ -590,6 +609,9 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -590,6 +609,9 @@ static int imx290_set_ctrl(struct v4l2_c case V4L2_CID_GAIN: ret = imx290_set_gain(imx290, ctrl->val); break; @@ -66,7 +64,7 @@ index ceb71d83c993..3e52c43b837d 100644 case V4L2_CID_HBLANK: ret = imx290_set_hmax(imx290, ctrl->val); break; -@@ -764,6 +786,12 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -764,6 +786,12 @@ static int imx290_set_fmt(struct v4l2_su IMX290_VMAX_MAX - mode->height, 1, mode->vmax - mode->height); @@ -79,7 +77,7 @@ index ceb71d83c993..3e52c43b837d 100644 } *format = fmt->format; -@@ -1178,6 +1206,13 @@ static int imx290_probe(struct i2c_client *client) +@@ -1178,6 +1206,13 @@ static int imx290_probe(struct i2c_clien IMX290_VMAX_MAX - mode->height, 1, mode->vmax - mode->height); @@ -93,6 +91,3 @@ index ceb71d83c993..3e52c43b837d 100644 imx290->link_freq = v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0269-media-i2c-imx290-Add-H-and-V-flip-controls.patch b/root/target/linux/bcm27xx/patches-5.15/950-0258-media-i2c-imx290-Add-H-and-V-flip-controls.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0269-media-i2c-imx290-Add-H-and-V-flip-controls.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0258-media-i2c-imx290-Add-H-and-V-flip-controls.patch index b7e39262..24941c48 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0269-media-i2c-imx290-Add-H-and-V-flip-controls.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0258-media-i2c-imx290-Add-H-and-V-flip-controls.patch @@ -1,7 +1,7 @@ -From f03f7f35e816b803af2ac6b1d2d5c279ae0db9c4 Mon Sep 17 00:00:00 2001 +From 41a2c4308195c1c514ad13a163cba5dec033bc1e Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 11 Jun 2020 18:34:16 +0100 -Subject: [PATCH 269/634] media: i2c: imx290: Add H and V flip controls +Subject: [PATCH 258/828] media: i2c: imx290: Add H and V flip controls The sensor supports horizontal and vertical flips, so support them through V4L2_CID_HFLIP and V4L2_CID_VFLIP. @@ -15,8 +15,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index 3e52c43b837d..375a83ce71d0 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -34,6 +34,7 @@ enum imx290_clk_index { @@ -36,7 +34,7 @@ index 3e52c43b837d..375a83ce71d0 100644 struct v4l2_ctrl *exposure; struct mutex lock; -@@ -600,6 +603,7 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -600,6 +603,7 @@ static int imx290_set_ctrl(struct v4l2_c struct imx290 *imx290 = container_of(ctrl->handler, struct imx290, ctrls); int ret = 0; @@ -44,7 +42,7 @@ index 3e52c43b837d..375a83ce71d0 100644 /* V4L2 controls values will be applied only when power is already up */ if (!pm_runtime_get_if_in_use(imx290->dev)) -@@ -618,6 +622,16 @@ static int imx290_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -618,6 +622,16 @@ static int imx290_set_ctrl(struct v4l2_c case V4L2_CID_VBLANK: ret = imx290_set_vmax(imx290, ctrl->val); break; @@ -61,7 +59,7 @@ index 3e52c43b837d..375a83ce71d0 100644 case V4L2_CID_TEST_PATTERN: if (ctrl->val) { imx290_write_reg(imx290, IMX290_BLKLEVEL_LOW, 0x00); -@@ -922,6 +936,9 @@ static int imx290_set_stream(struct v4l2_subdev *sd, int enable) +@@ -922,6 +936,9 @@ static int imx290_set_stream(struct v4l2 imx290_stop_streaming(imx290); pm_runtime_put(imx290->dev); } @@ -71,7 +69,7 @@ index 3e52c43b837d..375a83ce71d0 100644 unlock_and_return: -@@ -1213,6 +1230,11 @@ static int imx290_probe(struct i2c_client *client) +@@ -1213,6 +1230,11 @@ static int imx290_probe(struct i2c_clien IMX290_EXPOSURE_STEP, mode->vmax - 4); @@ -83,6 +81,3 @@ index 3e52c43b837d..375a83ce71d0 100644 imx290->link_freq = v4l2_ctrl_new_int_menu(&imx290->ctrls, &imx290_ctrl_ops, V4L2_CID_LINK_FREQ, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0270-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch b/root/target/linux/bcm27xx/patches-5.15/950-0259-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0270-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0259-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch index 90595ce5..fdfa08d5 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0270-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0259-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch @@ -1,7 +1,7 @@ -From 3686fe363cd3b9a8f5fc88af4e1c9a0224cf5208 Mon Sep 17 00:00:00 2001 +From 27cf801d42f918b316cd25f9aa37b3a5a2d6dd8a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 16:52:14 +0100 -Subject: [PATCH 270/634] media: dt-bindings: media: i2c: Add mono version to +Subject: [PATCH 259/828] media: dt-bindings: media: i2c: Add mono version to IMX290 bindings The IMX290 module is available as either monochrome or colour and @@ -14,8 +14,6 @@ Signed-off-by: Dave Stevenson Documentation/devicetree/bindings/media/i2c/imx290.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/Documentation/devicetree/bindings/media/i2c/imx290.txt b/Documentation/devicetree/bindings/media/i2c/imx290.txt -index a3cc21410f7c..294e63650d9e 100644 --- a/Documentation/devicetree/bindings/media/i2c/imx290.txt +++ b/Documentation/devicetree/bindings/media/i2c/imx290.txt @@ -1,13 +1,14 @@ @@ -36,6 +34,3 @@ index a3cc21410f7c..294e63650d9e 100644 - reg: I2C bus address of the device - clocks: Reference to the xclk clock. - clock-names: Should be "xclk". --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0271-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch b/root/target/linux/bcm27xx/patches-5.15/950-0260-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0271-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0260-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch index 1c8c64e3..e724bf9b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0271-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0260-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch @@ -1,7 +1,7 @@ -From 668e20b8adf1fa2bf447dc2060d9f048d1e81144 Mon Sep 17 00:00:00 2001 +From a6abd5c13eb7e6b1226659a3abbbe0a288ff9331 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:03:11 +0100 -Subject: [PATCH 271/634] media : i2c: imx290: Add support for the mono sensor +Subject: [PATCH 260/828] media : i2c: imx290: Add support for the mono sensor variant. The IMX290 module is available as either mono or colour (Bayer). @@ -14,8 +14,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 58 +++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 17 deletions(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index 375a83ce71d0..aeb95161b4fe 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -1,10 +1,12 @@ @@ -71,7 +69,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 static const struct regmap_config imx290_regmap_config = { .reg_bits = 16, .val_bits = 8, -@@ -671,10 +683,12 @@ static int imx290_enum_mbus_code(struct v4l2_subdev *sd, +@@ -671,10 +683,12 @@ static int imx290_enum_mbus_code(struct struct v4l2_subdev_state *sd_state, struct v4l2_subdev_mbus_code_enum *code) { @@ -86,7 +84,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 return 0; } -@@ -686,8 +700,8 @@ static int imx290_enum_frame_size(struct v4l2_subdev *sd, +@@ -686,8 +700,8 @@ static int imx290_enum_frame_size(struct const struct imx290 *imx290 = to_imx290(sd); const struct imx290_mode *imx290_modes = imx290_modes_ptr(imx290); @@ -97,7 +95,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 return -EINVAL; if (fse->index >= imx290_modes_num(imx290)) -@@ -765,14 +779,14 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -765,14 +779,14 @@ static int imx290_set_fmt(struct v4l2_su fmt->format.width = mode->width; fmt->format.height = mode->height; @@ -116,7 +114,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 fmt->format.field = V4L2_FIELD_NONE; if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { -@@ -780,7 +794,7 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -780,7 +794,7 @@ static int imx290_set_fmt(struct v4l2_su } else { format = &imx290->current_format; imx290->current_mode = mode; @@ -125,7 +123,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 if (imx290->link_freq) __v4l2_ctrl_s_ctrl(imx290->link_freq, -@@ -835,6 +849,7 @@ static int imx290_write_current_format(struct imx290 *imx290) +@@ -835,6 +849,7 @@ static int imx290_write_current_format(s switch (imx290->current_format.code) { case MEDIA_BUS_FMT_SRGGB10_1X10: @@ -133,7 +131,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 ret = imx290_set_register_array(imx290, imx290_10bit_settings, ARRAY_SIZE( imx290_10bit_settings)); -@@ -844,6 +859,7 @@ static int imx290_write_current_format(struct imx290 *imx290) +@@ -844,6 +859,7 @@ static int imx290_write_current_format(s } break; case MEDIA_BUS_FMT_SRGGB12_1X12: @@ -141,7 +139,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 ret = imx290_set_register_array(imx290, imx290_12bit_settings, ARRAY_SIZE( imx290_12bit_settings)); -@@ -1087,6 +1103,12 @@ static s64 imx290_check_link_freqs(const struct imx290 *imx290, +@@ -1087,6 +1103,12 @@ static s64 imx290_check_link_freqs(const return 0; } @@ -154,7 +152,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 static int imx290_probe(struct i2c_client *client) { struct device *dev = &client->dev; -@@ -1095,6 +1117,7 @@ static int imx290_probe(struct i2c_client *client) +@@ -1095,6 +1117,7 @@ static int imx290_probe(struct i2c_clien struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY }; @@ -162,7 +160,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 const struct imx290_mode *mode; struct imx290 *imx290; s64 fq; -@@ -1111,6 +1134,11 @@ static int imx290_probe(struct i2c_client *client) +@@ -1111,6 +1134,11 @@ static int imx290_probe(struct i2c_clien return -ENODEV; } @@ -174,7 +172,7 @@ index 375a83ce71d0..aeb95161b4fe 100644 endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(dev), NULL); if (!endpoint) { dev_err(dev, "Endpoint node not found\n"); -@@ -1329,10 +1357,6 @@ static int imx290_remove(struct i2c_client *client) +@@ -1329,10 +1357,6 @@ static int imx290_remove(struct i2c_clie return 0; } @@ -185,6 +183,3 @@ index 375a83ce71d0..aeb95161b4fe 100644 MODULE_DEVICE_TABLE(of, imx290_of_match); static struct i2c_driver imx290_i2c_driver = { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0272-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch b/root/target/linux/bcm27xx/patches-5.15/950-0261-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0272-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0261-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch index f68563b5..8c67699e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0272-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0261-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch @@ -1,7 +1,7 @@ -From 3937327e79df74af43d68f275db434a3d2f8f478 Mon Sep 17 00:00:00 2001 +From 0d0d0382ba944a19a59d642b684f7214ed131c5f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 26 Jun 2020 18:11:49 +0100 -Subject: [PATCH 272/634] media: i2c: imx290: Switch set_hmax to use +Subject: [PATCH 261/828] media: i2c: imx290: Switch set_hmax to use imx290_write_buffered_reg imx290_set_hmax was using two independent writes to set up hmax, @@ -15,22 +15,14 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index aeb95161b4fe..e64124a521b2 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c -@@ -568,19 +568,12 @@ static int imx290_set_hmax(struct imx290 *imx290, u32 val) +@@ -568,19 +568,12 @@ static int imx290_set_hmax(struct imx290 u32 hmax = val + imx290->current_mode->width; int ret; - ret = imx290_write_reg(imx290, IMX290_HMAX_LOW, (hmax & 0xff)); - if (ret) { -- dev_err(imx290->dev, "Error setting HMAX register\n"); -- return ret; -- } -- -- ret = imx290_write_reg(imx290, IMX290_HMAX_HIGH, ((hmax >> 8) & 0xff)); -- if (ret) { + ret = imx290_write_buffered_reg(imx290, IMX290_HMAX_LOW, 2, + hmax); + if (ret) @@ -38,11 +30,14 @@ index aeb95161b4fe..e64124a521b2 100644 - return ret; - } +- ret = imx290_write_reg(imx290, IMX290_HMAX_HIGH, ((hmax >> 8) & 0xff)); +- if (ret) { +- dev_err(imx290->dev, "Error setting HMAX register\n"); +- return ret; +- } +- - return 0; + return ret; } static int imx290_set_vmax(struct imx290 *imx290, u32 val) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0273-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch b/root/target/linux/bcm27xx/patches-5.15/950-0262-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch similarity index 68% rename from root/target/linux/bcm27xx/patches-5.15/0273-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0262-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch index 4838c1e9..cfea5ec2 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0273-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0262-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch @@ -1,7 +1,7 @@ -From 8daf39ef69f880c5de1e816c1cd1a7f7adff3db0 Mon Sep 17 00:00:00 2001 +From 96230b99568c8cb89de5db00419c516ba53a4c92 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 2 Jul 2020 13:53:20 +0100 -Subject: [PATCH 273/634] serial: 8250: bcm2835aux - defer if clock is zero +Subject: [PATCH 262/828] serial: 8250: bcm2835aux - defer if clock is zero See: https://github.com/raspberrypi/linux/issues/3700 @@ -10,11 +10,9 @@ Signed-off-by: Phil Elwell drivers/tty/serial/8250/8250_bcm2835aux.c | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c -index fd95860cd661..fc36e5963e30 100644 --- a/drivers/tty/serial/8250/8250_bcm2835aux.c +++ b/drivers/tty/serial/8250/8250_bcm2835aux.c -@@ -148,6 +148,13 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) +@@ -148,6 +148,13 @@ static int bcm2835aux_serial_probe(struc */ up.port.uartclk = clk_get_rate(data->clk) * 2; @@ -28,6 +26,3 @@ index fd95860cd661..fc36e5963e30 100644 /* register the port */ ret = serial8250_register_8250_port(&up); if (ret < 0) { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0274-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0263-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0274-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0263-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch index baa4ec37..5e4744fb 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0274-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0263-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch @@ -1,7 +1,7 @@ -From 9f8aa5c9089ec873ffe775741d0c26f01875df53 Mon Sep 17 00:00:00 2001 +From a9cf7372ada077f79175d7d0b6b02cc2021a9bb9 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 7 May 2020 16:59:03 +0100 -Subject: [PATCH 274/634] media: Add a pixel format for MIPI packed 12bit luma +Subject: [PATCH 263/828] media: Add a pixel format for MIPI packed 12bit luma only. This is the format used by monochrome 12bit image sensors. @@ -15,9 +15,6 @@ Signed-off-by: Dave Stevenson 4 files changed, 48 insertions(+) create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y12p.rst -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-y12p.rst b/Documentation/userspace-api/media/v4l/pixfmt-y12p.rst -new file mode 100644 -index 000000000000..3704f9180fd7 --- /dev/null +++ b/Documentation/userspace-api/media/v4l/pixfmt-y12p.rst @@ -0,0 +1,45 @@ @@ -66,8 +63,6 @@ index 000000000000..3704f9180fd7 + + Y'\ :sub:`00low`\ (bits 3--0) + -diff --git a/Documentation/userspace-api/media/v4l/yuv-formats.rst b/Documentation/userspace-api/media/v4l/yuv-formats.rst -index 458e07782c8d..390996d95fe5 100644 --- a/Documentation/userspace-api/media/v4l/yuv-formats.rst +++ b/Documentation/userspace-api/media/v4l/yuv-formats.rst @@ -267,6 +267,7 @@ image. @@ -78,11 +73,9 @@ index 458e07782c8d..390996d95fe5 100644 pixfmt-y8i pixfmt-y12i pixfmt-uv8 -diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c -index 67e5ad8bc80d..e774b7dea3f9 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1263,6 +1263,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) +@@ -1265,6 +1265,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_Y16_BE: descr = "16-bit Greyscale BE"; break; case V4L2_PIX_FMT_Y10BPACK: descr = "10-bit Greyscale (Packed)"; break; case V4L2_PIX_FMT_Y10P: descr = "10-bit Greyscale (MIPI Packed)"; break; @@ -90,8 +83,6 @@ index 67e5ad8bc80d..e774b7dea3f9 100644 case V4L2_PIX_FMT_Y8I: descr = "Interleaved 8-bit Greyscale"; break; case V4L2_PIX_FMT_Y12I: descr = "Interleaved 12-bit Greyscale"; break; case V4L2_PIX_FMT_Z16: descr = "16-bit Depth"; break; -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index f56bae0c4671..a3ed5b2524c4 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -574,6 +574,7 @@ struct v4l2_pix_format { @@ -102,6 +93,3 @@ index f56bae0c4671..a3ed5b2524c4 100644 /* Palette formats */ #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0275-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0264-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0275-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0264-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch index 67cf87f2..5844b1d8 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0275-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0264-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch @@ -1,7 +1,7 @@ -From 708ba0e8d730552720ef865c06c8a7eacb6d6dff Mon Sep 17 00:00:00 2001 +From ad8a8fe345c09d478961de39a8ba4e502129ec06 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:51:03 +0100 -Subject: [PATCH 275/634] media: Add a pixel format for MIPI packed 14bit luma +Subject: [PATCH 264/828] media: Add a pixel format for MIPI packed 14bit luma only. This is the format used by monochrome 14bit image sensors. @@ -15,9 +15,6 @@ Signed-off-by: Dave Stevenson 4 files changed, 57 insertions(+) create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y14p.rst -diff --git a/Documentation/userspace-api/media/v4l/pixfmt-y14p.rst b/Documentation/userspace-api/media/v4l/pixfmt-y14p.rst -new file mode 100644 -index 000000000000..27fe14c9a9eb --- /dev/null +++ b/Documentation/userspace-api/media/v4l/pixfmt-y14p.rst @@ -0,0 +1,54 @@ @@ -75,8 +72,6 @@ index 000000000000..27fe14c9a9eb + - Y'\ :sub:`03low bits 5--0`\ (bits 7--2) + + Y'\ :sub:`02low bits 5--4`\ (bits 1--0) -diff --git a/Documentation/userspace-api/media/v4l/yuv-formats.rst b/Documentation/userspace-api/media/v4l/yuv-formats.rst -index 390996d95fe5..44589ac3e909 100644 --- a/Documentation/userspace-api/media/v4l/yuv-formats.rst +++ b/Documentation/userspace-api/media/v4l/yuv-formats.rst @@ -268,6 +268,7 @@ image. @@ -87,11 +82,9 @@ index 390996d95fe5..44589ac3e909 100644 pixfmt-y8i pixfmt-y12i pixfmt-uv8 -diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c -index e774b7dea3f9..0f18d23837a5 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c -@@ -1264,6 +1264,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) +@@ -1266,6 +1266,7 @@ static void v4l_fill_fmtdesc(struct v4l2 case V4L2_PIX_FMT_Y10BPACK: descr = "10-bit Greyscale (Packed)"; break; case V4L2_PIX_FMT_Y10P: descr = "10-bit Greyscale (MIPI Packed)"; break; case V4L2_PIX_FMT_Y12P: descr = "12-bit Greyscale (MIPI Packed)"; break; @@ -99,8 +92,6 @@ index e774b7dea3f9..0f18d23837a5 100644 case V4L2_PIX_FMT_Y8I: descr = "Interleaved 8-bit Greyscale"; break; case V4L2_PIX_FMT_Y12I: descr = "Interleaved 12-bit Greyscale"; break; case V4L2_PIX_FMT_Z16: descr = "16-bit Depth"; break; -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index a3ed5b2524c4..12f356c48616 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -575,6 +575,7 @@ struct v4l2_pix_format { @@ -111,6 +102,3 @@ index a3ed5b2524c4..12f356c48616 100644 /* Palette formats */ #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0276-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch b/root/target/linux/bcm27xx/patches-5.15/950-0265-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch similarity index 67% rename from root/target/linux/bcm27xx/patches-5.15/0276-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0265-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch index 47d42f92..0209a66a 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0276-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0265-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch @@ -1,7 +1,7 @@ -From c06128d6327e1d90ac90e8ace390b22a6e01749c Mon Sep 17 00:00:00 2001 +From e694cc21f790594776994ae5147d14f3ebcd1a6b Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 17:53:32 +0100 -Subject: [PATCH 276/634] media: bcm2835-unicam: Add support for 12bit mono +Subject: [PATCH 265/828] media: bcm2835-unicam: Add support for 12bit mono packed format Now that V4L2_PIX_FMT_Y12P is defined, allow passing raw 12bit @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index a65e1da55142..5edb58cc9f03 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -336,7 +336,7 @@ static const struct unicam_fmt formats[] = { +@@ -336,7 +336,7 @@ static const struct unicam_fmt formats[] .depth = 10, .csi_dt = 0x2b, }, { @@ -25,6 +23,3 @@ index a65e1da55142..5edb58cc9f03 100644 .repacked_fourcc = V4L2_PIX_FMT_Y12, .code = MEDIA_BUS_FMT_Y12_1X12, .depth = 12, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0277-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch b/root/target/linux/bcm27xx/patches-5.15/950-0266-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch similarity index 68% rename from root/target/linux/bcm27xx/patches-5.15/0277-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0266-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch index 22b3fd14..f6b34b29 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0277-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0266-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch @@ -1,7 +1,7 @@ -From 3466ca9e93c430d7999591d40b7d2fbe921817ca Mon Sep 17 00:00:00 2001 +From a43d8a0a267dd0dead5e96025d0398baf22d9f14 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 25 Jun 2020 18:03:47 +0100 -Subject: [PATCH 277/634] media: bcm2835-unicam: Add support for 14bit mono +Subject: [PATCH 266/828] media: bcm2835-unicam: Add support for 14bit mono sources Now that V4L2_PIX_FMT_Y14 and V4L2_PIX_FMT_Y14P are defined, @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 5edb58cc9f03..778153943160 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -341,6 +341,12 @@ static const struct unicam_fmt formats[] = { +@@ -341,6 +341,12 @@ static const struct unicam_fmt formats[] .code = MEDIA_BUS_FMT_Y12_1X12, .depth = 12, .csi_dt = 0x2c, @@ -29,6 +27,3 @@ index 5edb58cc9f03..778153943160 100644 }, /* Embedded data format */ { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0278-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0267-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0278-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0267-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch index a6b5eaa6..414fccbf 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0278-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0267-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch @@ -1,7 +1,7 @@ -From 396f29920d1891edc3abf41a14a5977557acb930 Mon Sep 17 00:00:00 2001 +From d69f889162a61d8888f36f34328088eebf1b4268 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 1 Jul 2020 10:57:57 +0100 -Subject: [PATCH 278/634] media: bcm2835-unicam: Add support for unpacked 14bit +Subject: [PATCH 267/828] media: bcm2835-unicam: Add support for unpacked 14bit Bayer formats Now that the 14bit non-packed Bayer formats are defined, add them @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 778153943160..c97ecfc0e55b 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -299,21 +299,25 @@ static const struct unicam_fmt formats[] = { +@@ -299,21 +299,25 @@ static const struct unicam_fmt formats[] .csi_dt = 0x2c, }, { .fourcc = V4L2_PIX_FMT_SBGGR14P, @@ -42,6 +40,3 @@ index 778153943160..c97ecfc0e55b 100644 .code = MEDIA_BUS_FMT_SRGGB14_1X14, .depth = 14, .csi_dt = 0x2d, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0279-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch b/root/target/linux/bcm27xx/patches-5.15/950-0268-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0279-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0268-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch index c5e88fc6..e658af62 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0279-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0268-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch @@ -1,7 +1,7 @@ -From 00c4d89cfbb12261105488c664d6c77c65601b89 Mon Sep 17 00:00:00 2001 +From e994133f68d6e4c2470132c3ce9ebc1a0cb23097 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Jul 2020 20:28:27 +0100 -Subject: [PATCH 279/634] bcm2835-dma: Add NO_WAIT_RESP flag +Subject: [PATCH 268/828] bcm2835-dma: Add NO_WAIT_RESP flag Use bit 27 of the dreq value (the second cell of the DT DMA descriptor) to request that the WAIT_RESP bit is not set. @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/dma/bcm2835-dma.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index ac0458a8027f..84b1009da23b 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -165,6 +165,11 @@ struct bcm2835_desc { @@ -27,7 +25,7 @@ index ac0458a8027f..84b1009da23b 100644 /* debug register bits */ #define BCM2835_DMA_DEBUG_LAST_NOT_SET_ERR BIT(0) #define BCM2835_DMA_DEBUG_FIFO_ERR BIT(1) -@@ -843,7 +848,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy( +@@ -843,7 +848,7 @@ static struct dma_async_tx_descriptor *b struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); struct bcm2835_desc *d; u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC; @@ -36,7 +34,7 @@ index ac0458a8027f..84b1009da23b 100644 size_t max_len = bcm2835_dma_max_frame_length(c); size_t frames; -@@ -873,7 +878,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( +@@ -873,7 +878,7 @@ static struct dma_async_tx_descriptor *b struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); struct bcm2835_desc *d; dma_addr_t src = 0, dst = 0; @@ -45,7 +43,7 @@ index ac0458a8027f..84b1009da23b 100644 u32 extra = BCM2835_DMA_INT_EN; size_t frames; -@@ -935,7 +940,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( +@@ -935,7 +940,7 @@ static struct dma_async_tx_descriptor *b struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); struct bcm2835_desc *d; dma_addr_t src, dst; @@ -54,6 +52,3 @@ index ac0458a8027f..84b1009da23b 100644 u32 extra = 0; size_t max_len = bcm2835_dma_max_frame_length(c); size_t frames; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0280-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch b/root/target/linux/bcm27xx/patches-5.15/950-0269-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0280-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0269-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch index 4dc7989d..b35cdb03 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0280-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0269-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch @@ -1,7 +1,7 @@ -From 39366dc393052244557e03bc60b0c699a7215b44 Mon Sep 17 00:00:00 2001 +From 75af184001cebce51d587f90f9ef3023e24bf1a8 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 10:31:53 +0100 -Subject: [PATCH 280/634] media: i2c: imx290: Explicitly set v&h blank on mode +Subject: [PATCH 269/828] media: i2c: imx290: Explicitly set v&h blank on mode change __v4l2_ctrl_modify_range only updates the current value should @@ -16,11 +16,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index e64124a521b2..0b520a7f88b1 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c -@@ -796,17 +796,23 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -796,17 +796,23 @@ static int imx290_set_fmt(struct v4l2_su __v4l2_ctrl_s_ctrl_int64(imx290->pixel_rate, imx290_calc_pixel_rate(imx290)); @@ -46,6 +44,3 @@ index e64124a521b2..0b520a7f88b1 100644 if (imx290->exposure) __v4l2_ctrl_modify_range(imx290->exposure, mode->vmax - mode->height, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0281-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch b/root/target/linux/bcm27xx/patches-5.15/950-0270-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0281-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0270-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch index a54900dc..550b3588 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0281-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0270-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch @@ -1,7 +1,7 @@ -From cc8f2e3149131c17e432f72e8f4fa13a5f5496c6 Mon Sep 17 00:00:00 2001 +From 336d37ffea42dd3de607c2d5207a5e0956404532 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 11:23:48 +0100 -Subject: [PATCH 281/634] media: i2c: imx290: Add support for g_selection to +Subject: [PATCH 270/828] media: i2c: imx290: Add support for g_selection to report cropping Userspace needs to know the cropping arrangements for each mode, @@ -12,8 +12,6 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 84 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index 0b520a7f88b1..e475d7889bc8 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c @@ -61,6 +61,13 @@ enum imx290_clk_index { @@ -38,7 +36,7 @@ index 0b520a7f88b1..e475d7889bc8 100644 const struct imx290_regval *data; u32 data_size; -@@ -384,6 +392,12 @@ static const struct imx290_mode imx290_modes_2lanes[] = { +@@ -384,6 +392,12 @@ static const struct imx290_mode imx290_m .hmax = 0x1130, .vmax = 0x0465, .link_freq_index = FREQ_INDEX_1080P, @@ -51,7 +49,7 @@ index 0b520a7f88b1..e475d7889bc8 100644 .data = imx290_1080p_settings, .data_size = ARRAY_SIZE(imx290_1080p_settings), .clk_data = { -@@ -398,6 +412,12 @@ static const struct imx290_mode imx290_modes_2lanes[] = { +@@ -398,6 +412,12 @@ static const struct imx290_mode imx290_m .hmax = 0x19c8, .vmax = 0x02ee, .link_freq_index = FREQ_INDEX_720P, @@ -64,7 +62,7 @@ index 0b520a7f88b1..e475d7889bc8 100644 .data = imx290_720p_settings, .data_size = ARRAY_SIZE(imx290_720p_settings), .clk_data = { -@@ -415,6 +435,12 @@ static const struct imx290_mode imx290_modes_4lanes[] = { +@@ -415,6 +435,12 @@ static const struct imx290_mode imx290_m .hmax = 0x0898, .vmax = 0x0465, .link_freq_index = FREQ_INDEX_1080P, @@ -77,7 +75,7 @@ index 0b520a7f88b1..e475d7889bc8 100644 .data = imx290_1080p_settings, .data_size = ARRAY_SIZE(imx290_1080p_settings), .clk_data = { -@@ -429,6 +455,12 @@ static const struct imx290_mode imx290_modes_4lanes[] = { +@@ -429,6 +455,12 @@ static const struct imx290_mode imx290_m .hmax = 0x0ce4, .vmax = 0x02ee, .link_freq_index = FREQ_INDEX_720P, @@ -90,7 +88,7 @@ index 0b520a7f88b1..e475d7889bc8 100644 .data = imx290_720p_settings, .data_size = ARRAY_SIZE(imx290_720p_settings), .clk_data = { -@@ -875,6 +907,57 @@ static int imx290_write_current_format(struct imx290 *imx290) +@@ -875,6 +907,57 @@ static int imx290_write_current_format(s return 0; } @@ -148,7 +146,7 @@ index 0b520a7f88b1..e475d7889bc8 100644 /* Start streaming */ static int imx290_start_streaming(struct imx290 *imx290) { -@@ -1069,6 +1152,7 @@ static const struct v4l2_subdev_pad_ops imx290_pad_ops = { +@@ -1069,6 +1152,7 @@ static const struct v4l2_subdev_pad_ops .enum_frame_size = imx290_enum_frame_size, .get_fmt = imx290_get_fmt, .set_fmt = imx290_set_fmt, @@ -156,6 +154,3 @@ index 0b520a7f88b1..e475d7889bc8 100644 }; static const struct v4l2_subdev_ops imx290_subdev_ops = { --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0282-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch b/root/target/linux/bcm27xx/patches-5.15/950-0271-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch similarity index 75% rename from root/target/linux/bcm27xx/patches-5.15/0282-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0271-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch index 1a1e9282..0a4dd83d 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0282-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0271-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch @@ -1,7 +1,7 @@ -From c0fbab7215131c62cebced2061e9eec01c9ee905 Mon Sep 17 00:00:00 2001 +From ba542e7de1fecea9e6000746420e8ed7bcbf4fa3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 11:51:26 +0100 -Subject: [PATCH 282/634] media: i2c: imx290: Set the colorspace fields in the +Subject: [PATCH 271/828] media: i2c: imx290: Set the colorspace fields in the format The colorspace fields were left untouched in imx290_set_fmt @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/imx290.c | 8 ++++++++ 1 file changed, 8 insertions(+) -diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c -index e475d7889bc8..def5e8fe41a0 100644 --- a/drivers/media/i2c/imx290.c +++ b/drivers/media/i2c/imx290.c -@@ -813,6 +813,14 @@ static int imx290_set_fmt(struct v4l2_subdev *sd, +@@ -813,6 +813,14 @@ static int imx290_set_fmt(struct v4l2_su fmt->format.code = imx290->formats[i].code; fmt->format.field = V4L2_FIELD_NONE; @@ -31,6 +29,3 @@ index e475d7889bc8..def5e8fe41a0 100644 if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) { format = v4l2_subdev_get_try_format(sd, sd_state, fmt->pad); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0283-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch b/root/target/linux/bcm27xx/patches-5.15/950-0272-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch similarity index 71% rename from root/target/linux/bcm27xx/patches-5.15/0283-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0272-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch index 47ef2d4f..e5906978 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0283-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0272-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch @@ -1,7 +1,7 @@ -From f913f7dfed8c4bca106e1ef056ec8cac0530d8cc Mon Sep 17 00:00:00 2001 +From 4bacf6ce08c3aef11d509f1eebb0dadbaf163a60 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:23:40 +0100 -Subject: [PATCH 283/634] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE +Subject: [PATCH 272/828] media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE in the caps v4l2-compliance throws a failure if the device doesn't advertise @@ -13,11 +13,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index c97ecfc0e55b..20b46a9e04c3 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2418,8 +2418,8 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2418,8 +2418,8 @@ static int register_node(struct unicam_d vdev->queue = q; vdev->lock = &node->lock; vdev->device_caps = (pad_id == IMAGE_PAD) ? @@ -28,6 +26,3 @@ index c97ecfc0e55b..20b46a9e04c3 100644 /* Define the device names */ snprintf(vdev->name, sizeof(vdev->name), "%s-%s", UNICAM_MODULE_NAME, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0284-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch b/root/target/linux/bcm27xx/patches-5.15/950-0273-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch similarity index 65% rename from root/target/linux/bcm27xx/patches-5.15/0284-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0273-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch index dcfbe4da..6e7a0a44 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0284-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0273-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch @@ -1,7 +1,7 @@ -From 2874d4b6d2ef8192b3402e85bfeef70549ca3440 Mon Sep 17 00:00:00 2001 +From f539fc4ca993d3160672468efc47ae40e0b8e4b5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 7 Jul 2020 14:52:43 +0100 -Subject: [PATCH 284/634] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE +Subject: [PATCH 273/828] media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE in [g|s]_selection [g|s]_selection pass in a buffer type that needs to be validated @@ -12,11 +12,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 20b46a9e04c3..de288f87ff2f 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -1885,6 +1885,9 @@ static int unicam_s_selection(struct file *file, void *priv, +@@ -1885,6 +1885,9 @@ static int unicam_s_selection(struct fil .r = sel->r, }; @@ -26,7 +24,7 @@ index 20b46a9e04c3..de288f87ff2f 100644 return v4l2_subdev_call(dev->sensor, pad, set_selection, NULL, &sdsel); } -@@ -1899,6 +1902,9 @@ static int unicam_g_selection(struct file *file, void *priv, +@@ -1899,6 +1902,9 @@ static int unicam_g_selection(struct fil }; int ret; @@ -36,6 +34,3 @@ index 20b46a9e04c3..de288f87ff2f 100644 ret = v4l2_subdev_call(dev->sensor, pad, get_selection, NULL, &sdsel); if (!ret) sel->r = sdsel.r; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0285-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch b/root/target/linux/bcm27xx/patches-5.15/950-0274-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch similarity index 83% rename from root/target/linux/bcm27xx/patches-5.15/0285-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0274-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch index b1768026..82596f93 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0285-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0274-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch @@ -1,7 +1,7 @@ -From c5dae8d2fc9c5fa939e46ed65fd4755d1a0884a5 Mon Sep 17 00:00:00 2001 +From 73b93cea92035fa11dc2a8e2f91ac797ba6da31a Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:02:22 +0100 -Subject: [PATCH 285/634] media: bcm2835: unicam: Set VPU min clock freq to +Subject: [PATCH 274/828] media: bcm2835: unicam: Set VPU min clock freq to 250Mhz. When streaming with Unicam, the VPU must have a clock frequency of at @@ -13,22 +13,20 @@ Signed-off-by: Naushir Patuck .../media/platform/bcm2835/bcm2835-unicam.c | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index de288f87ff2f..295db7564614 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -88,6 +88,11 @@ MODULE_PARM_DESC(debug, "Debug level 0-3"); - #define unicam_err(dev, fmt, arg...) \ +@@ -89,6 +89,11 @@ MODULE_PARM_DESC(debug, "Debug level 0-3 v4l2_err(&(dev)->v4l2_dev, fmt, ##arg) -+/* + /* + * Unicam must request a minimum of 250Mhz from the VPU clock. + * Otherwise the input FIFOs overrun and cause image corruption. + */ +#define MIN_VPU_CLOCK_RATE (250 * 1000 * 1000) - /* ++/* * To protect against a dodgy sensor driver never returning an error from * enum_mbus_code, set a maximum index value to be used. + */ @@ -417,8 +422,10 @@ struct unicam_device { void __iomem *base; /* clock gating base address */ @@ -41,7 +39,7 @@ index de288f87ff2f..295db7564614 100644 /* V4l2 device */ struct v4l2_device v4l2_dev; struct media_device mdev; -@@ -1678,16 +1685,28 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1678,16 +1685,28 @@ static int unicam_start_streaming(struct unicam_dbg(1, dev, "Running with %u data lanes\n", dev->active_data_lanes); @@ -73,7 +71,7 @@ index de288f87ff2f..295db7564614 100644 } for (i = 0; i < ARRAY_SIZE(dev->node); i++) { -@@ -1721,6 +1740,11 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1721,6 +1740,11 @@ static int unicam_start_streaming(struct err_disable_unicam: unicam_disable(dev); clk_disable_unprepare(dev->clock); @@ -85,7 +83,7 @@ index de288f87ff2f..295db7564614 100644 err_pm_put: unicam_runtime_put(dev); err_streaming: -@@ -1738,6 +1762,8 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1738,6 +1762,8 @@ static void unicam_stop_streaming(struct node->streaming = false; if (node->pad_id == IMAGE_PAD) { @@ -94,7 +92,7 @@ index de288f87ff2f..295db7564614 100644 /* * Stop streaming the sensor and disable the peripheral. * We cannot continue streaming embedded data with the -@@ -1747,6 +1773,12 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1747,6 +1773,12 @@ static void unicam_stop_streaming(struct unicam_err(dev, "stream off failed in subdev\n"); unicam_disable(dev); @@ -107,7 +105,7 @@ index de288f87ff2f..295db7564614 100644 clk_disable_unprepare(dev->clock); unicam_runtime_put(dev); -@@ -2750,11 +2782,18 @@ static int unicam_probe(struct platform_device *pdev) +@@ -2750,11 +2782,18 @@ static int unicam_probe(struct platform_ unicam->clock = devm_clk_get(&pdev->dev, "lp"); if (IS_ERR(unicam->clock)) { @@ -127,6 +125,3 @@ index de288f87ff2f..295db7564614 100644 ret = platform_get_irq(pdev, 0); if (ret <= 0) { dev_err(&pdev->dev, "No IRQ resource\n"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0286-dt-bindings-bcm2835-unicam-Update-documentation-with.patch b/root/target/linux/bcm27xx/patches-5.15/950-0275-dt-bindings-bcm2835-unicam-Update-documentation-with.patch similarity index 80% rename from root/target/linux/bcm27xx/patches-5.15/0286-dt-bindings-bcm2835-unicam-Update-documentation-with.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0275-dt-bindings-bcm2835-unicam-Update-documentation-with.patch index 90077288..fe889d4f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0286-dt-bindings-bcm2835-unicam-Update-documentation-with.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0275-dt-bindings-bcm2835-unicam-Update-documentation-with.patch @@ -1,7 +1,7 @@ -From d182870d1e653448c9000920f5bfbb4b66f2e59c Mon Sep 17 00:00:00 2001 +From 6ed27bd2c323b83fb2d6b1c5eeebef602789ccce Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 11 May 2020 13:06:27 +0100 -Subject: [PATCH 286/634] dt-bindings: bcm2835-unicam: Update documentation +Subject: [PATCH 275/828] dt-bindings: bcm2835-unicam: Update documentation with new clock params Update the documentation to reflect the new "VPU" clock needed @@ -12,8 +12,6 @@ Signed-off-by: Naushir Patuck .../devicetree/bindings/media/bcm2835-unicam.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/Documentation/devicetree/bindings/media/bcm2835-unicam.txt b/Documentation/devicetree/bindings/media/bcm2835-unicam.txt -index 7714fb374b34..164d0377dcd2 100644 --- a/Documentation/devicetree/bindings/media/bcm2835-unicam.txt +++ b/Documentation/devicetree/bindings/media/bcm2835-unicam.txt @@ -20,7 +20,7 @@ Required properties: @@ -38,6 +36,3 @@ index 7714fb374b34..164d0377dcd2 100644 port { csi1_ep: endpoint { remote-endpoint = <&tc358743_0>; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0287-leds-Add-the-actpwr-trigger.patch b/root/target/linux/bcm27xx/patches-5.15/950-0276-leds-Add-the-actpwr-trigger.patch similarity index 91% rename from root/target/linux/bcm27xx/patches-5.15/0287-leds-Add-the-actpwr-trigger.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0276-leds-Add-the-actpwr-trigger.patch index 9eff38f8..a343362e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0287-leds-Add-the-actpwr-trigger.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0276-leds-Add-the-actpwr-trigger.patch @@ -1,7 +1,7 @@ -From a7c746bd0a854b6d7269403806a55b5306e904d3 Mon Sep 17 00:00:00 2001 +From 70353a1e17cef57776c44221e2694350572d1800 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Jul 2020 10:33:19 +0100 -Subject: [PATCH 287/634] leds: Add the actpwr trigger +Subject: [PATCH 276/828] leds: Add the actpwr trigger The actpwr trigger is a meta trigger that cycles between an inverted mmc0 and default-on. It is written in a way that could fairly easily @@ -15,8 +15,6 @@ Signed-off-by: Phil Elwell 3 files changed, 202 insertions(+) create mode 100644 drivers/leds/trigger/ledtrig-actpwr.c -diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig -index 1d8341f3a6fe..9fbdf5ff3f7e 100644 --- a/drivers/leds/trigger/Kconfig +++ b/drivers/leds/trigger/Kconfig @@ -160,4 +160,15 @@ config LEDS_TRIGGER_TTY @@ -35,18 +33,13 @@ index 1d8341f3a6fe..9fbdf5ff3f7e 100644 + If unsure, say N. + endif # LEDS_TRIGGERS -diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile -index 5b6bc14865ea..8bcb57669549 100644 --- a/drivers/leds/trigger/Makefile +++ b/drivers/leds/trigger/Makefile -@@ -17,3 +17,4 @@ obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o +@@ -17,3 +17,4 @@ obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += led obj-$(CONFIG_LEDS_TRIGGER_PATTERN) += ledtrig-pattern.o obj-$(CONFIG_LEDS_TRIGGER_AUDIO) += ledtrig-audio.o obj-$(CONFIG_LEDS_TRIGGER_TTY) += ledtrig-tty.o +obj-$(CONFIG_LEDS_TRIGGER_ACTPWR) += ledtrig-actpwr.o -diff --git a/drivers/leds/trigger/ledtrig-actpwr.c b/drivers/leds/trigger/ledtrig-actpwr.c -new file mode 100644 -index 000000000000..1a52107ceb03 --- /dev/null +++ b/drivers/leds/trigger/ledtrig-actpwr.c @@ -0,0 +1,190 @@ @@ -240,6 +233,3 @@ index 000000000000..1a52107ceb03 +MODULE_AUTHOR("Phil Elwell "); +MODULE_DESCRIPTION("ACT/PWR LED trigger"); +MODULE_LICENSE("GPL v2"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0288-bcm2835-dma-Advertise-the-full-DMA-range.patch b/root/target/linux/bcm27xx/patches-5.15/950-0277-bcm2835-dma-Advertise-the-full-DMA-range.patch similarity index 82% rename from root/target/linux/bcm27xx/patches-5.15/0288-bcm2835-dma-Advertise-the-full-DMA-range.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0277-bcm2835-dma-Advertise-the-full-DMA-range.patch index 059ee721..c64b62aa 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0288-bcm2835-dma-Advertise-the-full-DMA-range.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0277-bcm2835-dma-Advertise-the-full-DMA-range.patch @@ -1,7 +1,7 @@ -From 4f12cb13425f321e565fcb0ed671b94e588a9479 Mon Sep 17 00:00:00 2001 +From c55328861f2cd5d6c7f3aafbb1f1610e4e2b1f53 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 22 Jul 2020 17:59:31 +0100 -Subject: [PATCH 288/634] bcm2835-dma: Advertise the full DMA range +Subject: [PATCH 277/828] bcm2835-dma: Advertise the full DMA range Unless the DMA mask is set wider than 32 bits, DMA mapping will use a bounce buffer. @@ -11,8 +11,6 @@ Signed-off-by: Phil Elwell drivers/dma/bcm2835-dma.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) -diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 84b1009da23b..d1127b9058a4 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -41,6 +41,7 @@ @@ -36,7 +34,7 @@ index 84b1009da23b..d1127b9058a4 100644 }; static inline size_t bcm2835_dma_max_frame_length(struct bcm2835_chan *c) -@@ -1180,6 +1183,8 @@ static struct dma_chan *bcm2835_dma_xlate(struct of_phandle_args *spec, +@@ -1180,6 +1183,8 @@ static struct dma_chan *bcm2835_dma_xlat static int bcm2835_dma_probe(struct platform_device *pdev) { @@ -45,7 +43,7 @@ index 84b1009da23b..d1127b9058a4 100644 struct bcm2835_dmadev *od; struct resource *res; void __iomem *base; -@@ -1189,13 +1194,20 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -1189,13 +1194,20 @@ static int bcm2835_dma_probe(struct plat int irq_flags; uint32_t chans_available; char chan_name[BCM2835_DMA_CHAN_NAME_SIZE]; @@ -68,7 +66,7 @@ index 84b1009da23b..d1127b9058a4 100644 if (rc) { dev_err(&pdev->dev, "Unable to set DMA mask\n"); return rc; -@@ -1260,7 +1272,7 @@ static int bcm2835_dma_probe(struct platform_device *pdev) +@@ -1260,7 +1272,7 @@ static int bcm2835_dma_probe(struct plat return -EINVAL; } @@ -77,6 +75,3 @@ index 84b1009da23b..d1127b9058a4 100644 /* Request DMA channel mask from device tree */ if (of_property_read_u32(pdev->dev.of_node, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0289-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch b/root/target/linux/bcm27xx/patches-5.15/950-0278-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0289-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0278-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch index a52469d1..67b2812b 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0289-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0278-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch @@ -1,7 +1,7 @@ -From dc0b7f5f09f9198c8f79cf5dc93c448e2144d61c Mon Sep 17 00:00:00 2001 +From 62b6ba2a4a377ffbf8a870fe3fb2f388a6d10972 Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Wed, 19 Aug 2020 17:02:22 +0300 -Subject: [PATCH 289/634] media: bcm2835: unicam: Select MEDIA_CONTROLLER and +Subject: [PATCH 278/828] media: bcm2835: unicam: Select MEDIA_CONTROLLER and VIDEO_V4L2_SUBDEV_API That is what almost all other drivers appear to be doing. @@ -11,8 +11,6 @@ Signed-off-by: Hristo Venev drivers/media/platform/bcm2835/Kconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig -index ec46e3ef053c..7d5a0e6ba762 100644 --- a/drivers/media/platform/bcm2835/Kconfig +++ b/drivers/media/platform/bcm2835/Kconfig @@ -2,8 +2,10 @@ @@ -27,6 +25,3 @@ index ec46e3ef053c..7d5a0e6ba762 100644 select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0290-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch b/root/target/linux/bcm27xx/patches-5.15/950-0279-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch similarity index 79% rename from root/target/linux/bcm27xx/patches-5.15/0290-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0279-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch index bdeb4dd9..feac2735 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0290-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0279-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch @@ -1,7 +1,7 @@ -From 5c507d2993ffea964f7c2b84d77056fad43fc577 Mon Sep 17 00:00:00 2001 +From e258f855941d3c021c84bcc84d434d0036318d7d Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Wed, 19 Aug 2020 17:05:53 +0300 -Subject: [PATCH 290/634] staging: media: rpivid: Select MEDIA_CONTROLLER and +Subject: [PATCH 279/828] staging: media: rpivid: Select MEDIA_CONTROLLER and MEDIA_CONTROLLER_REQUEST_API MEDIA_CONTROLLER_REQUEST_API is a hidden option. If rpivid depends on it, @@ -16,8 +16,6 @@ Signed-off-by: Hristo Venev drivers/staging/media/rpivid/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/staging/media/rpivid/Kconfig b/drivers/staging/media/rpivid/Kconfig -index 58b470c80db1..304c3edf0e71 100644 --- a/drivers/staging/media/rpivid/Kconfig +++ b/drivers/staging/media/rpivid/Kconfig @@ -3,9 +3,9 @@ @@ -32,6 +30,3 @@ index 58b470c80db1..304c3edf0e71 100644 select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0291-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0280-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0291-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0280-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch index 13c25e91..2e08e2d5 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0291-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0280-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch @@ -1,7 +1,7 @@ -From 2718a4d208663cc700091e4425fbe65ec6a5d675 Mon Sep 17 00:00:00 2001 +From 9d6d90c0e9ecf8f36ca28da9e39d415127312482 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 27 Aug 2020 16:30:26 +0100 -Subject: [PATCH 291/634] media: bcm2835-unicam: Drop WARN on uing direct cache +Subject: [PATCH 280/828] media: bcm2835-unicam: Drop WARN on uing direct cache alias Pi 0&1 pass all ARM accesses through the VPU L2 cache, therefore @@ -16,11 +16,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 7 ------- 1 file changed, 7 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 295db7564614..35ddb97f7f75 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -709,13 +709,6 @@ static void unicam_wr_dma_addr(struct unicam_device *dev, dma_addr_t dmaaddr, +@@ -709,13 +709,6 @@ static void unicam_wr_dma_addr(struct un { dma_addr_t endaddr = dmaaddr + buffer_size; @@ -34,6 +32,3 @@ index 295db7564614..35ddb97f7f75 100644 if (pad_id == IMAGE_PAD) { reg_write(dev, UNICAM_IBSA0, dmaaddr); reg_write(dev, UNICAM_IBEA0, endaddr); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0292-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch b/root/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch similarity index 74% rename from root/target/linux/bcm27xx/patches-5.15/0292-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch index 7df7cf94..2f5d2987 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0292-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch @@ -1,7 +1,7 @@ -From a3640287a8c2d3d52c05b56eac8d3ee1ac7c48c3 Mon Sep 17 00:00:00 2001 +From 692dee676e10354bcf065691bf8a2059676ba9bd Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 10 Jul 2020 12:40:50 +0100 -Subject: [PATCH 292/634] media: i2c: tc358743: Only allow supported pixel fmts +Subject: [PATCH 281/828] media: i2c: tc358743: Only allow supported pixel fmts in set_fmt Fix commit "media: tc358743: Return an appropriate colorspace from @@ -13,11 +13,9 @@ Signed-off-by: Dave Stevenson drivers/media/i2c/tc358743.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c -index 2985dd9e46cd..da166e6a41d6 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c -@@ -1731,8 +1731,10 @@ static int tc358743_set_fmt(struct v4l2_subdev *sd, +@@ -1731,8 +1731,10 @@ static int tc358743_set_fmt(struct v4l2_ u32 code = format->format.code; /* is overwritten by get_fmt */ int ret = tc358743_get_fmt(sd, sd_state, format); @@ -30,6 +28,3 @@ index 2985dd9e46cd..da166e6a41d6 100644 if (ret) return ret; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0293-dwc_otg-whitelist_table-is-now-productlist_table.patch b/root/target/linux/bcm27xx/patches-5.15/950-0282-dwc_otg-whitelist_table-is-now-productlist_table.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0293-dwc_otg-whitelist_table-is-now-productlist_table.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0282-dwc_otg-whitelist_table-is-now-productlist_table.patch index b2224a52..2914065f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0293-dwc_otg-whitelist_table-is-now-productlist_table.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0282-dwc_otg-whitelist_table-is-now-productlist_table.patch @@ -1,17 +1,15 @@ -From 8124b96e672788e7c1df43a88aa89f8aa64a61b9 Mon Sep 17 00:00:00 2001 +From c649548b2353449c02dcf5602c812b9368cc2d19 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 3 Sep 2020 14:02:41 +0100 -Subject: [PATCH 293/634] dwc_otg: whitelist_table is now productlist_table +Subject: [PATCH 282/828] dwc_otg: whitelist_table is now productlist_table --- drivers/usb/core/otg_productlist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/usb/core/otg_productlist.h b/drivers/usb/core/otg_productlist.h -index 1839e169469b..b16e528859a8 100644 --- a/drivers/usb/core/otg_productlist.h +++ b/drivers/usb/core/otg_productlist.h -@@ -139,7 +139,7 @@ static int is_targeted(struct usb_device *dev) +@@ -139,7 +139,7 @@ static int is_targeted(struct usb_device /* NOTE: can't use usb_match_id() since interface caches * aren't set up yet. this is cut/paste from that code. */ @@ -20,6 +18,3 @@ index 1839e169469b..b16e528859a8 100644 #ifdef DEBUG dev_dbg(&dev->dev, "ID: V:%04x P:%04x DC:%04x SC:%04x PR:%04x \n", --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0294-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch b/root/target/linux/bcm27xx/patches-5.15/950-0283-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch similarity index 73% rename from root/target/linux/bcm27xx/patches-5.15/0294-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0283-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch index f4094964..44862f76 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0294-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0283-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch @@ -1,7 +1,7 @@ -From 822365ad80675dd82e8715193380e1bcdc37d15e Mon Sep 17 00:00:00 2001 +From 88b24e6b683a5ecb71763e7c0bed9a4a6212f549 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 3 Sep 2020 17:09:07 +0100 -Subject: [PATCH 294/634] include/firmware: Add enum for +Subject: [PATCH 283/828] include/firmware: Add enum for RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_ID Used by audio and FKMS. @@ -11,11 +11,9 @@ Signed-off-by: Dave Stevenson include/soc/bcm2835/raspberrypi-firmware.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 5ccd6dd0b74e..23f51be65801 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -112,6 +112,7 @@ enum rpi_firmware_property_tag { +@@ -113,6 +113,7 @@ enum rpi_firmware_property_tag { RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF = 0x0004000f, RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF = 0x00040010, RPI_FIRMWARE_FRAMEBUFFER_RELEASE = 0x00048001, @@ -23,6 +21,3 @@ index 5ccd6dd0b74e..23f51be65801 100644 RPI_FIRMWARE_FRAMEBUFFER_SET_DISPLAY_NUM = 0x00048013, RPI_FIRMWARE_FRAMEBUFFER_GET_NUM_DISPLAYS = 0x00040013, RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_SETTINGS = 0x00040014, --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0295-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch b/root/target/linux/bcm27xx/patches-5.15/950-0284-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch similarity index 98% rename from root/target/linux/bcm27xx/patches-5.15/0295-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0284-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch index 2438502c..38fa9731 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0295-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0284-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch @@ -1,7 +1,7 @@ -From cef671803306de7087c11804f41eef28f1d4bec8 Mon Sep 17 00:00:00 2001 +From 3bc981920e05533a269944a67f64f3ad5cecc4bf Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 8 May 2020 10:00:12 +0100 -Subject: [PATCH 295/634] media: i2c: Add driver for Sony IMX477 sensor +Subject: [PATCH 284/828] media: i2c: Add driver for Sony IMX477 sensor Adds a driver for the 12MPix Sony IMX477 CSI2 sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver @@ -23,11 +23,9 @@ Signed-off-by: Naushir Patuck 4 files changed, 2211 insertions(+) create mode 100644 drivers/media/i2c/imx477.c -diff --git a/MAINTAINERS b/MAINTAINERS -index 77181bae6abe..4682efb95b40 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17513,6 +17513,14 @@ T: git git://linuxtv.org/media_tree.git +@@ -17514,6 +17514,14 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml F: drivers/media/i2c/imx412.c @@ -42,8 +40,6 @@ index 77181bae6abe..4682efb95b40 100644 SONY MEMORYSTICK SUBSYSTEM M: Maxim Levitsky M: Alex Dubov -diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig -index f5eec949a93e..a27c1bc63d7d 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -817,6 +817,17 @@ config VIDEO_IMX290 @@ -64,8 +60,6 @@ index f5eec949a93e..a27c1bc63d7d 100644 config VIDEO_IMX319 tristate "Sony IMX319 sensor support" depends on I2C && VIDEO_V4L2 -diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile -index ceba2bbf43d2..d3442a07e1f4 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -124,6 +124,7 @@ obj-$(CONFIG_VIDEO_IMX219) += imx219.o @@ -76,9 +70,6 @@ index ceba2bbf43d2..d3442a07e1f4 100644 obj-$(CONFIG_VIDEO_IMX319) += imx319.o obj-$(CONFIG_VIDEO_IMX334) += imx334.o obj-$(CONFIG_VIDEO_IMX335) += imx335.o -diff --git a/drivers/media/i2c/imx477.c b/drivers/media/i2c/imx477.c -new file mode 100644 -index 000000000000..db615dbe1497 --- /dev/null +++ b/drivers/media/i2c/imx477.c @@ -0,0 +1,2191 @@ @@ -2273,6 +2264,3 @@ index 000000000000..db615dbe1497 +MODULE_AUTHOR("Naushir Patuck "); +MODULE_DESCRIPTION("Sony IMX477 sensor driver"); +MODULE_LICENSE("GPL v2"); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0296-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch b/root/target/linux/bcm27xx/patches-5.15/950-0285-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch similarity index 90% rename from root/target/linux/bcm27xx/patches-5.15/0296-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0285-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch index 36720fef..2c5469b1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0296-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0285-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch @@ -1,7 +1,7 @@ -From 37f3a1f0ec4979d914ace6ce4ddb0f2c2616c9fe Mon Sep 17 00:00:00 2001 +From 072aea36712e7f23afb4bf29fed11829825948c3 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 8 May 2020 09:41:17 +0100 -Subject: [PATCH 296/634] media: i2c: imx477: Add support for adaptive frame +Subject: [PATCH 285/828] media: i2c: imx477: Add support for adaptive frame control Use V4L2_CID_EXPOSURE_AUTO_PRIORITY to control if the driver should @@ -13,8 +13,6 @@ Signed-off-by: Naushir Patuck drivers/media/i2c/imx477.c | 113 +++++++++++++++++++++++++++++-------- 1 file changed, 91 insertions(+), 22 deletions(-) -diff --git a/drivers/media/i2c/imx477.c b/drivers/media/i2c/imx477.c -index db615dbe1497..f76582f27181 100644 --- a/drivers/media/i2c/imx477.c +++ b/drivers/media/i2c/imx477.c @@ -1082,6 +1082,8 @@ struct imx477 { @@ -26,7 +24,7 @@ index db615dbe1497..f76582f27181 100644 /* Current mode */ const struct imx477_mode *mode; -@@ -1278,6 +1280,72 @@ static int imx477_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) +@@ -1278,6 +1280,72 @@ static int imx477_open(struct v4l2_subde return 0; } @@ -99,7 +97,7 @@ index db615dbe1497..f76582f27181 100644 static int imx477_set_ctrl(struct v4l2_ctrl *ctrl) { struct imx477 *imx477 = -@@ -1285,17 +1353,13 @@ static int imx477_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -1285,17 +1353,13 @@ static int imx477_set_ctrl(struct v4l2_c struct i2c_client *client = v4l2_get_subdevdata(&imx477->sd); int ret = 0; @@ -124,7 +122,7 @@ index db615dbe1497..f76582f27181 100644 } /* -@@ -1311,8 +1375,14 @@ static int imx477_set_ctrl(struct v4l2_ctrl *ctrl) +@@ -1311,8 +1375,14 @@ static int imx477_set_ctrl(struct v4l2_c IMX477_REG_VALUE_16BIT, ctrl->val); break; case V4L2_CID_EXPOSURE: @@ -141,7 +139,7 @@ index db615dbe1497..f76582f27181 100644 break; case V4L2_CID_DIGITAL_GAIN: ret = imx477_write_reg(imx477, IMX477_REG_DIGITAL_GAIN, -@@ -1510,9 +1580,8 @@ unsigned int imx477_get_frame_length(const struct imx477_mode *mode, +@@ -1510,9 +1580,8 @@ unsigned int imx477_get_frame_length(con static void imx477_set_framing_limits(struct imx477 *imx477) { @@ -152,7 +150,7 @@ index db615dbe1497..f76582f27181 100644 frm_length_min = imx477_get_frame_length(mode, &mode->timeperframe_min); frm_length_default = -@@ -1522,15 +1591,10 @@ static void imx477_set_framing_limits(struct imx477 *imx477) +@@ -1522,15 +1591,10 @@ static void imx477_set_framing_limits(st __v4l2_ctrl_modify_range(imx477->vblank, frm_length_min - mode->height, IMX477_FRAME_LENGTH_MAX - mode->height, 1, frm_length_default - mode->height); @@ -170,7 +168,7 @@ index db615dbe1497..f76582f27181 100644 /* * Currently PPL is fixed to the mode specified value, so hblank * depends on mode->width only, and is not changeable in any -@@ -1939,6 +2003,11 @@ static int imx477_init_controls(struct imx477 *imx477) +@@ -1939,6 +2003,11 @@ static int imx477_init_controls(struct i IMX477_DGTL_GAIN_MIN, IMX477_DGTL_GAIN_MAX, IMX477_DGTL_GAIN_STEP, IMX477_DGTL_GAIN_DEFAULT); @@ -182,6 +180,3 @@ index db615dbe1497..f76582f27181 100644 imx477->hflip = v4l2_ctrl_new_std(ctrl_hdlr, &imx477_ctrl_ops, V4L2_CID_HFLIP, 0, 1, 1, 0); if (imx477->hflip) --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0297-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch b/root/target/linux/bcm27xx/patches-5.15/950-0286-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch similarity index 64% rename from root/target/linux/bcm27xx/patches-5.15/0297-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0286-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch index 7521e2a3..2e94de28 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0297-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0286-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch @@ -1,7 +1,7 @@ -From 5d2873369cb47538326d0b943617f60dcf536e38 Mon Sep 17 00:00:00 2001 +From 402ce28359452ff0b6975d9ff40fe9f43be440dc Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 19 May 2020 16:56:33 +0100 -Subject: [PATCH 297/634] media: i2c: imx477: Return correct result on sensor +Subject: [PATCH 286/828] media: i2c: imx477: Return correct result on sensor id verification The test should return -EIO if the register read id does not match @@ -12,11 +12,9 @@ Signed-off-by: Naushir Patuck drivers/media/i2c/imx477.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/i2c/imx477.c b/drivers/media/i2c/imx477.c -index f76582f27181..f4cdc2d4158e 100644 --- a/drivers/media/i2c/imx477.c +++ b/drivers/media/i2c/imx477.c -@@ -1919,7 +1919,7 @@ static int imx477_identify_module(struct imx477 *imx477) +@@ -1919,7 +1919,7 @@ static int imx477_identify_module(struct if (val != IMX477_CHIP_ID) { dev_err(&client->dev, "chip id mismatch: %x!=%x\n", IMX477_CHIP_ID, val); @@ -25,6 +23,3 @@ index f76582f27181..f4cdc2d4158e 100644 } return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0298-media-i2c-imx477-Parse-and-register-properties.patch b/root/target/linux/bcm27xx/patches-5.15/950-0287-media-i2c-imx477-Parse-and-register-properties.patch similarity index 77% rename from root/target/linux/bcm27xx/patches-5.15/0298-media-i2c-imx477-Parse-and-register-properties.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0287-media-i2c-imx477-Parse-and-register-properties.patch index 52e80d86..00863536 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0298-media-i2c-imx477-Parse-and-register-properties.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0287-media-i2c-imx477-Parse-and-register-properties.patch @@ -1,7 +1,7 @@ -From 833a9887211e38ccecf569a00bcba8441f23a3f0 Mon Sep 17 00:00:00 2001 +From 6f7e138c837d78d8eb018318dd57fab282053661 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 4 Jul 2020 01:45:08 +0300 -Subject: [PATCH 298/634] media: i2c: imx477: Parse and register properties +Subject: [PATCH 287/828] media: i2c: imx477: Parse and register properties Parse device properties and register controls for them using the V4L2 fwnode properties helpers. @@ -11,11 +11,9 @@ Signed-off-by: Laurent Pinchart drivers/media/i2c/imx477.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) -diff --git a/drivers/media/i2c/imx477.c b/drivers/media/i2c/imx477.c -index f4cdc2d4158e..d0848f3f3c09 100644 --- a/drivers/media/i2c/imx477.c +++ b/drivers/media/i2c/imx477.c -@@ -1957,11 +1957,12 @@ static int imx477_init_controls(struct imx477 *imx477) +@@ -1957,11 +1957,12 @@ static int imx477_init_controls(struct i { struct v4l2_ctrl_handler *ctrl_hdlr; struct i2c_client *client = v4l2_get_subdevdata(&imx477->sd); @@ -29,7 +27,7 @@ index f4cdc2d4158e..d0848f3f3c09 100644 if (ret) return ret; -@@ -2045,6 +2046,15 @@ static int imx477_init_controls(struct imx477 *imx477) +@@ -2045,6 +2046,15 @@ static int imx477_init_controls(struct i goto error; } @@ -45,6 +43,3 @@ index f4cdc2d4158e..d0848f3f3c09 100644 imx477->sd.ctrl_handler = ctrl_hdlr; /* Setup exposure and frame/line length limits. */ --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0299-media-bcm2835-unicam-Always-service-interrupts.patch b/root/target/linux/bcm27xx/patches-5.15/950-0288-media-bcm2835-unicam-Always-service-interrupts.patch similarity index 76% rename from root/target/linux/bcm27xx/patches-5.15/0299-media-bcm2835-unicam-Always-service-interrupts.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0288-media-bcm2835-unicam-Always-service-interrupts.patch index 40f8e52a..04fd7e50 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0299-media-bcm2835-unicam-Always-service-interrupts.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0288-media-bcm2835-unicam-Always-service-interrupts.patch @@ -1,7 +1,7 @@ -From b589da3b957ecb32ecd7585c7b4de15df9d9b52c Mon Sep 17 00:00:00 2001 +From 7edc0a3573e0a0815faa5294237421fc1b4eb984 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 13 May 2020 18:28:27 +0100 -Subject: [PATCH 299/634] media: bcm2835-unicam: Always service interrupts +Subject: [PATCH 288/828] media: bcm2835-unicam: Always service interrupts From when bringing up the driver, there was a check in the isr to ignore interrupts (claiming them handled) should the driver @@ -18,11 +18,9 @@ Signed-off-by: Dave Stevenson drivers/media/platform/bcm2835/bcm2835-unicam.c | 15 --------------- 1 file changed, 15 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 35ddb97f7f75..d4ba911fe7e7 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -782,12 +782,6 @@ static bool unicam_all_nodes_streaming(struct unicam_device *dev) +@@ -782,12 +782,6 @@ static bool unicam_all_nodes_streaming(s return ret; } @@ -35,7 +33,7 @@ index 35ddb97f7f75..d4ba911fe7e7 100644 static void unicam_queue_event_sof(struct unicam_device *unicam) { struct v4l2_event event = { -@@ -815,15 +809,6 @@ static irqreturn_t unicam_isr(int irq, void *dev) +@@ -815,15 +809,6 @@ static irqreturn_t unicam_isr(int irq, v u32 ista, sta; u64 ts; @@ -51,6 +49,3 @@ index 35ddb97f7f75..d4ba911fe7e7 100644 sta = reg_read(unicam, UNICAM_STA); /* Write value back to clear the interrupts */ reg_write(unicam, UNICAM_STA, sta); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0300-media-bcm2835-unicam-Fix-uninitialized-warning.patch b/root/target/linux/bcm27xx/patches-5.15/950-0289-media-bcm2835-unicam-Fix-uninitialized-warning.patch similarity index 60% rename from root/target/linux/bcm27xx/patches-5.15/0300-media-bcm2835-unicam-Fix-uninitialized-warning.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0289-media-bcm2835-unicam-Fix-uninitialized-warning.patch index dda099e9..8fd3d56e 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0300-media-bcm2835-unicam-Fix-uninitialized-warning.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0289-media-bcm2835-unicam-Fix-uninitialized-warning.patch @@ -1,18 +1,16 @@ -From f943e8dbf2fa62acc9d77ce895d3c5899239ac6a Mon Sep 17 00:00:00 2001 +From 3fff6028cfaf9b1d0ca574af041e0863c3bac11b Mon Sep 17 00:00:00 2001 From: Jacko Dirks Date: Tue, 5 May 2020 14:33:31 +0200 -Subject: [PATCH 300/634] media: bcm2835: unicam: Fix uninitialized warning +Subject: [PATCH 289/828] media: bcm2835: unicam: Fix uninitialized warning Signed-off-by: Jacko Dirks --- drivers/media/platform/bcm2835/bcm2835-unicam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index d4ba911fe7e7..8b091d3a0d15 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -1004,7 +1004,7 @@ const struct unicam_fmt *get_first_supported_format(struct unicam_device *dev) +@@ -1004,7 +1004,7 @@ const struct unicam_fmt *get_first_suppo struct v4l2_subdev_mbus_code_enum mbus_code; const struct unicam_fmt *fmt = NULL; unsigned int i; @@ -21,6 +19,3 @@ index d4ba911fe7e7..8b091d3a0d15 100644 for (i = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++i) { memset(&mbus_code, 0, sizeof(mbus_code)); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0301-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch b/root/target/linux/bcm27xx/patches-5.15/950-0290-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch similarity index 81% rename from root/target/linux/bcm27xx/patches-5.15/0301-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0290-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch index 6033edf5..6cabff3f 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0301-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0290-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch @@ -1,7 +1,7 @@ -From c8bfaea94286d96bffdb68069340ad276a039393 Mon Sep 17 00:00:00 2001 +From 8427d4405154c6b5e72416e408d6386e0710246a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 23 Jun 2020 15:14:05 +0100 -Subject: [PATCH 301/634] media: bcm2835-unicam: Fixup review comments from +Subject: [PATCH 290/828] media: bcm2835-unicam: Fixup review comments from Hans. Updates the driver based on the upstream review comments from @@ -13,8 +13,6 @@ Signed-off-by: Dave Stevenson .../media/platform/bcm2835/bcm2835-unicam.c | 70 ++++++++----------- 2 files changed, 39 insertions(+), 43 deletions(-) -diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig -index 7d5a0e6ba762..bd1370199650 100644 --- a/drivers/media/platform/bcm2835/Kconfig +++ b/drivers/media/platform/bcm2835/Kconfig @@ -1,7 +1,7 @@ @@ -43,8 +41,6 @@ index 7d5a0e6ba762..bd1370199650 100644 To compile this driver as a module, choose M here. The module will be called bcm2835-unicam. -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 8b091d3a0d15..7dc96c3e8e83 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -1,6 +1,6 @@ @@ -55,7 +51,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 * * Copyright (C) 2017-2020 - Raspberry Pi (Trading) Ltd. * -@@ -571,9 +571,8 @@ static const struct unicam_fmt *find_format_by_pix(struct unicam_device *dev, +@@ -571,9 +571,8 @@ static const struct unicam_fmt *find_for return NULL; } @@ -67,7 +63,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { if (v4l2_fourcc == fmt->repacked_fourcc) /* Repacking always goes to 16bpp */ -@@ -718,7 +717,7 @@ static void unicam_wr_dma_addr(struct unicam_device *dev, dma_addr_t dmaaddr, +@@ -718,7 +717,7 @@ static void unicam_wr_dma_addr(struct un } } @@ -76,7 +72,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { dma_addr_t start_addr, cur_addr; unsigned int stride = dev->node[IMAGE_PAD].v_fmt.fmt.pix.bytesperline; -@@ -732,7 +731,7 @@ static inline unsigned int unicam_get_lines_done(struct unicam_device *dev) +@@ -732,7 +731,7 @@ static inline unsigned int unicam_get_li return (unsigned int)(cur_addr - start_addr) / stride; } @@ -85,7 +81,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { struct unicam_device *dev = node->dev; struct unicam_buffer *buf; -@@ -751,7 +750,7 @@ static inline void unicam_schedule_next_buffer(struct unicam_node *node) +@@ -751,7 +750,7 @@ static inline void unicam_schedule_next_ unicam_wr_dma_addr(dev, addr, size, node->pad_id); } @@ -94,7 +90,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { struct unicam_device *dev = node->dev; -@@ -763,8 +762,8 @@ static inline void unicam_schedule_dummy_buffer(struct unicam_node *node) +@@ -763,8 +762,8 @@ static inline void unicam_schedule_dummy node->next_frm = NULL; } @@ -105,7 +101,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { node->cur_frm->vb.field = node->m_fmt.field; node->cur_frm->vb.sequence = sequence; -@@ -772,16 +771,6 @@ static inline void unicam_process_buffer_complete(struct unicam_node *node, +@@ -772,16 +771,6 @@ static inline void unicam_process_buffer vb2_buffer_done(&node->cur_frm->vb.vb2_buf, VB2_BUF_STATE_DONE); } @@ -122,7 +118,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 static void unicam_queue_event_sof(struct unicam_device *unicam) { struct v4l2_event event = { -@@ -904,8 +893,8 @@ static int unicam_querycap(struct file *file, void *priv, +@@ -904,8 +893,8 @@ static int unicam_querycap(struct file * struct unicam_node *node = video_drvdata(file); struct unicam_device *dev = node->dev; @@ -133,7 +129,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s", dev_name(&dev->pdev->dev)); -@@ -998,8 +987,8 @@ static int unicam_g_fmt_vid_cap(struct file *file, void *priv, +@@ -998,8 +987,8 @@ static int unicam_g_fmt_vid_cap(struct f return 0; } @@ -144,7 +140,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { struct v4l2_subdev_mbus_code_enum mbus_code; const struct unicam_fmt *fmt = NULL; -@@ -1589,7 +1578,8 @@ static void unicam_disable(struct unicam_device *dev) +@@ -1589,7 +1578,8 @@ static void unicam_disable(struct unicam clk_write(dev, 0); } @@ -154,7 +150,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 { struct unicam_buffer *buf, *tmp; unsigned long flags; -@@ -1597,15 +1587,15 @@ static void unicam_return_buffers(struct unicam_node *node) +@@ -1597,15 +1587,15 @@ static void unicam_return_buffers(struct spin_lock_irqsave(&node->dma_queue_lock, flags); list_for_each_entry_safe(buf, tmp, &node->dma_queue, list) { list_del(&buf->list); @@ -173,7 +169,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 node->cur_frm = NULL; node->next_frm = NULL; -@@ -1622,7 +1612,13 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1622,7 +1612,13 @@ static int unicam_start_streaming(struct int ret; node->streaming = true; @@ -188,7 +184,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 unicam_dbg(3, dev, "Not all nodes are streaming yet."); return 0; } -@@ -1726,7 +1722,7 @@ static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -1726,7 +1722,7 @@ err_vpu_clock: err_pm_put: unicam_runtime_put(dev); err_streaming: @@ -197,7 +193,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 node->streaming = false; return ret; -@@ -1771,7 +1767,7 @@ static void unicam_stop_streaming(struct vb2_queue *vq) +@@ -1771,7 +1767,7 @@ static void unicam_stop_streaming(struct } /* Clear all queued buffers for the node */ @@ -206,7 +202,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 } static int unicam_enum_input(struct file *file, void *priv, -@@ -1789,14 +1785,13 @@ static int unicam_enum_input(struct file *file, void *priv, +@@ -1789,14 +1785,13 @@ static int unicam_enum_input(struct file inp->std = 0; } else if (v4l2_subdev_has_op(dev->sensor, video, s_std)) { inp->capabilities = V4L2_IN_CAP_STD; @@ -223,7 +219,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 return 0; } -@@ -2025,6 +2020,9 @@ static int unicam_s_dv_timings(struct file *file, void *priv, +@@ -2025,6 +2020,9 @@ static int unicam_s_dv_timings(struct fi ret = v4l2_subdev_call(dev->sensor, video, g_dv_timings, ¤t_timings); @@ -233,7 +229,7 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 if (v4l2_match_dv_timings(timings, ¤t_timings, 0, false)) return 0; -@@ -2455,12 +2453,6 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2455,12 +2453,6 @@ static int register_node(struct unicam_d unicam_err(unicam, "Unable to allocate dummy buffer.\n"); return -ENOMEM; } @@ -246,6 +242,3 @@ index 8b091d3a0d15..7dc96c3e8e83 100644 if (pad_id == METADATA_PAD || !v4l2_subdev_has_op(unicam->sensor, video, s_std)) { v4l2_disable_ioctl(&node->video_dev, VIDIOC_S_STD); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0302-media-bcm2835-unicam-Retain-packing-information-on-G.patch b/root/target/linux/bcm27xx/patches-5.15/950-0291-media-bcm2835-unicam-Retain-packing-information-on-G.patch similarity index 78% rename from root/target/linux/bcm27xx/patches-5.15/0302-media-bcm2835-unicam-Retain-packing-information-on-G.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0291-media-bcm2835-unicam-Retain-packing-information-on-G.patch index 89c90da5..f4ac92f1 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0302-media-bcm2835-unicam-Retain-packing-information-on-G.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0291-media-bcm2835-unicam-Retain-packing-information-on-G.patch @@ -1,7 +1,7 @@ -From e5c39181d39d310db2f002d738137ad5674c51ce Mon Sep 17 00:00:00 2001 +From cc5c79ff2363c03db2d229ad5ae6a1f16f0fc0f6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 19 May 2020 11:46:47 +0100 -Subject: [PATCH 302/634] media: bcm2835-unicam: Retain packing information on +Subject: [PATCH 291/828] media: bcm2835-unicam: Retain packing information on G_FMT The change to retrieve the pixel format always on g_fmt didn't @@ -18,11 +18,9 @@ Signed-off-by: Dave Stevenson .../media/platform/bcm2835/bcm2835-unicam.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 7dc96c3e8e83..98ae97c367ea 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -980,8 +980,23 @@ static int unicam_g_fmt_vid_cap(struct file *file, void *priv, +@@ -980,8 +980,23 @@ static int unicam_g_fmt_vid_cap(struct f if (!fmt) return -EINVAL; @@ -48,6 +46,3 @@ index 7dc96c3e8e83..98ae97c367ea 100644 *f = node->v_fmt; return 0; --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0303-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch b/root/target/linux/bcm27xx/patches-5.15/950-0292-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch similarity index 72% rename from root/target/linux/bcm27xx/patches-5.15/0303-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0292-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch index 3f547e71..09f9a5b3 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0303-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0292-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch @@ -1,7 +1,7 @@ -From c17550f4c669f2af62d41443192302cb09f318ea Mon Sep 17 00:00:00 2001 +From 85b5e180ee0045776a8cb0b87ca80accd387f8ff Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 28 May 2020 11:09:48 +0100 -Subject: [PATCH 303/634] media: bcm2835-unicam: change minimum number of +Subject: [PATCH 292/828] media: bcm2835-unicam: change minimum number of vb2_queue buffers to 1 Since the unicam driver was modified to write to a dummy buffer when no @@ -15,11 +15,9 @@ Signed-off-by: David Plowman drivers/media/platform/bcm2835/bcm2835-unicam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c -index 98ae97c367ea..6501fb205e20 100644 --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c -@@ -2428,7 +2428,7 @@ static int register_node(struct unicam_device *unicam, struct unicam_node *node, +@@ -2428,7 +2428,7 @@ static int register_node(struct unicam_d q->buf_struct_size = sizeof(struct unicam_buffer); q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->lock = &node->lock; @@ -28,6 +26,3 @@ index 98ae97c367ea..6501fb205e20 100644 q->dev = &unicam->pdev->dev; ret = vb2_queue_init(q); --- -2.33.1 - diff --git a/root/target/linux/bcm27xx/patches-5.15/0304-staging-fbtft-Add-support-for-display-variants.patch b/root/target/linux/bcm27xx/patches-5.15/950-0293-staging-fbtft-Add-support-for-display-variants.patch similarity index 84% rename from root/target/linux/bcm27xx/patches-5.15/0304-staging-fbtft-Add-support-for-display-variants.patch rename to root/target/linux/bcm27xx/patches-5.15/950-0293-staging-fbtft-Add-support-for-display-variants.patch index 91f5ca0f..4653a5fd 100644 --- a/root/target/linux/bcm27xx/patches-5.15/0304-staging-fbtft-Add-support-for-display-variants.patch +++ b/root/target/linux/bcm27xx/patches-5.15/950-0293-staging-fbtft-Add-support-for-display-variants.patch @@ -1,7 +1,7 @@ -From c18f95d2d74f4cb357c5d8ee793ed43bbe0464ef Mon Sep 17 00:00:00 2001 +From 75c3e47d6f43fdb76e440708bd064bfd64c74375 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 1 Sep 2020 18:15:27 +0100 -Subject: [PATCH 304/634] staging/fbtft: Add support for display variants +Subject: [PATCH 293/828] staging/fbtft: Add support for display variants Display variants are intended as a replacement for the now-deleted fbtft_device drivers. Drivers can register additional compatible @@ -18,8 +18,6 @@ Signed-off-by: Phil Elwell drivers/staging/fbtft/fbtft.h | 28 +++++++++++++++++----- 3 files changed, 74 insertions(+), 8 deletions(-) -diff --git a/drivers/staging/fbtft/fb_st7735r.c b/drivers/staging/fbtft/fb_st7735r.c -index 9670a8989b91..1a3219657cbb 100644 --- a/drivers/staging/fbtft/fb_st7735r.c +++ b/drivers/staging/fbtft/fb_st7735r.c @@ -16,6 +16,10 @@ @@ -33,7 +31,7 @@ index 9670a8989b91..1a3219657cbb 100644 static const s16 default_init_sequence[] = { -1, MIPI_DCS_SOFT_RESET, -2, 150, /* delay */ -@@ -94,6 +98,14 @@ static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye) +@@ -94,6 +98,14 @@ static void set_addr_win(struct fbtft_pa write_reg(par, MIPI_DCS_WRITE_MEMORY_START); } @@ -86,8 +84,6 @@ index 9670a8989b91..1a3219657cbb 100644 MODULE_DESCRIPTION("FB driver for the ST7735R LCD Controller"); MODULE_AUTHOR("Noralf Tronnes"); -diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c -index ed992ca605eb..6b194bf3089c 100644 --- a/drivers/staging/fbtft/fbtft-core.c +++ b/drivers/staging/fbtft/fbtft-core.c @@ -24,6 +24,8 @@ @@ -99,7 +95,7 @@ index ed992ca605eb..6b194bf3089c 100644 #include