-LINUX_VERSION-5.15 = .148
-LINUX_KERNEL_HASH-5.15.148 = c48575c97fd9f4767cbe50a13b1b2b40ee42830aba3182fabd35a03259a6e5d8
+LINUX_VERSION-5.15 = .149
+LINUX_KERNEL_HASH-5.15.149 = bd84809a367eb400eb04e0e70294e6ba12fc03b6bfb5a7dfaca548f8947501b0
} while (word != stop);
return csum_fold(csum);
-@@ -182,73 +186,6 @@ static inline __sum16 ip_compute_csum(co
+@@ -182,74 +186,6 @@ static inline __sum16 ip_compute_csum(co
return csum_fold(csum_partial(buff, len, 0));
}
- " .set pop"
- : "=&r" (sum), "=&r" (tmp)
- : "r" (saddr), "r" (daddr),
-- "0" (htonl(len)), "r" (htonl(proto)), "r" (sum));
+- "0" (htonl(len)), "r" (htonl(proto)), "r" (sum)
+- : "memory");
-
- return csum_fold(sum);
-}
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
-@@ -1477,8 +1477,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1480,8 +1480,8 @@ struct sk_buff *inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out_unlock;
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2176,6 +2176,14 @@ config RAVE_SP_CORE
+@@ -2177,6 +2177,14 @@ config RAVE_SP_CORE
Select this to get support for the Supervisory Processor
device found on several devices in RAVE line of hardware.
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5659,7 +5659,7 @@ static void port_event(struct usb_hub *h
+@@ -5667,7 +5667,7 @@ static void port_event(struct usb_hub *h
port_dev->over_current_count++;
port_over_current_notify(port_dev);
static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type);
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
-@@ -2946,6 +2953,8 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2986,6 +2993,8 @@ static int mmc_blk_probe(struct mmc_card
{
struct mmc_blk_data *md;
int ret = 0;
/*
* Check that the card supports the command class(es) we need.
-@@ -2953,7 +2962,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2993,7 +3002,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);
-@@ -2968,6 +2986,17 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3008,6 +3026,17 @@ static int mmc_blk_probe(struct mmc_card
goto out_free;
}
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2618,7 +2618,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2615,7 +2615,7 @@ static void bcmgenet_init_tx_ring(struct
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
/* Disable rate control for now */
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
TDMA_FLOW_PERIOD);
-@@ -4086,9 +4086,12 @@ static int bcmgenet_probe(struct platfor
+@@ -4083,9 +4083,12 @@ static int bcmgenet_probe(struct platfor
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
/* Set default coalescing parameters */
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
-@@ -286,6 +286,8 @@ int bcmgenet_mii_probe(struct net_device
+@@ -292,6 +292,8 @@ int bcmgenet_mii_probe(struct net_device
/* Communicate the integrated PHY revision */
if (priv->internal_phy)
phy_flags = priv->gphy_rev;
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
-@@ -225,6 +225,9 @@
+@@ -226,6 +226,9 @@
#define USB_VENDOR_ID_BAANTO 0x2453
#define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1322,6 +1325,9 @@
+@@ -1323,6 +1326,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{
-@@ -2449,6 +2452,11 @@ static void reset_umac(struct bcmgenet_p
+@@ -2446,6 +2449,11 @@ static void reset_umac(struct bcmgenet_p
bcmgenet_rbuf_ctrl_set(priv, 0);
udelay(10);
#include <video/mipi_display.h>
-@@ -1184,6 +1186,7 @@ static struct fbtft_platform_data *fbtft
+@@ -1186,6 +1188,7 @@ static struct fbtft_platform_data *fbtft
* @display: Display properties
* @sdev: SPI device
* @pdev: Platform device
*
* Allocates, initializes and registers a framebuffer
*
-@@ -1193,12 +1196,15 @@ static struct fbtft_platform_data *fbtft
+@@ -1195,12 +1198,15 @@ static struct fbtft_platform_data *fbtft
*/
int fbtft_probe_common(struct fbtft_display *display,
struct spi_device *sdev,
int ret;
if (sdev)
-@@ -1214,6 +1220,14 @@ int fbtft_probe_common(struct fbtft_disp
+@@ -1216,6 +1222,14 @@ int fbtft_probe_common(struct fbtft_disp
pdata = fbtft_properties_read(dev);
if (IS_ERR(pdata))
return PTR_ERR(pdata);
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -3267,7 +3267,7 @@ static void bcmgenet_get_hw_addr(struct
+@@ -3264,7 +3264,7 @@ static void bcmgenet_get_hw_addr(struct
}
/* Returns a reusable dma control register value */
{
unsigned int i;
u32 reg;
-@@ -3292,6 +3292,14 @@ static u32 bcmgenet_dma_disable(struct b
+@@ -3289,6 +3289,14 @@ static u32 bcmgenet_dma_disable(struct b
udelay(10);
bcmgenet_umac_writel(priv, 0, UMAC_TX_FLUSH);
return dma_ctrl;
}
-@@ -3355,8 +3363,8 @@ static int bcmgenet_open(struct net_devi
+@@ -3352,8 +3360,8 @@ static int bcmgenet_open(struct net_devi
bcmgenet_set_hw_addr(priv, dev->dev_addr);
/* Reinitialize TDMA and RDMA and SW housekeeping */
ret = bcmgenet_init_dma(priv);
-@@ -4215,7 +4223,7 @@ static int bcmgenet_resume(struct device
+@@ -4212,7 +4220,7 @@ static int bcmgenet_resume(struct device
bcmgenet_hfb_create_rxnfc_filter(priv, rule);
/* Disable RX/TX DMA and flush TX queues */
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -4667,6 +4699,9 @@ static const struct of_device_id platfor
+@@ -4669,6 +4701,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
-@@ -1888,6 +1888,8 @@ static const struct usb_audio_quirk_flag
+@@ -1892,6 +1892,8 @@ static const struct usb_audio_quirk_flag
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
QUIRK_FLAG_GENERIC_IMPLICIT_FB),
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4846,6 +4871,9 @@ static const struct of_device_id platfor
+@@ -4848,6 +4873,9 @@ static const struct of_device_id platfor
.compatible = "qishenglong,gopher2b-lcd",
.data = &qishenglong_gopher2b_lcd,
}, {
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -4709,6 +4735,9 @@ static const struct of_device_id platfor
+@@ -4711,6 +4737,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
* @tests: bitmask of tests to run
--- a/include/drm/drm_color_mgmt.h
+++ b/include/drm/drm_color_mgmt.h
-@@ -93,6 +93,9 @@ int drm_plane_create_color_properties(st
+@@ -94,6 +94,9 @@ int drm_plane_create_color_properties(st
enum drm_color_encoding default_encoding,
enum drm_color_range default_range);
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1631,14 +1631,7 @@ static void do_remove_conflicting_frameb
+@@ -1635,14 +1635,7 @@ static void do_remove_conflicting_frameb
* If it's not a platform device, at least print a warning. A
* fix would add code to remove the device from the system.
*/
#include <linux/seq_file.h>
#include <linux/console.h>
#include <linux/kmod.h>
-@@ -1608,36 +1607,18 @@ static void do_remove_conflicting_frameb
+@@ -1612,36 +1611,18 @@ static void do_remove_conflicting_frameb
/* check all firmware fbs and kick off if the base addr overlaps */
for_each_registered_fb(i) {
struct apertures_struct *gen_aper;
}
}
}
-@@ -1975,13 +1956,9 @@ EXPORT_SYMBOL(register_framebuffer);
+@@ -1979,13 +1960,9 @@ EXPORT_SYMBOL(register_framebuffer);
void
unregister_framebuffer(struct fb_info *fb_info)
{
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
-@@ -502,7 +502,6 @@ struct fb_info {
+@@ -513,7 +513,6 @@ struct fb_info {
} *apertures;
bool skip_vt_switch; /* no VT switch on suspend/resume required */
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -1890,7 +1890,11 @@ static void mmc_blk_mq_rw_recovery(struc
+@@ -1930,7 +1930,11 @@ static void mmc_blk_mq_rw_recovery(struc
return;
}
--- a/arch/Kconfig
+++ b/arch/Kconfig
-@@ -1298,6 +1298,14 @@ config ARCH_HAS_ELFCORE_COMPAT
+@@ -1299,6 +1299,14 @@ config ARCH_HAS_ELFCORE_COMPAT
config ARCH_HAS_PARANOID_L1D_FLUSH
bool
.init_quirk = xhci_mvebu_a3700_init_quirk,
};
-@@ -341,14 +330,7 @@ static int xhci_plat_probe(struct platfo
+@@ -344,14 +333,7 @@ static int xhci_plat_probe(struct platfo
hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node);
xhci->shared_hcd->tpl_support = hcd->tpl_support;
* to advertise both, only report advertising at 2500BaseX.
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
-@@ -6352,15 +6352,14 @@ static void mvpp2_phylink_validate(struc
+@@ -6377,15 +6377,14 @@ static void mvpp2_phylink_validate(struc
goto empty_set;
}
stmmac_clear_tx_descriptors(priv, queue);
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
-@@ -7415,6 +7410,25 @@ int stmmac_suspend(struct device *dev)
+@@ -7418,6 +7413,25 @@ int stmmac_suspend(struct device *dev)
}
EXPORT_SYMBOL_GPL(stmmac_suspend);
/**
* stmmac_reset_queues_param - reset queue parameters
* @priv: device pointer
-@@ -7425,22 +7439,11 @@ static void stmmac_reset_queues_param(st
+@@ -7428,22 +7442,11 @@ static void stmmac_reset_queues_param(st
u32 tx_cnt = priv->plat->tx_queues_to_use;
u32 queue;
if (netif_running(dev))
ret = stmmac_open(dev);
-@@ -7360,7 +7364,7 @@ int stmmac_suspend(struct device *dev)
+@@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
if (priv->eee_enabled) {
priv->tx_path_in_lpi_mode = false;
-@@ -7412,7 +7416,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
+@@ -7415,7 +7419,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
{
rx_q->cur_rx = 0;
rx_q->dirty_rx = 0;
-@@ -7420,7 +7424,7 @@ static void stmmac_reset_rx_queue(struct
+@@ -7423,7 +7427,7 @@ static void stmmac_reset_rx_queue(struct
static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
{
dma_desc_error:
return ret;
}
-@@ -7507,7 +7623,7 @@ int stmmac_resume(struct device *dev)
+@@ -7510,7 +7626,7 @@ int stmmac_resume(struct device *dev)
stmmac_reset_queues_param(priv);
stmmac_free_tx_skbufs(priv);
/* everything is up and running, commence */
err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL);
if (err)
-@@ -595,6 +607,11 @@ static bool blk_add_partition(struct gen
+@@ -600,6 +612,11 @@ static bool blk_add_partition(struct gen
(state->parts[p].flags & ADDPART_FLAG_RAID))
md_autodetect_dev(part->bd_dev);
}
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
-@@ -257,6 +257,10 @@ kallsyms()
+@@ -262,6 +262,10 @@ kallsyms()
kallsymopt="${kallsymopt} --base-relative"
fi
static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
const struct tnl_ptk_info *tpi,
struct metadata_dst *tun_dst,
-@@ -843,6 +969,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
- skb_reset_network_header(skb);
+@@ -857,6 +983,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
+
memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
+ if (tpi->proto == htons(ETH_P_IP) && tunnel->parms.fmrs &&
__skb_tunnel_rx(skb, tunnel->dev, tunnel->net);
err = dscp_ecn_decapsulate(tunnel, ipv6h, skb);
-@@ -994,6 +1141,7 @@ static void init_tel_txopt(struct ipv6_t
+@@ -1004,6 +1151,7 @@ static void init_tel_txopt(struct ipv6_t
opt->ops.opt_nflen = 8;
}
/**
* ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
* @t: the outgoing tunnel device
-@@ -1274,6 +1422,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1284,6 +1432,7 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
u8 protocol)
{
struct ip6_tnl *t = netdev_priv(dev);
struct ipv6hdr *ipv6h;
const struct iphdr *iph;
int encap_limit = -1;
-@@ -1373,6 +1522,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1383,6 +1532,18 @@ ipxip6_tnl_xmit(struct sk_buff *skb, str
fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
dsfield = INET_ECN_encapsulate(dsfield, orig_dsfield);
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
return -1;
-@@ -1526,6 +1687,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1536,6 +1697,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.link = p->link;
t->parms.proto = p->proto;
t->parms.fwmark = p->fwmark;
dst_cache_reset(&t->dst_cache);
ip6_tnl_link_config(t);
return 0;
-@@ -1564,6 +1733,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1574,6 +1743,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
p->flowinfo = u->flowinfo;
p->link = u->link;
p->proto = u->proto;
memcpy(p->name, u->name, sizeof(u->name));
}
-@@ -1950,6 +2120,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1960,6 +2130,15 @@ static int ip6_tnl_validate(struct nlatt
return 0;
}
static void ip6_tnl_netlink_parms(struct nlattr *data[],
struct __ip6_tnl_parm *parms)
{
-@@ -1987,6 +2166,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -1997,6 +2176,46 @@ static void ip6_tnl_netlink_parms(struct
if (data[IFLA_IPTUN_FWMARK])
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
}
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
-@@ -2102,6 +2321,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2112,6 +2331,12 @@ static void ip6_tnl_dellink(struct net_d
static size_t ip6_tnl_get_size(const struct net_device *dev)
{
return
/* IFLA_IPTUN_LINK */
nla_total_size(4) +
-@@ -2131,6 +2356,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2141,6 +2366,24 @@ static size_t ip6_tnl_get_size(const str
nla_total_size(0) +
/* IFLA_IPTUN_FWMARK */
nla_total_size(4) +
0;
}
-@@ -2138,6 +2381,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2148,6 +2391,9 @@ static int ip6_tnl_fill_info(struct sk_b
{
struct ip6_tnl *tunnel = netdev_priv(dev);
struct __ip6_tnl_parm *parm = &tunnel->parms;
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2147,9 +2393,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2157,9 +2403,27 @@ static int ip6_tnl_fill_info(struct sk_b
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2189,6 +2453,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2199,6 +2463,7 @@ static const struct nla_policy ip6_tnl_p
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
-@@ -446,47 +446,14 @@ static struct nft_expr_type nft_flow_off
+@@ -451,47 +451,14 @@ static struct nft_expr_type nft_flow_off
.owner = THIS_MODULE,
};
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
-@@ -7752,7 +7752,7 @@ static int nft_register_flowtable_net_ho
+@@ -7760,7 +7760,7 @@ static int nft_register_flowtable_net_ho
err = flowtable->data.type->setup(&flowtable->data,
hook->ops.dev,
FLOW_BLOCK_BIND);
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
-@@ -4358,6 +4358,15 @@ int skb_gro_receive(struct sk_buff *p, s
+@@ -4359,6 +4359,15 @@ int skb_gro_receive(struct sk_buff *p, s
if (unlikely(p->len + len >= 65536 || NAPI_GRO_CB(skb)->flush))
return -E2BIG;
--- a/drivers/bus/mhi/host/main.c
+++ b/drivers/bus/mhi/host/main.c
-@@ -891,6 +891,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_
+@@ -896,6 +896,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_
switch (event) {
case MHI_EE_SBL:
st = DEV_ST_TRANSITION_SBL;
/*
* The Mellanox Tavor device gives false positive parity errors. Disable
* parity error reporting.
-@@ -3365,6 +3366,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3368,6 +3369,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the
-@@ -3390,6 +3393,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3393,6 +3396,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never
-@@ -3428,6 +3433,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3431,6 +3436,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);
if (freq < min_freq) {
freq = min_freq;
-@@ -785,6 +786,7 @@ struct devfreq *devfreq_add_device(struc
+@@ -805,6 +806,7 @@ struct devfreq *devfreq_add_device(struc
{
struct devfreq *devfreq;
struct devfreq_governor *governor;
int err = 0;
if (!dev || !profile || !governor_name) {
-@@ -849,6 +851,8 @@ struct devfreq *devfreq_add_device(struc
+@@ -869,6 +871,8 @@ struct devfreq *devfreq_add_device(struc
goto err_dev;
}
devfreq->suspend_freq = dev_pm_opp_get_suspend_opp_freq(dev);
devfreq->opp_table = dev_pm_opp_get_opp_table(dev);
if (IS_ERR(devfreq->opp_table))
-@@ -1560,7 +1564,7 @@ static ssize_t min_freq_show(struct devi
+@@ -1580,7 +1584,7 @@ static ssize_t min_freq_show(struct devi
unsigned long min_freq, max_freq;
mutex_lock(&df->lock);
mutex_unlock(&df->lock);
return sprintf(buf, "%lu\n", min_freq);
-@@ -1614,7 +1618,7 @@ static ssize_t max_freq_show(struct devi
+@@ -1634,7 +1638,7 @@ static ssize_t max_freq_show(struct devi
unsigned long min_freq, max_freq;
mutex_lock(&df->lock);
mutex_unlock(&df->lock);
return sprintf(buf, "%lu\n", max_freq);
-@@ -1928,7 +1932,7 @@ static int devfreq_summary_show(struct s
+@@ -1969,7 +1973,7 @@ static int devfreq_summary_show(struct s
mutex_lock(&devfreq->lock);
cur_freq = devfreq->previous_freq;
devfreq->stats.total_trans++;
}
-@@ -835,6 +831,9 @@ struct devfreq *devfreq_add_device(struc
+@@ -855,6 +851,9 @@ struct devfreq *devfreq_add_device(struc
if (err < 0)
goto err_dev;
mutex_lock(&devfreq->lock);
}
devfreq->scaling_min_freq = find_available_min_freq(devfreq);
-@@ -870,8 +869,8 @@ struct devfreq *devfreq_add_device(struc
+@@ -890,8 +889,8 @@ struct devfreq *devfreq_add_device(struc
devfreq->stats.trans_table = devm_kzalloc(&devfreq->dev,
array3_size(sizeof(unsigned int),
GFP_KERNEL);
if (!devfreq->stats.trans_table) {
mutex_unlock(&devfreq->lock);
-@@ -880,7 +879,7 @@ struct devfreq *devfreq_add_device(struc
+@@ -900,7 +899,7 @@ struct devfreq *devfreq_add_device(struc
}
devfreq->stats.time_in_state = devm_kcalloc(&devfreq->dev,
sizeof(*devfreq->stats.time_in_state),
GFP_KERNEL);
if (!devfreq->stats.time_in_state) {
-@@ -1638,9 +1637,9 @@ static ssize_t available_frequencies_sho
+@@ -1658,9 +1657,9 @@ static ssize_t available_frequencies_sho
mutex_lock(&df->lock);
mutex_unlock(&df->lock);
/* Truncate the trailing space */
-@@ -1663,7 +1662,7 @@ static ssize_t trans_stat_show(struct de
+@@ -1683,7 +1682,7 @@ static ssize_t trans_stat_show(struct de
if (!df->profile)
return -EINVAL;
+ max_state = df->max_state;
if (max_state == 0)
- return sprintf(buf, "Not Supported.\n");
-@@ -1680,19 +1679,17 @@ static ssize_t trans_stat_show(struct de
- len += sprintf(buf + len, " :");
- for (i = 0; i < max_state; i++)
- len += sprintf(buf + len, "%10lu",
-- df->profile->freq_table[i]);
-+ df->freq_table[i]);
-
- len += sprintf(buf + len, " time(ms)\n");
-
+ return scnprintf(buf, PAGE_SIZE, "Not Supported.\n");
+@@ -1702,7 +1701,7 @@ static ssize_t trans_stat_show(struct de
+ if (len >= PAGE_SIZE - 1)
+ break;
+ len += scnprintf(buf + len, PAGE_SIZE - len, "%10lu",
+- df->profile->freq_table[i]);
++ df->freq_table[i]);
+ }
+ if (len >= PAGE_SIZE - 1)
+ return PAGE_SIZE - 1;
+@@ -1712,7 +1711,7 @@ static ssize_t trans_stat_show(struct de
for (i = 0; i < max_state; i++) {
+ if (len >= PAGE_SIZE - 1)
+ break;
- if (df->profile->freq_table[i]
-- == df->previous_freq) {
-+ if (df->freq_table[i] == df->previous_freq)
- len += sprintf(buf + len, "*");
-- } else {
-+ else
- len += sprintf(buf + len, " ");
-- }
-- len += sprintf(buf + len, "%10lu:",
-- df->profile->freq_table[i]);
-+
-+ len += sprintf(buf + len, "%10lu:", df->freq_table[i]);
- for (j = 0; j < max_state; j++)
- len += sprintf(buf + len, "%10u",
- df->stats.trans_table[(i * max_state) + j]);
-@@ -1716,7 +1713,7 @@ static ssize_t trans_stat_store(struct d
++ if (df->freq_table[i]
+ == df->previous_freq) {
+ len += scnprintf(buf + len, PAGE_SIZE - len, "*");
+ } else {
+@@ -1722,7 +1721,7 @@ static ssize_t trans_stat_show(struct de
+ break;
+
+ len += scnprintf(buf + len, PAGE_SIZE - len, "%10lu:",
+- df->profile->freq_table[i]);
++ df->freq_table[i]);
+ for (j = 0; j < max_state; j++) {
+ if (len >= PAGE_SIZE - 1)
+ break;
+@@ -1757,7 +1756,7 @@ static ssize_t trans_stat_store(struct d
if (!df->profile)
return -EINVAL;
return count;
err = kstrtoint(buf, 10, &value);
-@@ -1724,11 +1721,11 @@ static ssize_t trans_stat_store(struct d
+@@ -1765,11 +1764,11 @@ static ssize_t trans_stat_store(struct d
return -EINVAL;
mutex_lock(&df->lock);
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
-@@ -931,8 +931,9 @@ struct devfreq *devfreq_add_device(struc
+@@ -951,8 +951,9 @@ struct devfreq *devfreq_add_device(struc
err = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_START,
NULL);
if (err) {
stmmac_hw_teardown(dev);
init_error:
-@@ -7498,7 +7490,7 @@ int stmmac_suspend(struct device *dev)
+@@ -7501,7 +7493,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
priv->adap.algo = &hix5hd2_i2c_algorithm;
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
-@@ -1110,7 +1110,7 @@ static void dmi_check_onboard_device(u8
+@@ -1103,7 +1103,7 @@ static void dmi_check_onboard_device(u8
memset(&info, 0, sizeof(struct i2c_board_info));
info.addr = dmi_devices[i].i2c_addr;
i2c_new_client_device(adap, &info);
break;
}
-@@ -1266,7 +1266,7 @@ static void register_dell_lis3lv02d_i2c_
+@@ -1259,7 +1259,7 @@ static void register_dell_lis3lv02d_i2c_
memset(&info, 0, sizeof(struct i2c_board_info));
info.addr = dell_lis3lv02d_devices[i].i2c_addr;
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2189,6 +2189,15 @@ config SGI_MFD_IOC3
+@@ -2190,6 +2190,15 @@ config SGI_MFD_IOC3
If you have an SGI Origin, Octane, or a PCI IOC3 card,
then say Y. Otherwise say N.
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
-@@ -5883,3 +5884,34 @@ static void nvidia_ion_ahci_fixup(struct
+@@ -5899,3 +5900,34 @@ static void nvidia_ion_ahci_fixup(struct
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);