[linux] 01/04: Update to 4.13-rc4

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Sun Aug 13 17:52:45 UTC 2017


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch master
in repository linux.

commit d545b4e4d089b4c0910c4360caecc86802d2beed
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Sun Aug 13 14:45:14 2017 +0100

    Update to 4.13-rc4
    
    Drop and refresh patchs as appropriate.
---
 debian/changelog                                   |   6 +
 .../bugfix/all/disable-some-marvell-phys.patch     |  18 +--
 ...emove-redundant-log-messages-from-drivers.patch |  80 ++++++------
 ...mware_class-log-every-success-and-failure.patch |   8 +-
 .../all/kbuild-use-nostdinc-in-compile-tests.patch |  20 +--
 ...dule-disable-matching-missing-version-crc.patch |   6 +-
 ...s-required-for-drm-and-kms-on-r600-onward.patch |   8 +-
 ...wlwifi-do-not-request-unreleased-firmware.patch |   4 +-
 .../revert-gpu-host1x-add-iommu-support.patch      |  48 +++----
 debian/patches/features/all/aufs4/aufs4-base.patch |  54 +++-----
 ...rdware-config-module-parameters-in-driver.patch |  52 --------
 ...rockchip-add-arm-mali-gpu-node-for-rk3288.patch |  75 -----------
 ...kchip-enable-arm-mali-gpu-on-rk3288-firef.patch |  29 -----
 ...kchip-enable-arm-mali-gpu-on-rk3288-rock2.patch |  29 -----
 ...kchip-enable-arm-mali-gpu-on-rk3288-veyro.patch |  30 -----
 ...-gpu-add-bindings-for-the-arm-mali-midgar.patch | 140 ---------------------
 ...arvell-Enable-second-SDHCI-controller-in-.patch |  67 ----------
 debian/patches/series                              |   7 --
 18 files changed, 119 insertions(+), 562 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 27f62e9..7040145 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+linux (4.13~rc4-1~exp1) UNRELEASED; urgency=medium
