From d545b4e4d089b4c0910c4360caecc86802d2beed Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 13 Aug 2017 14:45:14 +0100 Subject: [PATCH] Update to 4.13-rc4 Drop and refresh patchs as appropriate. --- debian/changelog | 6 + .../all/disable-some-marvell-phys.patch | 18 +-- ...-redundant-log-messages-from-drivers.patch | 80 +++++----- ..._class-log-every-success-and-failure.patch | 8 +- ...kbuild-use-nostdinc-in-compile-tests.patch | 20 +-- ...disable-matching-missing-version-crc.patch | 6 +- ...uired-for-drm-and-kms-on-r600-onward.patch | 8 +- ...i-do-not-request-unreleased-firmware.patch | 4 +- .../revert-gpu-host1x-add-iommu-support.patch | 48 +++--- .../features/all/aufs4/aufs4-base.patch | 54 ++----- ...e-config-module-parameters-in-driver.patch | 52 ------- ...hip-add-arm-mali-gpu-node-for-rk3288.patch | 75 ---------- ...-enable-arm-mali-gpu-on-rk3288-firef.patch | 29 ---- ...-enable-arm-mali-gpu-on-rk3288-rock2.patch | 29 ---- ...-enable-arm-mali-gpu-on-rk3288-veyro.patch | 30 ---- ...add-bindings-for-the-arm-mali-midgar.patch | 140 ------------------ ...l-Enable-second-SDHCI-controller-in-.patch | 67 --------- debian/patches/series | 7 - 18 files changed, 119 insertions(+), 562 deletions(-) delete mode 100644 debian/patches/features/all/lockdown/0027-Annotate-hardware-config-module-parameters-in-driver.patch delete mode 100644 debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch delete mode 100644 debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch delete mode 100644 debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch delete mode 100644 debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch delete mode 100644 debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch delete mode 100644 debian/patches/features/arm64/arm64-dts-marvell-Enable-second-SDHCI-controller-in-.patch diff --git a/debian/changelog b/debian/changelog index 27f62e98c..7040145e7 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 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 697929b4e..3c40fe103 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 7f9d96def..d6be1f655 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, ®); --- 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 2f0908174..b18580e42 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 4c523500a..28b8767fe 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 --- --- 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 # 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 # 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 # 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 5657898be..2ab62688a 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 225a2e361..f213371f7 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 #include "radeon_kfd.h" +#include +#include /* * 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 171e90a45..c8061436d 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 c4edc7ee5..8a0efca68 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 8a5864eb2..bc8b70e24 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 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 dba4d7a06..000000000 --- a/debian/patches/features/all/lockdown/0027-Annotate-hardware-config-module-parameters-in-driver.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: David Howells -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 -Signed-off-by: David Howells -cc: Mauro Carvalho Chehab -cc: Greg Kroah-Hartman -cc: linux-media@vger.kernel.org -cc: devel@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 74b47dbcd..000000000 --- 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 -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 -Tested-by: Enric Balletbo i Serra -Signed-off-by: Heiko Stuebner ---- - 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 - #include - #include -+#include - #include - #include - #include -@@ -1187,6 +1188,48 @@ - reg = <0xffaf0080 0x20>; - }; - -+ gpu: mali@ffa30000 { -+ compatible = "rockchip,rk3288-mali", "arm,mali-t760", "arm,mali-midgard"; -+ reg = <0xffa30000 0x10000>; -+ interrupts = , -+ , -+ ; -+ 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@100000000 { -+ opp-hz = /bits/ 64 <100000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp@200000000 { -+ opp-hz = /bits/ 64 <200000000>; -+ opp-microvolt = <950000>; -+ }; -+ opp@300000000 { -+ opp-hz = /bits/ 64 <300000000>; -+ opp-microvolt = <1000000>; -+ }; -+ opp@400000000 { -+ opp-hz = /bits/ 64 <400000000>; -+ opp-microvolt = <1100000>; -+ }; -+ opp@500000000 { -+ opp-hz = /bits/ 64 <500000000>; -+ opp-microvolt = <1200000>; -+ }; -+ opp@600000000 { -+ opp-hz = /bits/ 64 <600000000>; -+ opp-microvolt = <1250000>; -+ }; -+ }; -+ - gic: interrupt-controller@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 63fb36210..000000000 --- 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 -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 -Signed-off-by: Heiko Stuebner ---- - 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 390012a0c..000000000 --- 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 -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 -Signed-off-by: Heiko Stuebner ---- - 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 74a551ff8..000000000 --- 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 -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 -Signed-off-by: Guillaume Tucker -Signed-off-by: Heiko Stuebner ---- - 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 248ac0aa4..000000000 --- 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 -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 -Signed-off-by: Guillaume Tucker -Tested-by: Enric Balletbo i Serra -Reviewed-by: Rob Herring -Signed-off-by: Heiko Stuebner ---- - .../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@ffa30000 { -+ compatible = "rockchip,rk3288-mali", "arm,mali-t760", "arm,mali-midgard"; -+ reg = <0xffa30000 0x10000>; -+ interrupts = , -+ , -+ ; -+ 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@533000000 { -+ opp-hz = /bits/ 64 <533000000>; -+ opp-microvolt = <1250000>; -+ }; -+ opp@450000000 { -+ opp-hz = /bits/ 64 <450000000>; -+ opp-microvolt = <1150000>; -+ }; -+ opp@400000000 { -+ opp-hz = /bits/ 64 <400000000>; -+ opp-microvolt = <1125000>; -+ }; -+ opp@350000000 { -+ opp-hz = /bits/ 64 <350000000>; -+ opp-microvolt = <1075000>; -+ }; -+ opp@266000000 { -+ opp-hz = /bits/ 64 <266000000>; -+ opp-microvolt = <1025000>; -+ }; -+ opp@160000000 { -+ opp-hz = /bits/ 64 <160000000>; -+ opp-microvolt = <925000>; -+ }; -+ opp@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 0bdc9797f..000000000 --- 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 -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@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 -Signed-off-by: Gregory CLEMENT ---- - 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@d0000 { -+ compatible = "marvell,armada-3700-sdhci", -+ "marvell,sdhci-xenon"; -+ reg = <0xd0000 0x300>, -+ <0x1e808 0x4>; -+ interrupts = ; -+ clocks = <&nb_periph_clk 0>; -+ clock-names = "core"; -+ status = "disabled"; -+ }; -+ - sdhci0: sdhci@d8000 { - compatible = "marvell,armada-3700-sdhci", - "marvell,sdhci-xenon"; diff --git a/debian/patches/series b/debian/patches/series index ed0a66bda..d59a69f7b 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