kernel: bump 4.14 to 4.14.212
authorHauke Mehrtens <hauke@hauke-m.de>
Wed, 16 Dec 2020 20:23:55 +0000 (21:23 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 16 Dec 2020 21:23:52 +0000 (22:23 +0100)
Refreshed all patches.

Removed patches because included in upstream:
- 315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch

Compile-tested on: ipq40xx, ath79, x86/64
Runtime-tested on: ipq40xx, ath79

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 files changed:
include/kernel-version.mk
target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch
target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
target/linux/cns3xxx/patches-4.14/075-spi_support.patch
target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch
target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch
target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch [deleted file]
target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch
target/linux/ipq40xx/patches-4.14/088-0004-i2c-qup-remove-redundant-variables-for-BAM-SG-count.patch
target/linux/ipq40xx/patches-4.14/088-0007-i2c-qup-proper-error-handling-for-i2c-error-in-BAM-m.patch
target/linux/ipq40xx/patches-4.14/088-0008-i2c-qup-use-the-complete-transfer-length-to-choose-D.patch
target/linux/ipq40xx/patches-4.14/088-0009-i2c-qup-change-completion-timeout-according-to-trans.patch
target/linux/ipq40xx/patches-4.14/088-0010-i2c-qup-fix-buffer-overflow-for-multiple-msg-of-maxi.patch
target/linux/ipq40xx/patches-4.14/088-0012-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch
target/linux/ipq40xx/patches-4.14/088-0013-i2c-qup-reorganization-of-driver-code-to-remove-poll.patch
target/linux/layerscape/patches-4.14/301-arch-support-layerscape.patch
target/linux/layerscape/patches-4.14/804-i2c-support-layerscape.patch

index 45bedf3261c7bcd822143be2994c74548a0f690e..45f405383327af22d51fefe6abaea23d8bd018f4 100644 (file)
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-4.14 = .209
+LINUX_VERSION-4.14 = .212
 
-LINUX_KERNEL_HASH-4.14.209 = cb02465cc8f1972cc14707b25d779c8668d220c39e68a24bb23afd4c58182b9c
+LINUX_KERNEL_HASH-4.14.212 = 0e1bc32c4842c3bbee3a15454408f528acd4d3c5e83312b93008d5ee2e9a0c79
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index e7b7923773e6b09ce33e2ca1be8b5b606c2b9876..2f622dc5053d257ac4294656384892b2b1030b58 100644 (file)
  #include <net/if_inet6.h>
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
-@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct
+@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct
        if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
                return 0;
  
        if (skb->ip_summed == CHECKSUM_COMPLETE)
                skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from),
                                     (__force __wsum)to);
-@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct
+@@ -137,7 +137,7 @@ static inline int IP6_ECN_set_ce(struct
  
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  {
index 68f0100b31e47ced13ed2ae482d3ddacc2523e64..9222bee69414b10bf3d5a038e597afad89ca13b8 100644 (file)
  #include <net/if_inet6.h>
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
-@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct
+@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct
        if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
                return 0;
  
        if (skb->ip_summed == CHECKSUM_COMPLETE)
                skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from),
                                     (__force __wsum)to);
