-LINUX_VERSION-5.15 = .185
-LINUX_KERNEL_HASH-5.15.185 = 3d03eb798910f32929f7fda5a56e4bb1a121f10bde320d6f3063639c009313dc
+LINUX_VERSION-5.15 = .186
+LINUX_KERNEL_HASH-5.15.186 = 9c4efdd7ee550d524c017b5dae27725374526311e983661850cd880af671cb2a
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -4236,14 +4236,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4243,14 +4243,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
static int bcm2708_fb_register(struct bcm2708_fb *fb)
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1097,6 +1097,30 @@ fb_blank(struct fb_info *info, int blank
+@@ -1099,6 +1099,30 @@ fb_blank(struct fb_info *info, int blank
}
EXPORT_SYMBOL(fb_blank);
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
unsigned long arg)
{
-@@ -1105,6 +1129,7 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1107,6 +1131,7 @@ static long do_fb_ioctl(struct fb_info *
struct fb_fix_screeninfo fix;
struct fb_cmap cmap_from;
struct fb_cmap_user cmap;
void __user *argp = (void __user *)arg;
long ret = 0;
-@@ -1184,6 +1209,15 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1186,6 +1211,15 @@ static long do_fb_ioctl(struct fb_info *
unlock_fb_info(info);
console_unlock();
break;
default:
lock_fb_info(info);
fb = info->fbops;
-@@ -1323,6 +1357,7 @@ static long fb_compat_ioctl(struct file
+@@ -1325,6 +1359,7 @@ static long fb_compat_ioctl(struct file
case FBIOPAN_DISPLAY:
case FBIOGET_CON2FBMAP:
case FBIOPUT_CON2FBMAP:
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_devic
+@@ -1115,7 +1115,9 @@ static int usbhid_start(struct hid_devic
*/
switch (hid->collection->usage) {
case HID_GD_MOUSE:
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -1950,7 +1950,7 @@ static int tc358743_probe_of(struct tc35
+@@ -1954,7 +1954,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. */
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -1609,11 +1609,20 @@ static int tc358743_get_mbus_config(stru
+@@ -1613,11 +1613,20 @@ static int tc358743_get_mbus_config(stru
struct v4l2_mbus_config *cfg)
{
struct tc358743_state *state = to_state(sd);
switch (state->csi_lanes_in_use) {
case 1:
-@@ -2056,6 +2065,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -2060,6 +2069,7 @@ static int tc358743_probe(struct i2c_cli
if (pdata) {
state->pdata = *pdata;
state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -1979,6 +1979,7 @@ static int tc358743_probe_of(struct tc35
+@@ -1983,6 +1983,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.
*/
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 tc35
+@@ -1996,23 +1997,41 @@ static int tc358743_probe_of(struct tc35
state->pdata.refclk_hz * state->pdata.pll_prd;
/*
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_cli
+@@ -2070,6 +2087,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;
int err;
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
-@@ -2098,7 +2116,8 @@ static int tc358743_probe(struct i2c_cli
+@@ -2102,7 +2120,8 @@ static int tc358743_probe(struct i2c_cli
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
/* i2c access */
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -1691,12 +1691,23 @@ static int tc358743_enum_mbus_code(struc
+@@ -1695,12 +1695,23 @@ static int tc358743_enum_mbus_code(struc
return 0;
}
if (format->pad != 0)
return -EINVAL;
-@@ -1706,23 +1717,7 @@ static int tc358743_get_fmt(struct v4l2_
+@@ -1710,23 +1721,7 @@ static int tc358743_get_fmt(struct v4l2_
format->format.height = state->timings.bt.height;
format->format.field = V4L2_FIELD_NONE;
return 0;
}
-@@ -1737,18 +1732,11 @@ static int tc358743_set_fmt(struct v4l2_
+@@ -1741,18 +1736,11 @@ static int tc358743_set_fmt(struct v4l2_
int ret = tc358743_get_fmt(sd, sd_state, format);
format->format.code = code;
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
-@@ -1126,6 +1126,7 @@ static int usbhid_start(struct hid_devic
+@@ -1129,6 +1129,7 @@ static int usbhid_start(struct hid_devic
interval = hid_kbpoll_interval;
break;
}
case V4L2_PIX_FMT_YUV422M: descr = "Planar YUV 4:2:2 (N-C)"; break;
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
-@@ -742,6 +742,10 @@ struct v4l2_pix_format {
+@@ -750,6 +750,10 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /* Sunxi Tiled NV12 Format */
#define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit packed depth confidence information */
#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit dithered RGB */
/* Compressed formats */
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
-@@ -775,6 +775,7 @@ struct v4l2_pix_format {
+@@ -783,6 +783,7 @@ struct v4l2_pix_format {
#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H') /* UVC Payload Header metadata */
#define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */
#define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */
/* Compressed formats */
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
-@@ -776,6 +776,7 @@ struct v4l2_pix_format {
+@@ -784,6 +784,7 @@ struct v4l2_pix_format {
#define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */
#define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */
#define V4L2_META_FMT_SENSOR_DATA v4l2_fourcc('S', 'E', 'N', 'S') /* Sensor Ancillary metadata */
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -2006,6 +2006,7 @@ static int tc358743_probe_of(struct tc35
+@@ -2010,6 +2010,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);
case V4L2_PIX_FMT_Z16: descr = "16-bit Depth"; break;
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
-@@ -574,6 +574,7 @@ struct v4l2_pix_format {
+@@ -582,6 +582,7 @@ struct v4l2_pix_format {
/* Grey bit-packed formats */
#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
#define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') /* 10 Greyscale, MIPI RAW10 packed */
case V4L2_PIX_FMT_Z16: descr = "16-bit Depth"; break;
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
-@@ -575,6 +575,7 @@ struct v4l2_pix_format {
+@@ -583,6 +583,7 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
#define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') /* 10 Greyscale, MIPI RAW10 packed */
#define V4L2_PIX_FMT_Y12P v4l2_fourcc('Y', '1', '2', 'P') /* 12 Greyscale, MIPI RAW12 packed */
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -1731,8 +1731,10 @@ static int tc358743_set_fmt(struct v4l2_
+@@ -1735,8 +1735,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);
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
-@@ -276,6 +276,7 @@ static int raspberrypi_discover_clocks(s
+@@ -278,6 +278,7 @@ static int raspberrypi_discover_clocks(s
case RPI_FIRMWARE_CORE_CLK_ID:
case RPI_FIRMWARE_M2MC_CLK_ID:
case RPI_FIRMWARE_V3D_CLK_ID:
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -2008,7 +2008,7 @@ static int tc358743_probe_of(struct tc35
+@@ -2012,7 +2012,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);
============
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
-@@ -1883,6 +1883,7 @@ struct v4l2_querymenu {
+@@ -1891,6 +1891,7 @@ struct v4l2_querymenu {
#define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100
#define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x0200
#define V4L2_CTRL_FLAG_MODIFY_LAYOUT 0x0400
};
#define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0)
-@@ -278,6 +280,7 @@ static int raspberrypi_discover_clocks(s
+@@ -280,6 +282,7 @@ static int raspberrypi_discover_clocks(s
case RPI_FIRMWARE_V3D_CLK_ID:
case RPI_FIRMWARE_HEVC_CLK_ID:
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
-@@ -281,6 +281,7 @@ static int raspberrypi_discover_clocks(s
+@@ -283,6 +283,7 @@ static int raspberrypi_discover_clocks(s
case RPI_FIRMWARE_HEVC_CLK_ID:
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
case RPI_FIRMWARE_VEC_CLK_ID:
init.name = devm_kasprintf(rpi->dev, GFP_KERNEL,
"fw-clk-%s",
-@@ -230,9 +269,9 @@ static struct clk_hw *raspberrypi_clk_re
+@@ -232,9 +271,9 @@ static struct clk_hw *raspberrypi_clk_re
clk_hw_set_rate_range(&data->hw, min_rate, max_rate);
if (ret) {
dev_err(rpi->dev, "Failed to initialize clkdev\n");
return ERR_PTR(ret);
-@@ -271,30 +310,27 @@ static int raspberrypi_discover_clocks(s
+@@ -273,30 +312,27 @@ static int raspberrypi_discover_clocks(s
return ret;
while (clks->id) {
},
[RPI_FIRMWARE_V3D_CLK_ID] = {
.export = true,
-@@ -278,6 +291,19 @@ static struct clk_hw *raspberrypi_clk_re
+@@ -280,6 +293,19 @@ static struct clk_hw *raspberrypi_clk_re
}
}
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1635,14 +1635,7 @@ static void do_remove_conflicting_frameb
+@@ -1637,14 +1637,7 @@ static void do_remove_conflicting_frameb
* If it's not a platform device, at least print a warning. A
* fix would add code to remove the device from the system.
*/
#include <linux/seq_file.h>
#include <linux/console.h>
#include <linux/kmod.h>
-@@ -1612,36 +1611,18 @@ static void do_remove_conflicting_frameb
+@@ -1614,36 +1613,18 @@ static void do_remove_conflicting_frameb
/* check all firmware fbs and kick off if the base addr overlaps */
for_each_registered_fb(i) {
struct apertures_struct *gen_aper;
}
}
}
-@@ -1979,13 +1960,9 @@ EXPORT_SYMBOL(register_framebuffer);
+@@ -1981,13 +1962,9 @@ EXPORT_SYMBOL(register_framebuffer);
void
unregister_framebuffer(struct fb_info *fb_info)
{
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
-@@ -580,6 +580,22 @@ struct mm_struct {
+@@ -583,6 +583,22 @@ struct mm_struct {
#ifdef CONFIG_IOMMU_SUPPORT
u32 pasid;
#endif
} __randomize_layout;
/*
-@@ -606,6 +622,66 @@ static inline cpumask_t *mm_cpumask(stru
+@@ -609,6 +625,66 @@ static inline cpumask_t *mm_cpumask(stru
return (struct cpumask *)&mm->cpu_bitmap;
}
}
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -389,6 +389,9 @@ static struct pernet_operations ip_rt_pr
+@@ -393,6 +393,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
{
if (ret < 0)
goto out;
-@@ -567,6 +573,17 @@ full_scan:
+@@ -569,6 +575,17 @@ full_scan:
return err;
}
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
-@@ -862,6 +862,8 @@
+@@ -857,6 +857,8 @@
rpmcc: clock-controller {
compatible = "qcom,rpmcc-apq8064", "qcom,rpmcc";
#clock-cells = <1>;
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
-@@ -6016,3 +6017,34 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -6039,3 +6040,34 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0xa73f, dpc_log_size);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0xa76e, dpc_log_size);
#endif
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3220,6 +3220,18 @@ static const struct usb_device_id uvc_id
+@@ -3231,6 +3231,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
* __mdiobus_read - Unlocked version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -757,7 +783,10 @@ int __mdiobus_read(struct mii_bus *bus,
-
- lockdep_assert_held_once(&bus->mdio_lock);
-
-- retval = bus->read(bus, addr, regnum);
-+ if (bus->read_paged)
-+ retval = bus->read_paged(bus, addr, bus->selected_page[addr], regnum);
-+ else
-+ retval = bus->read(bus, addr, regnum);
-
- trace_mdio_access(bus, 1, addr, regnum, retval, retval);
- mdiobus_stats_acct(&bus->stats[addr], true, retval);
-@@ -767,6 +796,40 @@ int __mdiobus_read(struct mii_bus *bus,
+@@ -761,7 +787,10 @@ int __mdiobus_read(struct mii_bus *bus,
+ return -ENXIO;
+
+ if (bus->read)
+- retval = bus->read(bus, addr, regnum);
++ if (bus->read_paged)
++ retval = bus->read_paged(bus, addr, bus->selected_page[addr], regnum);
++ else
++ retval = bus->read(bus, addr, regnum);
+ else
+ retval = -EOPNOTSUPP;
+
+@@ -773,6 +802,40 @@ int __mdiobus_read(struct mii_bus *bus,
EXPORT_SYMBOL(__mdiobus_read);
/**
* __mdiobus_write - Unlocked version of the mdiobus_write function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -783,7 +846,10 @@ int __mdiobus_write(struct mii_bus *bus,
-
- lockdep_assert_held_once(&bus->mdio_lock);
-
-- err = bus->write(bus, addr, regnum, val);
-+ if (bus->write_paged)
-+ err = bus->write_paged(bus, addr, bus->selected_page[addr], regnum, val);
-+ else
-+ err = bus->write(bus, addr, regnum, val);
-
- trace_mdio_access(bus, 0, addr, regnum, val, err);
- mdiobus_stats_acct(&bus->stats[addr], false, err);
-@@ -793,6 +859,39 @@ int __mdiobus_write(struct mii_bus *bus,
+@@ -793,7 +856,10 @@ int __mdiobus_write(struct mii_bus *bus,
+ return -ENXIO;
+
+ if (bus->write)
+- err = bus->write(bus, addr, regnum, val);
++ if (bus->write_paged)
++ err = bus->write_paged(bus, addr, bus->selected_page[addr], regnum, val);
++ else
++ err = bus->write(bus, addr, regnum, val);
+ else
+ err = -EOPNOTSUPP;
+
+@@ -805,6 +871,39 @@ int __mdiobus_write(struct mii_bus *bus,
EXPORT_SYMBOL(__mdiobus_write);
/**
* __mdiobus_modify_changed - Unlocked version of the mdiobus_modify function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -825,6 +924,43 @@ int __mdiobus_modify_changed(struct mii_
+@@ -837,6 +936,43 @@ int __mdiobus_modify_changed(struct mii_
EXPORT_SYMBOL_GPL(__mdiobus_modify_changed);
/**
* mdiobus_read_nested - Nested version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -850,6 +986,79 @@ int mdiobus_read_nested(struct mii_bus *
+@@ -862,6 +998,79 @@ int mdiobus_read_nested(struct mii_bus *
EXPORT_SYMBOL(mdiobus_read_nested);
/**
* mdiobus_read - Convenience function for reading a given MII mgmt register
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -872,6 +1081,29 @@ int mdiobus_read(struct mii_bus *bus, in
+@@ -884,6 +1093,29 @@ int mdiobus_read(struct mii_bus *bus, in
EXPORT_SYMBOL(mdiobus_read);
/**
* mdiobus_write_nested - Nested version of the mdiobus_write function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -898,6 +1130,33 @@ int mdiobus_write_nested(struct mii_bus
+@@ -910,6 +1142,33 @@ int mdiobus_write_nested(struct mii_bus
EXPORT_SYMBOL(mdiobus_write_nested);
/**
* mdiobus_write - Convenience function for writing a given MII mgmt register
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -921,6 +1180,30 @@ int mdiobus_write(struct mii_bus *bus, i
+@@ -933,6 +1192,30 @@ int mdiobus_write(struct mii_bus *bus, i
EXPORT_SYMBOL(mdiobus_write);
/**
* mdiobus_modify - Convenience function for modifying a given mdio device
* register
* @bus: the mii_bus struct
-@@ -942,6 +1225,51 @@ int mdiobus_modify(struct mii_bus *bus,
+@@ -954,6 +1237,51 @@ int mdiobus_modify(struct mii_bus *bus,
EXPORT_SYMBOL_GPL(mdiobus_modify);
/**