From 07e9b9f71046bdeaaddae135b0c5f0f0bdc94bc1 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 6 Mar 2014 02:36:41 +0000 Subject: [PATCH] Update to 3.14-rc5 Drop/refresh patches as necessary - 'DocBook: Make mandocs parallel-safe' finally went upstream - Firmware loading in cs46xx has been implemented upstream, including the 'new DSP' case svn path=/dists/trunk/linux/; revision=21123 --- debian/changelog | 6 + .../all/disable-some-marvell-phys.patch | 18 +- ...-redundant-log-messages-from-drivers.patch | 167 ++++++++--------- .../firmware_class-fix-read-size-check.patch | 37 ---- ..._class-log-every-success-and-failure.patch | 8 +- ...eturn-specific-errors-from-file-read.patch | 24 +-- ...ware-remove-HAVE_CLK-build-dependecy.patch | 40 ---- ...ression-on-MIPS-without-coherent-DMA.patch | 82 --------- ...tre-Make-LUSTRE_LLITE_LLOOP-tristate.patch | 25 --- .../patches/bugfix/arm/omap-musb-choice.patch | 6 +- debian/patches/debian/dfsg/files-1 | 3 - debian/patches/debian/dfsg/sound-pci.patch | 13 -- ...mory-cgroup-support-to-be-included-b.patch | 16 +- .../features/all/doc-build-parallel.patch | 38 ---- ...port-Technisat-Cablestar-Combo-HDCI-.patch | 131 ------------- .../sound-pci-cs46xx-request_firmware.patch | 174 ------------------ .../all/xen/microcode-amd-fam15plus.patch | 9 +- .../all/xen/microcode-api-update.patch | 9 +- .../features/all/xen/microcode-typo.patch | 11 +- .../patches/features/all/xen/microcode.patch | 45 ++--- debian/patches/series | 7 - debian/patches/series-orig | 1 - 22 files changed, 160 insertions(+), 710 deletions(-) delete mode 100644 debian/patches/bugfix/all/firmware_class-fix-read-size-check.patch delete mode 100644 debian/patches/bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch delete mode 100644 debian/patches/bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch delete mode 100644 debian/patches/bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch delete mode 100644 debian/patches/debian/dfsg/sound-pci.patch delete mode 100644 debian/patches/features/all/doc-build-parallel.patch delete mode 100644 debian/patches/features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch delete mode 100644 debian/patches/features/all/sound-pci-cs46xx-request_firmware.patch diff --git a/debian/changelog b/debian/changelog index 02ea89404..345163a55 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (3.14~rc5-1~exp1) UNRELEASED; urgency=medium + + * New upstream release candidate + + -- Ben Hutchings Thu, 06 Mar 2014 01:04:33 +0000 + linux (3.13.5-1) unstable; urgency=medium * New upstream stable update: diff --git a/debian/patches/bugfix/all/disable-some-marvell-phys.patch b/debian/patches/bugfix/all/disable-some-marvell-phys.patch index 70af347d8..b7b5ace52 100644 --- a/debian/patches/bugfix/all/disable-some-marvell-phys.patch +++ b/debian/patches/bugfix/all/disable-some-marvell-phys.patch @@ -14,16 +14,16 @@ correctness. --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c -@@ -963,6 +963,7 @@ - .set_wol = &m88e1318_set_wol, +@@ -975,6 +975,7 @@ static struct phy_driver marvell_drivers + .suspend = &genphy_suspend, .driver = { .owner = THIS_MODULE }, }, +#if 0 { .phy_id = MARVELL_PHY_ID_88E1145, .phy_id_mask = MARVELL_PHY_ID_MASK, -@@ -976,6 +977,8 @@ - .config_intr = &marvell_config_intr, +@@ -990,6 +991,8 @@ static struct phy_driver marvell_drivers + .suspend = &genphy_suspend, .driver = { .owner = THIS_MODULE }, }, +#endif @@ -31,8 +31,8 @@ correctness. { .phy_id = MARVELL_PHY_ID_88E1149R, .phy_id_mask = MARVELL_PHY_ID_MASK, -@@ -989,6 +992,8 @@ - .config_intr = &marvell_config_intr, +@@ -1005,6 +1008,8 @@ static struct phy_driver marvell_drivers + .suspend = &genphy_suspend, .driver = { .owner = THIS_MODULE }, }, +#endif @@ -40,15 +40,15 @@ correctness. { .phy_id = MARVELL_PHY_ID_88E1240, .phy_id_mask = MARVELL_PHY_ID_MASK, -@@ -1002,6 +1007,7 @@ - .config_intr = &marvell_config_intr, +@@ -1020,6 +1025,7 @@ static struct phy_driver marvell_drivers + .suspend = &genphy_suspend, .driver = { .owner = THIS_MODULE }, }, +#endif { .phy_id = MARVELL_PHY_ID_88E1116R, .phy_id_mask = MARVELL_PHY_ID_MASK, -@@ -1051,9 +1057,9 @@ +@@ -1073,9 +1079,9 @@ static struct mdio_device_id __maybe_unu { MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1118, MARVELL_PHY_ID_MASK }, { MARVELL_PHY_ID_88E1121R, MARVELL_PHY_ID_MASK }, diff --git a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch index 9be7722cb..a4642fb0a 100644 --- a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch +++ b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch @@ -51,15 +51,15 @@ upstream submission. data = (u32 *) fw_entry->data; /* disable MPU */ ---- a/arch/x86/kernel/microcode_amd.c -+++ b/arch/x86/kernel/microcode_amd.c -@@ -430,10 +430,8 @@ static enum ucode_state request_microcod +--- a/arch/x86/kernel/cpu/microcode/amd.c ++++ b/arch/x86/kernel/cpu/microcode/amd.c +@@ -433,10 +433,8 @@ static enum ucode_state request_microcod if (c->x86 >= 0x15) snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86); -- if (request_firmware(&fw, (const char *)fw_name, device)) { +- if (request_firmware_direct(&fw, (const char *)fw_name, device)) { - pr_debug("failed to load file %s\n", fw_name); -+ if (request_firmware(&fw, (const char *)fw_name, device)) ++ if (request_firmware_direct(&fw, (const char *)fw_name, device)) goto out; - } @@ -96,7 +96,7 @@ upstream submission. fw_size = firmware->size / sizeof(u32); --- a/drivers/bluetooth/ath3k.c +++ b/drivers/bluetooth/ath3k.c -@@ -359,10 +359,8 @@ static int ath3k_load_patch(struct usb_d +@@ -363,10 +363,8 @@ static int ath3k_load_patch(struct usb_d fw_version.rom_version); ret = request_firmware(&firmware, filename, &udev->dev); @@ -108,7 +108,7 @@ upstream submission. pt_version.rom_version = *(int *)(firmware->data + firmware->size - 8); pt_version.build_version = *(int *) -@@ -421,10 +419,8 @@ static int ath3k_load_syscfg(struct usb_ +@@ -425,10 +423,8 @@ static int ath3k_load_syscfg(struct usb_ fw_version.rom_version, clk_value, ".dfu"); ret = request_firmware(&firmware, filename, &udev->dev); @@ -168,7 +168,7 @@ upstream submission. --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c -@@ -291,8 +291,6 @@ static int btmrvl_sdio_download_helper(s +@@ -288,8 +288,6 @@ static int btmrvl_sdio_download_helper(s ret = request_firmware(&fw_helper, card->helper, &card->func->dev); if ((ret < 0) || !fw_helper) { @@ -177,7 +177,7 @@ upstream submission. ret = -ENOENT; goto done; } -@@ -391,8 +389,6 @@ static int btmrvl_sdio_download_fw_w_hel +@@ -388,8 +386,6 @@ static int btmrvl_sdio_download_fw_w_hel ret = request_firmware(&fw_firmware, card->firmware, &card->func->dev); if ((ret < 0) || !fw_firmware) { @@ -203,7 +203,7 @@ upstream submission. fw->size, fw_name); --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c -@@ -1258,10 +1258,8 @@ static void sdma_load_firmware(const str +@@ -1269,10 +1269,8 @@ static void sdma_load_firmware(const str const struct sdma_script_start_addrs *addr; unsigned short *ram_code; @@ -232,7 +232,7 @@ upstream submission. where = 0; --- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c -@@ -1092,10 +1092,8 @@ nvc0_graph_ctor_fw(struct nvc0_graph_pri +@@ -1095,10 +1095,8 @@ nvc0_graph_ctor_fw(struct nvc0_graph_pri if (ret) { snprintf(f, sizeof(f), "nouveau/%s", fwname); ret = request_firmware(&fw, f, &device->pdev->dev); @@ -261,7 +261,7 @@ upstream submission. printk(KERN_ERR --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c -@@ -810,10 +810,6 @@ int ni_init_microcode(struct radeon_devi +@@ -811,10 +811,6 @@ int ni_init_microcode(struct radeon_devi out: if (err) { @@ -288,7 +288,7 @@ upstream submission. rdev->me_fw->size, fw_name); --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c -@@ -2366,10 +2366,6 @@ int r600_init_microcode(struct radeon_de +@@ -2436,10 +2436,6 @@ int r600_init_microcode(struct radeon_de out: if (err) { @@ -342,7 +342,7 @@ upstream submission. ret = qib_ibsd_ucode_loaded(dd->pport, fw); --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c -@@ -986,10 +986,8 @@ static int mxt_load_fw(struct device *de +@@ -985,10 +985,8 @@ static int mxt_load_fw(struct device *de int ret; ret = request_firmware(&fw, fn, dev); @@ -371,7 +371,7 @@ upstream submission. card->name, firmware->size); --- a/drivers/media/tuners/tuner-xc2028.c +++ b/drivers/media/tuners/tuner-xc2028.c -@@ -1355,7 +1355,6 @@ static void load_firmware_cb(const struc +@@ -1369,7 +1369,6 @@ static void load_firmware_cb(const struc tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error"); if (!fw) { @@ -1147,7 +1147,7 @@ upstream submission. /* bts_header to remove out magic number and --- a/drivers/net/can/softing/softing_fw.c +++ b/drivers/net/can/softing/softing_fw.c -@@ -238,11 +238,8 @@ int softing_load_app_fw(const char *file +@@ -237,11 +237,8 @@ int softing_load_app_fw(const char *file int8_t type_end = 0, type_entrypoint = 0; ret = request_firmware(&fw, file, &card->pdev->dev); @@ -1205,7 +1205,7 @@ upstream submission. fw_tx->size, FIRMWARE_TX); --- a/drivers/net/ethernet/alteon/acenic.c +++ b/drivers/net/ethernet/alteon/acenic.c -@@ -2889,11 +2889,8 @@ static int ace_load_firmware(struct net_ +@@ -2888,11 +2888,8 @@ static int ace_load_firmware(struct net_ fw_name = "acenic/tg1.bin"; ret = request_firmware(&fw, fw_name, &ap->pdev->dev); @@ -1220,7 +1220,7 @@ upstream submission. --- a/drivers/net/ethernet/broadcom/bnx2.c +++ b/drivers/net/ethernet/broadcom/bnx2.c -@@ -3678,16 +3678,13 @@ static int bnx2_request_uncached_firmwar +@@ -3696,16 +3696,13 @@ static int bnx2_request_uncached_firmwar } rc = request_firmware(&bp->mips_firmware, mips_fw_file, &bp->pdev->dev); @@ -1242,7 +1242,7 @@ upstream submission. if (bp->mips_firmware->size < sizeof(*mips_fw) || --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -@@ -12497,11 +12497,8 @@ static int bnx2x_init_firmware(struct bn +@@ -12637,11 +12637,8 @@ static int bnx2x_init_firmware(struct bn BNX2X_DEV_INFO("Loading %s\n", fw_file_name); rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev); @@ -1257,7 +1257,7 @@ upstream submission. if (rc) { --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -11205,11 +11205,8 @@ static int tg3_request_firmware(struct t +@@ -11293,11 +11293,8 @@ static int tg3_request_firmware(struct t { const struct tg3_firmware_hdr *fw_hdr; @@ -1351,7 +1351,7 @@ upstream submission. } --- a/drivers/net/ethernet/smsc/smc91c92_cs.c +++ b/drivers/net/ethernet/smsc/smc91c92_cs.c -@@ -648,10 +648,8 @@ static int osi_load_firmware(struct pcmc +@@ -647,10 +647,8 @@ static int osi_load_firmware(struct pcmc int i, err; err = request_firmware(&fw, FIRMWARE_NAME, &link->dev); @@ -1365,7 +1365,7 @@ upstream submission. for (i = 0; i < fw->size; i++) { --- a/drivers/net/ethernet/sun/cassini.c +++ b/drivers/net/ethernet/sun/cassini.c -@@ -818,11 +818,8 @@ static void cas_saturn_firmware_init(str +@@ -816,11 +816,8 @@ static void cas_saturn_firmware_init(str return; err = request_firmware(&fw, fw_name, &cp->pdev->dev); @@ -1395,7 +1395,7 @@ upstream submission. fw->size, fw_name[predef]); --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c -@@ -398,10 +398,8 @@ static int kaweth_download_firmware(stru +@@ -396,10 +396,8 @@ static int kaweth_download_firmware(stru int ret; ret = request_firmware(&fw, fwname, &kaweth->dev->dev); @@ -1476,7 +1476,7 @@ upstream submission. --- a/drivers/net/wireless/atmel.c +++ b/drivers/net/wireless/atmel.c -@@ -3928,12 +3928,8 @@ static int reset_atmel_card(struct net_d +@@ -3927,12 +3927,8 @@ static int reset_atmel_card(struct net_d strcpy(priv->firmware_id, "atmel_at76c502.bin"); } err = request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev); @@ -1530,7 +1530,7 @@ upstream submission. hdr = (struct b43legacy_fw_header *)((*fw)->data); --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c -@@ -571,10 +571,8 @@ static const struct firmware *brcmf_sdbr +@@ -590,10 +590,8 @@ static const struct firmware *brcmf_sdio found: err = request_firmware(&fw, name, &bus->sdiodev->func[2]->dev); @@ -1568,7 +1568,7 @@ upstream submission. } --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c -@@ -8426,12 +8426,8 @@ static int ipw2100_get_firmware(struct i +@@ -8425,12 +8425,8 @@ static int ipw2100_get_firmware(struct i rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev); @@ -1608,7 +1608,7 @@ upstream submission. else --- a/drivers/net/wireless/iwlwifi/iwl-drv.c +++ b/drivers/net/wireless/iwlwifi/iwl-drv.c -@@ -889,13 +889,8 @@ static void iwl_req_fw_callback(const st +@@ -928,13 +928,8 @@ static void iwl_req_fw_callback(const st memset(&pieces, 0, sizeof(pieces)); @@ -1651,7 +1651,7 @@ upstream submission. adapter->firmware = firmware; --- a/drivers/net/wireless/mwl8k.c +++ b/drivers/net/wireless/mwl8k.c -@@ -5531,16 +5531,12 @@ static int mwl8k_firmware_load_success(s +@@ -5530,16 +5530,12 @@ static int mwl8k_firmware_load_success(s static void mwl8k_fw_state_machine(const struct firmware *fw, void *context) { struct mwl8k_priv *priv = context; @@ -1669,7 +1669,7 @@ upstream submission. priv->fw_helper = fw; rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode, true); -@@ -5575,11 +5571,8 @@ static void mwl8k_fw_state_machine(const +@@ -5574,11 +5570,8 @@ static void mwl8k_fw_state_machine(const break; case FW_STATE_LOADING_ALT: @@ -1682,7 +1682,7 @@ upstream submission. priv->fw_ucode = fw; rc = mwl8k_firmware_load_success(priv); if (rc) -@@ -5617,10 +5610,8 @@ retry: +@@ -5616,10 +5609,8 @@ retry: /* Ask userland hotplug daemon for the device firmware */ rc = mwl8k_request_firmware(priv, fw_image, nowait); @@ -1730,7 +1730,7 @@ upstream submission. --- a/drivers/net/wireless/orinoco/orinoco_usb.c +++ b/drivers/net/wireless/orinoco/orinoco_usb.c -@@ -1691,7 +1691,6 @@ static int ezusb_probe(struct usb_interf +@@ -1690,7 +1690,6 @@ static int ezusb_probe(struct usb_interf if (ezusb_firmware_download(upriv, &firmware)) goto error; } else { @@ -1740,7 +1740,7 @@ upstream submission. --- a/drivers/net/wireless/p54/p54pci.c +++ b/drivers/net/wireless/p54/p54pci.c -@@ -497,7 +497,6 @@ static void p54p_firmware_step2(const st +@@ -496,7 +496,6 @@ static void p54p_firmware_step2(const st int err; if (!fw) { @@ -1764,7 +1764,7 @@ upstream submission. if (ret) { --- a/drivers/net/wireless/p54/p54usb.c +++ b/drivers/net/wireless/p54/p54usb.c -@@ -930,7 +930,6 @@ static void p54u_load_firmware_cb(const +@@ -929,7 +929,6 @@ static void p54u_load_firmware_cb(const err = p54u_start_ops(priv); } else { err = -ENOENT; @@ -1774,7 +1774,7 @@ upstream submission. if (err) { --- a/drivers/net/wireless/prism54/islpci_dev.c +++ b/drivers/net/wireless/prism54/islpci_dev.c -@@ -93,12 +93,9 @@ isl_upload_firmware(islpci_private *priv +@@ -92,12 +92,9 @@ isl_upload_firmware(islpci_private *priv const u32 *fw_ptr; rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV); @@ -1791,7 +1791,7 @@ upstream submission. --- a/drivers/net/wireless/rt2x00/rt2x00firmware.c +++ b/drivers/net/wireless/rt2x00/rt2x00firmware.c -@@ -51,10 +51,8 @@ static int rt2x00lib_request_firmware(st +@@ -49,10 +49,8 @@ static int rt2x00lib_request_firmware(st rt2x00_info(rt2x00dev, "Loading firmware file '%s'\n", fw_name); retval = request_firmware(&fw, fw_name, device); @@ -1825,7 +1825,7 @@ upstream submission. } --- a/drivers/net/wireless/ti/wl1251/main.c +++ b/drivers/net/wireless/ti/wl1251/main.c -@@ -70,10 +70,8 @@ static int wl1251_fetch_firmware(struct +@@ -71,10 +71,8 @@ static int wl1251_fetch_firmware(struct ret = request_firmware(&fw, WL1251_FW_NAME, dev); @@ -1837,7 +1837,7 @@ upstream submission. if (fw->size % 4) { wl1251_error("firmware size is not multiple of 32 bits: %zu", -@@ -109,10 +107,8 @@ static int wl1251_fetch_nvs(struct wl125 +@@ -110,10 +108,8 @@ static int wl1251_fetch_nvs(struct wl125 ret = request_firmware(&fw, WL1251_NVS_NAME, dev); @@ -1851,7 +1851,7 @@ upstream submission. wl1251_error("nvs size is not multiple of 32 bits: %zu", --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c -@@ -753,10 +753,8 @@ static int wl12xx_fetch_firmware(struct +@@ -752,10 +752,8 @@ static int wl12xx_fetch_firmware(struct ret = request_firmware(&fw, fw_name, wl->dev); @@ -1876,7 +1876,7 @@ upstream submission. } --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c -@@ -121,16 +121,9 @@ static void int_urb_complete(struct urb +@@ -120,16 +120,9 @@ static void int_urb_complete(struct urb static int request_fw_file( const struct firmware **fw, const char *name, struct device *device) { @@ -1960,7 +1960,7 @@ upstream submission. if (err) { --- a/drivers/scsi/bfa/bfad.c +++ b/drivers/scsi/bfa/bfad.c -@@ -1781,7 +1781,6 @@ bfad_read_firmware(struct pci_dev *pdev, +@@ -1778,7 +1778,6 @@ bfad_read_firmware(struct pci_dev *pdev, const struct firmware *fw; if (request_firmware(&fw, fw_name, &pdev->dev)) { @@ -2007,7 +2007,7 @@ upstream submission. } --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c -@@ -5134,8 +5134,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha, +@@ -5136,8 +5136,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha, /* Load firmware blob. */ blob = qla2x00_request_firmware(vha); if (!blob) { @@ -2016,7 +2016,7 @@ upstream submission. ql_log(ql_log_info, vha, 0x0084, "Firmware images can be retrieved from: "QLA_FW_URL ".\n"); return QLA_FUNCTION_FAILED; -@@ -5236,8 +5234,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t * +@@ -5238,8 +5236,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t * /* Load firmware blob. */ blob = qla2x00_request_firmware(vha); if (!blob) { @@ -2027,7 +2027,7 @@ upstream submission. QLA_FW_URL ".\n"); --- a/drivers/scsi/qla2xxx/qla_nx.c +++ b/drivers/scsi/qla2xxx/qla_nx.c -@@ -2435,11 +2435,8 @@ try_blob_fw: +@@ -2449,11 +2449,8 @@ try_blob_fw: /* Load firmware blob. */ blob = ha->hablob = qla2x00_request_firmware(vha); @@ -2042,7 +2042,7 @@ upstream submission. if (qla82xx_validate_firmware_blob(vha, --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c -@@ -5311,8 +5311,6 @@ qla2x00_request_firmware(scsi_qla_host_t +@@ -5315,8 +5315,6 @@ qla2x00_request_firmware(scsi_qla_host_t goto out; if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) { @@ -2068,7 +2068,7 @@ upstream submission. fw->size, fwname); --- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c +++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c -@@ -2203,16 +2203,12 @@ struct net_device *init_ft1000_card(stru +@@ -2233,16 +2233,12 @@ struct net_device *init_ft1000_card(stru info->AsicID = ft1000_read_reg(dev, FT1000_REG_ASIC_ID); if (info->AsicID == ELECTRABUZZ_ID) { DEBUG(0, "ft1000_hw: ELECTRABUZZ ASIC\n"); @@ -2089,7 +2089,7 @@ upstream submission. ft1000_enable_interrupts(dev); --- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c -@@ -138,10 +138,8 @@ static int ft1000_probe(struct usb_inter +@@ -137,10 +137,8 @@ static int ft1000_probe(struct usb_inter ft1000dev->bulk_out_endpointAddr); ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev); @@ -2103,7 +2103,7 @@ upstream submission. pFileStart = kmalloc(size, GFP_KERNEL); --- a/drivers/staging/media/as102/as102_fw.c +++ b/drivers/staging/media/as102/as102_fw.c -@@ -190,11 +190,8 @@ int as102_fw_upload(struct as10x_bus_ada +@@ -185,11 +185,8 @@ int as102_fw_upload(struct as10x_bus_ada /* request kernel to locate firmware file: part1 */ errno = request_firmware(&firmware, fw1, &dev->dev); @@ -2116,7 +2116,7 @@ upstream submission. /* initiate firmware upload */ errno = as102_firmware_upload(bus_adap, cmd_buf, firmware); -@@ -213,11 +210,8 @@ int as102_fw_upload(struct as10x_bus_ada +@@ -208,11 +205,8 @@ int as102_fw_upload(struct as10x_bus_ada /* request kernel to locate firmware file: part2 */ errno = request_firmware(&firmware, fw2, &dev->dev); @@ -2131,7 +2131,7 @@ upstream submission. errno = as102_firmware_upload(bus_adap, cmd_buf, firmware); --- a/drivers/staging/media/go7007/go7007-driver.c +++ b/drivers/staging/media/go7007/go7007-driver.c -@@ -96,10 +96,8 @@ static int go7007_load_encoder(struct go +@@ -95,10 +95,8 @@ static int go7007_load_encoder(struct go u16 intr_val, intr_data; if (go->boot_fw == NULL) { @@ -2161,7 +2161,7 @@ upstream submission. goto fw_failed; --- a/drivers/staging/media/go7007/go7007-loader.c +++ b/drivers/staging/media/go7007/go7007-loader.c -@@ -80,11 +80,8 @@ static int go7007_loader_probe(struct us +@@ -79,11 +79,8 @@ static int go7007_loader_probe(struct us dev_info(&interface->dev, "loading firmware %s\n", fw1); @@ -2174,7 +2174,7 @@ upstream submission. ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2); release_firmware(fw); if (0 != ret) { -@@ -95,11 +92,8 @@ static int go7007_loader_probe(struct us +@@ -94,11 +91,8 @@ static int go7007_loader_probe(struct us if (fw2 == NULL) return 0; @@ -2193,8 +2193,8 @@ upstream submission. /* Request codeset data file */ ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev); if (ret != 0) { -- zilog_error("firmware haup-ir-blaster.bin not available " -- "(%d)\n", ret); +- zilog_error("firmware haup-ir-blaster.bin not available (%d)\n", +- ret); ret = ret < 0 ? ret : -EFAULT; goto out; } @@ -2268,7 +2268,7 @@ upstream submission. if (!pBuffer) --- a/drivers/tty/cyclades.c +++ b/drivers/tty/cyclades.c -@@ -3520,10 +3520,8 @@ static int cyz_load_fw(struct pci_dev *p +@@ -3522,10 +3522,8 @@ static int cyz_load_fw(struct pci_dev *p int retval; retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev); @@ -2339,7 +2339,7 @@ upstream submission. --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c -@@ -1082,8 +1082,6 @@ static int cxacru_find_firmware(struct c +@@ -1081,8 +1081,6 @@ static int cxacru_find_firmware(struct c return -ENOENT; } @@ -2350,7 +2350,7 @@ upstream submission. --- a/drivers/usb/atm/ueagle-atm.c +++ b/drivers/usb/atm/ueagle-atm.c -@@ -650,10 +650,8 @@ static void uea_upload_pre_firmware(cons +@@ -649,10 +649,8 @@ static void uea_upload_pre_firmware(cons int ret, size; uea_enters(usb); @@ -2362,7 +2362,7 @@ upstream submission. pfw = fw_entry->data; size = fw_entry->size; -@@ -748,10 +746,6 @@ static int uea_load_firmware(struct usb_ +@@ -747,10 +745,6 @@ static int uea_load_firmware(struct usb_ ret = request_firmware_nowait(THIS_MODULE, 1, fw_name, &usb->dev, GFP_KERNEL, usb, uea_upload_pre_firmware); @@ -2373,7 +2373,7 @@ upstream submission. uea_leaves(usb); return ret; -@@ -913,12 +907,8 @@ static int request_dsp(struct uea_softc +@@ -912,12 +906,8 @@ static int request_dsp(struct uea_softc } ret = request_firmware(&sc->dsp_firm, dsp_name, &sc->usb_dev->dev); @@ -2387,7 +2387,7 @@ upstream submission. if (UEA_CHIP_VERSION(sc) == EAGLE_IV) ret = check_dsp_e4(sc->dsp_firm->data, sc->dsp_firm->size); -@@ -1631,12 +1621,8 @@ static int request_cmvs_old(struct uea_s +@@ -1630,12 +1620,8 @@ static int request_cmvs_old(struct uea_s cmvs_file_name(sc, cmv_name, 1); ret = request_firmware(fw, cmv_name, &sc->usb_dev->dev); @@ -2401,7 +2401,7 @@ upstream submission. data = (u8 *) (*fw)->data; size = (*fw)->size; -@@ -1673,9 +1659,6 @@ static int request_cmvs(struct uea_softc +@@ -1672,9 +1658,6 @@ static int request_cmvs(struct uea_softc "try to get older cmvs\n", cmv_name); return request_cmvs_old(sc, cmvs, fw); } @@ -2411,7 +2411,7 @@ upstream submission. return ret; } -@@ -1958,11 +1941,8 @@ static int load_XILINX_firmware(struct u +@@ -1957,11 +1940,8 @@ static int load_XILINX_firmware(struct u uea_enters(INS_TO_USBDEV(sc)); ret = request_firmware(&fw_entry, fw_name, &sc->usb_dev->dev); @@ -2426,7 +2426,7 @@ upstream submission. size = fw_entry->size; --- a/drivers/usb/misc/emi26.c +++ b/drivers/usb/misc/emi26.c -@@ -89,21 +89,17 @@ static int emi26_load_firmware (struct u +@@ -88,21 +88,17 @@ static int emi26_load_firmware (struct u err = request_ihex_firmware(&loader_fw, "emi26/loader.fw", &dev->dev); if (err) @@ -2453,7 +2453,7 @@ upstream submission. err = emi26_set_reset(dev,1); --- a/drivers/usb/misc/ezusb.c +++ b/drivers/usb/misc/ezusb.c -@@ -80,12 +80,8 @@ static int ezusb_ihex_firmware_download( +@@ -79,12 +79,8 @@ static int ezusb_ihex_firmware_download( const struct ihex_binrec *record; if (request_ihex_firmware(&firmware, firmware_path, @@ -2479,7 +2479,7 @@ upstream submission. } --- a/drivers/usb/serial/io_edgeport.c +++ b/drivers/usb/serial/io_edgeport.c -@@ -300,11 +300,8 @@ static void update_edgeport_E2PROM(struc +@@ -299,11 +299,8 @@ static void update_edgeport_E2PROM(struc response = request_ihex_firmware(&fw, fw_name, &edge_serial->serial->dev->dev); @@ -2494,7 +2494,7 @@ upstream submission. BootMajorVersion = rec->data[0]; --- a/drivers/usb/serial/io_ti.c +++ b/drivers/usb/serial/io_ti.c -@@ -779,8 +779,6 @@ static int build_i2c_fw_hdr(__u8 *header +@@ -768,8 +768,6 @@ static int build_i2c_fw_hdr(__u8 *header err = request_firmware(&fw, fw_name, dev); if (err) { @@ -2503,7 +2503,7 @@ upstream submission. kfree(buffer); return err; } -@@ -1338,8 +1336,6 @@ static int download_fw(struct edgeport_s +@@ -1315,8 +1313,6 @@ static int download_fw(struct edgeport_s err = request_firmware(&fw, fw_name, dev); if (err) { @@ -2514,7 +2514,7 @@ upstream submission. } --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c -@@ -1500,10 +1500,8 @@ static int ti_download_firmware(struct t +@@ -1490,10 +1490,8 @@ static int ti_download_firmware(struct t } status = request_firmware(&fw_p, buf, &dev->dev); } @@ -2640,20 +2640,6 @@ upstream submission. goto error1; } if (firmware->size < sizeof(header)) { ---- a/sound/pci/cs46xx/cs46xx_lib.c -+++ b/sound/pci/cs46xx/cs46xx_lib.c -@@ -411,10 +411,8 @@ static int snd_cs46xx_download_image(str - - err = request_firmware(&firmware, "cs46xx/cs46xx-old.fw", - &chip->pci->dev); -- if (err < 0) { -- snd_printk(KERN_ERR "cs46xx: no firmware\n"); -+ if (err) - return err; -- } - - err = snd_cs46xx_check_image_size(firmware); - if (err < 0) --- a/sound/pci/echoaudio/echoaudio.c +++ b/sound/pci/echoaudio/echoaudio.c @@ -57,10 +57,8 @@ static int get_firmware(const struct fir @@ -2684,7 +2670,7 @@ upstream submission. } --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c -@@ -3783,11 +3783,8 @@ static void azx_firmware_cb(const struct +@@ -3792,11 +3792,8 @@ static void azx_firmware_cb(const struct struct azx *chip = card->private_data; struct pci_dev *pci = chip->pci; @@ -2753,7 +2739,7 @@ upstream submission. if (err) { --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c -@@ -5151,10 +5151,8 @@ static int hdsp_request_fw_loader(struct +@@ -5145,10 +5145,8 @@ static int hdsp_request_fw_loader(struct return -EINVAL; } @@ -2799,3 +2785,18 @@ upstream submission. kfree(buffer); return -EIO; } +--- a/sound/pci/cs46xx/cs46xx_lib.c ++++ b/sound/pci/cs46xx/cs46xx_lib.c +@@ -3265,11 +3265,8 @@ int snd_cs46xx_start_dsp(struct snd_cs46 + #ifdef CONFIG_SND_CS46XX_NEW_DSP + for (i = 0; i < CS46XX_DSP_MODULES; i++) { + err = load_firmware(chip, &chip->modules[i], module_names[i]); +- if (err < 0) { +- snd_printk(KERN_ERR "firmware load error [%s]\n", +- module_names[i]); ++ if (err < 0) + return err; +- } + err = cs46xx_dsp_load_module(chip, chip->modules[i]); + if (err < 0) { + snd_printk(KERN_ERR "image download error [%s]\n", diff --git a/debian/patches/bugfix/all/firmware_class-fix-read-size-check.patch b/debian/patches/bugfix/all/firmware_class-fix-read-size-check.patch deleted file mode 100644 index 79565eced..000000000 --- a/debian/patches/bugfix/all/firmware_class-fix-read-size-check.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Ben Hutchings -Date: Sat, 14 Dec 2013 17:05:45 +0000 -Subject: firmware_class: Fix read size check - -We expect to read firmware blobs with a single call to kernel_read(), -which returns int. Therefore the size must be within the range of -int, not long. - -Signed-off-by: Ben Hutchings ---- ---- a/drivers/base/firmware_class.c -+++ b/drivers/base/firmware_class.c -@@ -270,21 +270,21 @@ module_param_string(path, fw_path_para, - MODULE_PARM_DESC(path, "customized firmware image search path with a higher priority than default path"); - - /* Don't inline this: 'struct kstat' is biggish */ --static noinline_for_stack long fw_file_size(struct file *file) -+static noinline_for_stack int fw_file_size(struct file *file) - { - struct kstat st; - if (vfs_getattr(&file->f_path, &st)) - return -1; - if (!S_ISREG(st.mode)) - return -1; -- if (st.size != (long)st.size) -+ if (st.size != (int)st.size) - return -1; - return st.size; - } - - static int fw_read_file_contents(struct file *file, struct firmware_buf *fw_buf) - { -- long size; -+ int size; - char *buf; - int rc; - diff --git a/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch b/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch index 8f0e96a8d..3566be4e9 100644 --- a/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch +++ b/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch @@ -20,7 +20,7 @@ This does not cover the case where we fall back to a user-mode helper --- --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c -@@ -334,17 +334,20 @@ static int fw_get_filesystem_firmware(st +@@ -344,17 +344,20 @@ static int fw_get_filesystem_firmware(st } rc = fw_read_file_contents(file, buf); fput(file); @@ -46,7 +46,7 @@ This does not cover the case where we fall back to a user-mode helper mutex_lock(&fw_lock); set_bit(FW_STATUS_DONE, &buf->status); complete_all(&buf->completion); -@@ -997,7 +1000,8 @@ _request_firmware_prepare(struct firmwar +@@ -1007,7 +1010,8 @@ _request_firmware_prepare(struct firmwar } if (fw_get_builtin_firmware(firmware, name)) { @@ -56,8 +56,8 @@ This does not cover the case where we fall back to a user-mode helper return 0; /* assigned */ } -@@ -1079,7 +1083,7 @@ _request_firmware(const struct firmware - if (nowait) { +@@ -1090,7 +1094,7 @@ _request_firmware(const struct firmware + if (opt_flags & FW_OPT_NOWAIT) { timeout = usermodehelper_read_lock_wait(timeout); if (!timeout) { - dev_dbg(device, "firmware: %s loading timed out\n", diff --git a/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch b/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch index 89d31d443..45471b429 100644 --- a/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch +++ b/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch @@ -17,7 +17,7 @@ Signed-off-by: Ben Hutchings --- --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c -@@ -273,12 +273,15 @@ MODULE_PARM_DESC(path, "customized firmw +@@ -283,12 +283,15 @@ MODULE_PARM_DESC(path, "customized firmw static noinline_for_stack int fw_file_size(struct file *file) { struct kstat st; @@ -37,7 +37,7 @@ Signed-off-by: Ben Hutchings return st.size; } -@@ -289,14 +292,16 @@ static int fw_read_file_contents(struct +@@ -299,14 +302,16 @@ static int fw_read_file_contents(struct int rc; size = fw_file_size(file); @@ -56,7 +56,7 @@ Signed-off-by: Ben Hutchings rc = -EIO; vfree(buf); return rc; -@@ -323,8 +328,10 @@ static int fw_get_filesystem_firmware(st +@@ -333,8 +338,10 @@ static int fw_get_filesystem_firmware(st snprintf(path, PATH_MAX, "%s/%s", fw_path[i], buf->fw_id); file = filp_open(path, O_RDONLY, 0); @@ -68,13 +68,13 @@ Signed-off-by: Ben Hutchings rc = fw_read_file_contents(file, buf); fput(file); if (rc) -@@ -940,13 +947,6 @@ static void kill_requests_without_uevent +@@ -950,13 +957,6 @@ static void kill_requests_without_uevent #endif #else /* CONFIG_FW_LOADER_USER_HELPER */ -static inline int -fw_load_from_user_helper(struct firmware *firmware, const char *name, -- struct device *device, bool uevent, bool nowait, +- struct device *device, unsigned int opt_flags, - long timeout) -{ - return -ENOENT; @@ -82,19 +82,19 @@ Signed-off-by: Ben Hutchings /* No abort during direct loading */ #define is_fw_load_aborted(buf) false -@@ -1094,6 +1094,7 @@ _request_firmware(const struct firmware +@@ -1105,6 +1105,7 @@ _request_firmware(const struct firmware } ret = fw_get_filesystem_firmware(device, fw->priv); +#ifdef CONFIG_FW_LOADER_USER_HELPER if (ret) { - dev_warn(device, "Direct firmware load failed with error %d\n", - ret); -@@ -1101,6 +1102,7 @@ _request_firmware(const struct firmware - ret = fw_load_from_user_helper(fw, name, device, - uevent, nowait, timeout); + if (opt_flags & FW_OPT_FALLBACK) { + dev_warn(device, +@@ -1115,6 +1116,7 @@ _request_firmware(const struct firmware + opt_flags, timeout); + } } +#endif - /* don't cache firmware handled without uevent */ if (!ret) + ret = assign_firmware_buf(fw, device, opt_flags); diff --git a/debian/patches/bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch b/debian/patches/bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch deleted file mode 100644 index 288d0db62..000000000 --- a/debian/patches/bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Baruch Siach -Date: Mon, 30 Dec 2013 10:31:19 +0200 -Subject: i2c: designware: remove HAVE_CLK build dependecy -Origin: https://git.kernel.org/linus/7ae532e9976e41364bbfa7aaf455c9f1fc5f25e7 - -Since 93abe8e4 (clk: add non CONFIG_HAVE_CLK routines) code using clk.h -like this platform driver need not depend on HAVE_CLK. Also, remove a -redundant clk.h include from core driver. - -Signed-off-by: Baruch Siach -Signed-off-by: Wolfram Sang ---- - drivers/i2c/busses/Kconfig | 1 - - drivers/i2c/busses/i2c-designware-core.c | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 5687b5c..98a3f1f 100644 ---- a/drivers/i2c/busses/Kconfig -+++ b/drivers/i2c/busses/Kconfig -@@ -412,7 +412,6 @@ config I2C_DESIGNWARE_CORE - - config I2C_DESIGNWARE_PLATFORM - tristate "Synopsys DesignWare Platform" -- depends on HAVE_CLK - select I2C_DESIGNWARE_CORE - help - If you say yes to this option, support will be included for the -diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c -index e89e3e2..14c4b30 100644 ---- a/drivers/i2c/busses/i2c-designware-core.c -+++ b/drivers/i2c/busses/i2c-designware-core.c -@@ -26,7 +26,6 @@ - * - */ - #include --#include - #include - #include - #include diff --git a/debian/patches/bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch b/debian/patches/bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch deleted file mode 100644 index 8d8537c4a..000000000 --- a/debian/patches/bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch +++ /dev/null @@ -1,82 +0,0 @@ -From: Stanislaw Gruszka -Date: Mon, 10 Feb 2014 22:38:28 +0100 -Subject: rtl8187: fix regression on MIPS without coherent DMA -Origin: https://git.kernel.org/linus/b6213e413a4e0c66548153516b074df14f9d08e0 -Bug: https://bugzilla.kernel.org/show_bug.cgi?id=54391 -Bug-Debian: http://bugs.debian.org/739978 - -This patch fixes regression caused by commit a16dad77634 "MIPS: Fix -potencial corruption". That commit fixes one corruption scenario in -cost of adding another one, which actually start to cause crashes -on Yeeloong laptop when rtl8187 driver is used. - -For correct DMA read operation on machines without DMA coherence, kernel -have to invalidate cache, such it will refill later with new data that -device wrote to memory, when that data is needed to process. We can only -invalidate full cache line. Hence when cache line includes both dma -buffer and some other data (written in cache, but not yet in main -memory), the other data can not hit memory due to invalidation. That -happen on rtl8187 where struct rtl8187_priv fields are located just -before and after small buffers that are passed to USB layer and DMA -is performed on them. - -To fix the problem we align buffers and reserve space after them to make -them match cache line. - -This patch does not resolve all possible MIPS problems entirely, for -that we have to assure that we always map cache aligned buffers for DMA, -what can be complex or even not possible. But patch fixes visible and -reproducible regression and seems other possible corruptions do not -happen in practice, since Yeeloong laptop works stable without rtl8187 -driver. - -Bug report: -https://bugzilla.kernel.org/show_bug.cgi?id=54391 - -Reported-by: Petr Pisar -Bisected-by: Tom Li -Reported-and-tested-by: Tom Li -Cc: stable@vger.kernel.org -Signed-off-by: Stanislaw Gruszka -Acked-by: Larry Finger -Acked-by: Hin-Tak Leung -Signed-off-by: John W. Linville ---- - drivers/net/wireless/rtl818x/rtl8187/rtl8187.h | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h b/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h -index 56aee06..a6ad79f 100644 ---- a/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h -+++ b/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h -@@ -15,6 +15,8 @@ - #ifndef RTL8187_H - #define RTL8187_H - -+#include -+ - #include "rtl818x.h" - #include "leds.h" - -@@ -139,7 +141,10 @@ struct rtl8187_priv { - u8 aifsn[4]; - u8 rfkill_mask; - struct { -- __le64 buf; -+ union { -+ __le64 buf; -+ u8 dummy1[L1_CACHE_BYTES]; -+ } ____cacheline_aligned; - struct sk_buff_head queue; - } b_tx_status; /* This queue is used by both -b and non-b devices */ - struct mutex io_mutex; -@@ -147,7 +152,8 @@ struct rtl8187_priv { - u8 bits8; - __le16 bits16; - __le32 bits32; -- } *io_dmabuf; -+ u8 dummy2[L1_CACHE_BYTES]; -+ } *io_dmabuf ____cacheline_aligned; - bool rfkill_off; - u16 seqno; - }; diff --git a/debian/patches/bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch b/debian/patches/bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch deleted file mode 100644 index c0870bb38..000000000 --- a/debian/patches/bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Ben Hutchings -Date: Sun, 29 Dec 2013 23:20:30 +0100 -Subject: staging: lustre: Make LUSTRE_LLITE_LLOOP tristate -Forwarded: http://mid.gmane.org/1388356095.2900.34.camel@deadeye.wl.decadent.org.uk - -There seems to be no reason why it can't be a module; in fact that is -currently supposed to be the default. - -Signed-off-by: Ben Hutchings ---- - drivers/staging/lustre/lustre/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/staging/lustre/lustre/Kconfig b/drivers/staging/lustre/lustre/Kconfig -index 2156a44..faa01fa 100644 ---- a/drivers/staging/lustre/lustre/Kconfig -+++ b/drivers/staging/lustre/lustre/Kconfig -@@ -55,6 +55,6 @@ config LUSTRE_TRANSLATE_ERRNOS - default y - - config LUSTRE_LLITE_LLOOP -- bool "Lustre virtual block device" -+ tristate "Lustre virtual block device" - depends on LUSTRE_FS && BLOCK - default m diff --git a/debian/patches/bugfix/arm/omap-musb-choice.patch b/debian/patches/bugfix/arm/omap-musb-choice.patch index cd4c4456a..d69bbd46e 100644 --- a/debian/patches/bugfix/arm/omap-musb-choice.patch +++ b/debian/patches/bugfix/arm/omap-musb-choice.patch @@ -22,9 +22,9 @@ Signed-off-by: Arnaud Patard config USB_MUSB_DAVINCI tristate "DaVinci" depends on ARCH_DAVINCI_DMx -@@ -93,8 +90,6 @@ config USB_MUSB_BLACKFIN - config USB_MUSB_UX500 - tristate "Ux500 platforms" +@@ -99,8 +96,6 @@ config USB_MUSB_JZ4740 + depends on USB_MUSB_GADGET + depends on USB_OTG_BLACKLIST_HUB -endchoice - diff --git a/debian/patches/debian/dfsg/files-1 b/debian/patches/debian/dfsg/files-1 index 2950d5571..25dd75a7c 100644 --- a/debian/patches/debian/dfsg/files-1 +++ b/debian/patches/debian/dfsg/files-1 @@ -28,6 +28,3 @@ rm drivers/staging/wlags49_h2/sta_*.c # These include apparently obfuscated code rm drivers/video/nvidia/ rm drivers/video/riva/ - -rm sound/pci/cs46xx/cs46xx_image.h -rm sound/pci/cs46xx/imgs diff --git a/debian/patches/debian/dfsg/sound-pci.patch b/debian/patches/debian/dfsg/sound-pci.patch deleted file mode 100644 index 205e3a546..000000000 --- a/debian/patches/debian/dfsg/sound-pci.patch +++ /dev/null @@ -1,13 +0,0 @@ -From: Bastian Blank -Subject: Drop files from sound/pci -Date: Sat, 15 Sep 2007 20:18:32 +0100 -Forwarded: not-needed - ---- a/sound/pci/Kconfig -+++ b/sound/pci/Kconfig -@@ -229,4 +229,5 @@ config SND_CS46XX - config SND_CS46XX - tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" -+ depends on BROKEN - select SND_RAWMIDI - select SND_AC97_CODEC diff --git a/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch b/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch index a6bc970ea..6b8c071cf 100644 --- a/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch +++ b/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Ben Hutchings --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -513,8 +513,8 @@ bytes respectively. Such letter suffixes +@@ -532,8 +532,8 @@ bytes respectively. Such letter suffixes ccw_timeout_log [S390] See Documentation/s390/CommonIO for details. @@ -27,12 +27,12 @@ Signed-off-by: Ben Hutchings - Format: {name of the controller(s) to disable} + cgroup_disable= [KNL] Disable/enable a particular controller + cgroup_enable= Format: {name of the controller(s) to disable/enable} - {Currently supported controllers - "memory"} - - checkreqprot [SELINUX] Set initial checkreqprot flag value. + The effects of cgroup_disable=foo are: + - foo isn't auto-mounted if you mount all cgroups in + a single hierarchy --- a/init/Kconfig +++ b/init/Kconfig -@@ -934,6 +934,14 @@ config MEMCG +@@ -940,6 +940,14 @@ config MEMCG This config option also selects MM_OWNER config option, which could in turn add some fork/exit overhead. @@ -49,7 +49,7 @@ Signed-off-by: Ben Hutchings depends on MEMCG && SWAP --- a/kernel/cgroup.c +++ b/kernel/cgroup.c -@@ -5442,7 +5442,7 @@ static void cgroup_release_agent(struct +@@ -5222,7 +5222,7 @@ static void cgroup_release_agent(struct mutex_unlock(&cgroup_mutex); } @@ -58,7 +58,7 @@ Signed-off-by: Ben Hutchings { struct cgroup_subsys *ss; char *token; -@@ -5458,17 +5458,29 @@ static int __init cgroup_disable(char *s +@@ -5238,17 +5238,29 @@ static int __init cgroup_disable(char *s */ for_each_builtin_subsys(ss, i) { if (!strcmp(token, ss->name)) { @@ -93,7 +93,7 @@ Signed-off-by: Ben Hutchings * @dentry: directory dentry of interest --- a/mm/memcontrol.c +++ b/mm/memcontrol.c -@@ -7002,6 +7002,9 @@ static void mem_cgroup_bind(struct cgrou +@@ -7266,6 +7266,9 @@ static void mem_cgroup_bind(struct cgrou struct cgroup_subsys mem_cgroup_subsys = { .name = "memory", diff --git a/debian/patches/features/all/doc-build-parallel.patch b/debian/patches/features/all/doc-build-parallel.patch deleted file mode 100644 index f760a179b..000000000 --- a/debian/patches/features/all/doc-build-parallel.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Ben Hutchings -Date: Mon, 30 Sep 2013 01:51:23 +0100 -Subject: DocBook: Make mandocs parallel-safe -Forwarded: http://mid.gmane.org/1380502603.14493.9.camel@deadeye.wl.decadent.org.uk - -Two concurrent calls to cmd_db2man may attempt to compress manual -pages generated by each other. gzip can then fail due to an input -file having already been compressed and removed. - -Move the gzip command to the top-level mandocs target. - -Signed-off-by: Ben Hutchings -Cc: Bastian Blank ---- - Documentation/DocBook/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile -index bc3d9f8..b07b5f3 100644 ---- a/Documentation/DocBook/Makefile -+++ b/Documentation/DocBook/Makefile -@@ -54,6 +54,7 @@ htmldocs: $(HTML) - - MAN := $(patsubst %.xml, %.9, $(BOOKS)) - mandocs: $(MAN) -+ $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9) - - installmandocs: mandocs - mkdir -p /usr/local/man/man9/ -@@ -159,7 +160,7 @@ quiet_cmd_db2html = HTML $@ - cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi - - quiet_cmd_db2man = MAN $@ -- cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; gzip -f $(obj)/man/*.9; fi -+ cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi - %.9 : %.xml - @(which xmlto > /dev/null 2>&1) || \ - (echo "*** You need to install xmlto ***"; \ diff --git a/debian/patches/features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch b/debian/patches/features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch deleted file mode 100644 index ea1f60c1d..000000000 --- a/debian/patches/features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch +++ /dev/null @@ -1,131 +0,0 @@ -From: Roland Scheidegger -Date: Sat, 2 Nov 2013 16:49:32 -0300 -Subject: [media] az6007: support Technisat Cablestar Combo HDCI (minus remote) -Origin: http://git.linuxtv.org/media_tree.git/commit/431cb350187c6bf1ed083622d633418a298a7216 - -This is similar to the Terratec H7. It works with the same az6007 firmware as -the former, however the drx-k firmware of the H7 will NOT work. Hence use -a different firmware name. The firmware does not need to exist as the one in -the eeprom is just fine as long as the h7 one doesn't get loaded, but maybe -some day someone wants to load it (the one from the h5 would work too). -Also since the config entry is now different anyway disable support for rc. -AFAIK the Technisat remote (TS35) is RC5 and the code (which a code comment -claims doesn't work anyway) only would handle NEC hence it's pointless creating -a device and polling it if we already know it can't work. -CI is untested. - -Originally based on idea found on -http://www.linuxtv.org/wiki/index.php/TechniSat_CableStar_Combo_HD_CI claiming -only id needs to be added (but failed to mention it only worked because the -driver couldn't find the h7 drx-k firmware...). - -Signed-off-by: Roland Scheidegger -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/media/dvb-core/dvb-usb-ids.h | 1 + - drivers/media/usb/dvb-usb-v2/az6007.c | 59 +++++++++++++++++++++++++++++++++++ - 2 files changed, 60 insertions(+) - -diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h -index 419a2d6..4a53454 100644 ---- a/drivers/media/dvb-core/dvb-usb-ids.h -+++ b/drivers/media/dvb-core/dvb-usb-ids.h -@@ -365,6 +365,7 @@ - #define USB_PID_TERRATEC_DVBS2CI_V2 0x10ac - #define USB_PID_TECHNISAT_USB2_HDCI_V1 0x0001 - #define USB_PID_TECHNISAT_USB2_HDCI_V2 0x0002 -+#define USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI 0x0003 - #define USB_PID_TECHNISAT_AIRSTAR_TELESTICK_2 0x0004 - #define USB_PID_TECHNISAT_USB2_DVB_S2 0x0500 - #define USB_PID_CPYTO_REDI_PC50A 0xa803 -diff --git a/drivers/media/usb/dvb-usb-v2/az6007.c b/drivers/media/usb/dvb-usb-v2/az6007.c -index 44c64ef3..c1051c3 100644 ---- a/drivers/media/usb/dvb-usb-v2/az6007.c -+++ b/drivers/media/usb/dvb-usb-v2/az6007.c -@@ -68,6 +68,19 @@ static struct drxk_config terratec_h7_drxk = { - .microcode_name = "dvb-usb-terratec-h7-drxk.fw", - }; - -+static struct drxk_config cablestar_hdci_drxk = { -+ .adr = 0x29, -+ .parallel_ts = true, -+ .dynamic_clk = true, -+ .single_master = true, -+ .enable_merr_cfg = true, -+ .no_i2c_bridge = false, -+ .chunk_size = 64, -+ .mpeg_out_clk_strength = 0x02, -+ .qam_demod_parameter_count = 2, -+ .microcode_name = "dvb-usb-technisat-cablestar-hdci-drxk.fw", -+}; -+ - static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable) - { - struct az6007_device_state *st = fe_to_priv(fe); -@@ -630,6 +643,27 @@ static int az6007_frontend_attach(struct dvb_usb_adapter *adap) - return 0; - } - -+static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap) -+{ -+ struct az6007_device_state *st = adap_to_priv(adap); -+ struct dvb_usb_device *d = adap_to_d(adap); -+ -+ pr_debug("attaching demod drxk\n"); -+ -+ adap->fe[0] = dvb_attach(drxk_attach, &cablestar_hdci_drxk, -+ &d->i2c_adap); -+ if (!adap->fe[0]) -+ return -EINVAL; -+ -+ adap->fe[0]->sec_priv = adap; -+ st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl; -+ adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl; -+ -+ az6007_ci_init(adap); -+ -+ return 0; -+} -+ - static int az6007_tuner_attach(struct dvb_usb_adapter *adap) - { - struct dvb_usb_device *d = adap_to_d(adap); -@@ -868,6 +902,29 @@ static struct dvb_usb_device_properties az6007_props = { - } - }; - -+static struct dvb_usb_device_properties az6007_cablestar_hdci_props = { -+ .driver_name = KBUILD_MODNAME, -+ .owner = THIS_MODULE, -+ .firmware = AZ6007_FIRMWARE, -+ -+ .adapter_nr = adapter_nr, -+ .size_of_priv = sizeof(struct az6007_device_state), -+ .i2c_algo = &az6007_i2c_algo, -+ .tuner_attach = az6007_tuner_attach, -+ .frontend_attach = az6007_cablestar_hdci_frontend_attach, -+ .streaming_ctrl = az6007_streaming_ctrl, -+/* ditch get_rc_config as it can't work (TS35 remote, I believe it's rc5) */ -+ .get_rc_config = NULL, -+ .read_mac_address = az6007_read_mac_addr, -+ .download_firmware = az6007_download_firmware, -+ .identify_state = az6007_identify_state, -+ .power_ctrl = az6007_power_ctrl, -+ .num_adapters = 1, -+ .adapter = { -+ { .stream = DVB_USB_STREAM_BULK(0x02, 10, 4096), } -+ } -+}; -+ - static struct usb_device_id az6007_usb_table[] = { - {DVB_USB_DEVICE(USB_VID_AZUREWAVE, USB_PID_AZUREWAVE_6007, - &az6007_props, "Azurewave 6007", RC_MAP_EMPTY)}, -@@ -875,6 +932,8 @@ static struct usb_device_id az6007_usb_table[] = { - &az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)}, - {DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_H7_2, - &az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)}, -+ {DVB_USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI, -+ &az6007_cablestar_hdci_props, "Technisat CableStar Combo HD CI", RC_MAP_EMPTY)}, - {0}, - }; - diff --git a/debian/patches/features/all/sound-pci-cs46xx-request_firmware.patch b/debian/patches/features/all/sound-pci-cs46xx-request_firmware.patch deleted file mode 100644 index 7d1a77735..000000000 --- a/debian/patches/features/all/sound-pci-cs46xx-request_firmware.patch +++ /dev/null @@ -1,174 +0,0 @@ -From: Ben Hutchings -Subject: cs46xx: Use request_firmware() for old DSP code -Forwarded: no - -Based on work by Kalle Olavi Niemitalo . - -Tested by Antonio Ospite . -Unfortunately we cannot currently distribute the firmware. - -diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig -index 17e03b9..124b3a0 100644 ---- a/sound/pci/Kconfig -+++ b/sound/pci/Kconfig -@@ -229,7 +229,7 @@ config SND_CS4281 - - config SND_CS46XX - tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" -- depends on BROKEN -+ select FW_LOADER - select SND_RAWMIDI - select SND_AC97_CODEC - help -@@ -241,6 +241,7 @@ config SND_CS46XX - - config SND_CS46XX_NEW_DSP - bool "Cirrus Logic (Sound Fusion) New DSP support" -+ depends on BROKEN - depends on SND_CS46XX - default y - help -diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c -index 1be96ea..b12b930 100644 ---- a/sound/pci/cs46xx/cs46xx_lib.c -+++ b/sound/pci/cs46xx/cs46xx_lib.c -@@ -54,6 +54,8 @@ - #include - #include - #include -+#include -+#include - - - #include -@@ -308,7 +309,7 @@ static void snd_cs46xx_ac97_write(struct snd_ac97 *ac97, - */ - - int snd_cs46xx_download(struct snd_cs46xx *chip, -- u32 *src, -+ const __le32 *src, - unsigned long offset, - unsigned long len) - { -@@ -321,9 +322,9 @@ int snd_cs46xx_download(struct snd_cs46xx *chip, - dst = chip->region.idx[bank+1].remap_addr + offset; - len /= sizeof(u32); - -- /* writel already converts 32-bit value to right endianess */ - while (len-- > 0) { -- writel(*src++, dst); -+ __raw_writel((__force u32)*src++, dst); -+ mmiowb(); - dst += sizeof(u32); - } - return 0; -@@ -360,23 +361,77 @@ int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, - - #else /* old DSP image */ - --#include "cs46xx_image.h" -+struct cs46xx_old_image { -+ __le32 size[BA1_MEMORY_COUNT]; -+ __le32 data[0]; -+}; - --int snd_cs46xx_download_image(struct snd_cs46xx *chip) -+static int snd_cs46xx_check_image_size(const struct firmware *firmware) - { -- int idx, err; -- unsigned long offset = 0; -+ const struct cs46xx_old_image *image = -+ (const struct cs46xx_old_image *)firmware->data; -+ size_t offset = sizeof(*image); -+ int idx; -+ -+ if (firmware->size < offset) { -+ snd_printk(KERN_ERR "cs46xx: firmware too small\n"); -+ return -EINVAL; -+ } - - for (idx = 0; idx < BA1_MEMORY_COUNT; idx++) { -- if ((err = snd_cs46xx_download(chip, -- &BA1Struct.map[offset], -- BA1Struct.memory[idx].offset, -- BA1Struct.memory[idx].size)) < 0) -- return err; -- offset += BA1Struct.memory[idx].size >> 2; -- } -+ size_t size = le32_to_cpu(image->size[idx]); -+ -+ if (size % sizeof(u32)) { -+ snd_printk(KERN_ERR "cs46xx: firmware hunk misaligned\n"); -+ return -EINVAL; -+ } -+ if (size > BA1_DWORD_SIZE * sizeof(u32)) { -+ snd_printk(KERN_ERR "cs46xx: firmware hunk out of range\n"); -+ return -EINVAL; -+ } -+ offset += size; -+ } -+ -+ if (firmware->size != offset) { -+ snd_printk(KERN_ERR "cs46xx: firmware size mismatch\n"); -+ return -EINVAL; -+ } -+ - return 0; - } -+ -+static int snd_cs46xx_download_image(struct snd_cs46xx *chip) -+{ -+ int idx, err; -+ const struct firmware *firmware = NULL; -+ const struct cs46xx_old_image *image; -+ const __le32 *data; -+ -+ err = request_firmware(&firmware, "cs46xx/cs46xx-old.fw", -+ &chip->pci->dev); -+ if (err < 0) { -+ snd_printk(KERN_ERR "cs46xx: no firmware\n"); -+ return err; -+ } -+ -+ err = snd_cs46xx_check_image_size(firmware); -+ if (err < 0) -+ goto end; -+ image = (const struct cs46xx_old_image *)firmware->data; -+ data = image->data; -+ -+ for (idx = 0; idx < BA1_MEMORY_COUNT; idx++) { -+ size_t size = le32_to_cpu(image->size[idx]); -+ -+ err = snd_cs46xx_download(chip, data, idx << 16, size); -+ if (err < 0) -+ goto end; -+ data += size / sizeof(u32); -+ } -+end: -+ release_firmware(firmware); -+ return err; -+} - #endif /* CONFIG_SND_CS46XX_NEW_DSP */ - - /* -@@ -3874,3 +3929,5 @@ int __devinit snd_cs46xx_create(struct snd_card *card, - *rchip = chip; - return 0; - } -+ -+MODULE_FIRMWARE("cs46xx/cs46xx-old.fw"); -diff --git a/sound/pci/cs46xx/cs46xx_lib.h b/sound/pci/cs46xx/cs46xx_lib.h -index 4eb55aa..85babb5 100644 ---- a/sound/pci/cs46xx/cs46xx_lib.h -+++ b/sound/pci/cs46xx/cs46xx_lib.h -@@ -103,8 +103,8 @@ int cs46xx_dsp_proc_done (struct snd_cs46xx *chip); - #define cs46xx_dsp_proc_done(chip) - #endif - int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip); --int snd_cs46xx_download (struct snd_cs46xx *chip, u32 *src, unsigned long offset, -- unsigned long len); -+int snd_cs46xx_download(struct snd_cs46xx *chip, const __le32 *src, unsigned long offset, -+ unsigned long len); - int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, unsigned long offset, unsigned long len); - int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip); - int cs46xx_dsp_enable_spdif_hw (struct snd_cs46xx *chip); diff --git a/debian/patches/features/all/xen/microcode-amd-fam15plus.patch b/debian/patches/features/all/xen/microcode-amd-fam15plus.patch index a1135d2e2..fdad09635 100644 --- a/debian/patches/features/all/xen/microcode-amd-fam15plus.patch +++ b/debian/patches/features/all/xen/microcode-amd-fam15plus.patch @@ -5,14 +5,15 @@ Origin: https://git.kernel.org/cgit/linux/kernel/git/konrad/xen.git/commit?id=db Signed-off-by: Ian Campbell Signed-off-by: Konrad Rzeszutek Wilk +[bwh: Forward-port to 3.14: adjust filename] --- - arch/x86/kernel/microcode_xen.c | 8 ++++++-- + arch/x86/kernel/cpu/microcode/xen.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) -diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c +diff --git a/arch/x86/kernel/cpu/microcode/xen.c b/arch/x86/kernel/cpu/microcode/xen.c index 6a73957..9e50566 100644 ---- a/arch/x86/kernel/microcode_xen.c -+++ b/arch/x86/kernel/microcode_xen.c +--- a/arch/x86/kernel/cpu/microcode/xen.c ++++ b/arch/x86/kernel/cpu/microcode/xen.c @@ -58,7 +58,7 @@ static int xen_microcode_update(int cpu) static enum ucode_state xen_request_microcode_fw(int cpu, struct device *device) diff --git a/debian/patches/features/all/xen/microcode-api-update.patch b/debian/patches/features/all/xen/microcode-api-update.patch index a340ec06f..1acb8c4ec 100644 --- a/debian/patches/features/all/xen/microcode-api-update.patch +++ b/debian/patches/features/all/xen/microcode-api-update.patch @@ -4,14 +4,15 @@ Subject: microcode_xen: update for changed core API Forwarded: no Signed-off-by: Ian Campbell +[bwh: Forward-port to 3.14: adjust filename] --- - arch/x86/kernel/microcode_xen.c | 3 ++- + arch/x86/kernel/cpu/microcode/xen.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) -diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c +diff --git a/arch/x86/kernel/cpu/microcode/xen.c b/arch/x86/kernel/cpu/microcode/xen.c index 9e50566..6b7aa48 100644 ---- a/arch/x86/kernel/microcode_xen.c -+++ b/arch/x86/kernel/microcode_xen.c +--- a/arch/x86/kernel/cpu/microcode/xen.c ++++ b/arch/x86/kernel/cpu/microcode/xen.c @@ -56,7 +56,8 @@ static int xen_microcode_update(int cpu) return err; } diff --git a/debian/patches/features/all/xen/microcode-typo.patch b/debian/patches/features/all/xen/microcode-typo.patch index 26eccc105..a07204fb3 100644 --- a/debian/patches/features/all/xen/microcode-typo.patch +++ b/debian/patches/features/all/xen/microcode-typo.patch @@ -7,15 +7,14 @@ After pulling in this change from your tree, I found the following bug, when checking an enum value, which should be considered before inclusion: Signed-off-by: Konrad Rzeszutek Wilk +[bwh: Forward-port to 3.14: adjust filename] --- - arch/x86/kernel/microcode_xen.c | 2 +- + arch/x86/kernel/cpu/microcode/xen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c -index 9d2a06b..6a73957 100644 ---- a/arch/x86/kernel/microcode_xen.c -+++ b/arch/x86/kernel/microcode_xen.c -@@ -157,7 +157,7 @@ static enum ucode_state xen_request_microcode_user(int cpu, +--- a/arch/x86/kernel/cpu/microcode/xen.c ++++ b/arch/x86/kernel/cpu/microcode/xen.c +@@ -161,7 +161,7 @@ static enum ucode_state xen_request_micr ret = UCODE_OK; out: diff --git a/debian/patches/features/all/xen/microcode.patch b/debian/patches/features/all/xen/microcode.patch index 5b197aa3d..36ab9a504 100644 --- a/debian/patches/features/all/xen/microcode.patch +++ b/debian/patches/features/all/xen/microcode.patch @@ -13,19 +13,11 @@ doing anything for cpu "0". [ Impact: allow CPU microcode update in Xen dom0 ] Signed-off-by: Jeremy Fitzhardinge +[bwh: Forward-port to 3.14: adjust filenames, context] --- - - arch/x86/include/asm/microcode.h | 9 ++ - arch/x86/kernel/Makefile | 1 + - arch/x86/kernel/microcode_core.c | 5 +- - arch/x86/kernel/microcode_xen.c | 198 ++++++++++++++++++++++++++++++++++++++ - arch/x86/xen/Kconfig | 4 + - 5 files changed, 216 insertions(+), 1 deletion(-) - create mode 100644 arch/x86/kernel/microcode_xen.c - --- a/arch/x86/include/asm/microcode.h +++ b/arch/x86/include/asm/microcode.h -@@ -71,4 +71,13 @@ static inline int __init save_microcode_ +@@ -86,4 +86,13 @@ static inline int __init save_microcode_ } #endif @@ -39,18 +31,18 @@ Signed-off-by: Jeremy Fitzhardinge +#endif + #endif /* _ASM_X86_MICROCODE_H */ ---- a/arch/x86/kernel/Makefile -+++ b/arch/x86/kernel/Makefile -@@ -95,6 +95,7 @@ obj-$(CONFIG_MICROCODE_INTEL_LIB) += mic - microcode-y := microcode_core.o - microcode-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o - microcode-$(CONFIG_MICROCODE_AMD) += microcode_amd.o -+microcode-$(CONFIG_MICROCODE_XEN) += microcode_xen.o - obj-$(CONFIG_MICROCODE_AMD_EARLY) += microcode_amd_early.o +--- a/arch/x86/kernel/cpu/microcode/Makefile ++++ b/arch/x86/kernel/cpu/microcode/Makefile +@@ -2,6 +2,7 @@ microcode-y := core.o obj-$(CONFIG_MICROCODE) += microcode.o - ---- a/arch/x86/kernel/microcode_core.c -+++ b/arch/x86/kernel/microcode_core.c + microcode-$(CONFIG_MICROCODE_INTEL) += intel.o intel_lib.o + microcode-$(CONFIG_MICROCODE_AMD) += amd.o ++microcode-$(CONFIG_MICROCODE_XEN) += xen.o + obj-$(CONFIG_MICROCODE_EARLY) += core_early.o + obj-$(CONFIG_MICROCODE_INTEL_EARLY) += intel_early.o + obj-$(CONFIG_MICROCODE_AMD_EARLY) += amd_early.o +--- a/arch/x86/kernel/cpu/microcode/core.c ++++ b/arch/x86/kernel/cpu/microcode/core.c @@ -84,6 +84,7 @@ #include #include @@ -71,7 +63,7 @@ Signed-off-by: Jeremy Fitzhardinge else if (c->x86_vendor == X86_VENDOR_AMD) microcode_ops = init_amd_microcode(); --- /dev/null -+++ b/arch/x86/kernel/microcode_xen.c ++++ b/arch/x86/kernel/cpu/microcode/xen.c @@ -0,0 +1,198 @@ +/* + * Xen microcode update driver @@ -273,10 +265,11 @@ Signed-off-by: Jeremy Fitzhardinge +} --- a/arch/x86/xen/Kconfig +++ b/arch/x86/xen/Kconfig -@@ -51,3 +51,6 @@ config XEN_DEBUG_FS - Enable statistics output and various tuning options in debugfs. - Enabling this option may incur a significant performance overhead. - +@@ -55,3 +55,7 @@ config XEN_PVH + bool "Support for running as a PVH guest" + depends on X86_64 && XEN && XEN_PVHVM + def_bool n ++ +config MICROCODE_XEN + def_bool y + depends on XEN_DOM0 && MICROCODE diff --git a/debian/patches/series b/debian/patches/series index da91cfd74..240df392f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,7 +1,6 @@ # Changes to support package build system debian/version.patch debian/kernelvariables.patch -features/all/doc-build-parallel.patch debian/gitignore.patch debian/ia64-hardcode-arch-script-output.patch debian/mips-disable-werror.patch @@ -11,9 +10,7 @@ features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch # Fixes/improvements to firmware loading features/all/drivers-media-dvb-usb-af9005-request_firmware.patch -features/all/sound-pci-cs46xx-request_firmware.patch debian/iwlwifi-do-not-request-unreleased-firmware.patch -bugfix/all/firmware_class-fix-read-size-check.patch bugfix/all/firmware_class-return-specific-errors-from-file-read.patch bugfix/all/firmware_class-log-every-success-and-failure.patch bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch @@ -74,9 +71,5 @@ features/all/mvsas-Recognise-device-subsystem-9485-9485-as-88SE94.patch bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch bugfix/all/disable-some-marvell-phys.patch -features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch -bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch -bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch debian/snd-pcsp-disable-autoload.patch bugfix/all/bluetooth-allocate-static-minor-for-vhci.patch -bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch diff --git a/debian/patches/series-orig b/debian/patches/series-orig index dec2c3e59..a3556c7a5 100644 --- a/debian/patches/series-orig +++ b/debian/patches/series-orig @@ -7,5 +7,4 @@ + debian/dfsg/video-remove-nvidiafb-and-rivafb.patch + debian/dfsg/r8192e-remove-firmware-again.patch + debian/dfsg/firmware-cleanup.patch -+ debian/dfsg/sound-pci.patch X debian/dfsg/files-1