-@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct
+@@ -137,7 +137,7 @@ static inline int IP6_ECN_set_ce(struct
  
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  {
index 692179992803e4c63e8fdcac4096bd903854c281..61d970749122bb9edc50a26667c086b5fcedc8e3 100644 (file)
@@ -26,7 +26,7 @@
  obj-$(CONFIG_SPI_DLN2)                        += spi-dln2.o
 --- a/include/linux/spi/spi.h
 +++ b/include/linux/spi/spi.h
-@@ -799,6 +799,10 @@ struct spi_transfer {
+@@ -818,6 +818,10 @@ struct spi_transfer {
        u32             speed_hz;
  
        struct list_head transfer_list;
index 4ad22b3de1d8ee9f120f59fc6517de893325bdf2..4315b8d6bbd80c117b4074bbbdff193b674bbf84 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
 
 --- a/drivers/usb/serial/option.c
 +++ b/drivers/usb/serial/option.c
-@@ -2011,7 +2011,8 @@ static const struct usb_device_id option
+@@ -2012,7 +2012,8 @@ static const struct usb_device_id option
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) },                   /* D-Link DWM-156 (variant) */
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
index 4b889120bf53008451d6fa53ca4aa59760929706..ed532a0ee03f45151c5f27af24d6911630e8099f 100644 (file)
@@ -92,7 +92,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  #endif
 --- a/net/bridge/br_netfilter_hooks.c
 +++ b/net/bridge/br_netfilter_hooks.c
-@@ -991,7 +991,7 @@ int br_nf_hook_thresh(unsigned int hook,
+@@ -994,7 +994,7 @@ int br_nf_hook_thresh(unsigned int hook,
        unsigned int i;
        int ret;
  
diff --git a/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch
deleted file mode 100644 (file)
index aebc875..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From:   Yves-Alexis Perez <corsac@corsac.net>
-Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14
-Date:   Thu, 19 Nov 2020 18:24:39 +0100
-Archived-At: <https://lore.kernel.org/stable/20201119172439.94988-1-corsac@corsac.net/>
-List-Post: <mailto:stable@vger.kernel.org>
-
-Starting with iOS 14 released in September 2020, connectivity using the
-personal hotspot USB tethering function of iOS devices is broken.
-
-Communication between the host and the device (for example ICMP traffic
-or DNS resolution using the DNS service running in the device itself)
-works fine, but communication to endpoints further away doesn't work.
-
-Investigation on the matter shows that UDP and ICMP traffic from the
-tethered host is reaching the Internet at all. For TCP traffic there are
-exchanges between tethered host and server but packets are modified in
-transit leading to impossible communication.
-
-After some trials Matti Vuorela discovered that reducing the URB buffer
-size by two bytes restored the previous behavior. While a better
-solution might exist to fix the issue, since the protocol is not
-publicly documented and considering the small size of the fix, let's do
-that.
-
-Tested-by: Matti Vuorela <matti.vuorela@bitfactor.fi>
-Signed-off-by: Yves-Alexis Perez <corsac@corsac.net>
-Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/
-Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038
-Cc: stable@vger.kernel.org
----
- drivers/net/usb/ipheth.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/net/usb/ipheth.c
-+++ b/drivers/net/usb/ipheth.c
-@@ -70,7 +70,7 @@
- #define IPHETH_USBINTF_SUBCLASS 253
- #define IPHETH_USBINTF_PROTO    1
--#define IPHETH_BUF_SIZE         1516
-+#define IPHETH_BUF_SIZE         1514
- #define IPHETH_IP_ALIGN               2       /* padding at front of URB */
- #define IPHETH_TX_TIMEOUT       (5 * HZ)
index a6cbfcf2b032fd60f10eff51f9c57a905723ff3e..037233f171347209a3d0c3a52012e3eeacdac91c 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
        struct                  dma_pool *dpool;
        struct                  qup_i2c_tag start_tag;
        struct                  qup_i2c_bam brx;
-@@ -1288,7 +1290,7 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1289,7 +1291,7 @@ static int qup_i2c_xfer_v2(struct i2c_ad
                           int num)
  {
        struct qup_i2c_dev *qup = i2c_get_adapdata(adap);
@@ -36,7 +36,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
        qup->bus_err = 0;
        qup->qup_err = 0;
-@@ -1317,13 +1319,12 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1318,13 +1320,12 @@ static int qup_i2c_xfer_v2(struct i2c_ad
                        len = (msgs[idx].len > qup->out_fifo_sz) ||
                              (msgs[idx].len > qup->in_fifo_sz);
  
@@ -54,7 +54,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
        }
  
        idx = 0;
-@@ -1347,15 +1348,17 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1348,15 +1349,17 @@ static int qup_i2c_xfer_v2(struct i2c_ad
  
                reinit_completion(&qup->xfer);
  
index e18af417894d66cd931399880b7fee5af8d37bb9..bd050ddfcaf63938aecf9ee84f626247f5ad43e8 100644 (file)
@@ -149,7 +149,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
                                              DMA_PREP_INTERRUPT);
                if (!rxd) {
                        dev_err(qup->dev, "failed to get rx desc\n");
-@@ -844,7 +838,7 @@ static int qup_i2c_bam_do_xfer(struct qu
+@@ -845,7 +839,7 @@ static int qup_i2c_bam_do_xfer(struct qu
                        goto desc_err;
                }
  
@@ -158,7 +158,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
                        writel(QUP_BAM_INPUT_EOT,
                               qup->base + QUP_OUT_FIFO_BASE);
  
-@@ -862,10 +856,10 @@ static int qup_i2c_bam_do_xfer(struct qu
+@@ -863,10 +857,10 @@ static int qup_i2c_bam_do_xfer(struct qu
        }
  
  desc_err:
index a86f144caf72e03f965d06ceb7acbd6561fec70f..48f40847de95826e8e45970f67fd716f4a9a29d2 100644 (file)
@@ -67,7 +67,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
                goto done;
        }
  
-@@ -847,20 +862,12 @@ static int qup_i2c_bam_do_xfer(struct qu
+@@ -848,20 +863,12 @@ static int qup_i2c_bam_do_xfer(struct qu
                        goto desc_err;
                }
  
index 3d6869558822b2ab95f141c554d7c7b6cb6b2450..e29b95d5088b57ad1a99d2890fe9ef9f3defb6ba 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
 
 --- a/drivers/i2c/busses/i2c-qup.c
 +++ b/drivers/i2c/busses/i2c-qup.c
-@@ -1300,7 +1300,8 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1301,7 +1301,8 @@ static int qup_i2c_xfer_v2(struct i2c_ad
                           int num)
  {
        struct qup_i2c_dev *qup = i2c_get_adapdata(adap);
@@ -32,7 +32,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
        qup->bus_err = 0;
        qup->qup_err = 0;
-@@ -1326,14 +1327,14 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1327,14 +1328,14 @@ static int qup_i2c_xfer_v2(struct i2c_ad
                                goto out;
                        }
  
index c95d20ec97847292842997100a285d102a9a58f8..07becb9d8a7da0f3c2ddeb0ae9fb295e302c423e 100644 (file)
@@ -50,7 +50,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
                dev_err(qup->dev, "normal trans timed out\n");
                ret = -ETIMEDOUT;
        }
-@@ -1605,6 +1610,8 @@ nodma:
+@@ -1606,6 +1611,8 @@ nodma:
         */
        one_bit_t = (USEC_PER_SEC / clk_freq) + 1;
        qup->one_byte_t = one_bit_t * 9;
index e5d1edfb72a1c32e4d3ae1b22b740f9622c201af..39d8de8bd135f3522b3c401be8c8997c6ccfcdca 100644 (file)
@@ -233,7 +233,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
        /* schedule the EOT and FLUSH I2C tags */
        len = 1;
        if (rx_cnt) {
-@@ -886,11 +878,19 @@ desc_err:
+@@ -887,11 +879,19 @@ desc_err:
        return ret;
  }
  
@@ -253,7 +253,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
        enable_irq(qup->irq);
        ret = qup_i2c_req_dma(qup);
-@@ -913,9 +913,34 @@ static int qup_i2c_bam_xfer(struct i2c_a
+@@ -914,9 +914,34 @@ static int qup_i2c_bam_xfer(struct i2c_a
                goto out;
  
        writel(qup->clk_ctl, qup->base + QUP_I2C_CLK_CTL);
@@ -290,7 +290,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  out:
        disable_irq(qup->irq);
  
-@@ -1468,7 +1493,8 @@ static int qup_i2c_probe(struct platform
+@@ -1469,7 +1494,8 @@ static int qup_i2c_probe(struct platform
                else if (ret != 0)
                        goto nodma;
  
@@ -300,7 +300,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
                qup->btx.sg = devm_kzalloc(&pdev->dev,
                                           sizeof(*qup->btx.sg) * blocks,
                                           GFP_KERNEL);
-@@ -1611,7 +1637,7 @@ nodma:
+@@ -1612,7 +1638,7 @@ nodma:
        one_bit_t = (USEC_PER_SEC / clk_freq) + 1;
        qup->one_byte_t = one_bit_t * 9;
        qup->xfer_timeout = TOUT_MIN * HZ +
index 1690415265f6e193136560693957519387dddffb..caa36c013f04b80d668004450475fff7f81bc653 100644 (file)
@@ -283,7 +283,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  }
  
  static void qup_i2c_set_blk_data(struct qup_i2c_dev *qup,
-@@ -1006,64 +1075,6 @@ err:
+@@ -1007,64 +1076,6 @@ err:
        return ret;
  }
  
@@ -348,7 +348,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  static void qup_i2c_set_read_mode_v2(struct qup_i2c_dev *qup, int len)
  {
        int tx_len = qup->blk.tx_tag_len;
-@@ -1086,44 +1097,27 @@ static void qup_i2c_set_read_mode_v2(str
+@@ -1087,44 +1098,27 @@ static void qup_i2c_set_read_mode_v2(str
        }
  }
  
@@ -402,7 +402,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  }
  
  static int qup_i2c_read_fifo_v2(struct qup_i2c_dev *qup,
-@@ -1224,49 +1218,130 @@ err:
+@@ -1225,49 +1219,130 @@ err:
        return ret;
  }
  
@@ -552,7 +552,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  static int qup_i2c_xfer(struct i2c_adapter *adap,
                        struct i2c_msg msgs[],
                        int num)
-@@ -1305,10 +1380,11 @@ static int qup_i2c_xfer(struct i2c_adapt
+@@ -1306,10 +1381,11 @@ static int qup_i2c_xfer(struct i2c_adapt
                        goto out;
                }
  
@@ -566,7 +566,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
                if (ret)
                        break;
-@@ -1487,6 +1563,10 @@ static int qup_i2c_probe(struct platform
+@@ -1488,6 +1564,10 @@ static int qup_i2c_probe(struct platform
        if (of_device_is_compatible(pdev->dev.of_node, "qcom,i2c-qup-v1.1.1")) {
                qup->adap.algo = &qup_i2c_algo;
                qup->adap.quirks = &qup_i2c_quirks;
index 6d3288211727043b8881360163d713634ea3662e..8fe43938ae8d3c981cd0d6b5f0949e9e04cc7657 100644 (file)
@@ -386,7 +386,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
        qup_i2c_set_blk_data(qup, msg);
  
        blocks = qup->blk.count;
-@@ -1026,7 +897,7 @@ static int qup_i2c_wait_for_complete(str
+@@ -1027,7 +898,7 @@ static int qup_i2c_wait_for_complete(str
        unsigned long left;
        int ret = 0;
  
@@ -395,7 +395,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
        if (!left) {
                writel(1, qup->base + QUP_SW_RESET);
                ret = -ETIMEDOUT;
-@@ -1038,65 +909,6 @@ static int qup_i2c_wait_for_complete(str
+@@ -1039,65 +910,6 @@ static int qup_i2c_wait_for_complete(str
        return ret;
  }
  
@@ -461,7 +461,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  static void qup_i2c_read_rx_fifo_v1(struct qup_i2c_dev *qup)
  {
        struct qup_i2c_block *blk = &qup->blk;
-@@ -1120,104 +932,6 @@ static void qup_i2c_read_rx_fifo_v1(stru
+@@ -1121,104 +933,6 @@ static void qup_i2c_read_rx_fifo_v1(stru
                blk->rx_bytes_read = true;
  }
  
@@ -566,7 +566,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  static void qup_i2c_write_rx_tags_v1(struct qup_i2c_dev *qup)
  {
        struct i2c_msg *msg = qup->msg;
-@@ -1404,13 +1118,434 @@ out:
+@@ -1405,13 +1119,434 @@ out:
        return ret;
  }
  
@@ -1002,7 +1002,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
        qup->bus_err = 0;
        qup->qup_err = 0;
-@@ -1419,6 +1554,10 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1420,6 +1555,10 @@ static int qup_i2c_xfer_v2(struct i2c_ad
        if (ret < 0)
                goto out;
  
@@ -1013,7 +1013,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
        writel(1, qup->base + QUP_SW_RESET);
        ret = qup_i2c_poll_state(qup, QUP_RESET_STATE);
        if (ret)
-@@ -1428,60 +1567,35 @@ static int qup_i2c_xfer_v2(struct i2c_ad
+@@ -1429,60 +1568,35 @@ static int qup_i2c_xfer_v2(struct i2c_ad
        writel(I2C_MINI_CORE | I2C_N_VAL_V2, qup->base + QUP_CONFIG);
        writel(QUP_V2_TAGS_EN, qup->base + QUP_I2C_MASTER_GEN);
  
@@ -1095,7 +1095,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
        if (ret == 0)
                ret = num;
-@@ -1545,6 +1659,7 @@ static int qup_i2c_probe(struct platform
+@@ -1546,6 +1660,7 @@ static int qup_i2c_probe(struct platform
        u32 src_clk_freq = DEFAULT_SRC_CLK;
        u32 clk_freq = DEFAULT_CLK_FREQ;
        int blocks;
@@ -1103,7 +1103,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  
        qup = devm_kzalloc(&pdev->dev, sizeof(*qup), GFP_KERNEL);
        if (!qup)
-@@ -1563,12 +1678,10 @@ static int qup_i2c_probe(struct platform
+@@ -1564,12 +1679,10 @@ static int qup_i2c_probe(struct platform
        if (of_device_is_compatible(pdev->dev.of_node, "qcom,i2c-qup-v1.1.1")) {
                qup->adap.algo = &qup_i2c_algo;
                qup->adap.quirks = &qup_i2c_quirks;
@@ -1118,7 +1118,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
                ret = qup_i2c_req_dma(qup);
  
                if (ret == -EPROBE_DEFER)
-@@ -1694,14 +1807,31 @@ nodma:
+@@ -1695,14 +1808,31 @@ nodma:
                ret = -EIO;
                goto fail;
        }
index 302645e776cdded12afb199b4ed924eb50bd6d77..27c7d864fa0df167a8bb1e17be2fe5f2401a0474 100644 (file)
@@ -285,7 +285,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  #define PAGE_NONE             __pgprot(((_PAGE_DEFAULT) & ~PTE_VALID) | PTE_PROT_NONE | PTE_RDONLY | PTE_NG | PTE_PXN | PTE_UXN)
 --- a/arch/arm64/include/asm/pgtable.h
 +++ b/arch/arm64/include/asm/pgtable.h
-@@ -357,6 +357,11 @@ static inline int pmd_protnone(pmd_t pmd
+@@ -365,6 +365,11 @@ static inline int pmd_protnone(pmd_t pmd
        __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_DEVICE_nGnRnE) | PTE_PXN | PTE_UXN)
  #define pgprot_writecombine(prot) \
        __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_NORMAL_NC) | PTE_PXN | PTE_UXN)
index d85f9d1c5f0789da15f89a04005c701c2c5f95b6..5028fbee0e8de5ce06698b549362167ee38b0be8 100644 (file)
@@ -174,7 +174,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  }
  
  static void i2c_imx_dma_callback(void *arg)
-@@ -890,6 +954,78 @@ static int i2c_imx_read(struct imx_i2c_s
+@@ -910,6 +974,78 @@ static int i2c_imx_read(struct imx_i2c_s
        return 0;
  }
  
@@ -253,7 +253,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  static int i2c_imx_xfer(struct i2c_adapter *adapter,
                                                struct i2c_msg *msgs, int num)
  {
-@@ -900,6 +1036,19 @@ static int i2c_imx_xfer(struct i2c_adapt
+@@ -920,6 +1056,19 @@ static int i2c_imx_xfer(struct i2c_adapt
  
        dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);
  
@@ -273,7 +273,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
        result = pm_runtime_get_sync(i2c_imx->adapter.dev.parent);
        if (result < 0)
                goto out;
-@@ -1042,6 +1191,50 @@ static int i2c_imx_init_recovery_info(st
+@@ -1062,6 +1211,50 @@ static int i2c_imx_init_recovery_info(st
        return 0;
  }
  
@@ -324,7 +324,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
  static u32 i2c_imx_func(struct i2c_adapter *adapter)
  {
        return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL
-@@ -1097,6 +1290,11 @@ static int i2c_imx_probe(struct platform
+@@ -1117,6 +1310,11 @@ static int i2c_imx_probe(struct platform
        i2c_imx->adapter.dev.of_node    = pdev->dev.of_node;
        i2c_imx->base                   = base;
  
@@ -336,7 +336,7 @@ Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
        /* Get I2C clock */
        i2c_imx->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(i2c_imx->clk)) {
-@@ -1166,17 +1364,25 @@ static int i2c_imx_probe(struct platform
+@@ -1186,17 +1384,25 @@ static int i2c_imx_probe(struct platform
        pm_runtime_mark_last_busy(&pdev->dev);
        pm_runtime_put_autosuspend(&pdev->dev);