KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-5.4 = .128
+LINUX_VERSION-5.4 = .132
-LINUX_KERNEL_HASH-5.4.128 = 3b54aebb816b9e628cb9ba3055a6aca58ce0ddeec49366c0da86ced9a7be39ab
+LINUX_KERNEL_HASH-5.4.132 = 8466adbfb3579e751ede683496df7bb20f258b5f882250f3dd82be63736d00ef
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
struct fis_image_desc {
unsigned char name[16]; // Null terminated name
uint32_t flash_base; // Address within FLASH of image
-@@ -67,6 +69,7 @@ static int parse_redboot_partitions(stru
+@@ -72,6 +74,7 @@ static int parse_redboot_partitions(stru
const struct mtd_partition **pparts,
struct mtd_part_parser_data *data)
{
int nrparts = 0;
struct fis_image_desc *buf;
struct mtd_partition *parts;
-@@ -234,14 +237,15 @@ static int parse_redboot_partitions(stru
+@@ -239,14 +242,15 @@ static int parse_redboot_partitions(stru
}
}
#endif
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
if (nulllen > 0) {
strcpy(nullname, nullstring);
-@@ -260,6 +264,8 @@ static int parse_redboot_partitions(stru
+@@ -265,6 +269,8 @@ static int parse_redboot_partitions(stru
}
#endif
for ( ; i<nrparts; i++) {
parts[i].size = fl->img->size;
parts[i].offset = fl->img->flash_base;
parts[i].name = names;
-@@ -293,6 +299,13 @@ static int parse_redboot_partitions(stru
+@@ -298,6 +304,13 @@ static int parse_redboot_partitions(stru
fl = fl->next;
kfree(tmp_fl);
}
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
-@@ -88,12 +88,18 @@ static int parse_redboot_partitions(stru
+@@ -93,12 +93,18 @@ static int parse_redboot_partitions(stru
parse_redboot_of(master);
return -EIO;
}
offset -= master->erasesize;
-@@ -106,10 +112,6 @@ static int parse_redboot_partitions(stru
+@@ -111,10 +117,6 @@ static int parse_redboot_partitions(stru
goto nogood;
}
}
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
-@@ -182,6 +184,11 @@ static int parse_redboot_partitions(stru
+@@ -187,6 +189,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
-@@ -65,6 +65,22 @@ static void parse_redboot_of(struct mtd_
+@@ -70,6 +70,22 @@ static void parse_redboot_of(struct mtd_
directory = dirblock;
}
static int parse_redboot_partitions(struct mtd_info *master,
const struct mtd_partition **pparts,
struct mtd_part_parser_data *data)
-@@ -81,6 +97,7 @@ static int parse_redboot_partitions(stru
+@@ -86,6 +102,7 @@ static int parse_redboot_partitions(stru
int namelen = 0;
int nulllen = 0;
int numslots;
unsigned long offset;
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
static char nullstring[] = "unallocated";
-@@ -195,7 +212,10 @@ static int parse_redboot_partitions(stru
+@@ -200,7 +217,10 @@ static int parse_redboot_partitions(stru
goto out;
}
struct fis_list *new_fl, **prev;
if (buf[i].name[0] == 0xff) {
-@@ -271,12 +291,13 @@ static int parse_redboot_partitions(stru
+@@ -276,12 +296,13 @@ static int parse_redboot_partitions(stru
}
#endif
for ( ; i<nrparts; i++) {
strcpy(names, fl->img->name);
#ifdef CONFIG_MTD_REDBOOT_PARTS_READONLY
if (!memcmp(names, "RedBoot", 8) ||
-@@ -306,7 +327,9 @@ static int parse_redboot_partitions(stru
+@@ -311,7 +332,9 @@ static int parse_redboot_partitions(stru
fl = fl->next;
kfree(tmp_fl);
}
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -823,6 +823,17 @@ config LEDS_LM36274
+@@ -824,6 +824,17 @@ config LEDS_LM36274
Say Y to enable the LM36274 LED driver for TI LMU devices.
This supports the LED device LM36274.
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
-@@ -85,12 +85,18 @@ static int parse_redboot_partitions(stru
+@@ -90,12 +90,18 @@ static int parse_redboot_partitions(stru
parse_redboot_of(master);
return -EIO;
}
offset -= master->erasesize;
-@@ -103,10 +109,6 @@ static int parse_redboot_partitions(stru
+@@ -108,10 +114,6 @@ static int parse_redboot_partitions(stru
goto nogood;
}
}
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
-@@ -179,6 +181,11 @@ static int parse_redboot_partitions(stru
+@@ -184,6 +186,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
-@@ -752,7 +752,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
+@@ -751,7 +751,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop;
}
+obj-$(CONFIG_MFD_RB4XX_CPLD) += rb4xx-cpld.o
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -1406,6 +1406,12 @@ config GPIO_SODAVILLE
+@@ -1408,6 +1408,12 @@ config GPIO_SODAVILLE
help
Say Y here to support Intel Sodaville GPIO.
static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type);
-@@ -2884,6 +2891,7 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2892,6 +2899,7 @@ static int mmc_blk_probe(struct mmc_card
{
struct mmc_blk_data *md, *part_md;
char cap_str[10];
/*
* Check that the card supports the command class(es) we need.
-@@ -2891,7 +2899,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2899,7 +2907,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV;
card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -2906,9 +2923,14 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2914,9 +2931,14 @@ static int mmc_blk_probe(struct mmc_card
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
cap_str, sizeof(cap_str));
switch (state->csi_lanes_in_use) {
case 1:
-@@ -2054,6 +2063,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -2055,6 +2064,7 @@ static int tc358743_probe(struct i2c_cli
if (pdata) {
state->pdata = *pdata;
state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
*/
bps_pr_lane = 2 * endpoint.link_frequencies[0];
if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) {
-@@ -1990,23 +1991,41 @@ static int tc358743_probe_of(struct tc35
+@@ -1991,23 +1992,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);
-@@ -2064,6 +2081,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -2065,6 +2082,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))
-@@ -2096,7 +2114,8 @@ static int tc358743_probe(struct i2c_cli
+@@ -2097,7 +2115,8 @@ static int tc358743_probe(struct i2c_cli
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
/* i2c access */
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2512,9 +2512,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2513,9 +2513,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
* Event ring setup: Allocate a normal ring, but also setup
* the event ring segment table (ERST). Section 4.9.3.
*/
if (!xhci->event_ring)
goto fail;
if (xhci_check_trb_in_td_math(xhci) < 0)
-@@ -2527,7 +2529,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2528,7 +2530,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
/* set ERST count with the number of entries in the segment table */
val = readl(&xhci->ir_set->erst_size);
val &= ERST_SIZE_MASK;
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
-@@ -1249,6 +1249,8 @@ static int c_show(struct seq_file *m, vo
+@@ -1251,6 +1251,8 @@ static int c_show(struct seq_file *m, vo
{
int i, j;
u32 cpuid;
for_each_online_cpu(i) {
/*
-@@ -1308,6 +1310,14 @@ static int c_show(struct seq_file *m, vo
+@@ -1310,6 +1312,14 @@ static int c_show(struct seq_file *m, vo
seq_printf(m, "Revision\t: %04x\n", system_rev);
seq_printf(m, "Serial\t\t: %s\n", system_serial);
return 0;
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
-@@ -404,8 +404,7 @@ static dma_addr_t iommu_dma_alloc_iova(s
+@@ -406,8 +406,7 @@ static dma_addr_t iommu_dma_alloc_iova(s
if (iova_len < (1 << (IOVA_RANGE_CACHE_MAX_SIZE - 1)))
iova_len = roundup_pow_of_two(iova_len);
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3116,6 +3116,7 @@ static int __spi_validate_bits_per_word(
+@@ -3117,6 +3117,7 @@ static int __spi_validate_bits_per_word(
*/
int spi_setup(struct spi_device *spi)
{
unsigned bad_bits, ugly_bits;
int status;
-@@ -3133,6 +3134,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3134,6 +3135,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3128,8 +3128,8 @@ int spi_setup(struct spi_device *spi)
+@@ -3129,8 +3129,8 @@ int spi_setup(struct spi_device *spi)
if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) {
--- a/drivers/media/i2c/tc358743.c
+++ b/drivers/media/i2c/tc358743.c
-@@ -2004,6 +2004,7 @@ static int tc358743_probe_of(struct tc35
+@@ -2005,6 +2005,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);
#include <video/mipi_display.h>
#include "fbtft.h"
-@@ -1200,6 +1201,7 @@ static struct fbtft_platform_data *fbtft
+@@ -1199,6 +1200,7 @@ static struct fbtft_platform_data *fbtft
* @display: Display properties
* @sdev: SPI device
* @pdev: Platform device
*
* Allocates, initializes and registers a framebuffer
*
-@@ -1209,12 +1211,15 @@ static struct fbtft_platform_data *fbtft
+@@ -1208,12 +1210,15 @@ static struct fbtft_platform_data *fbtft
*/
int fbtft_probe_common(struct fbtft_display *display,
struct spi_device *sdev,
int ret;
if (sdev)
-@@ -1230,6 +1235,14 @@ int fbtft_probe_common(struct fbtft_disp
+@@ -1229,6 +1234,14 @@ int fbtft_probe_common(struct fbtft_disp
pdata = fbtft_probe_dt(dev);
if (IS_ERR(pdata))
return PTR_ERR(pdata);
.width = 2,
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
-@@ -79,6 +79,7 @@ static int parse_redboot_partitions(stru
+@@ -84,6 +84,7 @@ static int parse_redboot_partitions(stru
int nulllen = 0;
int numslots;
unsigned long offset;
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
static char nullstring[] = "unallocated";
#endif
-@@ -185,6 +186,16 @@ static int parse_redboot_partitions(stru
+@@ -190,6 +191,16 @@ static int parse_redboot_partitions(stru
goto out;
}
for (i = 0; i < numslots; i++) {
struct fis_list *new_fl, **prev;
-@@ -205,10 +216,10 @@ static int parse_redboot_partitions(stru
+@@ -210,10 +221,10 @@ static int parse_redboot_partitions(stru
goto out;
}
new_fl->img = &buf[i];
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2195,6 +2195,13 @@ config TRIM_UNUSED_KSYMS
+@@ -2198,6 +2198,13 @@ config TRIM_UNUSED_KSYMS
If unsure, or if you need to build out-of-tree modules, say N.
config MODULES_TREE_LOOKUP
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -3252,9 +3252,11 @@ static int setup_load_info(struct load_i
+@@ -3256,9 +3256,11 @@ static int setup_load_info(struct load_i
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL;
-@@ -3275,6 +3277,7 @@ static int check_modinfo(struct module *
+@@ -3279,6 +3281,7 @@ static int check_modinfo(struct module *
mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
}
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
-@@ -349,7 +349,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
+@@ -350,7 +350,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
# Linker scripts preprocessor (.lds.S -> .lds)
# ---------------------------------------------------------------------------
quiet_cmd_cpp_lds_S = LDS $@
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
-@@ -603,12 +603,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
+@@ -615,12 +615,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
extern struct Qdisc_ops pfifo_fast_ops;
extern struct Qdisc_ops mq_qdisc_ops;
extern struct Qdisc_ops noqueue_qdisc_ops;
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1277,6 +1277,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1280,6 +1280,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
the unaligned access emulation.
see arch/parisc/kernel/unaligned.c for reference
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
-@@ -914,8 +914,10 @@ char *symbol_string(char *buf, char *end
+@@ -940,8 +940,10 @@ char *symbol_string(char *buf, char *end
struct printf_spec spec, const char *fmt)
{
unsigned long value;
#endif
if (fmt[1] == 'R')
-@@ -932,8 +934,14 @@ char *symbol_string(char *buf, char *end
+@@ -958,8 +960,14 @@ char *symbol_string(char *buf, char *end
return string_nocheck(buf, end, sym, spec);
#else
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
-@@ -300,6 +300,7 @@ static int parse_redboot_partitions(stru
+@@ -305,6 +305,7 @@ static int parse_redboot_partitions(stru
static const struct of_device_id mtd_parser_redboot_of_match_table[] = {
{ .compatible = "redboot-fis" },
--- a/drivers/mtd/parsers/redboot.c
+++ b/drivers/mtd/parsers/redboot.c
-@@ -274,14 +274,21 @@ static int parse_redboot_partitions(stru
+@@ -279,14 +279,21 @@ static int parse_redboot_partitions(stru
#endif
names += strlen(names)+1;
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3922,6 +3925,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3924,6 +3927,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -3978,6 +3991,13 @@ static int packet_getsockopt(struct sock
+@@ -3980,6 +3993,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1662,6 +1662,15 @@ config EMBEDDED
+@@ -1665,6 +1665,15 @@ config EMBEDDED
an embedded system so certain expert options are available
for configuration.
+ ret = early_init_dt_alloc_reserved_memory_arch(node,
+ size, align, start, end, nomap, &base);
if (ret == 0) {
- pr_debug("allocated memory for '%s' node: base %pa, size %ld MiB\n",
+ pr_debug("allocated memory for '%s' node: base %pa, size %lu MiB\n",
uname, &base,
@@ -143,8 +162,8 @@ static int __init __reserved_mem_alloc_s
}
+ ret = early_init_dt_alloc_reserved_memory_arch(node,
+ size, align, 0, 0, nomap, &base);
if (ret == 0)
- pr_debug("allocated memory for '%s' node: base %pa, size %ld MiB\n",
- uname, &base, (unsigned long)size / SZ_1M);
+ pr_debug("allocated memory for '%s' node: base %pa, size %lu MiB\n",
+ uname, &base, (unsigned long)(size / SZ_1M));
if (ret) {
- DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret);
+ DRM_DEV_ERROR(dev, "Could not write to GRF: %d\n", ret);
+ clk_disable_unprepare(dp->grf_clk);
return ret;
}
-
-@@ -82,24 +82,25 @@ static int cdn_dp_grf_write(struct cdn_d
+@@ -83,24 +83,25 @@ static int cdn_dp_grf_write(struct cdn_d
static int cdn_dp_clk_enable(struct cdn_dp_device *dp)
{
goto err_pm_runtime_get;
}
-@@ -112,18 +113,18 @@ static int cdn_dp_clk_enable(struct cdn_
+@@ -113,18 +114,18 @@ static int cdn_dp_clk_enable(struct cdn_
rate = clk_get_rate(dp->core_clk);
if (!rate) {
err_pm_runtime_get:
clk_disable_unprepare(dp->core_clk);
err_core_clk:
-@@ -134,7 +135,7 @@ err_pclk:
+@@ -135,7 +136,7 @@ err_pclk:
static void cdn_dp_clk_disable(struct cdn_dp_device *dp)
{
clk_disable_unprepare(dp->pclk);
clk_disable_unprepare(dp->core_clk);
}
-@@ -167,7 +168,7 @@ static int cdn_dp_get_sink_count(struct
+@@ -168,7 +169,7 @@ static int cdn_dp_get_sink_count(struct
u8 value;
*sink_count = 0;
if (ret)
return ret;
-@@ -191,12 +192,13 @@ static struct cdn_dp_port *cdn_dp_connec
+@@ -192,12 +193,13 @@ static struct cdn_dp_port *cdn_dp_connec
static bool cdn_dp_check_sink_connection(struct cdn_dp_device *dp)
{
return false;
}
-@@ -218,7 +220,7 @@ static bool cdn_dp_check_sink_connection
+@@ -219,7 +221,7 @@ static bool cdn_dp_check_sink_connection
usleep_range(5000, 10000);
}
return false;
}
-@@ -260,7 +262,8 @@ static int cdn_dp_connector_get_modes(st
+@@ -261,7 +263,8 @@ static int cdn_dp_connector_get_modes(st
mutex_lock(&dp->lock);
edid = dp->edid;
if (edid) {
edid->width_cm, edid->height_cm);
dp->sink_has_audio = drm_detect_monitor_audio(edid);
-@@ -278,7 +281,8 @@ static int cdn_dp_connector_mode_valid(s
+@@ -279,7 +282,8 @@ static int cdn_dp_connector_mode_valid(s
struct drm_display_mode *mode)
{
struct cdn_dp_device *dp = connector_to_dp(connector);
u32 requested, actual, rate, sink_max, source_max = 0;
u8 lanes, bpc;
-@@ -304,7 +308,7 @@ static int cdn_dp_connector_mode_valid(s
+@@ -305,7 +309,7 @@ static int cdn_dp_connector_mode_valid(s
sink_max = drm_dp_max_lane_count(dp->dpcd);
lanes = min(source_max, sink_max);
sink_max = drm_dp_max_link_rate(dp->dpcd);
rate = min(source_max, sink_max);
-@@ -314,7 +318,7 @@ static int cdn_dp_connector_mode_valid(s
+@@ -315,7 +319,7 @@ static int cdn_dp_connector_mode_valid(s
actual = actual * 8 / 10;
if (requested > actual) {
"requested=%d, actual=%d, clock=%d\n",
requested, actual, mode->clock);
return MODE_CLOCK_HIGH;
-@@ -334,28 +338,29 @@ static int cdn_dp_firmware_init(struct c
+@@ -335,28 +339,29 @@ static int cdn_dp_firmware_init(struct c
const u32 *iram_data, *dram_data;
const struct firmware *fw = dp->fw;
const struct cdn_firmware_header *hdr;
}
static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
-@@ -365,28 +370,29 @@ static int cdn_dp_get_sink_capability(st
+@@ -366,28 +371,29 @@ static int cdn_dp_get_sink_capability(st
if (!cdn_dp_check_sink_connection(dp))
return -ENODEV;
ret);
goto err_phy;
}
-@@ -396,28 +402,28 @@ static int cdn_dp_enable_phy(struct cdn_
+@@ -397,28 +403,28 @@ static int cdn_dp_enable_phy(struct cdn_
ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
DPTX_HPD_SEL_MASK | DPTX_HPD_SEL);
if (ret) {
ret);
goto err_power_on;
}
-@@ -427,7 +433,7 @@ static int cdn_dp_enable_phy(struct cdn_
+@@ -428,7 +434,7 @@ static int cdn_dp_enable_phy(struct cdn_
err_power_on:
if (phy_power_off(port->phy))
else
port->phy_enabled = false;
-@@ -445,7 +451,8 @@ static int cdn_dp_disable_phy(struct cdn
+@@ -446,7 +452,8 @@ static int cdn_dp_disable_phy(struct cdn
if (port->phy_enabled) {
ret = phy_power_off(port->phy);
if (ret) {
return ret;
}
}
-@@ -469,16 +476,16 @@ static int cdn_dp_disable(struct cdn_dp_
+@@ -470,16 +477,16 @@ static int cdn_dp_disable(struct cdn_dp_
ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
DPTX_HPD_SEL_MASK | DPTX_HPD_DEL);
if (ret) {
if (!dp->connected) {
kfree(dp->edid);
dp->edid = NULL;
-@@ -491,11 +498,11 @@ static int cdn_dp_enable(struct cdn_dp_d
+@@ -492,11 +499,11 @@ static int cdn_dp_enable(struct cdn_dp_d
{
int ret, i, lanes;
struct cdn_dp_port *port;
return -ENODEV;
}
-@@ -508,7 +515,7 @@ static int cdn_dp_enable(struct cdn_dp_d
+@@ -509,7 +516,7 @@ static int cdn_dp_enable(struct cdn_dp_d
ret = cdn_dp_firmware_init(dp);
if (ret) {
goto err_clk_disable;
}
-@@ -542,8 +549,9 @@ static void cdn_dp_encoder_mode_set(stru
+@@ -543,8 +550,9 @@ static void cdn_dp_encoder_mode_set(stru
struct drm_display_mode *adjusted)
{
struct cdn_dp_device *dp = encoder_to_dp(encoder);
switch (display_info->bpc) {
case 10:
-@@ -561,7 +569,7 @@ static void cdn_dp_encoder_mode_set(stru
+@@ -562,7 +570,7 @@ static void cdn_dp_encoder_mode_set(stru
video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
}
static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
-@@ -570,11 +578,11 @@ static bool cdn_dp_check_link_status(str
+@@ -571,11 +579,11 @@ static bool cdn_dp_check_link_status(str
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
u8 sink_lanes = drm_dp_max_lane_count(dp->dpcd);
DRM_ERROR("Failed to get link status\n");
return false;
}
-@@ -586,15 +594,16 @@ static bool cdn_dp_check_link_status(str
+@@ -587,15 +595,16 @@ static bool cdn_dp_check_link_status(str
static void cdn_dp_encoder_enable(struct drm_encoder *encoder)
{
struct cdn_dp_device *dp = encoder_to_dp(encoder);
(ret) ? "LIT" : "BIG");
if (ret)
val = DP_SEL_VOP_LIT | (DP_SEL_VOP_LIT << 16);
-@@ -609,33 +618,33 @@ static void cdn_dp_encoder_enable(struct
+@@ -610,33 +619,33 @@ static void cdn_dp_encoder_enable(struct
ret = cdn_dp_enable(dp);
if (ret) {
goto out;
}
out:
-@@ -651,7 +660,8 @@ static void cdn_dp_encoder_disable(struc
+@@ -652,7 +661,8 @@ static void cdn_dp_encoder_disable(struc
if (dp->active) {
ret = cdn_dp_disable(dp);
if (ret) {
ret);
}
}
-@@ -695,7 +705,7 @@ static const struct drm_encoder_funcs cd
+@@ -696,7 +706,7 @@ static const struct drm_encoder_funcs cd
static int cdn_dp_parse_dt(struct cdn_dp_device *dp)
{
struct device_node *np = dev->of_node;
struct platform_device *pdev = to_platform_device(dev);
struct resource *res;
-@@ -707,10 +717,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
+@@ -708,10 +718,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
}
dp->core_clk = devm_clk_get(dev, "core-clk");
-@@ -725,10 +735,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
+@@ -726,10 +736,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
return PTR_ERR(dp->pclk);
}
}
dp->grf_clk = devm_clk_get(dev, "grf");
-@@ -737,10 +747,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
+@@ -738,10 +748,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
return PTR_ERR(dp->grf_clk);
}
}
dp->dptx_rst = devm_reset_control_get(dev, "dptx");
-@@ -795,7 +805,7 @@ static int cdn_dp_audio_hw_params(struct
+@@ -796,7 +806,7 @@ static int cdn_dp_audio_hw_params(struct
goto out;
}
if (!ret)
dp->audio_info = audio;
-@@ -813,7 +823,7 @@ static void cdn_dp_audio_shutdown(struct
+@@ -814,7 +824,7 @@ static void cdn_dp_audio_shutdown(struct
if (!dp->active)
goto out;
if (!ret)
dp->audio_info.format = AFMT_UNUSED;
out:
-@@ -832,7 +842,7 @@ static int cdn_dp_audio_digital_mute(str
+@@ -833,7 +843,7 @@ static int cdn_dp_audio_digital_mute(str
goto out;
}
out:
mutex_unlock(&dp->lock);
-@@ -844,7 +854,8 @@ static int cdn_dp_audio_get_eld(struct d
+@@ -845,7 +855,8 @@ static int cdn_dp_audio_get_eld(struct d
{
struct cdn_dp_device *dp = dev_get_drvdata(dev);
return 0;
}
-@@ -878,6 +889,7 @@ static int cdn_dp_request_firmware(struc
+@@ -879,6 +890,7 @@ static int cdn_dp_request_firmware(struc
int ret;
unsigned long timeout = jiffies + msecs_to_jiffies(CDN_FW_TIMEOUT_MS);
unsigned long sleep = 1000;
WARN_ON(!mutex_is_locked(&dp->lock));
-@@ -888,13 +900,13 @@ static int cdn_dp_request_firmware(struc
+@@ -889,13 +901,13 @@ static int cdn_dp_request_firmware(struc
mutex_unlock(&dp->lock);
while (time_before(jiffies, timeout)) {
"failed to request firmware: %d\n", ret);
goto out;
}
-@@ -904,7 +916,7 @@ static int cdn_dp_request_firmware(struc
+@@ -905,7 +917,7 @@ static int cdn_dp_request_firmware(struc
goto out;
}
ret = -ETIMEDOUT;
out:
mutex_lock(&dp->lock);
-@@ -915,8 +927,9 @@ static void cdn_dp_pd_event_work(struct
+@@ -916,8 +928,9 @@ static void cdn_dp_pd_event_work(struct
{
struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device,
event_work);
int ret;
-@@ -933,44 +946,45 @@ static void cdn_dp_pd_event_work(struct
+@@ -934,44 +947,45 @@ static void cdn_dp_pd_event_work(struct
/* Not connected, notify userspace to disable the block */
if (!cdn_dp_connected_port(dp)) {
"Failed to config video %d\n",
ret);
}
-@@ -1039,7 +1053,7 @@ static int cdn_dp_bind(struct device *de
+@@ -1040,7 +1054,7 @@ static int cdn_dp_bind(struct device *de
drm_encoder_helper_add(encoder, &cdn_dp_encoder_helper_funcs);
connector->polled = DRM_CONNECTOR_POLL_HPD;
connector->dpms = DRM_MODE_DPMS_OFF;
-@@ -1063,7 +1077,7 @@ static int cdn_dp_bind(struct device *de
+@@ -1064,7 +1078,7 @@ static int cdn_dp_bind(struct device *de
port = dp->port[i];
port->event_nb.notifier_call = cdn_dp_pd_event;
EXTCON_DISP_DP,
&port->event_nb);
if (ret) {
-@@ -1090,7 +1104,7 @@ static void cdn_dp_unbind(struct device
+@@ -1091,7 +1105,7 @@ static void cdn_dp_unbind(struct device
{
struct cdn_dp_device *dp = dev_get_drvdata(dev);
struct drm_encoder *encoder = &dp->encoder;
cancel_work_sync(&dp->event_work);
cdn_dp_encoder_disable(encoder);
-@@ -1150,7 +1164,7 @@ static int cdn_dp_probe(struct platform_
+@@ -1151,7 +1165,7 @@ static int cdn_dp_probe(struct platform_
dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL);
if (!dp)
return -ENOMEM;
match = of_match_node(cdn_dp_dt_ids, pdev->dev.of_node);
dp_data = (struct cdn_dp_data *)match->data;
-@@ -1195,7 +1209,7 @@ static int cdn_dp_remove(struct platform
+@@ -1196,7 +1210,7 @@ static int cdn_dp_remove(struct platform
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
platform_device_unregister(dp->audio_pdev);
component_del(&pdev->dev, &cdn_dp_component_ops);
return 0;
-@@ -1205,7 +1219,7 @@ static void cdn_dp_shutdown(struct platf
+@@ -1206,7 +1220,7 @@ static void cdn_dp_shutdown(struct platf
{
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
#define encoder_to_dp(c) \
container_of(c, struct cdn_dp_device, encoder)
-@@ -282,7 +282,7 @@ static int cdn_dp_connector_mode_valid(s
+@@ -283,7 +283,7 @@ static int cdn_dp_connector_mode_valid(s
{
struct cdn_dp_device *dp = connector_to_dp(connector);
struct drm_display_info *display_info =
u32 requested, actual, rate, sink_max, source_max = 0;
u8 lanes, bpc;
-@@ -378,7 +378,7 @@ static int cdn_dp_get_sink_capability(st
+@@ -379,7 +379,7 @@ static int cdn_dp_get_sink_capability(st
}
kfree(dp->edid);
cdns_mhdp_get_edid_block, &dp->mhdp);
return 0;
}
-@@ -484,8 +484,8 @@ static int cdn_dp_disable(struct cdn_dp_
+@@ -485,8 +485,8 @@ static int cdn_dp_disable(struct cdn_dp_
cdns_mhdp_set_firmware_active(&dp->mhdp, false);
cdn_dp_clk_disable(dp);
dp->active = false;
if (!dp->connected) {
kfree(dp->edid);
dp->edid = NULL;
-@@ -550,7 +550,7 @@ static void cdn_dp_encoder_mode_set(stru
+@@ -551,7 +551,7 @@ static void cdn_dp_encoder_mode_set(stru
{
struct cdn_dp_device *dp = encoder_to_dp(encoder);
struct drm_display_info *display_info =
struct video_info *video = &dp->mhdp.video_info;
switch (display_info->bpc) {
-@@ -578,7 +578,7 @@ static bool cdn_dp_check_link_status(str
+@@ -579,7 +579,7 @@ static bool cdn_dp_check_link_status(str
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
u8 sink_lanes = drm_dp_max_lane_count(dp->dpcd);
return false;
if (cdns_mhdp_dpcd_read(&dp->mhdp, DP_LANE0_1_STATUS, link_status,
-@@ -807,7 +807,7 @@ static int cdn_dp_audio_hw_params(struct
+@@ -808,7 +808,7 @@ static int cdn_dp_audio_hw_params(struct
ret = cdns_mhdp_audio_config(&dp->mhdp, &audio);
if (!ret)
out:
mutex_unlock(&dp->lock);
-@@ -823,9 +823,9 @@ static void cdn_dp_audio_shutdown(struct
+@@ -824,9 +824,9 @@ static void cdn_dp_audio_shutdown(struct
if (!dp->active)
goto out;
out:
mutex_unlock(&dp->lock);
}
-@@ -854,8 +854,8 @@ static int cdn_dp_audio_get_eld(struct d
+@@ -855,8 +855,8 @@ static int cdn_dp_audio_get_eld(struct d
{
struct cdn_dp_device *dp = dev_get_drvdata(dev);
return 0;
}
-@@ -877,11 +877,11 @@ static int cdn_dp_audio_codec_init(struc
+@@ -878,11 +878,11 @@ static int cdn_dp_audio_codec_init(struc
.max_i2s_channels = 8,
};
}
static int cdn_dp_request_firmware(struct cdn_dp_device *dp)
-@@ -927,7 +927,7 @@ static void cdn_dp_pd_event_work(struct
+@@ -928,7 +928,7 @@ static void cdn_dp_pd_event_work(struct
{
struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device,
event_work);
enum drm_connector_status old_status;
struct device *dev = dp->mhdp.dev;
-@@ -965,8 +965,8 @@ static void cdn_dp_pd_event_work(struct
+@@ -966,8 +966,8 @@ static void cdn_dp_pd_event_work(struct
/* Enabled and connected with a sink, re-train if requested */
} else if (!cdn_dp_check_link_status(dp)) {
struct drm_display_mode *mode = &dp->mhdp.mode;
DRM_DEV_INFO(dev, "Connected with sink. Re-train link\n");
-@@ -979,8 +979,8 @@ static void cdn_dp_pd_event_work(struct
+@@ -980,8 +980,8 @@ static void cdn_dp_pd_event_work(struct
/* If training result is changed, update the video config */
if (mode->clock &&
ret = cdns_mhdp_config_video(&dp->mhdp);
if (ret) {
dp->connected = false;
-@@ -1053,7 +1053,7 @@ static int cdn_dp_bind(struct device *de
+@@ -1054,7 +1054,7 @@ static int cdn_dp_bind(struct device *de
drm_encoder_helper_add(encoder, &cdn_dp_encoder_helper_funcs);
connector->polled = DRM_CONNECTOR_POLL_HPD;
connector->dpms = DRM_MODE_DPMS_OFF;
-@@ -1104,7 +1104,7 @@ static void cdn_dp_unbind(struct device
+@@ -1105,7 +1105,7 @@ static void cdn_dp_unbind(struct device
{
struct cdn_dp_device *dp = dev_get_drvdata(dev);
struct drm_encoder *encoder = &dp->encoder;
cancel_work_sync(&dp->event_work);
cdn_dp_encoder_disable(encoder);
-@@ -1208,7 +1208,7 @@ static int cdn_dp_remove(struct platform
+@@ -1209,7 +1209,7 @@ static int cdn_dp_remove(struct platform
{
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
-@@ -797,7 +797,7 @@ static int cdn_dp_audio_hw_params(struct
+@@ -798,7 +798,7 @@ static int cdn_dp_audio_hw_params(struct
audio.format = AFMT_I2S;
break;
case HDMI_SPDIF:
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
-@@ -717,10 +717,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
+@@ -718,10 +718,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
msg[4] = PTS1 | PTS2 | PTS3 | PTS4;
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
-@@ -305,12 +305,10 @@ static int cdn_dp_connector_mode_valid(s
+@@ -306,12 +306,10 @@ static int cdn_dp_connector_mode_valid(s
requested = mode->clock * bpc * 3 / 1000;
source_max = dp->lanes;
actual = rate * lanes / 100;
-@@ -365,21 +363,25 @@ static int cdn_dp_firmware_init(struct c
+@@ -366,21 +364,25 @@ static int cdn_dp_firmware_init(struct c
static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
{
return 0;
}
-@@ -421,7 +423,8 @@ static int cdn_dp_enable_phy(struct cdn_
+@@ -422,7 +424,8 @@ static int cdn_dp_enable_phy(struct cdn_
}
port->lanes = cdn_dp_get_port_lanes(port);
if (ret) {
DRM_DEV_ERROR(dev, "set host capabilities failed: %d\n",
ret);
-@@ -576,9 +579,9 @@ static bool cdn_dp_check_link_status(str
+@@ -577,9 +580,9 @@ static bool cdn_dp_check_link_status(str
{
u8 link_status[DP_LINK_STATUS_SIZE];
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
struct nxp_fspi {
void __iomem *iobase;
void __iomem *ahb_addr;
-@@ -1083,6 +1099,8 @@ static int nxp_fspi_resume(struct device
+@@ -1082,6 +1098,8 @@ static int nxp_fspi_resume(struct device
static const struct of_device_id nxp_fspi_dt_ids[] = {
{ .compatible = "nxp,lx2160a-fspi", .data = (void *)&lx2160a_data, },
} else {
if (op->data.nbytes && op->data.dir == SPI_MEM_DATA_OUT)
nxp_fspi_fill_txfifo(f, op);
-@@ -999,9 +1025,8 @@ static int nxp_fspi_probe(struct platfor
+@@ -993,9 +1019,8 @@ static int nxp_fspi_probe(struct platfor
/* find the resources - controller memory mapped space */
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "fspi_mmap");
goto err_put_ctrl;
}
-@@ -1080,6 +1105,9 @@ static int nxp_fspi_remove(struct platfo
+@@ -1079,6 +1104,9 @@ static int nxp_fspi_remove(struct platfo
mutex_destroy(&f->lock);
usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0);
ret = phy_power_on(dwc->usb2_generic_phy);
-@@ -1931,12 +1983,9 @@ static const struct dev_pm_ops dwc3_dev_
+@@ -1932,12 +1984,9 @@ static const struct dev_pm_ops dwc3_dev_
#ifdef CONFIG_OF
static const struct of_device_id of_dwc3_match[] = {
usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0);
ret = phy_power_on(dwc->usb2_generic_phy);
-@@ -1983,9 +1931,12 @@ static const struct dev_pm_ops dwc3_dev_
+@@ -1984,9 +1932,12 @@ static const struct dev_pm_ops dwc3_dev_
#ifdef CONFIG_OF
static const struct of_device_id of_dwc3_match[] = {
usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0);
ret = phy_power_on(dwc->usb2_generic_phy);
-@@ -1931,12 +1982,16 @@ static const struct dev_pm_ops dwc3_dev_
+@@ -1932,12 +1983,16 @@ static const struct dev_pm_ops dwc3_dev_
#ifdef CONFIG_OF
static const struct of_device_id of_dwc3_match[] = {
},
[PORT_NPCM] = {
.name = "Nuvoton 16550",
-@@ -2578,6 +2578,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2591,6 +2591,11 @@ serial8250_do_set_termios(struct uart_po
unsigned long flags;
unsigned int baud, quot, frac = 0;
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -823,6 +823,16 @@ config LEDS_LM36274
+@@ -824,6 +824,16 @@ config LEDS_LM36274
Say Y to enable the LM36274 LED driver for TI LMU devices.
This supports the LED device LM36274.