kernel: bump to 3.18.125 ,4.9.137, 4.14.81
This commit is contained in:
parent
f23390f8bc
commit
f3b07a1c18
@ -2,13 +2,13 @@
|
||||
|
||||
LINUX_RELEASE?=1
|
||||
|
||||
LINUX_VERSION-3.18 = .124
|
||||
LINUX_VERSION-4.9 = .135
|
||||
LINUX_VERSION-4.14 = .80
|
||||
LINUX_VERSION-3.18 = .125
|
||||
LINUX_VERSION-4.9 = .137
|
||||
LINUX_VERSION-4.14 = .81
|
||||
|
||||
LINUX_KERNEL_HASH-3.18.124 = 25d2a5abd627534a1e51d028890c184aad8e628c345c5fe0cc0f9d7c31b7a5a3
|
||||
LINUX_KERNEL_HASH-4.9.135 = e023b0bbe9ea7fc56aa57210342dd18ea3e0900ee207226df1523c6d7df154ce
|
||||
LINUX_KERNEL_HASH-4.14.80 = 9ddc7bc11cbea6475ac5abf18e01a143d7d506bece591e0dcb15c9452d3ed7d2
|
||||
LINUX_KERNEL_HASH-3.18.125 = 708433b360efd8623f7303b721ffb0e7c59cbe8552f1a3f4c0d980a12b4ed90e
|
||||
LINUX_KERNEL_HASH-4.9.137 = 6db2512a9094bf4c830124641d1275635600b052962a7db3556da18914ea2589
|
||||
LINUX_KERNEL_HASH-4.14.81 = 4b36dfd053844ef0617799d432eed67aa4795d3403216d6789288aa7a0e75bde
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -23,7 +23,7 @@ Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -132,6 +132,209 @@
|
||||
@@ -137,6 +137,209 @@
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
+};
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -390,6 +390,13 @@
|
||||
@@ -395,6 +395,13 @@
|
||||
interrupts = <2 14>; /* pwa1 */
|
||||
};
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -476,6 +476,14 @@
|
||||
@@ -481,6 +481,14 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -1951,7 +1955,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1954,7 +1958,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(skb);
|
||||
skb_trim(skb, skb->len - 4); /* remove fcs */
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1969,7 +1974,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1972,7 +1977,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(ax_skb);
|
||||
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
||||
|
||||
@ -22,7 +22,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -1106,13 +1110,13 @@ static int smsc95xx_reset(struct usbnet
|
||||
@@ -1109,13 +1113,13 @@ static int smsc95xx_reset(struct usbnet
|
||||
|
||||
if (!turbo_mode) {
|
||||
burst_cap = 0;
|
||||
|
||||
@ -29,7 +29,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -918,6 +923,53 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
@@ -921,6 +926,53 @@ static int smsc95xx_ioctl(struct net_dev
|
||||
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||
{
|
||||
const u8 *mac_addr;
|
||||
@@ -939,6 +991,10 @@ static void smsc95xx_init_mac_address(st
|
||||
@@ -942,6 +994,10 @@ static void smsc95xx_init_mac_address(st
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
}
|
||||
|
||||
if (val & BCM2835_I2C_S_DONE) {
|
||||
@@ -137,21 +141,38 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
||||
@@ -139,21 +143,38 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
||||
i2c_dev->msg_err = BCM2835_I2C_S_LEN;
|
||||
else
|
||||
i2c_dev->msg_err = 0;
|
||||
@ -111,7 +111,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
}
|
||||
|
||||
static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev,
|
||||
@@ -181,8 +202,9 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
@@ -183,8 +204,9 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
|
||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||
BCM2835_I2C_TIMEOUT);
|
||||
|
||||
@ -21,7 +21,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/drivers/i2c/busses/i2c-bcm2835.c
|
||||
+++ b/drivers/i2c/busses/i2c-bcm2835.c
|
||||
@@ -216,7 +216,7 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
@@ -218,7 +218,7 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
(msg->flags & I2C_M_IGNORE_NAK))
|
||||
return 0;
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/drivers/i2c/busses/i2c-bcm2835.c
|
||||
+++ b/drivers/i2c/busses/i2c-bcm2835.c
|
||||
@@ -212,10 +212,6 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
@@ -214,10 +214,6 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
if (likely(!i2c_dev->msg_err))
|
||||
return 0;
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@ Acked-by: Eric Anholt <eric@anholt.net>
|
||||
* Note about I2C_C_CLEAR on error:
|
||||
* The I2C_C_CLEAR on errors will take some time to resolve -- if you were in
|
||||
* non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through
|
||||
@@ -151,6 +191,12 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
||||
@@ -153,6 +193,12 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
||||
}
|
||||
|
||||
bcm2835_fill_txfifo(i2c_dev);
|
||||
@ -99,7 +99,7 @@ Acked-by: Eric Anholt <eric@anholt.net>
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@@ -175,30 +221,25 @@ complete:
|
||||
@@ -177,30 +223,25 @@ complete:
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@ Acked-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||
BCM2835_I2C_TIMEOUT);
|
||||
@@ -209,31 +250,15 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
@@ -211,31 +252,15 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||
struct bcm2835_i2c_dev {
|
||||
struct device *dev;
|
||||
void __iomem *regs;
|
||||
@@ -242,7 +240,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
@@ -244,7 +242,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
bcm2835_i2c_start_transfer(i2c_dev);
|
||||
|
||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||
|
||||
@ -56,7 +56,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev)
|
||||
{
|
||||
u32 val;
|
||||
@@ -224,7 +249,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
@@ -226,7 +251,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
{
|
||||
struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
|
||||
unsigned long time_left;
|
||||
@ -65,7 +65,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
|
||||
for (i = 0; i < (num - 1); i++)
|
||||
if (msgs[i].flags & I2C_M_RD) {
|
||||
@@ -233,6 +258,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
@@ -235,6 +260,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
i2c_dev->curr_msg = msgs;
|
||||
i2c_dev->num_msgs = num;
|
||||
reinit_completion(&i2c_dev->completion);
|
||||
@@ -282,7 +311,6 @@ static int bcm2835_i2c_probe(struct plat
|
||||
@@ -284,7 +313,6 @@ static int bcm2835_i2c_probe(struct plat
|
||||
{
|
||||
struct bcm2835_i2c_dev *i2c_dev;
|
||||
struct resource *mem, *irq;
|
||||
@ -84,7 +84,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
int ret;
|
||||
struct i2c_adapter *adap;
|
||||
|
||||
@@ -306,28 +334,13 @@ static int bcm2835_i2c_probe(struct plat
|
||||
@@ -308,28 +336,13 @@ static int bcm2835_i2c_probe(struct plat
|
||||
}
|
||||
|
||||
ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency",
|
||||
|
||||
@ -151,7 +151,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
|
||||
err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR);
|
||||
if (err) {
|
||||
@@ -251,6 +335,13 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
@@ -253,6 +337,13 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
unsigned long time_left;
|
||||
int i, ret;
|
||||
|
||||
@ -165,7 +165,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
for (i = 0; i < (num - 1); i++)
|
||||
if (msgs[i].flags & I2C_M_RD) {
|
||||
dev_warn_once(i2c_dev->dev,
|
||||
@@ -270,6 +361,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
@@ -272,6 +363,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
|
||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||
adap->timeout);
|
||||
@ -176,7 +176,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
if (!time_left) {
|
||||
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C,
|
||||
BCM2835_I2C_C_CLEAR);
|
||||
@@ -280,7 +375,9 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
@@ -282,7 +377,9 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||
if (!i2c_dev->msg_err)
|
||||
return num;
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -366,6 +366,7 @@
|
||||
@@ -371,6 +371,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
+};
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -93,10 +93,13 @@
|
||||
@@ -98,10 +98,13 @@
|
||||
#clock-cells = <1>;
|
||||
reg = <0x7e101000 0x2000>;
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
};
|
||||
|
||||
rng@7e104000 {
|
||||
@@ -398,6 +401,26 @@
|
||||
@@ -403,6 +406,26 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -72,7 +72,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
aux: aux@0x7e215000 {
|
||||
compatible = "brcm,bcm2835-aux";
|
||||
#clock-cells = <1>;
|
||||
@@ -457,6 +480,26 @@
|
||||
@@ -462,6 +485,26 @@
|
||||
interrupts = <2 1>;
|
||||
};
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/drivers/pcmcia/yenta_socket.c
|
||||
+++ b/drivers/pcmcia/yenta_socket.c
|
||||
@@ -919,6 +919,8 @@ static unsigned int yenta_probe_irq(stru
|
||||
@@ -920,6 +920,8 @@ static unsigned int yenta_probe_irq(stru
|
||||
* Probe for usable interrupts using the force
|
||||
* register to generate bogus card status events.
|
||||
*/
|
||||
@ -9,7 +9,7 @@
|
||||
cb_writel(socket, CB_SOCKET_EVENT, -1);
|
||||
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
|
||||
reg = exca_readb(socket, I365_CSCINT);
|
||||
@@ -934,6 +936,7 @@ static unsigned int yenta_probe_irq(stru
|
||||
@@ -935,6 +937,7 @@ static unsigned int yenta_probe_irq(stru
|
||||
}
|
||||
cb_writel(socket, CB_SOCKET_MASK, 0);
|
||||
exca_writeb(socket, I365_CSCINT, reg);
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
mask = probe_irq_mask(val) & 0xffff;
|
||||
|
||||
@@ -1018,6 +1021,10 @@ static void yenta_get_socket_capabilitie
|
||||
@@ -1019,6 +1022,10 @@ static void yenta_get_socket_capabilitie
|
||||
else
|
||||
socket->socket.irq_mask = 0;
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n",
|
||||
socket->socket.irq_mask, socket->cb_irq);
|
||||
}
|
||||
@@ -1250,6 +1257,15 @@ static int yenta_probe(struct pci_dev *d
|
||||
@@ -1251,6 +1258,15 @@ static int yenta_probe(struct pci_dev *d
|
||||
dev_info(&dev->dev, "Socket status: %08x\n",
|
||||
cb_readl(socket, CB_SOCKET_STATE));
|
||||
|
||||
|
||||
@ -285,7 +285,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
if (err)
|
||||
break;
|
||||
}
|
||||
@@ -1458,7 +1495,8 @@ br_multicast_leave_group(struct net_brid
|
||||
@@ -1465,7 +1502,8 @@ br_multicast_leave_group(struct net_brid
|
||||
struct net_bridge_port *port,
|
||||
struct br_ip *group,
|
||||
struct bridge_mcast_other_query *other_query,
|
||||
@ -295,7 +295,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
{
|
||||
struct net_bridge_mdb_htable *mdb;
|
||||
struct net_bridge_mdb_entry *mp;
|
||||
@@ -1482,7 +1520,7 @@ br_multicast_leave_group(struct net_brid
|
||||
@@ -1489,7 +1527,7 @@ br_multicast_leave_group(struct net_brid
|
||||
for (pp = &mp->ports;
|
||||
(p = mlock_dereference(*pp, br)) != NULL;
|
||||
pp = &p->next) {
|
||||
@ -304,7 +304,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
continue;
|
||||
|
||||
rcu_assign_pointer(*pp, p->next);
|
||||
@@ -1513,7 +1551,7 @@ br_multicast_leave_group(struct net_brid
|
||||
@@ -1520,7 +1558,7 @@ br_multicast_leave_group(struct net_brid
|
||||
for (p = mlock_dereference(mp->ports, br);
|
||||
p != NULL;
|
||||
p = mlock_dereference(p->next, br)) {
|
||||
@ -313,7 +313,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
continue;
|
||||
|
||||
if (!hlist_unhashed(&p->mglist) &&
|
||||
@@ -1564,7 +1602,8 @@ out:
|
||||
@@ -1571,7 +1609,8 @@ out:
|
||||
static void br_ip4_multicast_leave_group(struct net_bridge *br,
|
||||
struct net_bridge_port *port,
|
||||
__be32 group,
|
||||
@ -323,7 +323,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
{
|
||||
struct br_ip br_group;
|
||||
struct bridge_mcast_own_query *own_query;
|
||||
@@ -1579,14 +1618,15 @@ static void br_ip4_multicast_leave_group
|
||||
@@ -1586,14 +1625,15 @@ static void br_ip4_multicast_leave_group
|
||||
br_group.vid = vid;
|
||||
|
||||
br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
|
||||
@ -341,7 +341,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
{
|
||||
struct br_ip br_group;
|
||||
struct bridge_mcast_own_query *own_query;
|
||||
@@ -1601,7 +1641,7 @@ static void br_ip6_multicast_leave_group
|
||||
@@ -1608,7 +1648,7 @@ static void br_ip6_multicast_leave_group
|
||||
br_group.vid = vid;
|
||||
|
||||
br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
|
||||
@ -350,7 +350,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1644,6 +1684,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
@@ -1651,6 +1691,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
u16 vid)
|
||||
{
|
||||
struct sk_buff *skb_trimmed = NULL;
|
||||
@ -358,7 +358,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
struct igmphdr *ih;
|
||||
int err;
|
||||
|
||||
@@ -1659,13 +1700,14 @@ static int br_multicast_ipv4_rcv(struct
|
||||
@@ -1666,13 +1707,14 @@ static int br_multicast_ipv4_rcv(struct
|
||||
}
|
||||
|
||||
ih = igmp_hdr(skb);
|
||||
@ -374,7 +374,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
break;
|
||||
case IGMPV3_HOST_MEMBERSHIP_REPORT:
|
||||
err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
|
||||
@@ -1674,7 +1716,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
@@ -1681,7 +1723,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
|
||||
break;
|
||||
case IGMP_HOST_LEAVE_MESSAGE:
|
||||
@ -383,7 +383,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1694,6 +1736,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1701,6 +1743,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||
u16 vid)
|
||||
{
|
||||
struct sk_buff *skb_trimmed = NULL;
|
||||
@ -391,7 +391,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
struct mld_msg *mld;
|
||||
int err;
|
||||
|
||||
@@ -1713,8 +1756,10 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1720,8 +1763,10 @@ static int br_multicast_ipv6_rcv(struct
|
||||
|
||||
switch (mld->mld_type) {
|
||||
case ICMPV6_MGM_REPORT:
|
||||
@ -403,7 +403,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||
break;
|
||||
case ICMPV6_MLD2_REPORT:
|
||||
err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
|
||||
@@ -1723,7 +1768,8 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1730,7 +1775,8 @@ static int br_multicast_ipv6_rcv(struct
|
||||
err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
|
||||
break;
|
||||
case ICMPV6_MGM_REDUCTION:
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/usb/smsc95xx.c
|
||||
+++ b/drivers/net/usb/smsc95xx.c
|
||||
@@ -2001,13 +2001,13 @@ static struct sk_buff *smsc95xx_tx_fixup
|
||||
@@ -2004,13 +2004,13 @@ static struct sk_buff *smsc95xx_tx_fixup
|
||||
/* We do not advertise SG, so skbs should be already linearized */
|
||||
BUG_ON(skb_shinfo(skb)->nr_frags);
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -872,6 +872,7 @@ static const struct flash_info spi_nor_i
|
||||
@@ -878,6 +878,7 @@ static const struct flash_info spi_nor_i
|
||||
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
||||
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
||||
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1263,6 +1263,13 @@ static int spansion_quad_enable(struct s
|
||||
@@ -1269,6 +1269,13 @@ static int spansion_quad_enable(struct s
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -906,7 +906,7 @@ static const struct flash_info spi_nor_i
|
||||
@@ -912,7 +912,7 @@ static const struct flash_info spi_nor_i
|
||||
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
||||
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
||||
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -922,6 +922,7 @@ static const struct flash_info spi_nor_i
|
||||
@@ -928,6 +928,7 @@ static const struct flash_info spi_nor_i
|
||||
{ "s25fl132k", INFO(0x014016, 0, 64 * 1024, 64, SECT_4K) },
|
||||
{ "s25fl164k", INFO(0x014017, 0, 64 * 1024, 128, SECT_4K) },
|
||||
{ "s25fl204k", INFO(0x014013, 0, 64 * 1024, 8, SECT_4K | SPI_NOR_DUAL_READ) },
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -879,6 +879,7 @@ static const struct flash_info spi_nor_i
|
||||
@@ -885,6 +885,7 @@ static const struct flash_info spi_nor_i
|
||||
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
|
||||
|
||||
/* Micron */
|
||||
|
||||
@ -140,7 +140,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
/* NOTE: double check command sets and memory organization when you add
|
||||
* more nor chips. This current list focusses on newer chips, which
|
||||
* have been converging on command sets which including JEDEC ID.
|
||||
@@ -1014,6 +1073,13 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1020,6 +1079,13 @@ static const struct flash_info spi_nor_i
|
||||
{ "cat25c09", CAT25_INFO( 128, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||
{ "cat25c17", CAT25_INFO( 256, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||
{ "cat25128", CAT25_INFO(2048, 8, 64, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||
@ -154,7 +154,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
{ },
|
||||
};
|
||||
|
||||
@@ -1054,7 +1120,12 @@ static int spi_nor_read(struct mtd_info
|
||||
@@ -1060,7 +1126,12 @@ static int spi_nor_read(struct mtd_info
|
||||
return ret;
|
||||
|
||||
while (len) {
|
||||
@ -168,7 +168,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
if (ret == 0) {
|
||||
/* We shouldn't see 0-length reads */
|
||||
ret = -EIO;
|
||||
@@ -1175,8 +1246,23 @@ static int spi_nor_write(struct mtd_info
|
||||
@@ -1181,8 +1252,23 @@ static int spi_nor_write(struct mtd_info
|
||||
|
||||
for (i = 0; i < len; ) {
|
||||
ssize_t written;
|
||||
@ -193,7 +193,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
WARN_ONCE(page_offset,
|
||||
"Writing at offset %zu into a NOR page. Writing partial pages may decrease reliability and increase wear of NOR flash.",
|
||||
page_offset);
|
||||
@@ -1184,8 +1270,11 @@ static int spi_nor_write(struct mtd_info
|
||||
@@ -1190,8 +1276,11 @@ static int spi_nor_write(struct mtd_info
|
||||
page_remain = min_t(size_t,
|
||||
nor->page_size - page_offset, len - i);
|
||||
|
||||
@ -206,7 +206,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
if (ret < 0)
|
||||
goto write_err;
|
||||
written = ret;
|
||||
@@ -1319,6 +1408,47 @@ static int spi_nor_check(struct spi_nor
|
||||
@@ -1325,6 +1414,47 @@ static int spi_nor_check(struct spi_nor
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -254,7 +254,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
|
||||
{
|
||||
const struct flash_info *info = NULL;
|
||||
@@ -1367,6 +1497,14 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1373,6 +1503,14 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
mutex_init(&nor->lock);
|
||||
|
||||
/*
|
||||
@ -269,7 +269,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
* Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
|
||||
* with the software protection bits set
|
||||
*/
|
||||
@@ -1524,6 +1662,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1530,6 +1668,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
|
||||
nor->read_dummy = spi_nor_read_dummy_cycles(nor);
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1305,6 +1305,9 @@ static int macronix_quad_enable(struct s
|
||||
@@ -1311,6 +1311,9 @@ static int macronix_quad_enable(struct s
|
||||
val = read_sr(nor);
|
||||
if (val < 0)
|
||||
return val;
|
||||
|
||||
@ -21,7 +21,7 @@ Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1263,9 +1263,6 @@ static int spi_nor_write(struct mtd_info
|
||||
@@ -1269,9 +1269,6 @@ static int spi_nor_write(struct mtd_info
|
||||
|
||||
page_offset = do_div(aux, nor->page_size);
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
|
||||
static struct seq_rw_config stfsm_s25fl_write4_configs[] = {
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1632,16 +1632,16 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1638,16 +1638,16 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
/* Dedicated 4-byte command set */
|
||||
switch (nor->flash_read) {
|
||||
case SPI_NOR_QUAD:
|
||||
|
||||
@ -116,7 +116,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
|
||||
/* Enable/disable 4-byte addressing mode. */
|
||||
static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
|
||||
int enable)
|
||||
@@ -1628,27 +1704,10 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1634,27 +1710,10 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
else if (mtd->size > 0x1000000) {
|
||||
/* enable 4-byte addressing if the device exceeds 16MiB */
|
||||
nor->addr_width = 4;
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1017,7 +1017,7 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1023,7 +1023,7 @@ static const struct flash_info spi_nor_i
|
||||
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
||||
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
||||
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
|
||||
|
||||
@ -1040,7 +1040,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
writel(irq->mask, adpt->base + EMAC_INT_MASK);
|
||||
--- a/drivers/net/ethernet/realtek/r8169.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169.c
|
||||
@@ -7578,7 +7578,7 @@ static int rtl8169_poll(struct napi_stru
|
||||
@@ -7576,7 +7576,7 @@ static int rtl8169_poll(struct napi_stru
|
||||
}
|
||||
|
||||
if (work_done < budget) {
|
||||
@ -1095,7 +1095,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
dma_intr_ena = smsc9420_reg_read(pd, DMAC_INTR_ENA);
|
||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||
@@ -2705,7 +2705,7 @@ static int stmmac_poll(struct napi_struc
|
||||
@@ -2706,7 +2706,7 @@ static int stmmac_poll(struct napi_struc
|
||||
|
||||
work_done = stmmac_rx(priv, budget);
|
||||
if (work_done < budget) {
|
||||
|
||||
@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
opt->ops.opt_nflen = 8;
|
||||
}
|
||||
|
||||
@@ -1187,7 +1187,7 @@ route_lookup:
|
||||
@@ -1199,7 +1199,7 @@ route_lookup:
|
||||
|
||||
if (encap_limit >= 0) {
|
||||
init_tel_txopt(&opt, encap_limit);
|
||||
@ -47,4 +47,4 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
+ ipv6_push_frag_opts(skb, &opt.ops, &proto);
|
||||
}
|
||||
|
||||
/* Calculate max headroom for all the headers and adjust
|
||||
skb_push(skb, sizeof(struct ipv6hdr));
|
||||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
device, it has to decide which ones to send first, which ones to
|
||||
--- a/net/sched/sch_api.c
|
||||
+++ b/net/sched/sch_api.c
|
||||
@@ -2029,7 +2029,7 @@ static int __init pktsched_init(void)
|
||||
@@ -2028,7 +2028,7 @@ static int __init pktsched_init(void)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
|
||||
static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)
|
||||
{
|
||||
struct usb_host_interface *intf = serial->interface->cur_altsetting;
|
||||
@@ -249,6 +283,11 @@ static int qcprobe(struct usb_serial *se
|
||||
@@ -253,6 +287,11 @@ static int qcprobe(struct usb_serial *se
|
||||
altsetting = -1;
|
||||
break;
|
||||
case QCSERIAL_G2K:
|
||||
|
||||
@ -287,9 +287,9 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
int err;
|
||||
+ struct __ip6_tnl_fmr *fmr;
|
||||
|
||||
if ((t->parms.proto != IPPROTO_IPIP && t->parms.proto != 0) ||
|
||||
!ip6_tnl_xmit_ctl(t))
|
||||
@@ -1108,6 +1246,18 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str
|
||||
/* ensure we can access the full inner ip header */
|
||||
if (!pskb_may_pull(skb, sizeof(struct iphdr)))
|
||||
@@ -1114,6 +1252,18 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str
|
||||
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
|
||||
fl6.flowi6_mark = skb->mark;
|
||||
|
||||
@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
|
||||
if (err != 0) {
|
||||
/* XXX: send ICMP error even if DF is not set. */
|
||||
@@ -1276,6 +1426,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||
@@ -1286,6 +1436,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||
t->parms.flowinfo = p->flowinfo;
|
||||
t->parms.link = p->link;
|
||||
t->parms.proto = p->proto;
|
||||
@ -323,7 +323,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
ip6_tnl_dst_reset(t);
|
||||
ip6_tnl_link_config(t);
|
||||
return 0;
|
||||
@@ -1306,6 +1464,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
||||
@@ -1316,6 +1474,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
||||
p->flowinfo = u->flowinfo;
|
||||
p->link = u->link;
|
||||
p->proto = u->proto;
|
||||
@ -331,7 +331,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
memcpy(p->name, u->name, sizeof(u->name));
|
||||
}
|
||||
|
||||
@@ -1581,6 +1740,15 @@ static int ip6_tnl_validate(struct nlatt
|
||||
@@ -1591,6 +1750,15 @@ static int ip6_tnl_validate(struct nlatt
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -347,7 +347,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
||||
struct __ip6_tnl_parm *parms)
|
||||
{
|
||||
@@ -1614,6 +1782,46 @@ static void ip6_tnl_netlink_parms(struct
|
||||
@@ -1624,6 +1792,46 @@ static void ip6_tnl_netlink_parms(struct
|
||||
|
||||
if (data[IFLA_IPTUN_PROTO])
|
||||
parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]);
|
||||
@ -394,7 +394,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
}
|
||||
|
||||
static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
|
||||
@@ -1666,6 +1874,12 @@ static void ip6_tnl_dellink(struct net_d
|
||||
@@ -1676,6 +1884,12 @@ static void ip6_tnl_dellink(struct net_d
|
||||
|
||||
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
||||
{
|
||||
@ -407,7 +407,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
return
|
||||
/* IFLA_IPTUN_LINK */
|
||||
nla_total_size(4) +
|
||||
@@ -1683,6 +1897,24 @@ static size_t ip6_tnl_get_size(const str
|
||||
@@ -1693,6 +1907,24 @@ static size_t ip6_tnl_get_size(const str
|
||||
nla_total_size(4) +
|
||||
/* IFLA_IPTUN_PROTO */
|
||||
nla_total_size(1) +
|
||||
@ -432,7 +432,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
0;
|
||||
}
|
||||
|
||||
@@ -1690,6 +1922,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
@@ -1700,6 +1932,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
{
|
||||
struct ip6_tnl *tunnel = netdev_priv(dev);
|
||||
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
||||
@ -442,7 +442,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
|
||||
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
||||
nla_put(skb, IFLA_IPTUN_LOCAL, sizeof(struct in6_addr),
|
||||
@@ -1700,8 +1935,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
@@ -1710,8 +1945,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
|
||||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
||||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
||||
@ -471,7 +471,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
||||
return 0;
|
||||
|
||||
nla_put_failure:
|
||||
@@ -1717,6 +1971,7 @@ static const struct nla_policy ip6_tnl_p
|
||||
@@ -1727,6 +1981,7 @@ static const struct nla_policy ip6_tnl_p
|
||||
[IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 },
|
||||
[IFLA_IPTUN_FLAGS] = { .type = NLA_U32 },
|
||||
[IFLA_IPTUN_PROTO] = { .type = NLA_U8 },
|
||||
|
||||
@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @tf: Target ATA taskfile
|
||||
@@ -4825,6 +4838,9 @@ static struct ata_queued_cmd *ata_qc_new
|
||||
@@ -4827,6 +4840,9 @@ static struct ata_queued_cmd *ata_qc_new
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
return qc;
|
||||
}
|
||||
@@ -5734,6 +5750,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -5736,6 +5752,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -5755,6 +5774,12 @@ static void ata_host_release(struct devi
|
||||
@@ -5757,6 +5776,12 @@ static void ata_host_release(struct devi
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -6201,7 +6226,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -6203,7 +6228,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
|
||||
+}
|
||||
--- a/fs/jffs2/super.c
|
||||
+++ b/fs/jffs2/super.c
|
||||
@@ -372,14 +372,41 @@ static int __init init_jffs2_fs(void)
|
||||
@@ -370,14 +370,41 @@ static int __init init_jffs2_fs(void)
|
||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
|
||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||
@@ -3167,6 +3171,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -3171,6 +3175,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1595,6 +1595,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1601,6 +1601,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
|
||||
if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
|
||||
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1597,6 +1597,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1603,6 +1603,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
||||
JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
|
||||
JEDEC_MFR(info) == SNOR_MFR_SST ||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
info->flags & SPI_NOR_HAS_LOCK) {
|
||||
write_enable(nor);
|
||||
write_sr(nor, 0);
|
||||
@@ -1615,7 +1616,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1621,7 +1622,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
|
||||
/* NOR protection support for STmicro/Micron chips and similar */
|
||||
if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
|
||||
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
depends on ARCH_AT91 || (ARM && COMPILE_TEST)
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1642,10 +1642,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1648,10 +1648,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
|
||||
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
|
||||
/* prefer "small sector" erase if possible */
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
From: Robert Marko <robimarko@gmail.com>
|
||||
To: linux-mtd@lists.infradead.org
|
||||
Subject: mtd: spi-nor: Add Winbond w25q128jv support
|
||||
Date: Mon, 25 Jun 2018 13:17:48 +0200
|
||||
|
||||
Datasheet:
|
||||
http://www.winbond.com/resource-files/w25q128jv%20revf%2003272018%20plus.pdf
|
||||
|
||||
Testing done on Mikrotik Routerboard wAP R board.
|
||||
It does not support Dual or Quad modes.
|
||||
|
||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
---
|
||||
|
||||
Changes in v2:
|
||||
- Correct the title
|
||||
---
|
||||
drivers/mtd/spi-nor/spi-nor.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1152,6 +1152,11 @@ static const struct flash_info spi_nor_i
|
||||
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
},
|
||||
+ {
|
||||
+ "w25q128jv", INFO(0xef7018, 0, 64 * 1024, 256,
|
||||
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||
+ },
|
||||
{ "w25q80", INFO(0xef5014, 0, 64 * 1024, 16, SECT_4K) },
|
||||
{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024, 16, SECT_4K) },
|
||||
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
|
||||
@ -8,7 +8,7 @@ Signed-off-by: André Valentin <avalentin@marcant.net>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1014,6 +1014,7 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1020,6 +1020,7 @@ static const struct flash_info spi_nor_i
|
||||
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
|
||||
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
|
||||
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
|
||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||
@@ -1166,6 +1166,10 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1177,6 +1177,10 @@ static const struct flash_info spi_nor_i
|
||||
{ "3S400AN", S3AN_INFO(0x1f2400, 256, 264) },
|
||||
{ "3S700AN", S3AN_INFO(0x1f2500, 512, 264) },
|
||||
{ "3S1400AN", S3AN_INFO(0x1f2600, 512, 528) },
|
||||
|
||||
@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
|
||||
+}
|
||||
--- a/fs/jffs2/super.c
|
||||
+++ b/fs/jffs2/super.c
|
||||
@@ -372,14 +372,41 @@ static int __init init_jffs2_fs(void)
|
||||
@@ -370,14 +370,41 @@ static int __init init_jffs2_fs(void)
|
||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
|
||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
|
||||
|
||||
|
||||
@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case RTN_THROW:
|
||||
case RTN_UNREACHABLE:
|
||||
default:
|
||||
@@ -2610,6 +2632,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
@@ -2613,6 +2635,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||
}
|
||||
|
||||
@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
/*
|
||||
* Allocate a dst for local (unicast / anycast) address.
|
||||
*/
|
||||
@@ -2847,7 +2880,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
@@ -2850,7 +2883,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||
rtm->rtm_type == RTN_PROHIBIT ||
|
||||
@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -3219,6 +3253,9 @@ static int rt6_fill_node(struct net *net
|
||||
@@ -3222,6 +3256,9 @@ static int rt6_fill_node(struct net *net
|
||||
case -EACCES:
|
||||
rtm->rtm_type = RTN_PROHIBIT;
|
||||
break;
|
||||
@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case -EAGAIN:
|
||||
rtm->rtm_type = RTN_THROW;
|
||||
break;
|
||||
@@ -3495,6 +3532,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -3490,6 +3527,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -3506,6 +3545,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -3501,6 +3540,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
in6_dev_put(net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -3721,6 +3761,17 @@ static int __net_init ip6_route_net_init
|
||||
@@ -3716,6 +3756,17 @@ static int __net_init ip6_route_net_init
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
|
||||
net->ipv6.sysctl.flush_delay = 0;
|
||||
@@ -3739,6 +3790,8 @@ out:
|
||||
@@ -3734,6 +3785,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -3756,6 +3809,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -3751,6 +3804,7 @@ static void __net_exit ip6_route_net_exi
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
}
|
||||
@@ -3829,6 +3883,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -3824,6 +3878,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||
@@ -3128,6 +3132,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -3132,6 +3136,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
||||
|
||||
--- a/drivers/cpufreq/cpufreq-dt.c
|
||||
+++ b/drivers/cpufreq/cpufreq-dt.c
|
||||
@@ -220,7 +220,10 @@ static int cpufreq_init(struct cpufreq_p
|
||||
@@ -231,7 +231,10 @@ static int cpufreq_init(struct cpufreq_p
|
||||
}
|
||||
|
||||
if (fallback) {
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
||||
|
||||
/*
|
||||
* OPP tables are initialized only for policy->cpu, do it for
|
||||
@@ -372,6 +375,8 @@ static int dt_cpufreq_probe(struct platf
|
||||
@@ -376,6 +379,8 @@ static int dt_cpufreq_probe(struct platf
|
||||
if (data && data->have_governor_per_policy)
|
||||
dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY;
|
||||
|
||||
|
||||
@ -32,10 +32,10 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
+ struct notifier_block opp_nb;
|
||||
+ struct mutex lock;
|
||||
+ unsigned long opp_freq;
|
||||
bool have_static_opps;
|
||||
};
|
||||
|
||||
static struct freq_attr *cpufreq_dt_attr[] = {
|
||||
@@ -43,9 +46,16 @@ static struct freq_attr *cpufreq_dt_attr
|
||||
@@ -44,9 +47,16 @@ static struct freq_attr *cpufreq_dt_attr
|
||||
static int set_target(struct cpufreq_policy *policy, unsigned int index)
|
||||
{
|
||||
struct private_data *priv = policy->driver_data;
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -86,6 +96,39 @@ node_put:
|
||||
@@ -87,6 +97,39 @@ node_put:
|
||||
return name;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
static int resources_available(void)
|
||||
{
|
||||
struct device *cpu_dev;
|
||||
@@ -152,6 +195,7 @@ static int cpufreq_init(struct cpufreq_p
|
||||
@@ -153,6 +196,7 @@ static int cpufreq_init(struct cpufreq_p
|
||||
bool fallback = false;
|
||||
const char *name;
|
||||
int ret;
|
||||
@ -102,30 +102,27 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
|
||||
cpu_dev = get_cpu_device(policy->cpu);
|
||||
if (!cpu_dev) {
|
||||
@@ -241,13 +285,16 @@ static int cpufreq_init(struct cpufreq_p
|
||||
goto out_free_opp;
|
||||
@@ -246,10 +290,13 @@ static int cpufreq_init(struct cpufreq_p
|
||||
__func__, ret);
|
||||
}
|
||||
|
||||
+ mutex_init(&priv->lock);
|
||||
+ dev_pm_opp_register_notifier(cpu_dev, &priv->opp_nb);
|
||||
+
|
||||
priv->reg_name = name;
|
||||
priv->opp_table = opp_table;
|
||||
|
||||
ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table);
|
||||
if (ret) {
|
||||
dev_err(cpu_dev, "failed to init cpufreq table: %d\n", ret);
|
||||
- goto out_free_priv;
|
||||
- goto out_free_opp;
|
||||
+ goto out_unregister_nb;
|
||||
}
|
||||
|
||||
priv->cpu_dev = cpu_dev;
|
||||
@@ -283,6 +330,8 @@ static int cpufreq_init(struct cpufreq_p
|
||||
@@ -285,6 +332,8 @@ static int cpufreq_init(struct cpufreq_p
|
||||
|
||||
out_free_cpufreq_table:
|
||||
dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table);
|
||||
+out_unregister_nb:
|
||||
+ dev_pm_opp_unregister_notifier(cpu_dev, &priv->opp_nb);
|
||||
out_free_priv:
|
||||
kfree(priv);
|
||||
out_free_opp:
|
||||
if (priv->have_static_opps)
|
||||
dev_pm_opp_of_cpumask_remove_table(policy->cpus);
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
|
||||
--- a/drivers/cpufreq/cpufreq-dt.c
|
||||
+++ b/drivers/cpufreq/cpufreq-dt.c
|
||||
@@ -48,11 +48,41 @@ static int set_target(struct cpufreq_pol
|
||||
@@ -49,11 +49,41 @@ static int set_target(struct cpufreq_pol
|
||||
struct private_data *priv = policy->driver_data;
|
||||
int ret;
|
||||
unsigned long target_freq = policy->freq_table[index].frequency * 1000;
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
mutex_unlock(&priv->lock);
|
||||
|
||||
return ret;
|
||||
@@ -196,6 +226,8 @@ static int cpufreq_init(struct cpufreq_p
|
||||
@@ -197,6 +227,8 @@ static int cpufreq_init(struct cpufreq_p
|
||||
const char *name;
|
||||
int ret;
|
||||
struct srcu_notifier_head *opp_srcu_head;
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
|
||||
cpu_dev = get_cpu_device(policy->cpu);
|
||||
if (!cpu_dev) {
|
||||
@@ -303,6 +335,13 @@ static int cpufreq_init(struct cpufreq_p
|
||||
@@ -305,6 +337,13 @@ static int cpufreq_init(struct cpufreq_p
|
||||
|
||||
policy->suspend_freq = dev_pm_opp_get_suspend_opp_freq(cpu_dev) / 1000;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
|
||||
--- a/drivers/cpufreq/cpufreq-dt.c
|
||||
+++ b/drivers/cpufreq/cpufreq-dt.c
|
||||
@@ -143,8 +143,10 @@ static int opp_notifier(struct notifier_
|
||||
@@ -144,8 +144,10 @@ static int opp_notifier(struct notifier_
|
||||
ret = PTR_ERR(cpu_reg);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -1160,7 +1160,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
+#endif
|
||||
--- a/kernel/irq/manage.c
|
||||
+++ b/kernel/irq/manage.c
|
||||
@@ -1387,6 +1387,7 @@ __setup_irq(unsigned int irq, struct irq
|
||||
@@ -1391,6 +1391,7 @@ __setup_irq(unsigned int irq, struct irq
|
||||
wake_up_process(new->secondary->thread);
|
||||
|
||||
register_irq_proc(irq, desc);
|
||||
@ -1370,7 +1370,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
&queue_tx_maxrate.attr,
|
||||
--- a/net/core/rtnetlink.c
|
||||
+++ b/net/core/rtnetlink.c
|
||||
@@ -3696,7 +3696,7 @@ static int rtnl_get_offload_stats(struct
|
||||
@@ -3706,7 +3706,7 @@ static int rtnl_get_offload_stats(struct
|
||||
if (!size)
|
||||
continue;
|
||||
|
||||
@ -1379,7 +1379,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
continue;
|
||||
|
||||
attr = nla_reserve_64bit(skb, attr_id, size,
|
||||
@@ -3737,7 +3737,7 @@ static int rtnl_get_offload_stats_size(c
|
||||
@@ -3747,7 +3747,7 @@ static int rtnl_get_offload_stats_size(c
|
||||
|
||||
for (attr_id = IFLA_OFFLOAD_XSTATS_FIRST;
|
||||
attr_id <= IFLA_OFFLOAD_XSTATS_MAX; attr_id++) {
|
||||
|
||||
@ -715,7 +715,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
/* Everspin */
|
||||
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||
@@ -1015,12 +1029,15 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1021,12 +1035,15 @@ static const struct flash_info spi_nor_i
|
||||
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
|
||||
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
|
||||
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
|
||||
@ -732,7 +732,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
|
||||
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_QUAD_READ) },
|
||||
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
|
||||
@@ -1034,10 +1051,11 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1040,10 +1057,11 @@ static const struct flash_info spi_nor_i
|
||||
{ "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
|
||||
{ "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
|
||||
{ "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_QUAD_READ) },
|
||||
@ -746,7 +746,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
/* PMC */
|
||||
{ "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) },
|
||||
@@ -1055,8 +1073,11 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1061,8 +1079,11 @@ static const struct flash_info spi_nor_i
|
||||
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
||||
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
||||
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
||||
@ -759,7 +759,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
{ "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
||||
{ "s25sl004a", INFO(0x010212, 0, 64 * 1024, 8, 0) },
|
||||
{ "s25sl008a", INFO(0x010213, 0, 64 * 1024, 16, 0) },
|
||||
@@ -1130,7 +1151,15 @@ static const struct flash_info spi_nor_i
|
||||
@@ -1136,7 +1157,15 @@ static const struct flash_info spi_nor_i
|
||||
{ "w25x40", INFO(0xef3013, 0, 64 * 1024, 8, SECT_4K) },
|
||||
{ "w25x80", INFO(0xef3014, 0, 64 * 1024, 16, SECT_4K) },
|
||||
{ "w25x16", INFO(0xef3015, 0, 64 * 1024, 32, SECT_4K) },
|
||||
@ -775,7 +775,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
{ "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, SECT_4K) },
|
||||
{
|
||||
"w25q32dw", INFO(0xef6016, 0, 64 * 1024, 64,
|
||||
@@ -1202,6 +1231,53 @@ static const struct flash_info *spi_nor_
|
||||
@@ -1208,6 +1237,53 @@ static const struct flash_info *spi_nor_
|
||||
id[0], id[1], id[2]);
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
@ -829,7 +829,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len,
|
||||
size_t *retlen, u_char *buf)
|
||||
@@ -1421,7 +1497,7 @@ static int macronix_quad_enable(struct s
|
||||
@@ -1427,7 +1503,7 @@ static int macronix_quad_enable(struct s
|
||||
* Write status Register and configuration register with 2 bytes
|
||||
* The first byte will be written to the status register, while the
|
||||
* second byte will be written to the configuration register.
|
||||
@ -838,7 +838,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
*/
|
||||
static int write_sr_cr(struct spi_nor *nor, u16 val)
|
||||
{
|
||||
@@ -1469,6 +1545,24 @@ static int spansion_quad_enable(struct s
|
||||
@@ -1475,6 +1551,24 @@ static int spansion_quad_enable(struct s
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -863,7 +863,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
static int set_quad_mode(struct spi_nor *nor, const struct flash_info *info)
|
||||
{
|
||||
int status;
|
||||
@@ -1615,9 +1709,25 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1621,9 +1715,25 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
write_sr(nor, 0);
|
||||
spi_nor_wait_till_ready(nor);
|
||||
}
|
||||
@ -889,7 +889,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
mtd->priv = nor;
|
||||
mtd->type = MTD_NORFLASH;
|
||||
mtd->writesize = 1;
|
||||
@@ -1651,6 +1761,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1657,6 +1767,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
nor->flags |= SNOR_F_USE_FSR;
|
||||
if (info->flags & SPI_NOR_HAS_TB)
|
||||
nor->flags |= SNOR_F_HAS_SR_TB;
|
||||
@ -898,7 +898,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
|
||||
/* prefer "small sector" erase if possible */
|
||||
@@ -1690,9 +1802,15 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1696,9 +1808,15 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
/* Some devices cannot do fast-read, no matter what DT tells us */
|
||||
if (info->flags & SPI_NOR_NO_FR)
|
||||
nor->flash_read = SPI_NOR_NORMAL;
|
||||
@ -917,7 +917,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
ret = set_quad_mode(nor, info);
|
||||
if (ret) {
|
||||
dev_err(dev, "quad mode not supported\n");
|
||||
@@ -1705,6 +1823,9 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
@@ -1711,6 +1829,9 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||
|
||||
/* Default commands */
|
||||
switch (nor->flash_read) {
|
||||
|
||||
@ -2060,7 +2060,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -3329,6 +3329,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
|
||||
@@ -3333,6 +3333,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
|
||||
|
||||
@ -2074,7 +2074,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
static void quirk_no_pm_reset(struct pci_dev *dev)
|
||||
{
|
||||
/*
|
||||
@@ -4673,3 +4680,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IN
|
||||
@@ -4677,3 +4684,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid);
|
||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid);
|
||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, quirk_no_aersid);
|
||||
|
||||
@ -1605,17 +1605,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
+MODULE_DESCRIPTION("Freescale Backplane driver");
|
||||
+MODULE_AUTHOR("Shaohui Xie <Shaohui.Xie@freescale.com>");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--- a/drivers/net/phy/marvell.c
|
||||
+++ b/drivers/net/phy/marvell.c
|
||||
@@ -1610,7 +1610,7 @@ static struct phy_driver marvell_drivers
|
||||
.flags = PHY_HAS_INTERRUPT,
|
||||
.probe = marvell_probe,
|
||||
.config_init = &m88e1145_config_init,
|
||||
- .config_aneg = &marvell_config_aneg,
|
||||
+ .config_aneg = &m88e1101_config_aneg,
|
||||
.read_status = &genphy_read_status,
|
||||
.ack_interrupt = &marvell_ack_interrupt,
|
||||
.config_intr = &marvell_config_intr,
|
||||
--- a/drivers/net/phy/phy.c
|
||||
+++ b/drivers/net/phy/phy.c
|
||||
@@ -591,7 +591,7 @@ int phy_mii_ioctl(struct phy_device *phy
|
||||
|
||||
@ -782,7 +782,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
};
|
||||
|
||||
struct tcrypt_result {
|
||||
@@ -1333,6 +1333,10 @@ static int do_test(const char *alg, u32
|
||||
@@ -1336,6 +1336,10 @@ static int do_test(const char *alg, u32
|
||||
ret += tcrypt_test("hmac(sha3-512)");
|
||||
break;
|
||||
|
||||
@ -793,7 +793,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
case 150:
|
||||
ret += tcrypt_test("ansi_cprng");
|
||||
break;
|
||||
@@ -1394,6 +1398,9 @@ static int do_test(const char *alg, u32
|
||||
@@ -1397,6 +1401,9 @@ static int do_test(const char *alg, u32
|
||||
case 190:
|
||||
ret += tcrypt_test("authenc(hmac(sha512),cbc(des3_ede))");
|
||||
break;
|
||||
@ -803,7 +803,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
case 200:
|
||||
test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,
|
||||
speed_template_16_24_32);
|
||||
@@ -1408,9 +1415,9 @@ static int do_test(const char *alg, u32
|
||||
@@ -1411,9 +1418,9 @@ static int do_test(const char *alg, u32
|
||||
test_cipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
|
||||
speed_template_32_40_48);
|
||||
test_cipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
|
||||
@ -815,7 +815,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
test_cipher_speed("cts(cbc(aes))", ENCRYPT, sec, NULL, 0,
|
||||
speed_template_16_24_32);
|
||||
test_cipher_speed("cts(cbc(aes))", DECRYPT, sec, NULL, 0,
|
||||
@@ -1841,9 +1848,9 @@ static int do_test(const char *alg, u32
|
||||
@@ -1844,9 +1851,9 @@ static int do_test(const char *alg, u32
|
||||
test_acipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
|
||||
speed_template_32_40_48);
|
||||
test_acipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
|
||||
@ -28208,8 +28208,8 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
extern bool caam_little_end;
|
||||
+extern bool caam_imx;
|
||||
|
||||
#define caam_to_cpu(len) \
|
||||
static inline u##len caam##len ## _to_cpu(u##len val) \
|
||||
#define caam_to_cpu(len) \
|
||||
static inline u##len caam##len ## _to_cpu(u##len val) \
|
||||
@@ -154,13 +156,10 @@ static inline u64 rd_reg64(void __iomem
|
||||
#else /* CONFIG_64BIT */
|
||||
static inline void wr_reg64(void __iomem *reg, u64 data)
|
||||
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
pkt_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK;
|
||||
if (pkt_len < ETH_ZLEN)
|
||||
break;
|
||||
@@ -4510,6 +4515,7 @@ static struct usb_device_id rtl8152_tabl
|
||||
@@ -4513,6 +4518,7 @@ static struct usb_device_id rtl8152_tabl
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)},
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
};
|
||||
--- a/drivers/net/phy/phylink.c
|
||||
+++ b/drivers/net/phy/phylink.c
|
||||
@@ -1042,34 +1042,6 @@ int phylink_ethtool_set_pauseparam(struc
|
||||
@@ -1045,34 +1045,6 @@ int phylink_ethtool_set_pauseparam(struc
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(phylink_ethtool_set_pauseparam);
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
|
||||
--- a/drivers/net/phy/phylink.c
|
||||
+++ b/drivers/net/phy/phylink.c
|
||||
@@ -757,8 +757,8 @@ void phylink_start(struct phylink *pl)
|
||||
@@ -760,8 +760,8 @@ void phylink_start(struct phylink *pl)
|
||||
clear_bit(PHYLINK_DISABLE_STOPPED, &pl->phylink_disable_state);
|
||||
phylink_run_resolve(pl);
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||||
if (pl->phydev)
|
||||
phy_start(pl->phydev);
|
||||
}
|
||||
@@ -770,8 +770,8 @@ void phylink_stop(struct phylink *pl)
|
||||
@@ -773,8 +773,8 @@ void phylink_stop(struct phylink *pl)
|
||||
|
||||
if (pl->phydev)
|
||||
phy_stop(pl->phydev);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user