LINUX_VERSION-4.14 = .193
LINUX_VERSION-4.19 = .138
-LINUX_VERSION-5.4 = .60
+LINUX_VERSION-5.4 = .61
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
LINUX_KERNEL_HASH-4.19.138 = d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02
-LINUX_KERNEL_HASH-5.4.60 = add2ab2385c40fc9a3dfebe403e56da8500b633dc7dc42cf0c670c61d151a223
+LINUX_KERNEL_HASH-5.4.61 = 86f13d050f6389c5a1727fa81510ee8eceac795297bc584f443354609617fea4
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -8481,8 +8481,6 @@ int alloc_contig_range(unsigned long sta
+@@ -8486,8 +8486,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, false)) {
--- a/Makefile
+++ b/Makefile
-@@ -1242,6 +1242,9 @@ ifneq ($(dtstree),)
+@@ -1258,6 +1258,9 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
/* Map a single continuous physical area into the IOMMU.
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
-@@ -375,7 +375,7 @@ static dma_addr_t xen_swiotlb_map_page(s
+@@ -381,7 +381,7 @@ static dma_addr_t xen_swiotlb_map_page(s
* we can safely return the device addr and not worry about bounce
* buffering it.
*/
!range_straddles_page_boundary(phys, size) &&
!xen_arch_need_swiotlb(dev, phys, dev_addr) &&
swiotlb_force != SWIOTLB_FORCE)
-@@ -397,7 +397,7 @@ static dma_addr_t xen_swiotlb_map_page(s
+@@ -403,7 +403,7 @@ static dma_addr_t xen_swiotlb_map_page(s
/*
* Ensure that the address returned is DMA'ble
*/
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -15142,6 +15142,14 @@ S: Maintained
+@@ -15143,6 +15143,14 @@ S: Maintained
F: drivers/media/i2c/imx214.c
F: Documentation/devicetree/bindings/media/i2c/sony,imx214.txt
--- a/Makefile
+++ b/Makefile
-@@ -1242,7 +1242,7 @@ ifneq ($(dtstree),)
+@@ -1258,7 +1258,7 @@ ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -5573,7 +5573,7 @@ T: git git://github.com/anholt/linux
+@@ -5574,7 +5574,7 @@ T: git git://github.com/anholt/linux
S: Supported
F: drivers/gpu/drm/vc4/
F: include/uapi/drm/vc4_drm.h
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3034,6 +3034,7 @@ static int __spi_validate_bits_per_word(
+@@ -3053,6 +3053,7 @@ static int __spi_validate_bits_per_word(
*/
int spi_setup(struct spi_device *spi)
{
unsigned bad_bits, ugly_bits;
int status;
-@@ -3051,6 +3052,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3070,6 +3071,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;
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1775,15 +1775,6 @@ static int of_spi_parse_dt(struct spi_co
+@@ -1787,15 +1787,6 @@ static int of_spi_parse_dt(struct spi_co
}
spi->chip_select = value;
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3046,8 +3046,8 @@ int spi_setup(struct spi_device *spi)
+@@ -3065,8 +3065,8 @@ int spi_setup(struct spi_device *spi)
if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) {
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -15195,6 +15195,14 @@ T: git git://linuxtv.org/media_tree.git
+@@ -15196,6 +15196,14 @@ T: git git://linuxtv.org/media_tree.git
S: Maintained
F: drivers/media/i2c/imx355.c
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -4962,6 +4962,24 @@ F: include/linux/*fence.h
+@@ -4963,6 +4963,24 @@ F: include/linux/*fence.h
F: Documentation/driver-api/dma-buf.rst
T: git git://anongit.freedesktop.org/drm/drm-misc
--- a/Makefile
+++ b/Makefile
-@@ -471,8 +471,9 @@ KBUILD_LDFLAGS :=
+@@ -487,7 +487,7 @@ KBUILD_LDFLAGS :=
GCC_PLUGINS_CFLAGS :=
CLANG_FLAGS :=
--export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC
--export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE PAHOLE LEX YACC AWK INSTALLKERNEL
-+export ARCH SRCARCH SUBARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD
-+export CC CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE PAHOLE LEX YACC AWK INSTALLKERNEL
-+
- export PERL PYTHON PYTHON2 PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
+-export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
++export ARCH SRCARCH SUBARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
+ export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE LEX YACC AWK INSTALLKERNEL
+ export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
-
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -6855,7 +6855,7 @@ static void __ref alloc_node_mem_map(str
+@@ -6860,7 +6860,7 @@ static void __ref alloc_node_mem_map(str
mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
-@@ -752,6 +752,24 @@ static int jffs2_mknod (struct inode *di
+@@ -756,6 +756,24 @@ static int jffs2_mknod (struct inode *di
return ret;
}
static int jffs2_rename (struct inode *old_dir_i, struct dentry *old_dentry,
struct inode *new_dir_i, struct dentry *new_dentry,
unsigned int flags)
-@@ -762,7 +780,7 @@ static int jffs2_rename (struct inode *o
+@@ -766,7 +784,7 @@ static int jffs2_rename (struct inode *o
uint8_t type;
uint32_t now;
return -EINVAL;
/* The VFS will check for us and prevent trying to rename a
-@@ -828,9 +846,14 @@ static int jffs2_rename (struct inode *o
+@@ -832,9 +850,14 @@ static int jffs2_rename (struct inode *o
if (d_is_dir(old_dentry) && !victim_f)
inc_nlink(new_dir_i);
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
-@@ -777,18 +777,31 @@ static int jffs2_rename (struct inode *o
+@@ -781,18 +781,31 @@ static int jffs2_rename (struct inode *o
int ret;
struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb);
struct jffs2_inode_info *victim_f = NULL;
victim_f = JFFS2_INODE_INFO(d_inode(new_dentry));
if (d_is_dir(new_dentry)) {
struct jffs2_full_dirent *fd;
-@@ -823,7 +836,7 @@ static int jffs2_rename (struct inode *o
+@@ -827,7 +840,7 @@ static int jffs2_rename (struct inode *o
if (ret)
return ret;
/* There was a victim. Kill it off nicely */
if (d_is_dir(new_dentry))
clear_nlink(d_inode(new_dentry));
-@@ -849,6 +862,12 @@ static int jffs2_rename (struct inode *o
+@@ -853,6 +866,12 @@ static int jffs2_rename (struct inode *o
if (flags & RENAME_WHITEOUT)
/* Replace with whiteout */
ret = jffs2_whiteout(old_dir_i, old_dentry);
else
/* Unlink the original */
ret = jffs2_do_unlink(c, JFFS2_INODE_INFO(old_dir_i),
-@@ -880,7 +899,7 @@ static int jffs2_rename (struct inode *o
+@@ -884,7 +903,7 @@ static int jffs2_rename (struct inode *o
return ret;
}
--- a/Makefile
+++ b/Makefile
-@@ -697,11 +697,11 @@ KBUILD_CFLAGS += $(call cc-disable-warni
+@@ -713,11 +713,11 @@ KBUILD_CFLAGS += $(call cc-disable-warni
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -773,6 +773,16 @@ struct xps_map {
+@@ -776,6 +776,16 @@ struct xps_map {
#define XPS_MIN_MAP_ALLOC ((L1_CACHE_ALIGN(offsetof(struct xps_map, queues[1])) \
- sizeof(struct xps_map)) / sizeof(u16))
/*
* This structure holds all XPS maps for device. Maps are indexed by CPU.
*/
-@@ -1376,6 +1386,9 @@ struct net_device_ops {
+@@ -1379,6 +1389,9 @@ struct net_device_ops {
const struct sk_buff *skb,
u16 rxq_index,
u32 flow_id);
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
-@@ -2103,6 +2103,75 @@ put_table:
+@@ -2105,6 +2105,75 @@ put_table:
}
/**
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
-@@ -2143,6 +2143,7 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -2145,6 +2145,7 @@ int dev_pm_opp_adjust_voltage(struct dev
struct opp_table *opp_table;
struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV);
int r = 0;
/* Find the opp_table */
opp_table = _find_opp_table(dev);
-@@ -2172,8 +2173,17 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -2174,8 +2175,17 @@ int dev_pm_opp_adjust_voltage(struct dev
goto adjust_unlock;
opp->supplies->u_volt = u_volt;
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -13436,6 +13436,8 @@ S: Maintained
+@@ -13437,6 +13437,8 @@ S: Maintained
F: drivers/bus/fsl-mc/
F: Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
F: Documentation/networking/device_drivers/freescale/dpaa2/overview.rst
+Users: Userspace drivers and management tools
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -13438,6 +13438,7 @@ F: Documentation/devicetree/bindings/mis
+@@ -13439,6 +13439,7 @@ F: Documentation/devicetree/bindings/mis
F: Documentation/networking/device_drivers/freescale/dpaa2/overview.rst
F: Documentation/networking/dpaa2/overview.rst
F: include/uapi/linux/fsl_mc.h
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -10824,6 +10824,7 @@ M: Microchip Linux Driver Support <UNGLi
+@@ -10825,6 +10825,7 @@ M: Microchip Linux Driver Support <UNGLi
L: netdev@vger.kernel.org
S: Supported
F: drivers/net/ethernet/mscc/
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17354,6 +17354,13 @@ S: Maintained
+@@ -17355,6 +17355,13 @@ S: Maintained
F: drivers/input/serio/userio.c
F: include/uapi/linux/userio.h
#define DSA_TAG_PROTO_SJA1105_VALUE 13
#define DSA_TAG_PROTO_KSZ8795_VALUE 14
+#define DSA_TAG_PROTO_OCELOT_VALUE 15
+ #define DSA_TAG_PROTO_RTL4_A_VALUE 17
enum dsa_tag_protocol {
- DSA_TAG_PROTO_NONE = DSA_TAG_PROTO_NONE_VALUE,
-@@ -59,6 +60,7 @@ enum dsa_tag_protocol {
+@@ -60,6 +61,7 @@ enum dsa_tag_protocol {
DSA_TAG_PROTO_8021Q = DSA_TAG_PROTO_8021Q_VALUE,
DSA_TAG_PROTO_SJA1105 = DSA_TAG_PROTO_SJA1105_VALUE,
DSA_TAG_PROTO_KSZ8795 = DSA_TAG_PROTO_KSZ8795_VALUE,
+ DSA_TAG_PROTO_OCELOT = DSA_TAG_PROTO_OCELOT_VALUE,
+ DSA_TAG_PROTO_RTL4_A = DSA_TAG_PROTO_RTL4_A_VALUE,
};
- struct packet_type;
--- a/net/dsa/Kconfig
+++ b/net/dsa/Kconfig
-@@ -80,6 +80,13 @@ config NET_DSA_TAG_KSZ
- Say Y if you want to enable support for tagging frames for the
- Microchip 8795/9477/9893 families of switches.
+@@ -87,6 +87,13 @@ config NET_DSA_TAG_RTL4_A
+ Realtek switches with 4 byte protocol A tags, sich as found in
+ the Realtek RTL8366RB.
+config NET_DSA_TAG_OCELOT
+ tristate "Tag driver for Ocelot family of switches"
help
--- a/net/dsa/Makefile
+++ b/net/dsa/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_NET_DSA_TAG_GSWIP) += tag_g
- obj-$(CONFIG_NET_DSA_TAG_KSZ) += tag_ksz.o
+@@ -13,6 +13,7 @@ obj-$(CONFIG_NET_DSA_TAG_KSZ) += tag_ksz
+ obj-$(CONFIG_NET_DSA_TAG_RTL4_A) += tag_rtl4_a.o
obj-$(CONFIG_NET_DSA_TAG_LAN9303) += tag_lan9303.o
obj-$(CONFIG_NET_DSA_TAG_MTK) += tag_mtk.o
+obj-$(CONFIG_NET_DSA_TAG_OCELOT) += tag_ocelot.o
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17359,6 +17359,7 @@ M: Vladimir Oltean <vladimir.oltean@nxp.
+@@ -17360,6 +17360,7 @@ M: Vladimir Oltean <vladimir.oltean@nxp.
M: Claudiu Manoil <claudiu.manoil@nxp.com>
L: netdev@vger.kernel.org
S: Maintained
static const u32 vsc9959_gcb_regmap[] = {
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
-@@ -552,6 +552,7 @@ struct dsa_switch_ops {
+@@ -554,6 +554,7 @@ struct dsa_switch_ops {
*/
netdev_tx_t (*port_deferred_xmit)(struct dsa_switch *ds, int port,
struct sk_buff *skb);
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -6574,6 +6574,14 @@ F: drivers/ptp/ptp_qoriq_debugfs.c
+@@ -6575,6 +6575,14 @@ F: drivers/ptp/ptp_qoriq_debugfs.c
F: include/linux/fsl/ptp_qoriq.h
F: Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
-@@ -284,6 +284,11 @@ struct dsa_switch {
+@@ -286,6 +286,11 @@ struct dsa_switch {
*/
bool vlan_filtering;
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -8772,6 +8772,7 @@ L: jailhouse-dev@googlegroups.com
+@@ -8773,6 +8773,7 @@ L: jailhouse-dev@googlegroups.com
S: Maintained
F: arch/x86/kernel/jailhouse.c
F: arch/x86/include/asm/jailhouse_para.h
+ $ keyctl load secure kmk-master "load 'cat secure_key.blob'" @u
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -9073,6 +9073,17 @@ F: include/keys/trusted-type.h
+@@ -9074,6 +9074,17 @@ F: include/keys/trusted-type.h
F: security/keys/trusted.c
F: include/keys/trusted.h
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -9083,6 +9083,7 @@ F: include/keys/secure-type.h
+@@ -9084,6 +9084,7 @@ F: include/keys/secure-type.h
F: security/keys/secure_key.c
F: security/keys/securekey_desc.c
F: security/keys/securekey_desc.h
--- a/virt/kvm/arm/mmu.c
+++ b/virt/kvm/arm/mmu.c
-@@ -1335,9 +1335,11 @@ static int stage2_pudp_test_and_clear_yo
+@@ -1341,9 +1341,11 @@ static int stage2_pudp_test_and_clear_yo
* @guest_ipa: The IPA at which to insert the mapping
* @pa: The physical address of the device
* @size: The size of the mapping
{
phys_addr_t addr, end;
int ret = 0;
-@@ -1348,7 +1350,7 @@ int kvm_phys_addr_ioremap(struct kvm *kv
+@@ -1354,7 +1356,7 @@ int kvm_phys_addr_ioremap(struct kvm *kv
pfn = __phys_to_pfn(pa);
for (addr = guest_ipa; addr < end; addr += PAGE_SIZE) {
if (writable)
pte = kvm_s2pte_mkwrite(pte);
-@@ -2347,7 +2349,7 @@ int kvm_arch_prepare_memory_region(struc
+@@ -2356,7 +2358,7 @@ int kvm_arch_prepare_memory_region(struc
ret = kvm_phys_addr_ioremap(kvm, gpa, pa,
vm_end - vm_start,
--- a/virt/kvm/arm/mmu.c
+++ b/virt/kvm/arm/mmu.c
-@@ -1375,6 +1375,30 @@ out:
+@@ -1381,6 +1381,30 @@ out:
return ret;
}
static bool transparent_hugepage_adjust(kvm_pfn_t *pfnp, phys_addr_t *ipap)
{
kvm_pfn_t pfn = *pfnp;
-@@ -1719,8 +1743,23 @@ static int user_mem_abort(struct kvm_vcp
+@@ -1725,8 +1749,23 @@ static int user_mem_abort(struct kvm_vcp
* 3 levels, i.e, PMD is not folded.
*/
if (vma_pagesize == PMD_SIZE ||
up_read(¤t->mm->mmap_sem);
/* We need minimum second+third level pages */
-@@ -1749,6 +1788,11 @@ static int user_mem_abort(struct kvm_vcp
+@@ -1755,6 +1794,11 @@ static int user_mem_abort(struct kvm_vcp
if (is_error_noslot_pfn(pfn))
return -EFAULT;
if (kvm_is_device_pfn(pfn)) {
mem_type = PAGE_S2_DEVICE;
flags |= KVM_S2PTE_FLAG_IS_IOMAP;
-@@ -2337,6 +2381,9 @@ int kvm_arch_prepare_memory_region(struc
+@@ -2346,6 +2390,9 @@ int kvm_arch_prepare_memory_region(struc
gpa_t gpa = mem->guest_phys_addr +
(vm_start - mem->userspace_addr);
phys_addr_t pa;
pa = (phys_addr_t)vma->vm_pgoff << PAGE_SHIFT;
pa += vm_start - vma->vm_start;
-@@ -2347,9 +2394,13 @@ int kvm_arch_prepare_memory_region(struc
+@@ -2356,9 +2403,13 @@ int kvm_arch_prepare_memory_region(struc
goto out;
}
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -12502,7 +12502,7 @@ M: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
+@@ -12503,7 +12503,7 @@ M: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
L: linux-pci@vger.kernel.org
S: Supported
F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -12499,6 +12499,7 @@ F: drivers/ntb/hw/mscc/
+@@ -12500,6 +12500,7 @@ F: drivers/ntb/hw/mscc/
PCI DRIVER FOR MOBIVEIL PCIE IP
M: Karthikeyan Mitran <m.karthikeyan@mobiveil.co.in>
M: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -6596,6 +6596,12 @@ F: drivers/soc/fsl/qe/
+@@ -6597,6 +6597,12 @@ F: drivers/soc/fsl/qe/
F: include/soc/fsl/*qe*.h
F: include/soc/fsl/*ucc*.h
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1785,13 +1785,8 @@ static int of_spi_parse_dt(struct spi_co
+@@ -1797,13 +1797,8 @@ static int of_spi_parse_dt(struct spi_co
spi->mode |= SPI_CS_HIGH;
/* Device speed */