Update to 4.13-rc4

Drop and refresh patchs as appropriate.
This commit is contained in:
Ben Hutchings 2017-08-13 14:45:14 +01:00
parent 9f225007dc
commit d545b4e4d0
18 changed files with 119 additions and 562 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
linux (4.13~rc4-1~exp1) UNRELEASED; urgency=medium
* New upstream release candidate
-- Ben Hutchings <ben@decadent.org.uk> Sun, 13 Aug 2017 14:10:41 +0100
linux (4.12.6-1) unstable; urgency=medium
* New upstream stable update:

View File

@ -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 },

View File

@ -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;
}

View File

@ -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;
}

View File

@ -22,22 +22,22 @@ Signed-off-by: Ben Hutchings <ben@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@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@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@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

View File

@ -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:

View File

@ -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;

View File

@ -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 */

View File

@ -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;

View File

@ -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@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;

View File

@ -1,52 +0,0 @@
From: David Howells <dhowells@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@lxorguk.ukuu.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Mauro Carvalho Chehab <mchehab@kernel.org>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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);

View File

@ -1,75 +0,0 @@
From: Guillaume Tucker <guillaume.tucker@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@collabora.com>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@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@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@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;

View File

@ -1,29 +0,0 @@
From: Guillaume Tucker <guillaume.tucker@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@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@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";

View File

@ -1,29 +0,0 @@
From: Guillaume Tucker <guillaume.tucker@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@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@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";

View File

@ -1,30 +0,0 @@
From: Enric Balletbo i Serra <enric.balletbo@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@collabora.com>
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@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";

View File

@ -1,140 +0,0 @@
From: Guillaume Tucker <guillaume.tucker@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@arm.com>
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Heiko Stuebner <heiko@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@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@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>;
+ };
+};

View File

@ -1,67 +0,0 @@
From 1208d2f0c84120d4e3eb2caf663a9a8b784b38ba Mon Sep 17 00:00:00 2001
From: Konstantin Porotchkin <kostap@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@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@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@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@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@d8000 {
compatible = "marvell,armada-3700-sdhci",
"marvell,sdhci-xenon";

View File

@ -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