-LINUX_VERSION-5.10 = .162
-LINUX_KERNEL_HASH-5.10.162 = 2ec400fc50ffdfe4c836a3c02bf6e7aebcd7963dd2ac1425e6d41545c37dd217
+LINUX_VERSION-5.10 = .163
+LINUX_KERNEL_HASH-5.10.163 = 96e226e2d388abc0600434e0f4f365a8829ef901f4d8e761e7ffe2799dc09b20
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -2992,7 +2992,8 @@ static int _regulator_list_voltage(struc
+@@ -3000,7 +3000,8 @@ static int _regulator_list_voltage(struc
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
return -EINVAL;
if (lock)
regulator_lock(rdev);
-@@ -3143,7 +3144,8 @@ int regulator_list_hardware_vsel(struct
+@@ -3151,7 +3152,8 @@ int regulator_list_hardware_vsel(struct
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
return -EINVAL;
if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap)
return -EOPNOTSUPP;
-@@ -4066,6 +4068,9 @@ int regulator_set_voltage_time(struct re
+@@ -4074,6 +4076,9 @@ int regulator_set_voltage_time(struct re
for (i = 0; i < rdev->desc->n_voltages; i++) {
/* We only look for exact voltage matches here */
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -4071,6 +4071,9 @@ int regulator_set_voltage_time(struct re
+@@ -4079,6 +4079,9 @@ int regulator_set_voltage_time(struct re
if (i < rdev->desc->linear_min_sel)
continue;
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
-@@ -2992,9 +2992,10 @@ static int _regulator_list_voltage(struc
+@@ -3000,9 +3000,10 @@ static int _regulator_list_voltage(struc
return rdev->desc->fixed_uV;
if (ops->list_voltage) {
if (lock)
regulator_lock(rdev);
ret = ops->list_voltage(rdev, selector);
-@@ -3144,9 +3145,10 @@ int regulator_list_hardware_vsel(struct
+@@ -3152,9 +3153,10 @@ int regulator_list_hardware_vsel(struct
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -3157,6 +3157,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3159,6 +3159,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
int ret;
int i;
-@@ -3211,7 +3212,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3213,7 +3214,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret)
return ret;
mtd->type = MTD_NORFLASH;
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -848,6 +848,17 @@ out_error:
+@@ -850,6 +850,17 @@ out_error:
*/
static void mtd_set_dev_defaults(struct mtd_info *mtd)
{
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -402,7 +402,6 @@ spidev_ioctl(struct file *filp, unsigned
+@@ -413,7 +413,6 @@ spidev_ioctl(struct file *filp, unsigned
else
retval = get_user(tmp, (u32 __user *)arg);
if (retval == 0) {
u32 save = spi->mode;
if (tmp & ~SPI_MODE_MASK) {
-@@ -410,10 +409,6 @@ spidev_ioctl(struct file *filp, unsigned
+@@ -421,10 +420,6 @@ spidev_ioctl(struct file *filp, unsigned
break;
}
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -733,7 +733,7 @@ static int spidev_probe(struct spi_devic
+@@ -744,7 +744,7 @@ static int spidev_probe(struct spi_devic
* compatible string, it is a Linux implementation thing
* rather than a description of the hardware.
*/
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -2597,7 +2597,12 @@ static int pl011_setup_port(struct devic
+@@ -2609,7 +2609,12 @@ static int pl011_setup_port(struct devic
if (IS_ERR(base))
return PTR_ERR(base);
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -1651,6 +1651,23 @@ static void pl011_put_poll_char(struct u
+@@ -1654,6 +1654,23 @@ static void pl011_put_poll_char(struct u
#endif /* CONFIG_CONSOLE_POLL */
static int pl011_hwinit(struct uart_port *port)
{
struct uart_amba_port *uap =
-@@ -1667,7 +1684,7 @@ static int pl011_hwinit(struct uart_port
+@@ -1670,7 +1687,7 @@ static int pl011_hwinit(struct uart_port
if (retval)
return retval;
/* Clear pending error and receive interrupts */
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
-@@ -2311,7 +2328,7 @@ static int pl011_console_setup(struct co
+@@ -2323,7 +2340,7 @@ static int pl011_console_setup(struct co
plat->init();
}
if (uap->vendor->fixed_options) {
baud = uap->fixed_baud;
-@@ -2528,6 +2545,7 @@ static struct uart_driver amba_reg = {
+@@ -2540,6 +2557,7 @@ static struct uart_driver amba_reg = {
.cons = AMBA_CONSOLE,
};
static int pl011_probe_dt_alias(int index, struct device *dev)
{
struct device_node *np;
-@@ -2559,6 +2577,7 @@ static int pl011_probe_dt_alias(int inde
+@@ -2571,6 +2589,7 @@ static int pl011_probe_dt_alias(int inde
return ret;
}
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -1386,6 +1386,7 @@ static bool pl011_tx_char(struct uart_am
+@@ -1389,6 +1389,7 @@ static bool pl011_tx_char(struct uart_am
return false; /* unable to transmit character */
pl011_write(c, uap, REG_DR);
- reg
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -2684,6 +2684,11 @@ static int pl011_probe(struct amba_devic
+@@ -2696,6 +2696,11 @@ static int pl011_probe(struct amba_devic
if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk);
spin_unlock(&uap->port.lock);
dev_vdbg(uap->port.dev,
"Took %d chars from DMA buffer and %d chars from the FIFO\n",
-@@ -1350,6 +1353,7 @@ __acquires(&uap->port.lock)
+@@ -1353,6 +1356,7 @@ __acquires(&uap->port.lock)
{
pl011_fifo_to_tty(uap);
spin_unlock(&uap->port.lock);
tty_flip_buffer_push(&uap->port.state->port);
/*
-@@ -1483,6 +1487,7 @@ static irqreturn_t pl011_int(int irq, vo
+@@ -1486,6 +1490,7 @@ static irqreturn_t pl011_int(int irq, vo
int handled = 0;
spin_lock_irqsave(&uap->port.lock, flags);
status = pl011_read(uap, REG_RIS) & uap->im;
if (status) {
do {
-@@ -1502,7 +1507,7 @@ static irqreturn_t pl011_int(int irq, vo
+@@ -1505,7 +1510,7 @@ static irqreturn_t pl011_int(int irq, vo
UART011_CTSMIS|UART011_RIMIS))
pl011_modem_status(uap);
if (status & UART011_TXIS)
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
-@@ -1421,6 +1421,10 @@ static bool pl011_tx_chars(struct uart_a
+@@ -1424,6 +1424,10 @@ static bool pl011_tx_chars(struct uart_a
if (likely(from_irq) && count-- == 0)
break;
static DEFINE_MUTEX(transaction_lock);
static void response_callback(struct mbox_client *cl, void *msg)
-@@ -272,6 +274,7 @@ static int rpi_firmware_probe(struct pla
+@@ -273,6 +275,7 @@ static int rpi_firmware_probe(struct pla
kref_init(&fw->consumers);
platform_set_drvdata(pdev, fw);
rpi_firmware_print_firmware_revision(fw);
rpi_register_hwmon_driver(dev, fw);
-@@ -301,6 +304,8 @@ static int rpi_firmware_remove(struct pl
+@@ -302,6 +305,8 @@ static int rpi_firmware_remove(struct pl
rpi_firmware_put(fw);
return 0;
}
-@@ -314,7 +319,7 @@ static int rpi_firmware_remove(struct pl
+@@ -315,7 +320,7 @@ static int rpi_firmware_remove(struct pl
*/
struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
{
struct rpi_firmware *fw;
if (!pdev)
-@@ -327,12 +332,9 @@ struct rpi_firmware *rpi_firmware_get(st
+@@ -328,12 +333,9 @@ struct rpi_firmware *rpi_firmware_get(st
if (!kref_get_unless_zero(&fw->consumers))
goto err_put_device;
return NULL;
}
EXPORT_SYMBOL_GPL(rpi_firmware_get);
-@@ -352,7 +354,18 @@ static struct platform_driver rpi_firmwa
+@@ -353,7 +355,18 @@ static struct platform_driver rpi_firmwa
.shutdown = rpi_firmware_shutdown,
.remove = rpi_firmware_remove,
};
--- a/drivers/input/joystick/Kconfig
+++ b/drivers/input/joystick/Kconfig
-@@ -382,4 +382,12 @@ config JOYSTICK_FSIA6B
+@@ -383,4 +383,12 @@ config JOYSTICK_FSIA6B
To compile this driver as a module, choose M here: the
module will be called fsia6b.
+
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
-@@ -2250,6 +2250,19 @@ config FB_SM712
+@@ -2249,6 +2249,19 @@ config FB_SM712
called sm712fb. If you want to compile it as a module, say M
here and read <file:Documentation/kbuild/modules.rst>.
static void
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
{
-@@ -356,15 +377,32 @@ static struct platform_driver rpi_firmwa
+@@ -357,15 +378,32 @@ static struct platform_driver rpi_firmwa
.remove = rpi_firmware_remove,
};
+the fan to the user space through the hwmon sysfs interface.
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -1489,6 +1489,17 @@ config SENSORS_RASPBERRYPI_HWMON
+@@ -1490,6 +1490,17 @@ config SENSORS_RASPBERRYPI_HWMON
This driver can also be built as a module. If so, the module
will be called raspberrypi-hwmon.
}
static void
-@@ -332,6 +369,7 @@ static int rpi_firmware_probe(struct pla
+@@ -333,6 +370,7 @@ static int rpi_firmware_probe(struct pla
g_pdev = pdev;
rpi_firmware_print_firmware_revision(fw);
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1278,6 +1281,9 @@
+@@ -1281,6 +1284,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220
MODULE_DESCRIPTION("BCM2835 clock driver");
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -468,7 +468,7 @@ out2:
+@@ -469,7 +469,7 @@ out2:
out1:
return ret;
}
+++ /dev/null
-From 1a3319588434a2acfe47a38fcdf6583a3b84ecd3 Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.com>
-Date: Fri, 24 Jan 2020 14:22:06 +0000
-Subject: [PATCH] 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).
-
-Supported on Broadcom BCM2711 chips.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
----
- drivers/gpu/drm/drm_fourcc.c | 3 +++
- include/uapi/drm/drm_fourcc.h | 11 +++++++++++
- 2 files changed, 14 insertions(+)
-
---- a/drivers/gpu/drm/drm_fourcc.c
-+++ b/drivers/gpu/drm/drm_fourcc.c
-@@ -286,6 +286,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 },
-+ { .format = DRM_FORMAT_P030, .depth = 0, .num_planes = 2,
-+ .char_per_block = { 4, 4, 0 }, .block_w = { 3, 0, 0 }, .block_h = { 1, 0, 0 },
-+ .hsub = 2, .vsub = 2, .is_yuv = true},
- };
-
- unsigned int i;
---- a/include/uapi/drm/drm_fourcc.h
-+++ b/include/uapi/drm/drm_fourcc.h
-@@ -288,6 +288,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
- * index 1: Cb plane, [7:0] Cb
-@@ -777,6 +784,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.
-+ *
-+ * The DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT modifier is also
-+ * supported for DRM_FORMAT_P030 where the columns remain as 128 bytes
-+ * wide, but as this is a 10 bpp format that translates to 96 pixels.
- */
-
- #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \
/* Device and char device-related information */
static DEFINE_IDA(gpio_ida);
static dev_t gpio_devt;
-@@ -2463,8 +2465,8 @@ int gpiod_direction_output(struct gpio_d
+@@ -2462,8 +2464,8 @@ int gpiod_direction_output(struct gpio_d
value = !!value;
/* GPIOs used for enabled IRQs shall not be set as output */
gpiod_err(desc,
"%s: tried to set a GPIO tied to an IRQ as output\n",
__func__);
-@@ -3279,8 +3281,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
+@@ -3277,8 +3279,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
}
/* To be valid for IRQ the line needs to be input or open drain */
if (!plane_state->visible)
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
-@@ -522,8 +522,10 @@ int vmw_du_cursor_plane_atomic_check(str
+@@ -523,8 +523,10 @@ int vmw_du_cursor_plane_atomic_check(str
int vmw_du_crtc_atomic_check(struct drm_crtc *crtc,
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
-@@ -554,13 +554,13 @@ int vmw_du_crtc_atomic_check(struct drm_
+@@ -555,13 +555,13 @@ int vmw_du_crtc_atomic_check(struct drm_
void vmw_du_crtc_atomic_begin(struct drm_crtc *crtc,
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -2144,6 +2144,27 @@ int drm_connector_attach_max_bpc_propert
+@@ -2147,6 +2147,27 @@ int drm_connector_attach_max_bpc_propert
EXPORT_SYMBOL(drm_connector_attach_max_bpc_property);
/**
return PTR_ERR(crtc_state);
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -2165,6 +2165,34 @@ int drm_connector_attach_hdr_output_meta
+@@ -2168,6 +2168,34 @@ int drm_connector_attach_hdr_output_meta
EXPORT_SYMBOL(drm_connector_attach_hdr_output_metadata_property);
/**
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
-@@ -2165,6 +2165,26 @@ int drm_connector_attach_hdr_output_meta
+@@ -2168,6 +2168,26 @@ int drm_connector_attach_hdr_output_meta
EXPORT_SYMBOL(drm_connector_attach_hdr_output_metadata_property);
/**
}
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -1912,7 +1912,8 @@ int gpiochip_add_pingroup_range(struct g
+@@ -1911,7 +1911,8 @@ int gpiochip_add_pingroup_range(struct g
list_add_tail(&pin_range->node, &gdev->pin_ranges);
}
EXPORT_SYMBOL_GPL(gpiochip_add_pingroup_range);
-@@ -1969,7 +1970,7 @@ int gpiochip_add_pin_range(struct gpio_c
+@@ -1968,7 +1969,7 @@ int gpiochip_add_pin_range(struct gpio_c
list_add_tail(&pin_range->node, &gdev->pin_ranges);
}
static struct clk clk_pcie = {
-@@ -548,6 +562,21 @@ static struct clk_lookup bcm6368_clks[]
+@@ -550,6 +564,21 @@ static struct clk_lookup bcm6368_clks[]
CLKDEV_INIT(NULL, "ipsec", &clk_ipsec),
};
#define HSSPI_PLL_HZ_6328 133333333
#define HSSPI_PLL_HZ_6362 400000000
-@@ -580,6 +609,10 @@ static int __init bcm63xx_clk_init(void)
+@@ -582,6 +611,10 @@ static int __init bcm63xx_clk_init(void)
case BCM6368_CPU_ID:
clkdev_add_table(bcm6368_clks, ARRAY_SIZE(bcm6368_clks));
break;
mask = CKCTL_6328_HSSPI_EN;
else if (BCMCPU_IS_6362())
mask = CKCTL_6362_HSSPI_EN;
-@@ -456,6 +458,19 @@ static struct clk_lookup bcm3368_clks[]
+@@ -458,6 +460,19 @@ static struct clk_lookup bcm3368_clks[]
CLKDEV_INIT("bcm63xx_enet.1", "enet", &clk_enet1),
};
static struct clk_lookup bcm6328_clks[] = {
/* fixed rate clocks */
CLKDEV_INIT(NULL, "periph", &clk_periph),
-@@ -577,6 +592,7 @@ static struct clk_lookup bcm63268_clks[]
+@@ -579,6 +594,7 @@ static struct clk_lookup bcm63268_clks[]
CLKDEV_INIT(NULL, "pcie", &clk_pcie),
};
#define HSSPI_PLL_HZ_6328 133333333
#define HSSPI_PLL_HZ_6362 400000000
-@@ -586,6 +602,10 @@ static int __init bcm63xx_clk_init(void)
+@@ -588,6 +604,10 @@ static int __init bcm63xx_clk_init(void)
case BCM3368_CPU_ID:
clkdev_add_table(bcm3368_clks, ARRAY_SIZE(bcm3368_clks));
break;
--- a/arch/mips/bcm63xx/clk.c
+++ b/arch/mips/bcm63xx/clk.c
-@@ -501,6 +501,8 @@ static struct clk_lookup bcm3368_clks[]
+@@ -503,6 +503,8 @@ static struct clk_lookup bcm3368_clks[]
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enet0", &clk_enet0),
CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -517,7 +519,9 @@ static struct clk_lookup bcm6318_clks[]
+@@ -519,7 +521,9 @@ static struct clk_lookup bcm6318_clks[]
/* fixed rate clocks */
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -531,7 +535,10 @@ static struct clk_lookup bcm6328_clks[]
+@@ -533,7 +537,10 @@ static struct clk_lookup bcm6328_clks[]
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -544,6 +551,7 @@ static struct clk_lookup bcm6338_clks[]
+@@ -546,6 +553,7 @@ static struct clk_lookup bcm6338_clks[]
/* fixed rate clocks */
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enet0", &clk_enet0),
CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -558,6 +566,7 @@ static struct clk_lookup bcm6345_clks[]
+@@ -560,6 +568,7 @@ static struct clk_lookup bcm6345_clks[]
/* fixed rate clocks */
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enet0", &clk_enet0),
CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -572,6 +581,7 @@ static struct clk_lookup bcm6348_clks[]
+@@ -574,6 +583,7 @@ static struct clk_lookup bcm6348_clks[]
/* fixed rate clocks */
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enet0", &clk_enet0),
CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -588,6 +598,8 @@ static struct clk_lookup bcm6358_clks[]
+@@ -590,6 +600,8 @@ static struct clk_lookup bcm6358_clks[]
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enet0", &clk_enet0),
CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -607,7 +619,10 @@ static struct clk_lookup bcm6362_clks[]
+@@ -609,7 +621,10 @@ static struct clk_lookup bcm6362_clks[]
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -623,6 +638,8 @@ static struct clk_lookup bcm6368_clks[]
+@@ -625,6 +640,8 @@ static struct clk_lookup bcm6368_clks[]
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -637,7 +654,10 @@ static struct clk_lookup bcm63268_clks[]
+@@ -639,7 +656,10 @@ static struct clk_lookup bcm63268_clks[]
CLKDEV_INIT(NULL, "periph", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
* Internal peripheral clock
*/
static struct clk clk_periph = {
-@@ -624,6 +641,7 @@ static struct clk_lookup bcm6362_clks[]
+@@ -626,6 +643,7 @@ static struct clk_lookup bcm6362_clks[]
CLKDEV_INIT("bcm63xx-hsspi.0", "pll", &clk_hsspi_pll),
CLKDEV_INIT("10001000.spi", "pll", &clk_hsspi_pll),
/* gated clocks */
CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
CLKDEV_INIT(NULL, "usbh", &clk_usbh),
CLKDEV_INIT(NULL, "usbd", &clk_usbd),
-@@ -641,6 +659,7 @@ static struct clk_lookup bcm6368_clks[]
+@@ -643,6 +661,7 @@ static struct clk_lookup bcm6368_clks[]
CLKDEV_INIT("10000100.serial", "refclk", &clk_periph),
CLKDEV_INIT("10000120.serial", "refclk", &clk_periph),
/* gated clocks */
CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
CLKDEV_INIT(NULL, "usbh", &clk_usbh),
CLKDEV_INIT(NULL, "usbd", &clk_usbd),
-@@ -659,6 +678,7 @@ static struct clk_lookup bcm63268_clks[]
+@@ -661,6 +680,7 @@ static struct clk_lookup bcm63268_clks[]
CLKDEV_INIT("bcm63xx-hsspi.0", "pll", &clk_hsspi_pll),
CLKDEV_INIT("10001000.spi", "pll", &clk_hsspi_pll),
/* gated clocks */
+ mtd_check_of_node(mtd);
of_node_get(mtd_get_of_node(mtd));
error = device_register(&mtd->dev);
- if (error)
+ if (error) {
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -1070,6 +1070,34 @@ int __get_mtd_device(struct mtd_info *mt
+@@ -1072,6 +1072,34 @@ int __get_mtd_device(struct mtd_info *mt
EXPORT_SYMBOL_GPL(__get_mtd_device);
/**
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
-@@ -743,6 +744,17 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -745,6 +746,17 @@ int add_mtd_device(struct mtd_info *mtd)
not->add(mtd);
mutex_unlock(&mtd_table_mutex);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -347,6 +347,7 @@ struct napi_struct {
+@@ -354,6 +354,7 @@ struct napi_struct {
struct list_head dev_list;
struct hlist_node napi_hash_node;
unsigned int napi_id;
};
enum {
-@@ -357,6 +358,7 @@ enum {
+@@ -364,6 +365,7 @@ enum {
NAPI_STATE_LISTED, /* NAPI added to system lists */
NAPI_STATE_NO_BUSY_POLL,/* Do not add in napi_hash, no busy polling */
NAPI_STATE_IN_BUSY_POLL,/* sk_busy_loop() owns this NAPI */
};
enum {
-@@ -367,6 +369,7 @@ enum {
+@@ -374,6 +376,7 @@ enum {
NAPIF_STATE_LISTED = BIT(NAPI_STATE_LISTED),
NAPIF_STATE_NO_BUSY_POLL = BIT(NAPI_STATE_NO_BUSY_POLL),
NAPIF_STATE_IN_BUSY_POLL = BIT(NAPI_STATE_IN_BUSY_POLL),
};
enum gro_result {
-@@ -497,20 +500,7 @@ static inline bool napi_complete(struct
+@@ -504,20 +507,7 @@ static inline bool napi_complete(struct
*/
void napi_disable(struct napi_struct *n);
/**
* napi_synchronize - wait until NAPI is not running
-@@ -1856,6 +1846,8 @@ enum netdev_ml_priv_type {
+@@ -1863,6 +1853,8 @@ enum netdev_ml_priv_type {
*
* @wol_enabled: Wake-on-LAN is enabled
*
* @net_notifier_list: List of per-net netdev notifier block
* that follow this device when it is moved
* to another network namespace.
-@@ -2175,6 +2167,7 @@ struct net_device {
+@@ -2182,6 +2174,7 @@ struct net_device {
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned wol_enabled:1;
+ == ==================================
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -491,6 +491,8 @@ static inline bool napi_complete(struct
+@@ -498,6 +498,8 @@ static inline bool napi_complete(struct
return napi_complete_done(n, 0);
}
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -359,6 +359,7 @@ enum {
+@@ -366,6 +366,7 @@ enum {
NAPI_STATE_NO_BUSY_POLL,/* Do not add in napi_hash, no busy polling */
NAPI_STATE_IN_BUSY_POLL,/* sk_busy_loop() owns this NAPI */
NAPI_STATE_THREADED, /* The poll is performed inside its own thread*/
};
enum {
-@@ -370,6 +371,7 @@ enum {
+@@ -377,6 +378,7 @@ enum {
NAPIF_STATE_NO_BUSY_POLL = BIT(NAPI_STATE_NO_BUSY_POLL),
NAPIF_STATE_IN_BUSY_POLL = BIT(NAPI_STATE_IN_BUSY_POLL),
NAPIF_STATE_THREADED = BIT(NAPI_STATE_THREADED),
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -841,6 +841,27 @@ typedef u16 (*select_queue_fallback_t)(s
+@@ -848,6 +848,27 @@ typedef u16 (*select_queue_fallback_t)(s
struct sk_buff *skb,
struct net_device *sb_dev);
enum tc_setup_type {
TC_SETUP_QDISC_MQPRIO,
TC_SETUP_CLSU32,
-@@ -1287,6 +1308,8 @@ struct netdev_net_notifier {
+@@ -1294,6 +1315,8 @@ struct netdev_net_notifier {
* struct net_device *(*ndo_get_peer_dev)(struct net_device *dev);
* If a device is paired with a peer device, return the peer instance.
* The caller must be under RCU read context.
*/
struct net_device_ops {
int (*ndo_init)(struct net_device *dev);
-@@ -1495,6 +1518,8 @@ struct net_device_ops {
+@@ -1502,6 +1525,8 @@ struct net_device_ops {
int (*ndo_tunnel_ctl)(struct net_device *dev,
struct ip_tunnel_parm *p, int cmd);
struct net_device * (*ndo_get_peer_dev)(struct net_device *dev);
};
/**
-@@ -2842,6 +2867,8 @@ void dev_remove_offload(struct packet_of
+@@ -2849,6 +2874,8 @@ void dev_remove_offload(struct packet_of
int dev_get_iflink(const struct net_device *dev);
int dev_fill_metadata_dst(struct net_device *dev, struct sk_buff *skb);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -843,11 +843,18 @@ typedef u16 (*select_queue_fallback_t)(s
+@@ -850,11 +850,18 @@ typedef u16 (*select_queue_fallback_t)(s
enum net_device_path_type {
DEV_PATH_ETHERNET = 0,
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -844,6 +844,7 @@ typedef u16 (*select_queue_fallback_t)(s
+@@ -851,6 +851,7 @@ typedef u16 (*select_queue_fallback_t)(s
enum net_device_path_type {
DEV_PATH_ETHERNET = 0,
DEV_PATH_VLAN,
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -855,10 +855,20 @@ struct net_device_path {
+@@ -862,10 +862,20 @@ struct net_device_path {
u16 id;
__be16 proto;
} encap;
struct net_device_path_stack {
int num_paths;
-@@ -868,6 +878,12 @@ struct net_device_path_stack {
+@@ -875,6 +885,12 @@ struct net_device_path_stack {
struct net_device_path_ctx {
const struct net_device *dev;
const u8 *daddr;
static int pppoe_recvmsg(struct socket *sock, struct msghdr *m,
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -845,6 +845,7 @@ enum net_device_path_type {
+@@ -852,6 +852,7 @@ enum net_device_path_type {
DEV_PATH_ETHERNET = 0,
DEV_PATH_VLAN,
DEV_PATH_BRIDGE,
};
struct net_device_path {
-@@ -854,6 +855,7 @@ struct net_device_path {
+@@ -861,6 +862,7 @@ struct net_device_path {
struct {
u16 id;
__be16 proto;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -846,6 +846,7 @@ enum net_device_path_type {
+@@ -853,6 +853,7 @@ enum net_device_path_type {
DEV_PATH_VLAN,
DEV_PATH_BRIDGE,
DEV_PATH_PPPOE,
};
struct net_device_path {
-@@ -866,6 +867,10 @@ struct net_device_path {
+@@ -873,6 +874,10 @@ struct net_device_path {
u16 vlan_id;
__be16 vlan_proto;
} bridge;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -863,6 +863,7 @@ struct net_device_path {
+@@ -870,6 +870,7 @@ struct net_device_path {
DEV_PATH_BR_VLAN_KEEP,
DEV_PATH_BR_VLAN_TAG,
DEV_PATH_BR_VLAN_UNTAG,
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c
-@@ -485,10 +485,14 @@ EXPORT_SYMBOL_GPL(rndis_unbind);
+@@ -486,10 +486,14 @@ EXPORT_SYMBOL_GPL(rndis_unbind);
*/
int rndis_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
{
/* peripheral may have batched packets to us... */
while (likely(skb->len)) {
struct rndis_data_hdr *hdr = (void *)skb->data;
-@@ -523,10 +527,17 @@ int rndis_rx_fixup(struct usbnet *dev, s
+@@ -524,10 +528,17 @@ int rndis_rx_fixup(struct usbnet *dev, s
break;
skb_pull(skb, msg_len - sizeof *hdr);
skb_trim(skb2, data_len);
return 1;
}
EXPORT_SYMBOL_GPL(rndis_rx_fixup);
-@@ -600,6 +611,17 @@ static const struct driver_info rndis_po
+@@ -601,6 +612,17 @@ static const struct driver_info rndis_po
.tx_fixup = rndis_tx_fixup,
};
/*-------------------------------------------------------------------------*/
static const struct usb_device_id products [] = {
-@@ -609,6 +631,16 @@ static const struct usb_device_id produc
+@@ -610,6 +632,16 @@ static const struct usb_device_id produc
USB_CLASS_COMM, 2 /* ACM */, 0x0ff),
.driver_info = (unsigned long) &rndis_poll_status_info,
}, {
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c
-@@ -418,10 +418,7 @@ generic_rndis_bind(struct usbnet *dev, s
+@@ -419,10 +419,7 @@ generic_rndis_bind(struct usbnet *dev, s
goto halt_fail_and_release;
}
/* set a nonzero filter to enable data transfers */
memset(u.set, 0, sizeof *u.set);
-@@ -463,6 +460,16 @@ static int rndis_bind(struct usbnet *dev
+@@ -464,6 +461,16 @@ static int rndis_bind(struct usbnet *dev
return generic_rndis_bind(dev, intf, FLAG_RNDIS_PHYM_NOT_WIRELESS);
}
void rndis_unbind(struct usbnet *dev, struct usb_interface *intf)
{
struct rndis_halt *halt;
-@@ -615,7 +622,7 @@ static const struct driver_info zte_rndi
+@@ -616,7 +623,7 @@ static const struct driver_info zte_rndi
.description = "ZTE RNDIS device",
.flags = FLAG_ETHER | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT,
.data = RNDIS_DRIVER_DATA_DST_MAC_FIXUP,
#include "mtdcore.h"
-@@ -928,6 +929,8 @@ int mtd_device_parse_register(struct mtd
+@@ -930,6 +931,8 @@ int mtd_device_parse_register(struct mtd
register_reboot_notifier(&mtd->reboot_notifier);
}
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -756,7 +756,8 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -758,7 +758,8 @@ int add_mtd_device(struct mtd_info *mtd)
mutex_unlock(&mtd_table_mutex);
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -758,12 +758,18 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -760,12 +760,18 @@ int add_mtd_device(struct mtd_info *mtd)
if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL) ||
(IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && !strcmp(mtd->name, "rootfs") && ROOT_DEV == 0)) {
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1639,6 +1639,7 @@ enum netdev_priv_flags {
+@@ -1646,6 +1646,7 @@ enum netdev_priv_flags {
IFF_FAILOVER_SLAVE = 1<<28,
IFF_L3MDEV_RX_HANDLER = 1<<29,
IFF_LIVE_RENAME_OK = 1<<30,
};
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
-@@ -1671,6 +1672,7 @@ enum netdev_priv_flags {
+@@ -1678,6 +1679,7 @@ enum netdev_priv_flags {
#define IFF_FAILOVER_SLAVE IFF_FAILOVER_SLAVE
#define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER
#define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK
/* Specifies the type of the struct net_device::ml_priv pointer */
enum netdev_ml_priv_type {
-@@ -2011,6 +2013,11 @@ struct net_device {
+@@ -2018,6 +2020,11 @@ struct net_device {
const struct tlsdev_ops *tlsdev_ops;
#endif
const struct header_ops *header_ops;
unsigned int flags;
-@@ -2101,6 +2108,10 @@ struct net_device {
+@@ -2108,6 +2115,10 @@ struct net_device {
struct mpls_dev __rcu *mpls_ptr;
#endif
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2720,6 +2720,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2725,6 +2725,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -2851,16 +2855,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2856,16 +2860,6 @@ static inline struct sk_buff *dev_alloc_
}
--- a/fs/locks.c
+++ b/fs/locks.c
-@@ -2993,6 +2993,8 @@ static const struct seq_operations locks
+@@ -3016,6 +3016,8 @@ static const struct seq_operations locks
static int __init proc_locks_init(void)
{
+++ /dev/null
---- a/include/uapi/linux/swab.h
-+++ b/include/uapi/linux/swab.h
-@@ -3,7 +3,7 @@
- #define _UAPI_LINUX_SWAB_H
-
- #include <linux/types.h>
--#include <linux/compiler.h>
-+#include <linux/stddef.h>
- #include <asm/bitsperlong.h>
- #include <asm/swab.h>
-
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
-@@ -682,6 +682,7 @@ static const struct of_device_id spidev_
+@@ -693,6 +693,7 @@ static const struct of_device_id spidev_
{ .compatible = "lwn,bk4" },
{ .compatible = "dh,dhcom-board" },
{ .compatible = "menlo,m53cpld" },
return !!nor->params->erase_map.uniform_erase_type;
}
-@@ -2569,6 +2571,7 @@ static int spi_nor_select_erase(struct s
+@@ -2571,6 +2573,7 @@ static int spi_nor_select_erase(struct s
{
struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL;
struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size;
int i;
-@@ -2601,8 +2604,9 @@ static int spi_nor_select_erase(struct s
+@@ -2603,8 +2606,9 @@ static int spi_nor_select_erase(struct s
*/
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) {
}
}
-@@ -2610,6 +2614,9 @@ static int spi_nor_select_erase(struct s
+@@ -2612,6 +2616,9 @@ static int spi_nor_select_erase(struct s
return -EINVAL;
mtd->erasesize = erase->size;
endif # MTD_SPI_NOR
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -2802,6 +2802,21 @@ static void spi_nor_info_init_params(str
+@@ -2804,6 +2804,21 @@ static void spi_nor_info_init_params(str
*/
erase_mask = 0;
i = 0;
if (info->flags & SECT_4K_PMC) {
erase_mask |= BIT(i);
spi_nor_set_erase_type(&map->erase_type[i], 4096u,
-@@ -2813,6 +2828,7 @@ static void spi_nor_info_init_params(str
+@@ -2815,6 +2830,7 @@ static void spi_nor_info_init_params(str
SPINOR_OP_BE_4K);
i++;
}
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -2037,6 +2037,7 @@ static const struct spi_nor_manufacturer
+@@ -2039,6 +2039,7 @@ static const struct spi_nor_manufacturer
&spi_nor_winbond,
&spi_nor_xilinx,
&spi_nor_xmc,
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -1151,6 +1151,44 @@ out_unlock:
+@@ -1153,6 +1153,44 @@ out_unlock:
}
EXPORT_SYMBOL_GPL(get_mtd_device_nm);
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2079,12 +2081,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2089,12 +2091,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res;
bool is_drop_n_account = false;
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -2210,12 +2212,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2220,12 +2222,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -3329,6 +3331,7 @@ static int packet_create(struct net *net
+@@ -3339,6 +3341,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3972,6 +3975,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3982,6 +3985,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -4028,6 +4041,13 @@ static int packet_getsockopt(struct sock
+@@ -4038,6 +4051,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2686,7 +2686,7 @@ static inline int pskb_network_may_pull(
+@@ -2691,7 +2691,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -2050,6 +2050,8 @@ struct net_device {
+@@ -2057,6 +2057,8 @@ struct net_device {
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
#endif
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -860,6 +860,7 @@ struct sk_buff {
+@@ -861,6 +861,7 @@ struct sk_buff {
__u8 decrypted:1;
#endif
__u8 scm_io_uring:1;
static inline void
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -847,6 +847,7 @@ enum net_device_path_type {
+@@ -854,6 +854,7 @@ enum net_device_path_type {
DEV_PATH_BRIDGE,
DEV_PATH_PPPOE,
DEV_PATH_DSA,
};
struct net_device_path {
-@@ -872,6 +873,12 @@ struct net_device_path {
+@@ -879,6 +880,12 @@ struct net_device_path {
int port;
u16 proto;
} dsa;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -892,7 +892,7 @@ struct net_device_path_stack {
+@@ -899,7 +899,7 @@ struct net_device_path_stack {
struct net_device_path_ctx {
const struct net_device *dev;
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -779,6 +779,16 @@ struct xps_map {
+@@ -786,6 +786,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.
*/
-@@ -1466,6 +1476,9 @@ struct net_device_ops {
+@@ -1473,6 +1483,9 @@ struct net_device_ops {
const struct sk_buff *skb,
u16 rxq_index,
u32 flow_id);
obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
-@@ -190,6 +190,13 @@ config QCOM_SOCINFO
+@@ -191,6 +191,13 @@ config QCOM_SOCINFO
Say yes here to support the Qualcomm socinfo driver, providing
information about the SoC to user space.
obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
-@@ -190,6 +190,13 @@ config QCOM_SOCINFO
+@@ -191,6 +191,13 @@ config QCOM_SOCINFO
Say yes here to support the Qualcomm socinfo driver, providing
information about the SoC to user space.
/* check we are the Master VPE */
local_irq_save(flags);
-@@ -417,6 +418,8 @@ int __init vpe_module_init(void)
+@@ -416,6 +417,8 @@ int __init vpe_module_init(void)
}
v->ntcs = hw_tcs - aprp_cpu_index();
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -84,12 +84,23 @@
+@@ -90,12 +90,23 @@
};
};
fixed-link {
speed = <1000>;
-@@ -103,6 +114,9 @@
+@@ -109,6 +120,9 @@
pinctrl-0 = <&ge1_rgmii_pins>;
status = "okay";
phy-mode = "rgmii";
fixed-link {
speed = <1000>;
-@@ -115,6 +129,9 @@
+@@ -121,6 +135,9 @@
status = "okay";
phy-mode = "sgmii";
phy = <&phy1>;
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -129,6 +129,7 @@
+@@ -135,6 +135,7 @@
status = "okay";
phy-mode = "sgmii";
phy = <&phy1>;
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -261,13 +261,18 @@
+@@ -267,13 +267,18 @@
/* Switch MV88E6176 at address 0x10 */
switch@10 {
ports {
#address-cells = <1>;
#size-cells = <0>;
-@@ -320,6 +325,11 @@
+@@ -336,6 +341,11 @@
marvell,function = "gpio";
};
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -82,6 +82,24 @@
+@@ -88,6 +88,24 @@
};
};
};
};
&bm {
-@@ -126,10 +144,20 @@
+@@ -132,10 +150,20 @@
/* WAN port */
ð2 {
buffer-manager = <&bm>;
bm,pool-long = <2>;
bm,pool-short = <3>;
-@@ -195,7 +223,7 @@
+@@ -201,7 +229,7 @@
/* routed to PCIe2 connector (CN62A) */
};
#include "armada-385.dtsi"
/ {
-@@ -181,7 +182,115 @@
+@@ -187,7 +188,115 @@
reg = <0>;
/* STM32F0 command interface at address 0x2a */
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -156,7 +156,7 @@
+@@ -162,7 +162,7 @@
*/
status = "okay";
phy-mode = "sgmii";
phys = <&comphy5 2>;
sfp = <&sfp>;
buffer-manager = <&bm>;
-@@ -387,9 +387,9 @@
+@@ -393,9 +393,9 @@
pinctrl-0 = <&mdio_pins>;
status = "okay";
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -32,7 +32,8 @@
+@@ -38,7 +38,8 @@
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -392,7 +392,8 @@
+@@ -398,7 +398,8 @@
status = "okay";
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -189,15 +189,13 @@
+@@ -195,15 +195,13 @@
reg = <0x2b>;
#address-cells = <1>;
#size-cells = <0>;
* - there are 3 LEDs connected via MCU to PCIe
* ports. One of these ports supports mSATA.
* There is no mSATA nor PCIe function.
-@@ -208,7 +206,6 @@
+@@ -214,7 +212,6 @@
* B. Again there is no such function defined.
* For now we use LED_FUNCTION_INDICATOR
*/
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -3157,6 +3157,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3159,6 +3159,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor);
int ret;
int i;
-@@ -3211,7 +3212,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3213,7 +3214,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret)
return ret;
mtd->type = MTD_NORFLASH;
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -848,6 +848,17 @@ out_error:
+@@ -850,6 +850,17 @@ out_error:
*/
static void mtd_set_dev_defaults(struct mtd_info *mtd)
{
+};
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
-@@ -2021,6 +2021,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
+@@ -2023,6 +2023,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
static const struct spi_nor_manufacturer *manufacturers[] = {
&spi_nor_atmel,