+
+  * New upstream release candidate
+
+ -- Ben Hutchings <ben at decadent.org.uk>  Sun, 13 Aug 2017 14:10:41 +0100
+
 linux (4.12.6-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 697929b..3c40fe1 100644
--- a/debian/patches/bugfix/all/disable-some-marvell-phys.patch
+++ b/debian/patches/bugfix/all/disable-some-marvell-phys.patch
@@ -16,7 +16,7 @@ correctness.
 
 --- a/drivers/net/phy/marvell.c
 +++ b/drivers/net/phy/marvell.c
-@@ -906,6 +906,7 @@ static int m88e1118_config_init(struct p
+@@ -964,6 +964,7 @@ static int m88e1118_config_init(struct p
  	return phy_write(phydev, MII_BMCR, BMCR_RESET);
  }
  
@@ -24,17 +24,17 @@ correctness.
  static int m88e1149_config_init(struct phy_device *phydev)
  {
  	int err;
-@@ -931,7 +932,9 @@ static int m88e1149_config_init(struct p
+@@ -989,7 +990,9 @@ static int m88e1149_config_init(struct p
  
  	return phy_write(phydev, MII_BMCR, BMCR_RESET);
  }
 +#endif
  
 +#if 0
- static int m88e1145_config_init(struct phy_device *phydev)
+ static int m88e1145_config_init_rgmii(struct phy_device *phydev)
  {
  	int err;
-@@ -1012,6 +1015,7 @@ static int m88e1145_config_init(struct p
+@@ -1083,6 +1086,7 @@ static int m88e1145_config_init(struct p
  
  	return 0;
  }
@@ -42,7 +42,7 @@ correctness.
  
  /**
   * fiber_lpa_to_ethtool_lpa_t
-@@ -1595,6 +1599,7 @@ static struct phy_driver marvell_drivers
+@@ -2079,6 +2083,7 @@ static struct phy_driver marvell_drivers
  		.get_strings = marvell_get_strings,
  		.get_stats = marvell_get_stats,
  	},
@@ -50,7 +50,7 @@ correctness.
  	{
  		.phy_id = MARVELL_PHY_ID_88E1145,
  		.phy_id_mask = MARVELL_PHY_ID_MASK,
-@@ -1613,6 +1618,8 @@ static struct phy_driver marvell_drivers
+@@ -2097,6 +2102,8 @@ static struct phy_driver marvell_drivers
  		.get_strings = marvell_get_strings,
  		.get_stats = marvell_get_stats,
  	},
@@ -59,7 +59,7 @@ correctness.
  	{
  		.phy_id = MARVELL_PHY_ID_88E1149R,
  		.phy_id_mask = MARVELL_PHY_ID_MASK,
-@@ -1631,6 +1638,8 @@ static struct phy_driver marvell_drivers
+@@ -2115,6 +2122,8 @@ static struct phy_driver marvell_drivers
  		.get_strings = marvell_get_strings,
  		.get_stats = marvell_get_stats,
  	},
@@ -68,7 +68,7 @@ correctness.
  	{
  		.phy_id = MARVELL_PHY_ID_88E1240,
  		.phy_id_mask = MARVELL_PHY_ID_MASK,
-@@ -1649,6 +1658,7 @@ static struct phy_driver marvell_drivers
+@@ -2133,6 +2142,7 @@ static struct phy_driver marvell_drivers
  		.get_strings = marvell_get_strings,
  		.get_stats = marvell_get_stats,
  	},
@@ -76,7 +76,7 @@ correctness.
  	{
  		.phy_id = MARVELL_PHY_ID_88E1116R,
  		.phy_id_mask = MARVELL_PHY_ID_MASK,
-@@ -1735,9 +1745,9 @@ static struct mdio_device_id __maybe_unu
+@@ -2260,9 +2270,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 7f9d96d..d6be1f6 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
@@ -81,7 +81,7 @@ upstream submission.
    rec = (const struct ihex_binrec *)fw->data;
 --- a/drivers/atm/fore200e.c
 +++ b/drivers/atm/fore200e.c
-@@ -2506,10 +2506,9 @@ static int fore200e_load_and_start_fw(st
+@@ -2496,10 +2496,9 @@ static int fore200e_load_and_start_fw(st
  	return err;
  
      sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT);
@@ -352,7 +352,7 @@ upstream submission.
  	}
 --- a/drivers/media/usb/dvb-usb/dib0700_devices.c
 +++ b/drivers/media/usb/dvb-usb/dib0700_devices.c
-@@ -2410,12 +2410,9 @@ static int stk9090m_frontend_attach(stru
+@@ -2411,12 +2411,9 @@ static int stk9090m_frontend_attach(stru
  
  	dib9000_i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x80);
  
@@ -367,7 +367,7 @@ upstream submission.
  	stk9090m_config.microcode_B_fe_size = state->frontend_firmware->size;
  	stk9090m_config.microcode_B_fe_buffer = state->frontend_firmware->data;
  
-@@ -2476,12 +2473,9 @@ static int nim9090md_frontend_attach(str
+@@ -2477,12 +2474,9 @@ static int nim9090md_frontend_attach(str
  	msleep(20);
  	dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1);
  
@@ -436,27 +436,25 @@ upstream submission.
  		p = kmalloc(fw->size, GFP_KERNEL);
 --- a/drivers/media/dvb-frontends/af9013.c
 +++ b/drivers/media/dvb-frontends/af9013.c
-@@ -1376,16 +1376,8 @@ static int af9013_download_firmware(stru
+@@ -1140,14 +1140,8 @@ static int af9013_download_firmware(stru
  
- 	/* request the firmware, this will block and timeout */
- 	ret = request_firmware(&fw, fw_file, state->i2c->dev.parent);
+ 	/* Request the firmware, will block and timeout */
+ 	ret = request_firmware(&firmware, name, &client->dev);
 -	if (ret) {
--		dev_info(&state->i2c->dev, "%s: did not find the firmware " \
--			"file. (%s) Please see linux/Documentation/dvb/ for " \
--			"more details on firmware-problems. (%d)\n",
--			KBUILD_MODNAME, fw_file, ret);
+-		dev_info(&client->dev, "firmware file '%s' not found %d\n",
+-			 name, ret);
 +	if (ret)
  		goto err;
 -	}
 -
--	dev_info(&state->i2c->dev, "%s: downloading firmware from file '%s'\n",
--			KBUILD_MODNAME, fw_file);
+-	dev_info(&client->dev, "downloading firmware from file '%s'\n",
+-		 name);
  
- 	/* calc checksum */
- 	for (i = 0; i < fw->size; i++)
+ 	/* Write firmware checksum & size */
+ 	for (i = 0; i < firmware->size; i++)
 --- a/drivers/media/dvb-frontends/bcm3510.c
 +++ b/drivers/media/dvb-frontends/bcm3510.c
-@@ -635,10 +635,9 @@ static int bcm3510_download_firmware(str
+@@ -636,10 +636,9 @@ static int bcm3510_download_firmware(str
  	int ret,i;
  
  	deb_info("requesting firmware\n");
@@ -502,7 +500,7 @@ upstream submission.
  	if (state->microcode == NULL) {
 --- a/drivers/media/dvb-frontends/drxk_hard.c
 +++ b/drivers/media/dvb-frontends/drxk_hard.c
-@@ -6281,10 +6281,6 @@ static void load_firmware_cb(const struc
+@@ -6287,10 +6287,6 @@ static void load_firmware_cb(const struc
  
  	dprintk(1, ": %s\n", fw ? "firmware loaded" : "firmware not loaded");
  	if (!fw) {
@@ -667,7 +665,7 @@ upstream submission.
  		for (i = 0; i < ARRAY_SIZE(tab2); i++) {
 --- a/drivers/media/pci/ngene/ngene-core.c
 +++ b/drivers/media/pci/ngene/ngene-core.c
-@@ -1256,13 +1256,8 @@ static int ngene_load_firm(struct ngene
+@@ -1252,13 +1252,8 @@ static int ngene_load_firm(struct ngene
  		break;
  	}
  
@@ -682,7 +680,7 @@ upstream submission.
  	if (size == 0)
  		size = fw->size;
  	if (size != fw->size) {
-@@ -1270,8 +1265,6 @@ static int ngene_load_firm(struct ngene
+@@ -1266,8 +1261,6 @@ static int ngene_load_firm(struct ngene
  			": Firmware %s has invalid size!", fw_name);
  		err = -1;
  	} else {
@@ -707,7 +705,7 @@ upstream submission.
  			 SMS_ALLOC_ALIGNMENT), GFP_KERNEL | GFP_DMA);
 --- a/drivers/media/pci/ttpci/av7110.c
 +++ b/drivers/media/pci/ttpci/av7110.c
-@@ -1510,13 +1510,8 @@ static int get_firmware(struct av7110* a
+@@ -1515,13 +1515,8 @@ static int get_firmware(struct av7110* a
  	/* request the av7110 firmware, this will block until someone uploads it */
  	ret = request_firmware(&fw, "dvb-ttpci-01.fw", &av7110->dev->pci->dev);
  	if (ret) {
@@ -812,7 +810,7 @@ upstream submission.
  		btv->c.nr, (rc < 0) ? "failed" : "ok");
 --- a/drivers/media/usb/cpia2/cpia2_core.c
 +++ b/drivers/media/usb/cpia2/cpia2_core.c
-@@ -904,11 +904,8 @@ static int apply_vp_patch(struct camera_
+@@ -921,11 +921,8 @@ static int apply_vp_patch(struct camera_
  	struct cpia2_command cmd;
  
  	ret = request_firmware(&fw, fw_name, &cam->dev->dev);
@@ -908,7 +906,7 @@ upstream submission.
  		pr_err("ERROR: Firmware size mismatch (have %zu, expected %d)\n",
 --- a/drivers/media/pci/cx23885/cx23885-cards.c
 +++ b/drivers/media/pci/cx23885/cx23885-cards.c
-@@ -2338,10 +2338,7 @@ void cx23885_card_setup(struct cx23885_d
+@@ -2339,10 +2339,7 @@ void cx23885_card_setup(struct cx23885_d
  			cinfo.rev, filename);
  
  		ret = request_firmware(&fw, filename, &dev->pci->dev);
@@ -1005,7 +1003,7 @@ upstream submission.
  
 --- a/drivers/media/usb/s2255/s2255drv.c
 +++ b/drivers/media/usb/s2255/s2255drv.c
-@@ -2304,10 +2304,8 @@ static int s2255_probe(struct usb_interf
+@@ -2306,10 +2306,8 @@ static int s2255_probe(struct usb_interf
  	}
  	/* load the first chunk */
  	if (request_firmware(&dev->fw_data->fw,
@@ -1202,7 +1200,7 @@ upstream submission.
  	*bfi_image_size = fw->size/sizeof(u32);
 --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
 +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
-@@ -1037,12 +1037,8 @@ int t3_get_edc_fw(struct cphy *phy, int
+@@ -1033,12 +1033,8 @@ int t3_get_edc_fw(struct cphy *phy, int
  	fw_name = get_edc_fw_name(edc_idx);
  	if (fw_name)
  		ret = request_firmware(&fw, fw_name, &adapter->pdev->dev);
@@ -1216,7 +1214,7 @@ upstream submission.
  
  	/* check size, take checksum in account */
  	if (fw->size > size + 4) {
-@@ -1079,11 +1075,8 @@ static int upgrade_fw(struct adapter *ad
+@@ -1075,11 +1071,8 @@ static int upgrade_fw(struct adapter *ad
  	struct device *dev = &adap->pdev->dev;
  
  	ret = request_firmware(&fw, FW_FNAME, dev);
@@ -1229,7 +1227,7 @@ upstream submission.
  	ret = t3_load_fw(adap, fw->data, fw->size);
  	release_firmware(fw);
  
-@@ -1128,11 +1121,8 @@ static int update_tpsram(struct adapter
+@@ -1124,11 +1117,8 @@ static int update_tpsram(struct adapter
  	snprintf(buf, sizeof(buf), TPSRAM_NAME, rev);
  
  	ret = request_firmware(&tpsram, buf, dev);
@@ -1388,7 +1386,7 @@ upstream submission.
  
 --- a/drivers/net/wireless/atmel/atmel.c
 +++ b/drivers/net/wireless/atmel/atmel.c
-@@ -3912,12 +3912,8 @@ static int reset_atmel_card(struct net_d
+@@ -3911,12 +3911,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);
@@ -1404,7 +1402,7 @@ upstream submission.
  				int success = 0;
 --- a/drivers/net/wireless/broadcom/b43/main.c
 +++ b/drivers/net/wireless/broadcom/b43/main.c
-@@ -2253,19 +2253,8 @@ int b43_do_request_fw(struct b43_request
+@@ -2263,19 +2263,8 @@ int b43_do_request_fw(struct b43_request
  	}
  	err = request_firmware(&ctx->blob, ctx->fwname,
  			       ctx->dev->dev->dev);
@@ -1466,7 +1464,7 @@ upstream submission.
  	}
 --- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
 +++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-@@ -8419,12 +8419,8 @@ static int ipw2100_get_firmware(struct i
+@@ -8417,12 +8417,8 @@ static int ipw2100_get_firmware(struct i
  
  	rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev);
  
@@ -1482,7 +1480,7 @@ upstream submission.
  
 --- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
 +++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-@@ -3418,10 +3418,8 @@ static int ipw_get_fw(struct ipw_priv *p
+@@ -3416,10 +3416,8 @@ static int ipw_get_fw(struct ipw_priv *p
  
  	/* ask firmware_class module to get the boot firmware off disk */
  	rc = request_firmware(raw, name, &priv->pci_dev->dev);
@@ -1506,7 +1504,7 @@ upstream submission.
  			else
 --- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
 +++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-@@ -230,8 +230,6 @@ static int iwl_request_firmware(struct i
+@@ -234,8 +234,6 @@ static int iwl_request_firmware(struct i
  	}
  
  	if (drv->fw_index < cfg->ucode_api_min) {
@@ -1528,7 +1526,7 @@ upstream submission.
  	}
 --- a/drivers/net/wireless/marvell/mwifiex/main.c
 +++ b/drivers/net/wireless/marvell/mwifiex/main.c
-@@ -522,11 +522,8 @@ static int _mwifiex_fw_dpc(const struct
+@@ -526,11 +526,8 @@ static int _mwifiex_fw_dpc(const struct
  	struct wireless_dev *wdev;
  	struct completion *fw_done = adapter->fw_done;
  
@@ -1622,7 +1620,7 @@ upstream submission.
  
 --- a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
 +++ b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
-@@ -1678,7 +1678,6 @@ static int ezusb_probe(struct usb_interf
+@@ -1679,7 +1679,6 @@ static int ezusb_probe(struct usb_interf
  		if (ezusb_firmware_download(upriv, &firmware) < 0)
  			goto error;
  	} else {
@@ -1900,7 +1898,7 @@ upstream submission.
  	}
 --- a/drivers/scsi/qla2xxx/qla_init.c
 +++ b/drivers/scsi/qla2xxx/qla_init.c
-@@ -6420,8 +6420,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
+@@ -6651,8 +6651,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
  	/* Load firmware blob. */
  	blob = qla2x00_request_firmware(vha);
  	if (!blob) {
@@ -1909,7 +1907,7 @@ upstream submission.
  		ql_log(ql_log_info, vha, 0x0084,
  		    "Firmware images can be retrieved from: "QLA_FW_URL ".\n");
  		return QLA_FUNCTION_FAILED;
-@@ -6523,8 +6521,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
+@@ -6754,8 +6752,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
  	/* Load firmware blob. */
  	blob = qla2x00_request_firmware(vha);
  	if (!blob) {
@@ -1935,7 +1933,7 @@ upstream submission.
  	if (qla82xx_validate_firmware_blob(vha,
 --- a/drivers/scsi/qla2xxx/qla_os.c
 +++ b/drivers/scsi/qla2xxx/qla_os.c
-@@ -5967,8 +5967,6 @@ qla2x00_request_firmware(scsi_qla_host_t
+@@ -6149,8 +6149,6 @@ qla2x00_request_firmware(scsi_qla_host_t
  		goto out;
  
  	if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
@@ -2019,7 +2017,7 @@ upstream submission.
  	if (0 != ret) {
 --- a/drivers/staging/media/lirc/lirc_zilog.c
 +++ b/drivers/staging/media/lirc/lirc_zilog.c
-@@ -762,9 +762,6 @@ static int fw_load(struct IR_tx *tx)
+@@ -753,9 +753,6 @@ static int fw_load(struct IR_tx *tx)
  	/* Request codeset data file */
  	ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev);
  	if (ret != 0) {
@@ -2099,7 +2097,7 @@ upstream submission.
  	if (!buffer)
 --- a/drivers/tty/cyclades.c
 +++ b/drivers/tty/cyclades.c
-@@ -3495,10 +3495,8 @@ static int cyz_load_fw(struct pci_dev *p
+@@ -3492,10 +3492,8 @@ static int cyz_load_fw(struct pci_dev *p
  	int retval;
  
  	retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev);
@@ -2392,7 +2390,7 @@ upstream submission.
  			release_firmware(fw);
 --- a/sound/isa/msnd/msnd_pinnacle.c
 +++ b/sound/isa/msnd/msnd_pinnacle.c
-@@ -389,15 +389,11 @@ static int upload_dsp_code(struct snd_ca
+@@ -390,15 +390,11 @@ static int upload_dsp_code(struct snd_ca
  	outb(HPBLKSEL_0, chip->io + HP_BLKS);
  
  	err = request_firmware(&init_fw, INITCODEFILE, card->dev);
@@ -2493,7 +2491,7 @@ upstream submission.
  	snd_emu1010_fpga_read(emu, EMU_HANA_ID, &reg);
 --- a/sound/pci/hda/hda_intel.c
 +++ b/sound/pci/hda/hda_intel.c
-@@ -1958,10 +1958,8 @@ static void azx_firmware_cb(const struct
+@@ -1959,10 +1959,8 @@ static void azx_firmware_cb(const struct
  	struct azx *chip = card->private_data;
  	struct pci_dev *pci = chip->pci;
  
@@ -2507,7 +2505,7 @@ upstream submission.
  	if (!chip->disabled) {
 --- a/sound/pci/korg1212/korg1212.c
 +++ b/sound/pci/korg1212/korg1212.c
-@@ -2332,7 +2332,6 @@ static int snd_korg1212_create(struct sn
+@@ -2350,7 +2350,6 @@ static int snd_korg1212_create(struct sn
  	err = request_firmware(&dsp_code, "korg/k1212.dsp", &pci->dev);
  	if (err < 0) {
  		release_firmware(dsp_code);
@@ -2563,7 +2561,7 @@ upstream submission.
  	if (err) {
 --- a/sound/pci/rme9652/hdsp.c
 +++ b/sound/pci/rme9652/hdsp.c
-@@ -5103,11 +5103,8 @@ static int hdsp_request_fw_loader(struct
+@@ -5136,11 +5136,8 @@ static int hdsp_request_fw_loader(struct
  		return -EINVAL;
  	}
  
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 2f09081..b18580e 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
@@ -23,7 +23,7 @@ format to detect missing firmware.
 ---
 --- a/drivers/base/firmware_class.c
 +++ b/drivers/base/firmware_class.c
-@@ -418,21 +418,22 @@ fw_get_filesystem_firmware(struct device
+@@ -450,21 +450,22 @@ fw_get_filesystem_firmware(struct device
  		rc = kernel_read_file_from_path(path, &buf->data, &size, msize,
  						id);
  		if (rc) {
@@ -53,12 +53,12 @@ format to detect missing firmware.
  	return rc;
  }
  
-@@ -1193,7 +1194,7 @@ _request_firmware(const struct firmware
+@@ -1112,7 +1113,7 @@ static int fw_load_from_user_helper(stru
  	if (opt_flags & FW_OPT_NOWAIT) {
  		timeout = usermodehelper_read_lock_wait(timeout);
  		if (!timeout) {
 -			dev_dbg(device, "firmware: %s loading timed out\n",
 +			dev_err(device, "firmware: %s loading timed out\n",
  				name);
- 			ret = -EBUSY;
- 			goto out;
+ 			return -EBUSY;
+ 		}
diff --git a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
index 4c52350..28b8767 100644
--- a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
+++ b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
@@ -22,22 +22,22 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
 ---
 --- a/scripts/Kbuild.include
 +++ b/scripts/Kbuild.include
-@@ -116,12 +116,12 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PL
+@@ -121,7 +121,7 @@ CC_OPTION_CFLAGS = $(filter-out $(GCC_PL
  # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
  
- cc-option = $(call try-run,\
--	$(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
-+	$(CC) -Werror $(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
+ cc-option = $(call __cc-option, $(CC),\
+-	$(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS),$(1),$(2))
++	$(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS),$(1),$(2))
  
+ # hostcc-option
+ # Usage: cflags-y += $(call hostcc-option,-march=winchip-c6,-march=i586)
+@@ -131,23 +131,24 @@ hostcc-option = $(call __cc-option, $(HO
  # cc-option-yn
  # Usage: flag := $(call cc-option-yn,-march=winchip-c6)
  cc-option-yn = $(call try-run,\
 -	$(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
 +	$(CC) -Werror $(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
  
- # cc-option-align
- # Prefix align with either -falign or -malign
-@@ -131,18 +131,19 @@ cc-option-align = $(subst -functions=0,,
  # cc-disable-warning
  # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable)
  cc-disable-warning = $(call try-run,\
@@ -60,7 +60,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
  
  # cc-ifversion
  # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-@@ -160,7 +161,7 @@ cc-ldoption = $(call try-run,\
+@@ -165,7 +166,7 @@ cc-ldoption = $(call try-run,\
  # ld-option
  # Usage: LDFLAGS += $(call ld-option, -X)
  ld-option = $(call try-run,\
@@ -71,7 +71,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
  # Usage: KBUILD_ARFLAGS := $(call ar-option,D)
 --- a/Makefile
 +++ b/Makefile
-@@ -648,6 +648,8 @@ endif
+@@ -650,6 +650,8 @@ endif
  KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \
  			$(call cc-disable-warning,maybe-uninitialized,))
  
@@ -80,7 +80,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
  # Tell gcc to never replace conditional load with a non-conditional one
  KBUILD_CFLAGS	+= $(call cc-option,--param=allow-store-data-races=0)
  
-@@ -787,7 +789,7 @@ KBUILD_CFLAGS	+= $(call cc-option,-fdata
+@@ -790,7 +792,7 @@ KBUILD_CFLAGS	+= $(call cc-option,-fdata
  endif
  
  # arch Makefile may override CC so keep this after arch Makefile is included
diff --git a/debian/patches/bugfix/all/module-disable-matching-missing-version-crc.patch b/debian/patches/bugfix/all/module-disable-matching-missing-version-crc.patch
index 5657898..2ab6268 100644
--- a/debian/patches/bugfix/all/module-disable-matching-missing-version-crc.patch
+++ b/debian/patches/bugfix/all/module-disable-matching-missing-version-crc.patch
@@ -9,14 +9,14 @@ alternative may allow subverting module signing.
 ---
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -1301,9 +1301,8 @@ static int check_version(Elf_Shdr *sechd
+@@ -1313,9 +1313,8 @@ static int check_version(const struct lo
  		goto bad_version;
  	}
  
 -	/* Broken toolchain. Warn once, then let it go.. */
--	pr_warn_once("%s: no symbol version for %s\n", mod->name, symname);
+-	pr_warn_once("%s: no symbol version for %s\n", info->name, symname);
 -	return 1;
-+	pr_warn("%s: no symbol version for %s\n", mod->name, symname);
++	pr_warn("%s: no symbol version for %s\n", info->name, symname);
 +	return 0;
  
  bad_version:
diff --git a/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch b/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
index 225a2e3..f213371 100644
--- a/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
+++ b/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
@@ -26,16 +26,16 @@ missing, except for the pre-R600 case.
 ---
 --- a/drivers/gpu/drm/radeon/radeon_drv.c
 +++ b/drivers/gpu/drm/radeon/radeon_drv.c
-@@ -43,6 +43,8 @@
+@@ -44,6 +44,8 @@
  
- #include "drm_crtc_helper.h"
+ #include <drm/drm_crtc_helper.h>
  #include "radeon_kfd.h"
 +#include <linux/namei.h>
 +#include <linux/path.h>
  
  /*
   * KMS wrapper.
-@@ -309,6 +311,29 @@ static struct drm_driver kms_driver;
+@@ -312,6 +314,29 @@ static struct drm_driver kms_driver;
  
  bool radeon_device_is_virtual(void);
  
@@ -65,7 +65,7 @@ missing, except for the pre-R600 case.
  static int radeon_kick_out_firmware_fb(struct pci_dev *pdev)
  {
  	struct apertures_struct *ap;
-@@ -346,6 +371,12 @@ static int radeon_pci_probe(struct pci_d
+@@ -349,6 +374,12 @@ static int radeon_pci_probe(struct pci_d
  	if (vga_switcheroo_client_probe_defer(pdev))
  		return -EPROBE_DEFER;
  
diff --git a/debian/patches/debian/iwlwifi-do-not-request-unreleased-firmware.patch b/debian/patches/debian/iwlwifi-do-not-request-unreleased-firmware.patch
index 171e90a..c806143 100644
--- a/debian/patches/debian/iwlwifi-do-not-request-unreleased-firmware.patch
+++ b/debian/patches/debian/iwlwifi-do-not-request-unreleased-firmware.patch
@@ -13,8 +13,8 @@ The installer appears to report any failed request, and it is probably
 not easy to detect that this particular failure is harmless.  So stop
 requesting the unreleased firmware.
 
---- a/drivers/net/wireless/intel/iwlwifi/iwl-6000.c
-+++ b/drivers/net/wireless/intel/iwlwifi/iwl-6000.c
+--- a/drivers/net/wireless/intel/iwlwifi/cfg/6000.c
++++ b/drivers/net/wireless/intel/iwlwifi/cfg/6000.c
 @@ -31,7 +31,7 @@
  #include "dvm/commands.h" /* needed for BT for now */
  
diff --git a/debian/patches/debian/revert-gpu-host1x-add-iommu-support.patch b/debian/patches/debian/revert-gpu-host1x-add-iommu-support.patch
index c4edc7e..8a0efca 100644
--- a/debian/patches/debian/revert-gpu-host1x-add-iommu-support.patch
+++ b/debian/patches/debian/revert-gpu-host1x-add-iommu-support.patch
@@ -20,6 +20,10 @@ to avoid when combining the two address mapping APIs.  But with XEN
 enabled and ARM_LPAE not enabled, as in the armmp config, dma_addr_t
 is 64-bit while phys_addr_t is 32-bit.
 
+It also reverts the commit fea20995976f4b2e8968f852a18e280487d42f0d
+"gpu: host1x: Free the IOMMU domain when there is no device to attach"
+which depends on it.
+
 ---
 --- a/drivers/gpu/host1x/cdma.c
 +++ b/drivers/gpu/host1x/cdma.c
@@ -171,7 +175,7 @@ is 64-bit while phys_addr_t is 32-bit.
  
  #include "bus.h"
  #include "channel.h"
-@@ -177,37 +176,16 @@ static int host1x_probe(struct platform_
+@@ -177,38 +176,11 @@ static int host1x_probe(struct platform_
  		return err;
  	}
  
@@ -184,8 +188,13 @@ is 64-bit while phys_addr_t is 32-bit.
 -			return -ENOMEM;
 -
 -		err = iommu_attach_device(host->domain, &pdev->dev);
--		if (err)
+-		if (err == -ENODEV) {
+-			iommu_domain_free(host->domain);
+-			host->domain = NULL;
+-			goto skip_iommu;
+-		} else if (err) {
 -			goto fail_free_domain;
+-		}
 -
 -		geometry = &host->domain->geometry;
 -
@@ -196,7 +205,9 @@ is 64-bit while phys_addr_t is 32-bit.
 -		host->iova_end = geometry->aperture_end;
 -	}
 -
- 	err = host1x_channel_list_init(host);
+-skip_iommu:
+ 	err = host1x_channel_list_init(&host->channel_list,
+ 				       host->info->nb_channels);
  	if (err) {
  		dev_err(&pdev->dev, "failed to initialize channel list\n");
 -		goto fail_detach_device;
@@ -204,17 +215,10 @@ is 64-bit while phys_addr_t is 32-bit.
  	}
  
  	err = clk_prepare_enable(host->clk);
- 	if (err < 0) {
- 		dev_err(&pdev->dev, "failed to enable clock\n");
--		goto fail_detach_device;
-+		return err;
- 	}
- 
- 	err = reset_control_deassert(host->rst);
-@@ -244,15 +222,6 @@ fail_reset_assert:
- 	reset_control_assert(host->rst);
- fail_unprepare_disable:
+@@ -253,15 +225,6 @@ fail_unprepare_disable:
  	clk_disable_unprepare(host->clk);
+ fail_free_channels:
+ 	host1x_channel_list_free(&host->channel_list);
 -fail_detach_device:
 -	if (host->domain) {
 -		put_iova_domain(&host->iova);
@@ -227,7 +231,7 @@ is 64-bit while phys_addr_t is 32-bit.
  	return err;
  }
  
-@@ -266,12 +235,6 @@ static int host1x_remove(struct platform
+@@ -275,12 +238,6 @@ static int host1x_remove(struct platform
  	reset_control_assert(host->rst);
  	clk_disable_unprepare(host->clk);
  
@@ -311,7 +315,7 @@ is 64-bit while phys_addr_t is 32-bit.
  	/* set GET, by loading the value in PUT (then reset GET) */
 --- a/drivers/gpu/host1x/job.c
 +++ b/drivers/gpu/host1x/job.c
-@@ -174,10 +174,9 @@ static int do_waitchks(struct host1x_job
+@@ -178,10 +178,9 @@ static int do_waitchks(struct host1x_job
  	return 0;
  }
  
@@ -323,7 +327,7 @@ is 64-bit while phys_addr_t is 32-bit.
  
  	job->num_unpins = 0;
  
-@@ -187,16 +186,12 @@ static unsigned int pin_job(struct host1
+@@ -191,16 +190,12 @@ static unsigned int pin_job(struct host1
  		dma_addr_t phys_addr;
  
  		reloc->target.bo = host1x_bo_get(reloc->target.bo);
@@ -342,7 +346,7 @@ is 64-bit while phys_addr_t is 32-bit.
  
  		job->addr_phys[job->num_unpins] = phys_addr;
  		job->unpins[job->num_unpins].bo = reloc->target.bo;
-@@ -206,67 +201,28 @@ static unsigned int pin_job(struct host1
+@@ -210,67 +205,28 @@ static unsigned int pin_job(struct host1
  
  	for (i = 0; i < job->num_gathers; i++) {
  		struct host1x_job_gather *g = &job->gathers[i];
@@ -414,8 +418,8 @@ is 64-bit while phys_addr_t is 32-bit.
 +	return 0;
  }
  
- static int do_relocs(struct host1x_job *job, struct host1x_bo *cmdbuf)
-@@ -569,8 +525,8 @@ int host1x_job_pin(struct host1x_job *jo
+ static int do_relocs(struct host1x_job *job, struct host1x_job_gather *g)
+@@ -639,8 +595,8 @@ int host1x_job_pin(struct host1x_job *jo
  		host1x_syncpt_load(host->syncpt + i);
  
  	/* pin memory */
@@ -425,8 +429,8 @@ is 64-bit while phys_addr_t is 32-bit.
 +	if (!err)
  		goto out;
  
- 	/* patch gathers */
-@@ -616,19 +572,11 @@ EXPORT_SYMBOL(host1x_job_pin);
+ 	if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL)) {
+@@ -688,19 +644,11 @@ EXPORT_SYMBOL(host1x_job_pin);
  
  void host1x_job_unpin(struct host1x_job *job)
  {
@@ -448,7 +452,7 @@ is 64-bit while phys_addr_t is 32-bit.
  	}
 --- a/drivers/gpu/host1x/job.h
 +++ b/drivers/gpu/host1x/job.h
-@@ -44,7 +44,6 @@ struct host1x_waitchk {
+@@ -30,7 +30,6 @@ struct host1x_job_gather {
  struct host1x_job_unpin_data {
  	struct host1x_bo *bo;
  	struct sg_table *sgt;
diff --git a/debian/patches/features/all/aufs4/aufs4-base.patch b/debian/patches/features/all/aufs4/aufs4-base.patch
index 8a5864e..bc8b70e 100644
--- a/debian/patches/features/all/aufs4/aufs4-base.patch
+++ b/debian/patches/features/all/aufs4/aufs4-base.patch
@@ -8,11 +8,9 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch
 
 aufs4.11.7+ base patch
 
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 38d3e4e..c2b31bf 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -2319,6 +2319,19 @@ F:	include/linux/audit.h
+@@ -2392,6 +2392,19 @@ F:	include/linux/audit.h
  F:	include/uapi/linux/audit.h
  F:	kernel/audit*
  
@@ -32,11 +30,9 @@ index 38d3e4e..c2b31bf 100644
  AUXILIARY DISPLAY DRIVERS
  M:	Miguel Ojeda Sandonis <miguel.ojeda.sandonis at gmail.com>
  W:	http://miguelojeda.es/auxdisplay.htm
-diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 0ecb646..cf39138 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
-@@ -701,6 +701,24 @@ static inline int is_loop_device(struct file *file)
+@@ -707,6 +707,24 @@ static inline int is_loop_device(struct
  	return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR;
  }
  
@@ -61,11 +57,9 @@ index 0ecb646..cf39138 100644
  /* loop sysfs attributes */
  
  static ssize_t loop_attr_show(struct device *dev, char *page,
-diff --git a/fs/dcache.c b/fs/dcache.c
-index 95d71ed..8ca5f09 100644
 --- a/fs/dcache.c
 +++ b/fs/dcache.c
-@@ -1164,7 +1164,7 @@ enum d_walk_ret {
+@@ -1197,7 +1197,7 @@ enum d_walk_ret {
   *
   * The @enter() and @finish() callbacks are called with d_lock held.
   */
@@ -74,11 +68,9 @@ index 95d71ed..8ca5f09 100644
  		   enum d_walk_ret (*enter)(void *, struct dentry *),
  		   void (*finish)(void *))
  {
-diff --git a/fs/fcntl.c b/fs/fcntl.c
-index be8fbe2..f5f4f94 100644
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
  
  #define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME)
  
@@ -87,7 +79,7 @@ index be8fbe2..f5f4f94 100644
  {
  	struct inode * inode = file_inode(filp);
  	int error = 0;
-@@ -61,6 +61,8 @@ static int setfl(int fd, struct file * filp, unsigned long arg)
+@@ -62,6 +62,8 @@ static int setfl(int fd, struct file * f
  
  	if (filp->f_op->check_flags)
  		error = filp->f_op->check_flags(arg);
@@ -96,11 +88,9 @@ index be8fbe2..f5f4f94 100644
  	if (error)
  		return error;
  
-diff --git a/fs/inode.c b/fs/inode.c
-index 88110fd..9a9ba3a 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
-@@ -1642,7 +1642,7 @@ EXPORT_SYMBOL(generic_update_time);
+@@ -1641,7 +1641,7 @@ EXPORT_SYMBOL(generic_update_time);
   * This does the actual work of updating an inodes time or version.  Must have
   * had called mnt_want_write() before calling this.
   */
@@ -109,11 +99,9 @@ index 88110fd..9a9ba3a 100644
  {
  	int (*update_time)(struct inode *, struct timespec *, int);
  
-diff --git a/fs/read_write.c b/fs/read_write.c
-index f77eb22..eba4e7e 100644
 --- a/fs/read_write.c
 +++ b/fs/read_write.c
-@@ -513,6 +513,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
+@@ -473,6 +473,28 @@ ssize_t __vfs_write(struct file *file, c
  }
  EXPORT_SYMBOL(__vfs_write);
  
@@ -142,11 +130,9 @@ index f77eb22..eba4e7e 100644
  ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t *pos)
  {
  	mm_segment_t old_fs;
-diff --git a/fs/splice.c b/fs/splice.c
-index 006ba50..46c87af 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -859,8 +859,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
+@@ -853,8 +853,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
  /*
   * Attempt to initiate a splice from pipe to file.
   */
@@ -157,7 +143,7 @@ index 006ba50..46c87af 100644
  {
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
  				loff_t *, size_t, unsigned int);
-@@ -876,9 +876,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -870,9 +870,9 @@ static long do_splice_from(struct pipe_i
  /*
   * Attempt to initiate a splice from a file to a pipe.
   */
@@ -170,8 +156,6 @@ index 006ba50..46c87af 100644
  {
  	ssize_t (*splice_read)(struct file *, loff_t *,
  			       struct pipe_inode_info *, size_t, unsigned int);
-diff --git a/fs/sync.c b/fs/sync.c
-index 11ba023..abf6a5d 100644
 --- a/fs/sync.c
 +++ b/fs/sync.c
 @@ -27,7 +27,7 @@
@@ -183,8 +167,6 @@ index 11ba023..abf6a5d 100644
  {
  	if (wait)
  		sync_inodes_sb(sb);
-diff --git a/include/linux/file.h b/include/linux/file.h
-index 61eb82c..e700888 100644
 --- a/include/linux/file.h
 +++ b/include/linux/file.h
 @@ -19,6 +19,7 @@ struct dentry;
@@ -195,19 +177,17 @@ index 61eb82c..e700888 100644
  
  static inline void fput_light(struct file *file, int fput_needed)
  {
-diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 7415630..433e314 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1246,6 +1246,7 @@ extern void fasync_free(struct fasync_struct *);
+@@ -1262,6 +1262,7 @@ extern void fasync_free(struct fasync_st
  /* can be called from interrupts */
  extern void kill_fasync(struct fasync_struct **, int, int);
  
 +extern int setfl(int fd, struct file * filp, unsigned long arg);
  extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
- extern void f_setown(struct file *filp, unsigned long arg, int force);
+ extern int f_setown(struct file *filp, unsigned long arg, int force);
  extern void f_delown(struct file *filp);
-@@ -1673,6 +1674,7 @@ struct file_operations {
+@@ -1683,6 +1684,7 @@ struct file_operations {
  	ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
  	unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
  	int (*check_flags)(int);
@@ -215,7 +195,7 @@ index 7415630..433e314 100644
  	int (*flock) (struct file *, int, struct file_lock *);
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
  	ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
-@@ -1749,6 +1751,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
+@@ -1753,6 +1755,12 @@ ssize_t rw_copy_check_uvector(int type,
  			      struct iovec *fast_pointer,
  			      struct iovec **ret_pointer);
  
@@ -228,7 +208,7 @@ index 7415630..433e314 100644
  extern ssize_t __vfs_read(struct file *, char __user *, size_t, loff_t *);
  extern ssize_t __vfs_write(struct file *, const char __user *, size_t, loff_t *);
  extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
-@@ -2127,6 +2135,7 @@ extern int current_umask(void);
+@@ -2157,6 +2165,7 @@ extern int current_umask(void);
  extern void ihold(struct inode * inode);
  extern void iput(struct inode *);
  extern int generic_update_time(struct inode *, struct timespec *, int);
@@ -236,7 +216,7 @@ index 7415630..433e314 100644
  
  /* /sys/fs */
  extern struct kobject *fs_kobj;
-@@ -2407,6 +2416,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
+@@ -2437,6 +2446,7 @@ static inline bool sb_is_blkdev_sb(struc
  	return false;
  }
  #endif
@@ -244,11 +224,9 @@ index 7415630..433e314 100644
  extern int sync_filesystem(struct super_block *);
  extern const struct file_operations def_blk_fops;
  extern const struct file_operations def_chr_fops;
-diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 00a2116..1f0a4a2 100644
 --- a/include/linux/splice.h
 +++ b/include/linux/splice.h
-@@ -86,4 +86,10 @@ extern void spd_release_page(struct splice_pipe_desc *, unsigned int);
+@@ -86,4 +86,10 @@ extern void splice_shrink_spd(struct spl
  
  extern const struct pipe_buf_operations page_cache_pipe_buf_ops;
  extern const struct pipe_buf_operations default_pipe_buf_ops;
diff --git a/debian/patches/features/all/lockdown/0027-Annotate-hardware-config-module-parameters-in-driver.patch b/debian/patches/features/all/lockdown/0027-Annotate-hardware-config-module-parameters-in-driver.patch
deleted file mode 100644
index dba4d7a..0000000
--- a/debian/patches/features/all/lockdown/0027-Annotate-hardware-config-module-parameters-in-driver.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: David Howells <dhowells at redhat.com>
-Date: Tue, 4 Apr 2017 16:54:28 +0100
-Subject: [27/61] Annotate hardware config module parameters in
- drivers/staging/media/
-Origin: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit?id=db33ab46d89c69211f56940278c394067fe6876e
-
-When the kernel is running in secure boot mode, we lock down the kernel to
-prevent userspace from modifying the running kernel image.  Whilst this
-includes prohibiting access to things like /dev/mem, it must also prevent
-access by means of configuring driver modules in such a way as to cause a
-device to access or modify the kernel image.
-
-To this end, annotate module_param* statements that refer to hardware
-configuration and indicate for future reference what type of parameter they
-specify.  The parameter parser in the core sees this information and can
-skip such parameters with an error message if the kernel is locked down.
-The module initialisation then runs as normal, but just sees whatever the
-default values for those parameters is.
-
-Note that we do still need to do the module initialisation because some
-drivers have viable defaults set in case parameters aren't specified and
-some drivers support automatic configuration (e.g. PNP or PCI) in addition
-to manually coded parameters.
-
-This patch annotates drivers in drivers/staging/media/.
-
-Suggested-by: Alan Cox <gnomes at lxorguk.ukuu.org.uk>
-Signed-off-by: David Howells <dhowells at redhat.com>
-cc: Mauro Carvalho Chehab <mchehab at kernel.org>
-cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
-cc: linux-media at vger.kernel.org
-cc: devel at driverdev.osuosl.org
-[bwh: For 4.12, fix up filename and permission format]
----
- drivers/media/rc/sir_ir.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/media/rc/sir_ir.c
-+++ b/drivers/media/rc/sir_ir.c
-@@ -434,10 +434,10 @@ MODULE_DESCRIPTION("Infrared receiver dr
- MODULE_AUTHOR("Milan Pikula");
- MODULE_LICENSE("GPL");
- 
--module_param(io, int, 0444);
-+module_param_hw(io, int, ioport, 0444);
- MODULE_PARM_DESC(io, "I/O address base (0x3f8 or 0x2f8)");
- 
--module_param(irq, int, 0444);
-+module_param_hw(irq, int, irq, 0444);
- MODULE_PARM_DESC(irq, "Interrupt (4 or 3)");
- 
- module_param(threshold, int, 0444);
diff --git a/debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch b/debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
deleted file mode 100644
index 74b47db..0000000
--- a/debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Guillaume Tucker <guillaume.tucker at collabora.com>
-Date: Wed, 3 May 2017 10:56:26 +0100
-Subject: [2/5] ARM: dts: rockchip: add ARM Mali GPU node for rk3288
-Origin: https://git.kernel.org/linus/e3df026c594c77f0de1bdaa413d591b4345e4b6a
-Bug-Debian: https://bugs.debian.org/865646
-
-Add Mali GPU device tree node for the rk3288 SoC, with devfreq
-opp table.
-
-Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
-Tested-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
-Signed-off-by: Heiko Stuebner <heiko at sntech.de>
----
- arch/arm/boot/dts/rk3288.dtsi | 43 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
-
---- a/arch/arm/boot/dts/rk3288.dtsi
-+++ b/arch/arm/boot/dts/rk3288.dtsi
-@@ -43,6 +43,7 @@
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/pinctrl/rockchip.h>
- #include <dt-bindings/clock/rk3288-cru.h>
-+#include <dt-bindings/power/rk3288-power.h>
- #include <dt-bindings/thermal/thermal.h>
- #include <dt-bindings/power/rk3288-power.h>
- #include <dt-bindings/soc/rockchip,boot-mode.h>
-@@ -1187,6 +1188,48 @@
- 		reg = <0xffaf0080 0x20>;
- 	};
- 
-+	gpu: mali at ffa30000 {
-+		compatible = "rockchip,rk3288-mali", "arm,mali-t760", "arm,mali-midgard";
-+		reg = <0xffa30000 0x10000>;
-+		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
-+			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
-+			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
-+		interrupt-names = "job", "mmu", "gpu";
-+		clocks = <&cru ACLK_GPU>;
-+		operating-points-v2 = <&gpu_opp_table>;
-+		power-domains = <&power RK3288_PD_GPU>;
-+		status = "disabled";
-+	};
-+
-+	gpu_opp_table: gpu-opp-table {
-+		compatible = "operating-points-v2";
-+
-+		opp at 100000000 {
-+			opp-hz = /bits/ 64 <100000000>;
-+			opp-microvolt = <950000>;
-+		};
-+		opp at 200000000 {
-+			opp-hz = /bits/ 64 <200000000>;
-+			opp-microvolt = <950000>;
-+		};
-+		opp at 300000000 {
-+			opp-hz = /bits/ 64 <300000000>;
-+			opp-microvolt = <1000000>;
-+		};
-+		opp at 400000000 {
-+			opp-hz = /bits/ 64 <400000000>;
-+			opp-microvolt = <1100000>;
-+		};
-+		opp at 500000000 {
-+			opp-hz = /bits/ 64 <500000000>;
-+			opp-microvolt = <1200000>;
-+		};
-+		opp at 600000000 {
-+			opp-hz = /bits/ 64 <600000000>;
-+			opp-microvolt = <1250000>;
-+		};
-+	};
-+
- 	gic: interrupt-controller at ffc01000 {
- 		compatible = "arm,gic-400";
- 		interrupt-controller;
diff --git a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
deleted file mode 100644
index 63fb362..0000000
--- a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Guillaume Tucker <guillaume.tucker at collabora.com>
-Date: Wed, 3 May 2017 10:56:28 +0100
-Subject: [4/5] ARM: dts: rockchip: enable ARM Mali GPU on rk3288-firefly
-Origin: https://git.kernel.org/linus/93dedf52894e360731de17bdd9358873b36c3e0f
-Bug-Debian: https://bugs.debian.org/865646
-
-Add reference to the Mali GPU device tree node on rk3288-firefly.
-Tested on Firefly board.
-
-Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
-Signed-off-by: Heiko Stuebner <heiko at sntech.de>
----
- arch/arm/boot/dts/rk3288-firefly.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm/boot/dts/rk3288-firefly.dtsi
-+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
-@@ -219,6 +219,11 @@
- 	status = "ok";
- };
- 
-+&gpu {
-+	mali-supply = <&vdd_gpu>;
-+	status = "okay";
-+};
-+
- &hdmi {
- 	ddc-i2c-bus = <&i2c5>;
- 	status = "okay";
diff --git a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
deleted file mode 100644
index 390012a..0000000
--- a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Guillaume Tucker <guillaume.tucker at collabora.com>
-Date: Wed, 3 May 2017 10:56:27 +0100
-Subject: [3/5] ARM: dts: rockchip: enable ARM Mali GPU on rk3288-rock2-som
-Origin: https://git.kernel.org/linus/d6823b67288aad6810336b963140059721c83644
-Bug-Debian: https://bugs.debian.org/865646
-
-Add reference to the Mali GPU device tree node on the
-rk3288-rock2-som platform.  Tested on a Radxa Rock2 Square board.
-
-Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
-Signed-off-by: Heiko Stuebner <heiko at sntech.de>
----
- arch/arm/boot/dts/rk3288-rock2-som.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm/boot/dts/rk3288-rock2-som.dtsi
-+++ b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
-@@ -113,6 +113,11 @@
- 	tx_delay = <0x30>;
- };
- 
-+&gpu {
-+	mali-supply = <&vdd_gpu>;
-+	status = "okay";
-+};
-+
- &i2c0 {
- 	status = "okay";
- 
diff --git a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
deleted file mode 100644
index 74a551f..0000000
--- a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Enric Balletbo i Serra <enric.balletbo at collabora.com>
-Date: Wed, 3 May 2017 10:56:29 +0100
-Subject: [5/5] ARM: dts: rockchip: enable ARM Mali GPU on rk3288-veyron
-Origin: https://git.kernel.org/linus/08e779e59950affaec4f677b22fda6a1ab150a43
-Bug-Debian: https://bugs.debian.org/865646
-
-Add reference to the Mali GPU device tree node on rk3288-veyron.
-Tested on Minnie and Jerry boards.
-
-Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
-Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
-Signed-off-by: Heiko Stuebner <heiko at sntech.de>
----
- arch/arm/boot/dts/rk3288-veyron.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm/boot/dts/rk3288-veyron.dtsi
-+++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
-@@ -161,6 +161,11 @@
- 	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
- };
- 
-+&gpu {
-+	mali-supply = <&vdd_gpu>;
-+	status = "okay";
-+};
-+
- &hdmi {
- 	ddc-i2c-bus = <&i2c5>;
- 	status = "okay";
diff --git a/debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch b/debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
deleted file mode 100644
index 248ac0a..0000000
--- a/debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From: Guillaume Tucker <guillaume.tucker at collabora.com>
-Date: Wed, 3 May 2017 10:56:25 +0100
-Subject: [1/5] dt-bindings: gpu: add bindings for the ARM Mali Midgard GPU
-Origin: https://git.kernel.org/linus/7fa049dd1bdeb63d8beb3de6dde5a990843d0324
-Bug-Debian: https://bugs.debian.org/865646
-
-The ARM Mali Midgard GPU family is present in a number of SoCs
-from many different vendors such as Samsung Exynos and Rockchip.
-
-Import the device tree bindings documentation from the r16p0
-release of the Mali Midgard GPU kernel driver:
-
-  https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-midgard-gpu/TX011-SW-99002-r16p0-00rel0.tgz
-
-Remove the copyright and GPL licence header as deemed not necessary.
-
-Redesign the "compatible" property strings to list all the Mali
-Midgard GPU types and add vendor specific ones.
-
-Drop the "clock-names" property as the Mali Midgard GPU uses only one
-clock (the driver now needs to call clk_get with NULL).
-
-Convert the "interrupt-names" property values to lower-case: "job",
-"mmu" and "gpu".
-
-Replace the deprecated "operating-points" optional property with
-"operating-points-v2".
-
-Omit the following optional properties in this initial version as they
-are only used in very specific cases:
-
-  * snoop_enable_smc
-  * snoop_disable_smc
-  * jm_config
-  * power_model
-  * system-coherency
-  * ipa-model
-
-Update the example accordingly to reflect all these changes, based on
-rk3288 mali-t760.
-
-CC: John Reitan <john.reitan at arm.com>
-Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
-Tested-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
-Reviewed-by: Rob Herring <robh at kernel.org>
-Signed-off-by: Heiko Stuebner <heiko at sntech.de>
----
- .../devicetree/bindings/gpu/arm,mali-midgard.txt   | 86 ++++++++++++++++++++++
- 1 file changed, 86 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
-
---- /dev/null
-+++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
-@@ -0,0 +1,86 @@
-+ARM Mali Midgard GPU
-+====================
-+
-+Required properties:
-+
-+- compatible :
-+  * Must contain one of the following:
-+    + "arm,mali-t604"
-+    + "arm,mali-t624"
-+    + "arm,mali-t628"
-+    + "arm,mali-t720"
-+    + "arm,mali-t760"
-+    + "arm,mali-t820"
-+    + "arm,mali-t830"
-+    + "arm,mali-t860"
-+    + "arm,mali-t880"
-+  * which must be preceded by one of the following vendor specifics:
-+    + "amlogic,meson-gxm-mali"
-+    + "rockchip,rk3288-mali"
-+
-+- reg : Physical base address of the device and length of the register area.
-+
-+- interrupts : Contains the three IRQ lines required by Mali Midgard devices.
-+
-+- interrupt-names : Contains the names of IRQ resources in the order they were
-+  provided in the interrupts property. Must contain: "job", "mmu", "gpu".
-+
-+
-+Optional properties:
-+
-+- clocks : Phandle to clock for the Mali Midgard device.
-+
-+- mali-supply : Phandle to regulator for the Mali device. Refer to
-+  Documentation/devicetree/bindings/regulator/regulator.txt for details.
-+
-+- operating-points-v2 : Refer to Documentation/devicetree/bindings/power/opp.txt
-+  for details.
-+
-+
-+Example for a Mali-T760:
-+
-+gpu at ffa30000 {
-+	compatible = "rockchip,rk3288-mali", "arm,mali-t760", "arm,mali-midgard";
-+	reg = <0xffa30000 0x10000>;
-+	interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
-+		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
-+		     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
-+	interrupt-names = "job", "mmu", "gpu";
-+	clocks = <&cru ACLK_GPU>;
-+	mali-supply = <&vdd_gpu>;
-+	operating-points-v2 = <&gpu_opp_table>;
-+	power-domains = <&power RK3288_PD_GPU>;
-+};
-+
-+gpu_opp_table: opp_table0 {
-+	compatible = "operating-points-v2";
-+
-+	opp at 533000000 {
-+		opp-hz = /bits/ 64 <533000000>;
-+		opp-microvolt = <1250000>;
-+	};
-+	opp at 450000000 {
-+		opp-hz = /bits/ 64 <450000000>;
-+		opp-microvolt = <1150000>;
-+	};
-+	opp at 400000000 {
-+		opp-hz = /bits/ 64 <400000000>;
-+		opp-microvolt = <1125000>;
-+	};
-+	opp at 350000000 {
-+		opp-hz = /bits/ 64 <350000000>;
-+		opp-microvolt = <1075000>;
-+	};
-+	opp at 266000000 {
-+		opp-hz = /bits/ 64 <266000000>;
-+		opp-microvolt = <1025000>;
-+	};
-+	opp at 160000000 {
-+		opp-hz = /bits/ 64 <160000000>;
-+		opp-microvolt = <925000>;
-+	};
-+	opp at 100000000 {
-+		opp-hz = /bits/ 64 <100000000>;
-+		opp-microvolt = <912500>;
-+	};
-+};
diff --git a/debian/patches/features/arm64/arm64-dts-marvell-Enable-second-SDHCI-controller-in-.patch b/debian/patches/features/arm64/arm64-dts-marvell-Enable-second-SDHCI-controller-in-.patch
deleted file mode 100644
index 0bdc979..0000000
--- a/debian/patches/features/arm64/arm64-dts-marvell-Enable-second-SDHCI-controller-in-.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 1208d2f0c84120d4e3eb2caf663a9a8b784b38ba Mon Sep 17 00:00:00 2001
-From: Konstantin Porotchkin <kostap at marvell.com>
-Date: Tue, 23 May 2017 16:11:40 +0300
-Subject: [PATCH] arm64: dts: marvell: Enable second SDHCI controller in Armada
- 37xx
-Origin: https://git.kernel.org/linus/1208d2f0c84120d4e3eb2caf663a9a8b784b38ba
-Bug-Debian: https://bugs.debian.org/871049
-
-The Armada 37xx SoCs has 2 SDHCI interfaces. This patch adds the second
-one.
-
-Moreover, the Armada 37xx DB v2 board populates the 2 SDHCI interfaces.
-
-The second interface is using pluggable module that can either
-have an SD connector or eMMC on it.
-This patch adds support for SD module in the device DT.
-
-[ gregory.clement at free-electrons.com:
- - Add more detail in commit log
- - Sort the dt node in address order
- - Document the SD slot in the dts ]
-
-Signed-off-by: Konstantin Porotchkin <kostap at marvell.com>
-Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
----
- arch/arm64/boot/dts/marvell/armada-3720-db.dts |  9 +++++++++
- arch/arm64/boot/dts/marvell/armada-37xx.dtsi   | 11 +++++++++++
- 2 files changed, 20 insertions(+)
-
---- a/arch/arm64/boot/dts/marvell/armada-3720-db.dts
-+++ b/arch/arm64/boot/dts/marvell/armada-3720-db.dts
-@@ -113,6 +113,15 @@
- 	status = "okay";
- };
- 
-+/* SD slot module on CON14(V2.0)/CON15(V1.4) */
-+&sdhci1 {
-+	wp-inverted;
-+	cd-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>;
-+	bus-width = <4>;
-+	marvell,pad-type = "sd";
-+	status = "okay";
-+};
-+
- &spi0 {
- 	status = "okay";
- 	pinctrl-names = "default";
---- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-+++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-@@ -288,6 +288,17 @@
- 				};
- 			};
- 
-+			sdhci1: sdhci at d0000 {
-+				compatible = "marvell,armada-3700-sdhci",
-+					     "marvell,sdhci-xenon";
-+				reg = <0xd0000 0x300>,
-+				      <0x1e808 0x4>;
-+				interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
-+				clocks = <&nb_periph_clk 0>;
-+				clock-names = "core";
-+				status = "disabled";
-+			};
-+
- 			sdhci0: sdhci at d8000 {
- 				compatible = "marvell,armada-3700-sdhci",
- 				"marvell,sdhci-xenon";
diff --git a/debian/patches/series b/debian/patches/series
index ed0a66b..d59a69f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -69,12 +69,6 @@ features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
 features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch
 features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
 features/x86/x86-make-x32-syscall-support-conditional.patch
-features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
-features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
-features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
-features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
-features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
-features/arm64/arm64-dts-marvell-Enable-second-SDHCI-controller-in-.patch
 features/arm64/ARM64-dts-marvell-armada-37xx-Enable-uSD-on-ESPRESSO.patch
 
 # Miscellaneous bug fixes
@@ -91,7 +85,6 @@ bugfix/all/bfq-re-enable-auto-loading-when-built-as-a-module.patch
 # Miscellaneous features
 
 # Lockdown (formerly 'securelevel') patchset
-features/all/lockdown/0027-Annotate-hardware-config-module-parameters-in-driver.patch
 features/all/lockdown/0038-efi-Add-EFI_SECURE_BOOT-bit.patch
 features/all/lockdown/0039-Add-the-ability-to-lock-down-access-to-the-running-k.patch
 features/all/lockdown/0040-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list