-LINUX_VERSION-5.15 = .180
-LINUX_KERNEL_HASH-5.15.180 = f51f68b8bbe60aca5e1ff3781f7e5d2ca6a31dd299c8446c39bf880bfff1cd39
+LINUX_VERSION-5.15 = .181
+LINUX_KERNEL_HASH-5.15.181 = 3346436d9efae810195b40922c6b73001d1a4dd7e5eeb5a7e8ed85e63960da38
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1256,6 +1256,7 @@ static const struct v4l2_subdev_ops ov72
+@@ -1258,6 +1258,7 @@ static const struct v4l2_subdev_ops ov72
static int ov7251_probe(struct i2c_client *client)
{
struct device *dev = &client->dev;
struct fwnode_handle *endpoint;
struct ov7251 *ov7251;
-@@ -1341,7 +1342,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1343,7 +1344,7 @@ static int ov7251_probe(struct i2c_clien
mutex_init(&ov7251->lock);
ov7251->ctrls.lock = &ov7251->lock;
v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
-@@ -1377,6 +1378,15 @@ static int ov7251_probe(struct i2c_clien
+@@ -1379,6 +1380,15 @@ static int ov7251_probe(struct i2c_clien
goto free_ctrl;
}
xhci_err(xhci, "Tried to move enqueue past ring segment\n");
return;
}
-@@ -3316,7 +3319,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
+@@ -3319,7 +3322,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
* that clears the EHB.
*/
while (xhci_handle_event(xhci, ir) > 0) {
continue;
xhci_update_erst_dequeue(xhci, ir, event_ring_deq);
event_ring_deq = ir->event_ring->dequeue;
-@@ -3458,7 +3461,8 @@ static int prepare_ring(struct xhci_hcd
+@@ -3461,7 +3464,8 @@ static int prepare_ring(struct xhci_hcd
}
}
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1334,7 +1334,8 @@ static int ov7251_probe(struct i2c_clien
+@@ -1336,7 +1336,8 @@ static int ov7251_probe(struct i2c_clien
return PTR_ERR(ov7251->analog_regulator);
}
-- ov7251->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_HIGH);
+- ov7251->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
+ ov7251->enable_gpio = devm_gpiod_get_optional(dev, "enable",
-+ GPIOD_OUT_HIGH);
++ GPIOD_OUT_LOW);
if (IS_ERR(ov7251->enable_gpio)) {
dev_err(dev, "cannot get enable gpio\n");
return PTR_ERR(ov7251->enable_gpio);
--- a/drivers/gpu/drm/drm_panel.c
+++ b/drivers/gpu/drm/drm_panel.c
-@@ -61,6 +61,9 @@ void drm_panel_init(struct drm_panel *pa
+@@ -64,6 +64,9 @@ void drm_panel_init(struct drm_panel *pa
panel->dev = dev;
panel->funcs = funcs;
panel->connector_type = connector_type;
}
EXPORT_SYMBOL(drm_panel_init);
-@@ -294,16 +297,18 @@ int of_drm_get_panel_orientation(const s
+@@ -297,16 +300,18 @@ int of_drm_get_panel_orientation(const s
if (ret < 0)
return ret;
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3771,14 +3771,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3774,14 +3774,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
unsigned int num_trbs;
unsigned int start_cycle, num_sgs = 0;
unsigned int enqd_len, block_len, trb_buff_len, full_len;
full_len = urb->transfer_buffer_length;
/* If we have scatter/gather list, we use it. */
if (urb->num_sgs && !(urb->transfer_flags & URB_DMA_MAP_SINGLE)) {
-@@ -3815,6 +3816,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3818,6 +3819,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
start_cycle = ring->cycle_state;
send_addr = addr;
/* Queue the TRBs, even if they are zero-length */
for (enqd_len = 0; first_trb || enqd_len < full_len;
enqd_len += trb_buff_len) {
-@@ -3827,6 +3839,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3830,6 +3842,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (enqd_len + trb_buff_len > full_len)
trb_buff_len = full_len - enqd_len;
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/types.h>
-@@ -1501,9 +1502,16 @@ static const struct of_device_id ov7251_
+@@ -1503,9 +1504,16 @@ static const struct of_device_id ov7251_
};
MODULE_DEVICE_TABLE(of, ov7251_of_match);
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1255,11 +1255,74 @@ static const struct v4l2_subdev_ops ov72
+@@ -1257,11 +1257,74 @@ static const struct v4l2_subdev_ops ov72
.pad = &ov7251_subdev_pad_ops,
};
struct ov7251 *ov7251;
u8 chip_id_high, chip_id_low, chip_rev;
int ret;
-@@ -1271,24 +1334,9 @@ static int ov7251_probe(struct i2c_clien
+@@ -1273,24 +1336,9 @@ static int ov7251_probe(struct i2c_clien
ov7251->i2c_client = client;
ov7251->dev = dev;
static int ov7251_set_exposure(struct ov7251 *ov7251, s32 exposure)
{
u16 reg;
-@@ -1143,6 +1237,11 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1145,6 +1239,11 @@ static int ov7251_s_stream(struct v4l2_s
mutex_lock(&ov7251->lock);
if (enable) {
ret = ov7251_set_register_array(ov7251,
ov7251->current_mode->data,
ov7251->current_mode->data_size);
-@@ -1326,6 +1425,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1328,6 +1427,7 @@ static int ov7251_probe(struct i2c_clien
struct ov7251 *ov7251;
u8 chip_id_high, chip_id_low, chip_rev;
int ret;
ov7251 = devm_kzalloc(dev, sizeof(struct ov7251), GFP_KERNEL);
if (!ov7251)
-@@ -1364,6 +1464,11 @@ static int ov7251_probe(struct i2c_clien
+@@ -1366,6 +1466,11 @@ static int ov7251_probe(struct i2c_clien
dev_err(dev, "could not set xclk frequency\n");
return ret;
}
[OV7251_24_MHZ] = 24000000,
};
-@@ -1424,6 +1448,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1426,6 +1450,7 @@ static int ov7251_probe(struct i2c_clien
struct device *dev = &client->dev;
struct ov7251 *ov7251;
u8 chip_id_high, chip_id_low, chip_rev;
int ret;
int i;
-@@ -1439,35 +1464,39 @@ static int ov7251_probe(struct i2c_clien
+@@ -1441,35 +1466,39 @@ static int ov7251_probe(struct i2c_clien
return ret;
/* get system clock (xclk) */
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1442,12 +1442,44 @@ out_free_bus_cfg:
+@@ -1444,12 +1444,44 @@ out_free_bus_cfg:
return ret;
}
unsigned int rate = 0;
int ret;
int i;
-@@ -1589,34 +1621,10 @@ static int ov7251_probe(struct i2c_clien
+@@ -1591,34 +1623,10 @@ static int ov7251_probe(struct i2c_clien
goto free_entity;
}
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/types.h>
-@@ -884,6 +885,24 @@ static void ov7251_set_power_off(struct
+@@ -886,6 +887,24 @@ static void ov7251_set_power_off(struct
ov7251_regulators_disable(ov7251);
}
static int ov7251_s_power(struct v4l2_subdev *sd, int on)
{
struct ov7251 *ov7251 = to_ov7251(sd);
-@@ -985,7 +1004,7 @@ static int ov7251_s_ctrl(struct v4l2_ctr
+@@ -987,7 +1006,7 @@ static int ov7251_s_ctrl(struct v4l2_ctr
/* v4l2_ctrl_lock() locks our mutex */
return 0;
switch (ctrl->id) {
-@@ -1009,6 +1028,8 @@ static int ov7251_s_ctrl(struct v4l2_ctr
+@@ -1011,6 +1030,8 @@ static int ov7251_s_ctrl(struct v4l2_ctr
break;
}
return ret;
}
-@@ -1261,10 +1282,15 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1263,10 +1284,15 @@ static int ov7251_s_stream(struct v4l2_s
mutex_lock(&ov7251->lock);
if (enable) {
ret = ov7251_set_register_array(ov7251,
ov7251->current_mode->data,
-@@ -1273,23 +1299,29 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1275,23 +1301,29 @@ static int ov7251_s_stream(struct v4l2_s
dev_err(ov7251->dev, "could not set mode %dx%d\n",
ov7251->current_mode->width,
ov7251->current_mode->height);
return ret;
}
-@@ -1615,23 +1647,24 @@ static int ov7251_probe(struct i2c_clien
+@@ -1617,23 +1649,24 @@ static int ov7251_probe(struct i2c_clien
goto free_ctrl;
}
}
ret = ov7251_read_reg(ov7251, OV7251_TIMING_FORMAT1,
-@@ -1639,7 +1672,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1641,7 +1674,7 @@ static int ov7251_probe(struct i2c_clien
if (ret < 0) {
dev_err(dev, "could not read vflip value\n");
ret = -ENODEV;
}
ret = ov7251_read_reg(ov7251, OV7251_TIMING_FORMAT2,
-@@ -1647,10 +1680,12 @@ static int ov7251_probe(struct i2c_clien
+@@ -1649,10 +1682,12 @@ static int ov7251_probe(struct i2c_clien
if (ret < 0) {
dev_err(dev, "could not read hflip value\n");
ret = -ENODEV;
ret = v4l2_async_register_subdev(&ov7251->sd);
if (ret < 0) {
-@@ -1662,6 +1697,9 @@ static int ov7251_probe(struct i2c_clien
+@@ -1664,6 +1699,9 @@ static int ov7251_probe(struct i2c_clien
return 0;
power_down:
ov7251_s_power(&ov7251->sd, false);
free_entity:
-@@ -1683,9 +1721,18 @@ static int ov7251_remove(struct i2c_clie
+@@ -1685,9 +1723,18 @@ static int ov7251_remove(struct i2c_clie
v4l2_ctrl_handler_free(&ov7251->ctrls);
mutex_destroy(&ov7251->lock);
static const struct of_device_id ov7251_of_match[] = {
{ .compatible = "ovti,ov7251" },
{ /* sentinel */ }
-@@ -1703,6 +1750,7 @@ static struct i2c_driver ov7251_i2c_driv
+@@ -1705,6 +1752,7 @@ static struct i2c_driver ov7251_i2c_driv
.of_match_table = ov7251_of_match,
.acpi_match_table = ov7251_acpi_match,
.name = "ov7251",
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -903,43 +903,6 @@ static int __maybe_unused ov7251_sensor_
+@@ -905,43 +905,6 @@ static int __maybe_unused ov7251_sensor_
return ov7251_set_power_on(ov7251);
}
static int ov7251_set_hflip(struct ov7251 *ov7251, s32 value)
{
u8 val = ov7251->timing_format2;
-@@ -1384,10 +1347,6 @@ exit:
+@@ -1386,10 +1349,6 @@ exit:
return ret;
}
static const struct v4l2_subdev_video_ops ov7251_video_ops = {
.s_stream = ov7251_s_stream,
.g_frame_interval = ov7251_get_frame_interval,
-@@ -1405,7 +1364,6 @@ static const struct v4l2_subdev_pad_ops
+@@ -1407,7 +1366,6 @@ static const struct v4l2_subdev_pad_ops
};
static const struct v4l2_subdev_ops ov7251_subdev_ops = {
.video = &ov7251_video_ops,
.pad = &ov7251_subdev_pad_ops,
};
-@@ -1701,7 +1659,7 @@ err_pm_runtime:
+@@ -1703,7 +1661,7 @@ err_pm_runtime:
pm_runtime_disable(ov7251->dev);
pm_runtime_put_noidle(ov7251->dev);
power_down:
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1249,6 +1249,14 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1251,6 +1251,14 @@ static int ov7251_s_stream(struct v4l2_s
if (ret < 0)
return ret;
.link_freq = 0, /* an index in link_freq[] */
.exposure_max = 552,
.exposure_def = 504,
-@@ -1155,11 +1152,6 @@ static int ov7251_set_format(struct v4l2
+@@ -1157,11 +1154,6 @@ static int ov7251_set_format(struct v4l2
__crop->height = new_mode->height;
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
ret = __v4l2_ctrl_s_ctrl(ov7251->link_freq,
new_mode->link_freq);
if (ret < 0)
-@@ -1319,11 +1311,6 @@ static int ov7251_set_frame_interval(str
+@@ -1321,11 +1313,6 @@ static int ov7251_set_frame_interval(str
new_mode = ov7251_find_mode_by_ival(ov7251, &fi->interval);
if (new_mode != ov7251->current_mode) {
ret = __v4l2_ctrl_s_ctrl(ov7251->link_freq,
new_mode->link_freq);
if (ret < 0)
-@@ -1571,10 +1558,9 @@ static int ov7251_probe(struct i2c_clien
+@@ -1573,10 +1560,9 @@ static int ov7251_probe(struct i2c_clien
V4L2_CID_TEST_PATTERN,
ARRAY_SIZE(ov7251_test_pattern_menu) - 1,
0, 0, ov7251_test_pattern_menu);
.exposure_max = 552,
.exposure_def = 504,
.timeperframe = {
-@@ -1152,11 +1147,6 @@ static int ov7251_set_format(struct v4l2
+@@ -1154,11 +1149,6 @@ static int ov7251_set_format(struct v4l2
__crop->height = new_mode->height;
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
ret = __v4l2_ctrl_modify_range(ov7251->exposure,
1, new_mode->exposure_max,
1, new_mode->exposure_def);
-@@ -1311,11 +1301,6 @@ static int ov7251_set_frame_interval(str
+@@ -1313,11 +1303,6 @@ static int ov7251_set_frame_interval(str
new_mode = ov7251_find_mode_by_ival(ov7251, &fi->interval);
if (new_mode != ov7251->current_mode) {
ret = __v4l2_ctrl_modify_range(ov7251->exposure,
1, new_mode->exposure_max,
1, new_mode->exposure_def);
-@@ -1464,6 +1449,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1466,6 +1451,7 @@ static int ov7251_probe(struct i2c_clien
{
struct v4l2_fwnode_device_properties props;
struct device *dev = &client->dev;
struct ov7251 *ov7251;
unsigned int rate = 0;
int ret;
-@@ -1561,13 +1547,12 @@ static int ov7251_probe(struct i2c_clien
+@@ -1563,13 +1549,12 @@ static int ov7251_probe(struct i2c_clien
v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
V4L2_CID_PIXEL_RATE, OV7251_PIXEL_CLOCK,
OV7251_PIXEL_CLOCK, 1, OV7251_PIXEL_CLOCK);
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1529,6 +1529,8 @@ static int ov7251_probe(struct i2c_clien
+@@ -1531,6 +1531,8 @@ static int ov7251_probe(struct i2c_clien
mutex_init(&ov7251->lock);
/* Cached register values */
u8 aec_pk_manual;
-@@ -1131,6 +1134,7 @@ static int ov7251_set_format(struct v4l2
+@@ -1133,6 +1136,7 @@ static int ov7251_set_format(struct v4l2
struct v4l2_mbus_framefmt *__format;
struct v4l2_rect *__crop;
const struct ov7251_mode_info *new_mode;
int ret = 0;
mutex_lock(&ov7251->lock);
-@@ -1147,6 +1151,11 @@ static int ov7251_set_format(struct v4l2
+@@ -1149,6 +1153,11 @@ static int ov7251_set_format(struct v4l2
__crop->height = new_mode->height;
if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
ret = __v4l2_ctrl_modify_range(ov7251->exposure,
1, new_mode->exposure_max,
1, new_mode->exposure_def);
-@@ -1452,6 +1461,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1454,6 +1463,7 @@ static int ov7251_probe(struct i2c_clien
struct v4l2_ctrl *ctrl;
struct ov7251 *ov7251;
unsigned int rate = 0;
int ret;
int i;
-@@ -1531,7 +1541,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1533,7 +1543,7 @@ static int ov7251_probe(struct i2c_clien
ov7251->current_mode = &ov7251_mode_info_data[0];
ov7251->ctrls.lock = &ov7251->lock;
v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
-@@ -1555,6 +1565,12 @@ static int ov7251_probe(struct i2c_clien
+@@ -1557,6 +1567,12 @@ static int ov7251_probe(struct i2c_clien
0, link_freq);
if (ctrl)
ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
struct v4l2_ctrl *hblank;
/* Cached register values */
-@@ -1167,10 +1166,6 @@ static int ov7251_set_format(struct v4l2
+@@ -1169,10 +1168,6 @@ static int ov7251_set_format(struct v4l2
if (ret < 0)
goto exit;
ov7251->current_mode = new_mode;
}
-@@ -1321,10 +1316,6 @@ static int ov7251_set_frame_interval(str
+@@ -1323,10 +1318,6 @@ static int ov7251_set_frame_interval(str
if (ret < 0)
goto exit;
ov7251->current_mode = new_mode;
}
-@@ -1550,8 +1541,8 @@ static int ov7251_probe(struct i2c_clien
+@@ -1552,8 +1543,8 @@ static int ov7251_probe(struct i2c_clien
V4L2_CID_VFLIP, 0, 1, 1, 0);
ov7251->exposure = v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
V4L2_CID_EXPOSURE, 1, 32, 1, 32);
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -1390,14 +1390,14 @@ static int ov7251_check_hwcfg(struct ov7
+@@ -1392,14 +1392,14 @@ static int ov7251_check_hwcfg(struct ov7
freq_found = false;
for (i = 0; i < bus_cfg.nr_of_link_frequencies; i++) {
#define OV7251_PIXEL_CLOCK 48000000
struct reg_value {
-@@ -1212,15 +1224,34 @@ static int ov7251_get_selection(struct v
+@@ -1214,15 +1226,34 @@ static int ov7251_get_selection(struct v
{
struct ov7251 *ov7251 = to_ov7251(sd);
.timeperframe = {
.numerator = 100,
.denominator = 9043
-@@ -1289,6 +1037,14 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1291,6 +1039,14 @@ static int ov7251_s_stream(struct v4l2_s
ov7251->current_mode->height);
goto err_power_down;
}
.exposure_def = 504,
.vts = 0x23c,
.timeperframe = {
-@@ -915,8 +913,8 @@ static int ov7251_set_format(struct v4l2
+@@ -917,8 +915,8 @@ static int ov7251_set_format(struct v4l2
h_blank, 1, h_blank);
__v4l2_ctrl_s_ctrl(ov7251->hblank, h_blank);
1, new_mode->exposure_def);
if (ret < 0)
goto exit;
-@@ -1092,8 +1090,8 @@ static int ov7251_set_frame_interval(str
+@@ -1094,8 +1092,8 @@ static int ov7251_set_frame_interval(str
new_mode = ov7251_find_mode_by_ival(ov7251, &fi->interval);
if (new_mode != ov7251->current_mode) {
static int ov7251_regulators_enable(struct ov7251 *ov7251)
{
int ret;
-@@ -789,13 +788,13 @@ static int ov7251_enum_frame_ival(struct
+@@ -791,13 +790,13 @@ static int ov7251_enum_frame_ival(struct
unsigned int index = fie->index;
unsigned int i;
return 0;
}
}
-@@ -854,23 +853,18 @@ static inline u32 avg_fps(const struct v
+@@ -856,23 +855,18 @@ static inline u32 avg_fps(const struct v
return (t->denominator + (t->numerator >> 1)) / t->numerator;
}
dist = abs(fps_req - fps_tmp);
-@@ -880,7 +874,7 @@ ov7251_find_mode_by_ival(struct ov7251 *
+@@ -882,7 +876,7 @@ ov7251_find_mode_by_ival(struct ov7251 *
}
}
}
static int ov7251_set_format(struct v4l2_subdev *sd,
-@@ -914,7 +908,8 @@ static int ov7251_set_format(struct v4l2
+@@ -916,7 +910,8 @@ static int ov7251_set_format(struct v4l2
__v4l2_ctrl_s_ctrl(ov7251->hblank, h_blank);
ret = __v4l2_ctrl_modify_range(ov7251->exposure, 1,
1, new_mode->exposure_def);
if (ret < 0)
goto exit;
-@@ -1036,11 +1031,11 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1038,11 +1033,11 @@ static int ov7251_s_stream(struct v4l2_s
goto err_power_down;
}
ret = ov7251_write_reg(ov7251, OV7251_VTS_HIGH,
if (ret)
goto err_power_down;
ret = __v4l2_ctrl_handler_setup(&ov7251->ctrls);
-@@ -1073,7 +1068,7 @@ static int ov7251_get_frame_interval(str
+@@ -1075,7 +1070,7 @@ static int ov7251_get_frame_interval(str
struct ov7251 *ov7251 = to_ov7251(subdev);
mutex_lock(&ov7251->lock);
mutex_unlock(&ov7251->lock);
return 0;
-@@ -1083,28 +1078,29 @@ static int ov7251_set_frame_interval(str
+@@ -1085,28 +1080,29 @@ static int ov7251_set_frame_interval(str
struct v4l2_subdev_frame_interval *fi)
{
struct ov7251 *ov7251 = to_ov7251(subdev);
exit:
mutex_unlock(&ov7251->lock);
-@@ -1316,6 +1312,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1318,6 +1314,7 @@ static int ov7251_probe(struct i2c_clien
mutex_init(&ov7251->lock);
ov7251->current_mode = &ov7251_mode_info_data[0];
/* Cached register values */
u8 aec_pk_manual;
-@@ -688,6 +691,19 @@ static int ov7251_set_vflip(struct ov725
+@@ -690,6 +693,19 @@ static int ov7251_set_vflip(struct ov725
return ret;
}
static int ov7251_set_test_pattern(struct ov7251 *ov7251, s32 value)
{
u8 val = ov7251->pre_isp_00;
-@@ -714,9 +730,20 @@ static int ov7251_s_ctrl(struct v4l2_ctr
+@@ -716,9 +732,20 @@ static int ov7251_s_ctrl(struct v4l2_ctr
{
struct ov7251 *ov7251 = container_of(ctrl->handler,
struct ov7251, ctrls);
if (!pm_runtime_get_if_in_use(ov7251->dev))
return 0;
-@@ -737,6 +764,9 @@ static int ov7251_s_ctrl(struct v4l2_ctr
+@@ -739,6 +766,9 @@ static int ov7251_s_ctrl(struct v4l2_ctr
case V4L2_CID_VFLIP:
ret = ov7251_set_vflip(ov7251, ctrl->val);
break;
default:
ret = -EINVAL;
break;
-@@ -1030,14 +1060,6 @@ static int ov7251_s_stream(struct v4l2_s
+@@ -1032,14 +1062,6 @@ static int ov7251_s_stream(struct v4l2_s
ov7251->current_mode->height);
goto err_power_down;
}
ret = __v4l2_ctrl_handler_setup(&ov7251->ctrls);
if (ret < 0) {
dev_err(ov7251->dev, "could not sync v4l2 controls\n");
-@@ -1088,12 +1110,13 @@ static int ov7251_set_frame_interval(str
+@@ -1090,12 +1112,13 @@ static int ov7251_set_frame_interval(str
ret = __v4l2_ctrl_modify_range(ov7251->exposure, 1,
new_ival->vts -
OV7251_EXPOSURE_OFFSET,
if (ret < 0)
goto exit;
-@@ -1233,7 +1256,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1235,7 +1258,7 @@ static int ov7251_probe(struct i2c_clien
struct v4l2_ctrl *ctrl;
struct ov7251 *ov7251;
unsigned int rate = 0;
int ret;
int i;
-@@ -1314,7 +1337,7 @@ static int ov7251_probe(struct i2c_clien
+@@ -1316,7 +1339,7 @@ static int ov7251_probe(struct i2c_clien
ov7251->current_mode = &ov7251_mode_info_data[0];
ov7251->current_ival = &ov7251_frame_ival_info_data[0];
ov7251->ctrls.lock = &ov7251->lock;
v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
-@@ -1345,6 +1368,13 @@ static int ov7251_probe(struct i2c_clien
+@@ -1347,6 +1370,13 @@ static int ov7251_probe(struct i2c_clien
if (ov7251->hblank)
ov7251->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY;
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
-@@ -752,7 +752,7 @@ static int ov7251_s_ctrl(struct v4l2_ctr
+@@ -754,7 +754,7 @@ static int ov7251_s_ctrl(struct v4l2_ctr
case V4L2_CID_EXPOSURE:
ret = ov7251_set_exposure(ov7251, ctrl->val);
break;
ret = ov7251_set_gain(ov7251, ctrl->val);
break;
case V4L2_CID_TEST_PATTERN:
-@@ -1346,8 +1346,8 @@ static int ov7251_probe(struct i2c_clien
+@@ -1348,8 +1348,8 @@ static int ov7251_probe(struct i2c_clien
V4L2_CID_VFLIP, 0, 1, 1, 0);
ov7251->exposure = v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
V4L2_CID_EXPOSURE, 1, 32, 1, 32);
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3771,7 +3771,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3774,7 +3774,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
unsigned int num_trbs;
unsigned int start_cycle, num_sgs = 0;
unsigned int enqd_len, block_len, trb_buff_len, full_len;
u32 field, length_field, remainder, maxpacket;
u64 addr, send_addr;
-@@ -3817,14 +3817,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3820,14 +3820,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
send_addr = addr;
if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG &&
}
/* Queue the TRBs, even if they are zero-length */
-@@ -3839,7 +3834,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3842,7 +3837,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (enqd_len + trb_buff_len > full_len)
trb_buff_len = full_len - enqd_len;
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1353,10 +1353,8 @@ void b53_phylink_validate(struct dsa_swi
+@@ -1363,10 +1363,8 @@ void b53_phylink_validate(struct dsa_swi
phylink_set(mask, 100baseT_Full);
}
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2312,7 +2312,7 @@ static const struct b53_chip_data b53_sw
+@@ -2322,7 +2322,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5325_DEVICE_ID,
.dev_name = "BCM5325",
.vlans = 16,
.arl_bins = 2,
.arl_buckets = 1024,
.imp_port = 5,
-@@ -2323,7 +2323,7 @@ static const struct b53_chip_data b53_sw
+@@ -2333,7 +2333,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5365_DEVICE_ID,
.dev_name = "BCM5365",
.vlans = 256,
.arl_bins = 2,
.arl_buckets = 1024,
.imp_port = 5,
-@@ -2334,7 +2334,7 @@ static const struct b53_chip_data b53_sw
+@@ -2344,7 +2344,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5389_DEVICE_ID,
.dev_name = "BCM5389",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2348,7 +2348,7 @@ static const struct b53_chip_data b53_sw
+@@ -2358,7 +2358,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5395_DEVICE_ID,
.dev_name = "BCM5395",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2362,7 +2362,7 @@ static const struct b53_chip_data b53_sw
+@@ -2372,7 +2372,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5397_DEVICE_ID,
.dev_name = "BCM5397",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2376,7 +2376,7 @@ static const struct b53_chip_data b53_sw
+@@ -2386,7 +2386,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM5398_DEVICE_ID,
.dev_name = "BCM5398",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2390,7 +2390,7 @@ static const struct b53_chip_data b53_sw
+@@ -2400,7 +2400,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53115_DEVICE_ID,
.dev_name = "BCM53115",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.vta_regs = B53_VTA_REGS,
-@@ -2404,7 +2404,7 @@ static const struct b53_chip_data b53_sw
+@@ -2414,7 +2414,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53125_DEVICE_ID,
.dev_name = "BCM53125",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2446,7 +2446,7 @@ static const struct b53_chip_data b53_sw
+@@ -2456,7 +2456,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53010_DEVICE_ID,
.dev_name = "BCM53010",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2488,7 +2488,7 @@ static const struct b53_chip_data b53_sw
+@@ -2498,7 +2498,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53018_DEVICE_ID,
.dev_name = "BCM53018",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2502,7 +2502,7 @@ static const struct b53_chip_data b53_sw
+@@ -2512,7 +2512,7 @@ static const struct b53_chip_data b53_sw
.chip_id = BCM53019_DEVICE_ID,
.dev_name = "BCM53019",
.vlans = 4096,
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
-@@ -2644,7 +2644,6 @@ static int b53_switch_init(struct b53_de
+@@ -2654,7 +2654,6 @@ static int b53_switch_init(struct b53_de
dev->cpu_port = 5;
}
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1295,12 +1295,6 @@ static void b53_adjust_link(struct dsa_s
+@@ -1305,12 +1305,6 @@ static void b53_adjust_link(struct dsa_s
return;
}
}
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1226,7 +1226,7 @@ static void b53_adjust_link(struct dsa_s
+@@ -1236,7 +1236,7 @@ static void b53_adjust_link(struct dsa_s
return;
/* Enable flow control on BCM5301x's CPU port */
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2310,7 +2310,6 @@ static const struct b53_chip_data b53_sw
+@@ -2320,7 +2320,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 2,
.arl_buckets = 1024,
.imp_port = 5,
.duplex_reg = B53_DUPLEX_STAT_FE,
},
{
-@@ -2321,7 +2320,6 @@ static const struct b53_chip_data b53_sw
+@@ -2331,7 +2330,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 2,
.arl_buckets = 1024,
.imp_port = 5,
.duplex_reg = B53_DUPLEX_STAT_FE,
},
{
-@@ -2332,7 +2330,6 @@ static const struct b53_chip_data b53_sw
+@@ -2342,7 +2340,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2346,7 +2343,6 @@ static const struct b53_chip_data b53_sw
+@@ -2356,7 +2353,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2360,7 +2356,6 @@ static const struct b53_chip_data b53_sw
+@@ -2370,7 +2366,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS_9798,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2374,7 +2369,6 @@ static const struct b53_chip_data b53_sw
+@@ -2384,7 +2379,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS_9798,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2389,7 +2383,6 @@ static const struct b53_chip_data b53_sw
+@@ -2399,7 +2393,6 @@ static const struct b53_chip_data b53_sw
.arl_buckets = 1024,
.vta_regs = B53_VTA_REGS,
.imp_port = 8,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
-@@ -2402,7 +2395,6 @@ static const struct b53_chip_data b53_sw
+@@ -2412,7 +2405,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2416,7 +2408,6 @@ static const struct b53_chip_data b53_sw
+@@ -2426,7 +2418,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2430,7 +2421,6 @@ static const struct b53_chip_data b53_sw
+@@ -2440,7 +2431,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS_63XX,
.duplex_reg = B53_DUPLEX_STAT_63XX,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK_63XX,
-@@ -2444,7 +2434,6 @@ static const struct b53_chip_data b53_sw
+@@ -2454,7 +2444,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2458,7 +2447,6 @@ static const struct b53_chip_data b53_sw
+@@ -2468,7 +2457,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2472,7 +2460,6 @@ static const struct b53_chip_data b53_sw
+@@ -2482,7 +2470,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2486,7 +2473,6 @@ static const struct b53_chip_data b53_sw
+@@ -2496,7 +2483,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2500,7 +2486,6 @@ static const struct b53_chip_data b53_sw
+@@ -2510,7 +2496,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2514,7 +2499,6 @@ static const struct b53_chip_data b53_sw
+@@ -2524,7 +2509,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2528,7 +2512,6 @@ static const struct b53_chip_data b53_sw
+@@ -2538,7 +2522,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2557,7 +2540,6 @@ static const struct b53_chip_data b53_sw
+@@ -2567,7 +2550,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 1024,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2571,7 +2553,6 @@ static const struct b53_chip_data b53_sw
+@@ -2581,7 +2563,6 @@ static const struct b53_chip_data b53_sw
.arl_bins = 4,
.arl_buckets = 256,
.imp_port = 8,
.vta_regs = B53_VTA_REGS,
.duplex_reg = B53_DUPLEX_STAT_GE,
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
-@@ -2597,7 +2578,6 @@ static int b53_switch_init(struct b53_de
+@@ -2607,7 +2588,6 @@ static int b53_switch_init(struct b53_de
dev->vta_regs[2] = chip->vta_regs[2];
dev->jumbo_pm_reg = chip->jumbo_pm_reg;
dev->imp_port = chip->imp_port;
dev->num_vlans = chip->vlans;
dev->num_arl_bins = chip->arl_bins;
dev->num_arl_buckets = chip->arl_buckets;
-@@ -2629,13 +2609,6 @@ static int b53_switch_init(struct b53_de
+@@ -2639,13 +2619,6 @@ static int b53_switch_init(struct b53_de
break;
#endif
}
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2356,6 +2356,13 @@ config UNUSED_KSYMS_WHITELIST
+@@ -2357,6 +2357,13 @@ config UNUSED_KSYMS_WHITELIST
one per line. The path can be absolute, or relative to the kernel
source tree.
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2388,7 +2388,7 @@ config PADATA
+@@ -2389,7 +2389,7 @@ config PADATA
bool
config ASN1
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3631,6 +3631,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3632,6 +3632,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
-@@ -1153,6 +1158,11 @@ static const struct usb_device_id option
+@@ -1154,6 +1159,11 @@ static const struct usb_device_id option
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
/* Quectel products using Qualcomm vendor ID */
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
-@@ -1194,6 +1204,11 @@ static const struct usb_device_id option
+@@ -1195,6 +1205,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
static LIST_HEAD(proto_list);
+DEFINE_COOKIE(sock_cookie);
- static void sock_inuse_add(struct net *net, int val);
-
-@@ -545,6 +547,18 @@ discard_and_relse:
+ /**
+ * sk_ns_capable - General socket capability test
+@@ -543,6 +545,18 @@ discard_and_relse:
}
EXPORT_SYMBOL(__sk_receive_skb);
INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *,
u32));
INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *,
-@@ -2008,9 +2022,11 @@ static void __sk_free(struct sock *sk)
+@@ -2006,9 +2020,11 @@ static void __sk_free(struct sock *sk)
if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1);
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -3897,6 +3897,8 @@ static __net_initdata struct pernet_oper
+@@ -3887,6 +3887,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__refcnt = ATOMIC_INIT(1),
-@@ -1036,6 +1050,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1039,6 +1053,7 @@ static const int fib6_prop[RTN_MAX + 1]
[RTN_BLACKHOLE] = -EINVAL,
[RTN_UNREACHABLE] = -EHOSTUNREACH,
[RTN_PROHIBIT] = -EACCES,
[RTN_THROW] = -EAGAIN,
[RTN_NAT] = -EINVAL,
[RTN_XRESOLVE] = -EINVAL,
-@@ -1071,6 +1086,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1074,6 +1089,10 @@ static void ip6_rt_init_dst_reject(struc
rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit;
break;
__u8 inner_protocol_type:1;
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6116,6 +6116,9 @@ static enum gro_result dev_gro_receive(s
+@@ -6117,6 +6117,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -8133,6 +8136,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -8134,6 +8137,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -8184,6 +8229,7 @@ static int __netdev_upper_dev_link(struc
+@@ -8185,6 +8230,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -8280,6 +8326,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -8281,6 +8327,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -9099,6 +9146,7 @@ int dev_set_mac_address(struct net_devic
+@@ -9100,6 +9147,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
#endif
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4625,7 +4625,7 @@ static int rps_ipi_queued(struct softnet
+@@ -4626,7 +4626,7 @@ static int rps_ipi_queued(struct softnet
#ifdef CONFIG_RPS
struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
sd->rps_ipi_next = mysd->rps_ipi_list;
mysd->rps_ipi_list = sd;
-@@ -5806,6 +5806,8 @@ static DEFINE_PER_CPU(struct work_struct
+@@ -5807,6 +5807,8 @@ static DEFINE_PER_CPU(struct work_struct
/* Network device is going away, flush any packets still pending */
static void flush_backlog(struct work_struct *work)
{
struct sk_buff *skb, *tmp;
struct softnet_data *sd;
-@@ -5821,9 +5823,18 @@ static void flush_backlog(struct work_st
+@@ -5822,9 +5824,18 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->process_queue);
-@@ -5831,7 +5842,18 @@ static void flush_backlog(struct work_st
+@@ -5832,7 +5843,18 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
}
static bool flush_required(int cpu)
-@@ -6514,6 +6536,7 @@ static int process_backlog(struct napi_s
+@@ -6515,6 +6537,7 @@ static int process_backlog(struct napi_s
local_irq_disable();
rps_lock(sd);
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
* Inline a custom version of __napi_complete().
-@@ -6523,7 +6546,8 @@ static int process_backlog(struct napi_s
+@@ -6524,7 +6547,8 @@ static int process_backlog(struct napi_s
* We can use a plain write instead of clear_bit(),
* and we dont need an smp_mb() memory barrier.
*/
again = false;
} else {
skb_queue_splice_tail_init(&sd->input_pkt_queue,
-@@ -6940,6 +6964,57 @@ int dev_set_threaded(struct net_device *
+@@ -6941,6 +6965,57 @@ int dev_set_threaded(struct net_device *
}
EXPORT_SYMBOL(dev_set_threaded);
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
-@@ -11424,6 +11499,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11425,6 +11500,9 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
oldsd->rps_ipi_list = NULL;
-@@ -11763,6 +11841,7 @@ static int __init net_dev_init(void)
+@@ -11764,6 +11842,7 @@ static int __init net_dev_init(void)
sd->cpu = i;
#endif
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -6423,6 +6423,7 @@ static int mv88e6xxx_register_switch(str
+@@ -6443,6 +6443,7 @@ static int mv88e6xxx_register_switch(str
ds->ops = &mv88e6xxx_switch_ops;
ds->ageing_time_min = chip->info->age_time_coeff;
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1213,6 +1213,46 @@ static void b53_force_port_config(struct
+@@ -1223,6 +1223,46 @@ static void b53_force_port_config(struct
b53_write8(dev, B53_CTRL_PAGE, off, reg);
}
static void b53_adjust_link(struct dsa_switch *ds, int port,
struct phy_device *phydev)
{
-@@ -1239,6 +1279,9 @@ static void b53_adjust_link(struct dsa_s
+@@ -1249,6 +1289,9 @@ static void b53_adjust_link(struct dsa_s
tx_pause, rx_pause);
b53_force_link(dev, port, phydev->link);
if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
if (port == dev->imp_port)
off = B53_RGMII_CTRL_IMP;
-@@ -1423,6 +1466,9 @@ void b53_phylink_mac_link_up(struct dsa_
+@@ -1433,6 +1476,9 @@ void b53_phylink_mac_link_up(struct dsa_
{
struct b53_device *dev = ds->priv;
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2473,6 +2473,19 @@ static const struct b53_chip_data b53_sw
+@@ -2483,6 +2483,19 @@ static const struct b53_chip_data b53_sw
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
},
{
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1244,8 +1244,12 @@ static void b53_adjust_63xx_rgmii(struct
+@@ -1254,8 +1254,12 @@ static void b53_adjust_63xx_rgmii(struct
break;
}
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2621,6 +2621,20 @@ static const struct b53_chip_data b53_sw
+@@ -2631,6 +2631,20 @@ static const struct b53_chip_data b53_sw
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
},
};
static int b53_switch_init(struct b53_device *dev)
-@@ -2797,6 +2811,7 @@ int b53_switch_detect(struct b53_device
+@@ -2807,6 +2821,7 @@ int b53_switch_detect(struct b53_device
case BCM53012_DEVICE_ID:
case BCM53018_DEVICE_ID:
case BCM53019_DEVICE_ID:
--- a/drivers/pwm/pwm-mediatek.c
+++ b/drivers/pwm/pwm-mediatek.c
-@@ -302,6 +302,12 @@ static const struct pwm_mediatek_of_data
+@@ -306,6 +306,12 @@ static const struct pwm_mediatek_of_data
.has_ck_26m_sel = true,
};
static const struct pwm_mediatek_of_data mt8516_pwm_data = {
.num_pwms = 5,
.pwm45_fixup = false,
-@@ -314,6 +320,7 @@ static const struct of_device_id pwm_med
+@@ -318,6 +324,7 @@ static const struct of_device_id pwm_med
{ .compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data },
{ .compatible = "mediatek,mt7628-pwm", .data = &mt7628_pwm_data },
{ .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data },
}
static int pwm_mediatek_config(struct pwm_chip *chip, struct pwm_device *pwm,
-@@ -270,48 +275,63 @@ static const struct pwm_mediatek_of_data
+@@ -274,48 +279,63 @@ static const struct pwm_mediatek_of_data
.num_pwms = 8,
.pwm45_fixup = false,
.has_ck_26m_sel = false,
};
static const struct of_device_id pwm_mediatek_of_match[] = {
-@@ -320,6 +340,7 @@ static const struct of_device_id pwm_med
+@@ -324,6 +344,7 @@ static const struct of_device_id pwm_med
{ .compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data },
{ .compatible = "mediatek,mt7628-pwm", .data = &mt7628_pwm_data },
{ .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data },
--- a/drivers/i2c/busses/i2c-cros-ec-tunnel.c
+++ b/drivers/i2c/busses/i2c-cros-ec-tunnel.c
-@@ -267,7 +267,7 @@ static int ec_i2c_probe(struct platform_
+@@ -270,7 +270,7 @@ static int ec_i2c_probe(struct platform_
bus->dev = dev;
bus->adap.owner = THIS_MODULE;
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
-@@ -898,8 +898,6 @@ static int pci_register_host_bridge(stru
+@@ -899,8 +899,6 @@ static int pci_register_host_bridge(stru
bridge->bus = bus;
bus->sysdata = bridge->sysdata;
bus->ops = bridge->ops;
bus->number = bus->busn_res.start = bridge->busnr;
-@@ -925,6 +923,8 @@ static int pci_register_host_bridge(stru
+@@ -930,6 +928,8 @@ static int pci_register_host_bridge(stru
if (err)
goto free;