Update to 4.16-rc5

This commit is contained in:
Ben Hutchings 2018-03-12 02:40:37 +00:00
parent b6d7061ed6
commit 3c7088b5cd
13 changed files with 133 additions and 292 deletions

4
debian/changelog vendored
View File

@ -1,4 +1,6 @@
linux (4.15.4-2) UNRELEASED; urgency=medium
linux (4.16~rc5-1~exp1) UNRELEASED; urgency=medium
* New upstream release candidate
[ Uwe Kleine-König ]
* netfilter: enable NFT_FIB_NETDEV as module

View File

@ -1,37 +0,0 @@
From: Pierre <pinaraf@pinaraf.info>
Date: Sun, 12 Nov 2017 15:24:32 +0100
Subject: crypto: ecc - Fix NULL pointer deref. on no default_rng
Origin: https://git.kernel.org/linus/4c0e22c90510308433272d7ba281b1eb4eda8209
Bug-Debian: https://bugs.debian.org/886556
If crypto_get_default_rng returns an error, the
function ecc_gen_privkey should return an error.
Instead, it currently tries to use the default_rng
nevertheless, thus creating a kernel panic with a
NULL pointer dereference.
Returning the error directly, as was supposedly
intended when looking at the code, fixes this.
Signed-off-by: Pierre Ducroquet <pinaraf@pinaraf.info>
Reviewed-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
---
crypto/ecc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crypto/ecc.c b/crypto/ecc.c
index 633a9bcdc574..18f32f2a5e1c 100644
--- a/crypto/ecc.c
+++ b/crypto/ecc.c
@@ -964,7 +964,7 @@ int ecc_gen_privkey(unsigned int curve_id, unsigned int ndigits, u64 *privkey)
* DRBG with a security strength of 256.
*/
if (crypto_get_default_rng())
- err = -EFAULT;
+ return -EFAULT;
err = crypto_rng_get_bytes(crypto_default_rng, (u8 *)priv, nbytes);
crypto_put_default_rng();
--
2.11.0

View File

@ -16,7 +16,7 @@ correctness.
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -956,6 +956,7 @@ static int m88e1118_config_init(struct p
@@ -928,6 +928,7 @@ static int m88e1118_config_init(struct p
return genphy_soft_reset(phydev);
}
@ -24,7 +24,7 @@ correctness.
static int m88e1149_config_init(struct phy_device *phydev)
{
int err;
@@ -981,7 +982,9 @@ static int m88e1149_config_init(struct p
@@ -953,7 +954,9 @@ static int m88e1149_config_init(struct p
return genphy_soft_reset(phydev);
}
@ -33,8 +33,8 @@ correctness.
+#if 0
static int m88e1145_config_init_rgmii(struct phy_device *phydev)
{
int temp;
@@ -1063,6 +1066,7 @@ static int m88e1145_config_init(struct p
int err;
@@ -1028,6 +1031,7 @@ static int m88e1145_config_init(struct p
return 0;
}
@ -42,7 +42,7 @@ correctness.
/**
* fiber_lpa_to_ethtool_lpa_t
@@ -2059,6 +2063,7 @@ static struct phy_driver marvell_drivers
@@ -2102,6 +2106,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,
@@ -2077,6 +2082,8 @@ static struct phy_driver marvell_drivers
@@ -2122,6 +2127,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,
@@ -2095,6 +2102,8 @@ static struct phy_driver marvell_drivers
@@ -2141,6 +2148,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,
@@ -2113,6 +2122,7 @@ static struct phy_driver marvell_drivers
@@ -2160,6 +2169,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,
@@ -2240,9 +2250,9 @@ static struct mdio_device_id __maybe_unu
@@ -2296,9 +2306,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

@ -342,7 +342,7 @@ upstream submission.
card->name, firmware->size);
--- a/drivers/media/tuners/tuner-xc2028.c
+++ b/drivers/media/tuners/tuner-xc2028.c
@@ -1370,7 +1370,6 @@ static void load_firmware_cb(const struc
@@ -1368,7 +1368,6 @@ static void load_firmware_cb(const struc
tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error");
if (!fw) {
@ -352,7 +352,7 @@ upstream submission.
}
--- a/drivers/media/usb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/usb/dvb-usb/dib0700_devices.c
@@ -2411,12 +2411,9 @@ static int stk9090m_frontend_attach(stru
@@ -2415,12 +2415,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;
@@ -2477,12 +2474,9 @@ static int nim9090md_frontend_attach(str
@@ -2481,12 +2478,9 @@ static int nim9090md_frontend_attach(str
msleep(20);
dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1);
@ -705,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
@@ -1515,13 +1515,8 @@ static int get_firmware(struct av7110* a
@@ -1516,13 +1516,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) {
@ -738,7 +738,7 @@ upstream submission.
release_firmware(fw);
--- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
@@ -296,10 +296,8 @@ static int ttusb_boot_dsp(struct ttusb *
@@ -295,10 +295,8 @@ static int ttusb_boot_dsp(struct ttusb *
err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",
&ttusb->dev->dev);
@ -752,7 +752,7 @@ upstream submission.
b[0] = 0xaa;
--- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
@@ -1344,11 +1344,8 @@ static int ttusb_dec_boot_dsp(struct ttu
@@ -1334,11 +1334,8 @@ static int ttusb_dec_boot_dsp(struct ttu
dprintk("%s\n", __func__);
result = request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev);
@ -796,7 +796,7 @@ upstream submission.
fw_data = (void *)fw_entry->data;
--- a/drivers/media/pci/bt8xx/bttv-cards.c
+++ b/drivers/media/pci/bt8xx/bttv-cards.c
@@ -3909,10 +3909,8 @@ static int pvr_boot(struct bttv *btv)
@@ -3916,10 +3916,8 @@ static int pvr_boot(struct bttv *btv)
int rc;
rc = request_firmware(&fw_entry, "hcwamc.rbf", &btv->c.pci->dev);
@ -1003,7 +1003,7 @@ upstream submission.
--- a/drivers/media/usb/s2255/s2255drv.c
+++ b/drivers/media/usb/s2255/s2255drv.c
@@ -2307,10 +2307,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,
@ -1017,7 +1017,7 @@ upstream submission.
pdata = (__le32 *) &dev->fw_data->fw->data[fw_size - 8];
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
@@ -66,10 +66,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc
@@ -69,10 +69,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc
}
}
@ -1156,7 +1156,7 @@ upstream submission.
if (bp->mips_firmware->size < sizeof(*mips_fw) ||
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -13495,11 +13495,8 @@ static int bnx2x_init_firmware(struct bn
@@ -13524,11 +13524,8 @@ static int bnx2x_init_firmware(struct bn
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
@ -1171,7 +1171,7 @@ upstream submission.
if (rc) {
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -11355,11 +11355,8 @@ static int tg3_request_firmware(struct t
@@ -11378,11 +11378,8 @@ static int tg3_request_firmware(struct t
{
const struct tg3_firmware_hdr *fw_hdr;
@ -1279,7 +1279,7 @@ upstream submission.
for (i = 0; i < fw->size; i++) {
--- a/drivers/net/ethernet/sun/cassini.c
+++ b/drivers/net/ethernet/sun/cassini.c
@@ -817,11 +817,8 @@ static void cas_saturn_firmware_init(str
@@ -818,11 +818,8 @@ static void cas_saturn_firmware_init(str
return;
err = request_firmware(&fw, fw_name, &cp->pdev->dev);
@ -1364,7 +1364,7 @@ upstream submission.
fwh = (struct at76_fw_header *)(fwe->fw->data);
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -1162,9 +1162,6 @@ static void ath9k_hif_usb_firmware_cb(co
@@ -1163,9 +1163,6 @@ static void ath9k_hif_usb_firmware_cb(co
if (!ret)
return;
@ -1541,7 +1541,7 @@ upstream submission.
adapter->firmware = firmware;
--- a/drivers/net/wireless/marvell/mwl8k.c
+++ b/drivers/net/wireless/marvell/mwl8k.c
@@ -5714,16 +5714,12 @@ static int mwl8k_firmware_load_success(s
@@ -5719,16 +5719,12 @@ static int mwl8k_firmware_load_success(s
static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
{
struct mwl8k_priv *priv = context;
@ -1559,7 +1559,7 @@ upstream submission.
priv->fw_helper = fw;
rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
true);
@@ -5758,11 +5754,8 @@ static void mwl8k_fw_state_machine(const
@@ -5763,11 +5759,8 @@ static void mwl8k_fw_state_machine(const
break;
case FW_STATE_LOADING_ALT:
@ -1572,7 +1572,7 @@ upstream submission.
priv->fw_ucode = fw;
rc = mwl8k_firmware_load_success(priv);
if (rc)
@@ -5800,10 +5793,8 @@ retry:
@@ -5805,10 +5798,8 @@ retry:
/* Ask userland hotplug daemon for the device firmware */
rc = mwl8k_request_firmware(priv, fw_image, nowait);
@ -1741,7 +1741,7 @@ upstream submission.
wl1251_error("nvs size is not multiple of 32 bits: %zu",
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -756,10 +756,8 @@ static int wl12xx_fetch_firmware(struct
@@ -755,10 +755,8 @@ static int wl12xx_fetch_firmware(struct
ret = request_firmware(&fw, fw_name, wl->dev);
@ -1850,7 +1850,7 @@ upstream submission.
if (err) {
--- a/drivers/scsi/bfa/bfad.c
+++ b/drivers/scsi/bfa/bfad.c
@@ -1756,7 +1756,6 @@ bfad_read_firmware(struct pci_dev *pdev,
@@ -1755,7 +1755,6 @@ bfad_read_firmware(struct pci_dev *pdev,
const struct firmware *fw;
if (request_firmware(&fw, fw_name, &pdev->dev)) {
@ -1898,7 +1898,7 @@ upstream submission.
}
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -6906,8 +6906,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
@@ -7238,8 +7238,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
/* Load firmware blob. */
blob = qla2x00_request_firmware(vha);
if (!blob) {
@ -1907,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;
@@ -7009,8 +7007,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
@@ -7341,8 +7339,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
/* Load firmware blob. */
blob = qla2x00_request_firmware(vha);
if (!blob) {
@ -1933,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
@@ -6269,8 +6269,6 @@ qla2x00_request_firmware(scsi_qla_host_t
@@ -6496,8 +6496,6 @@ qla2x00_request_firmware(scsi_qla_host_t
goto out;
if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
@ -2015,18 +2015,6 @@ upstream submission.
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
release_firmware(fw);
if (0 != ret) {
--- a/drivers/staging/media/lirc/lirc_zilog.c
+++ b/drivers/staging/media/lirc/lirc_zilog.c
@@ -752,9 +752,6 @@ static int fw_load(struct IR_tx *tx)
/* Request codeset data file */
ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->dev);
if (ret != 0) {
- dev_err(tx->ir->dev,
- "firmware haup-ir-blaster.bin not available (%d)\n",
- ret);
ret = ret < 0 ? ret : -EFAULT;
goto out;
}
--- a/drivers/staging/rtl8192u/r819xU_firmware.c
+++ b/drivers/staging/rtl8192u/r819xU_firmware.c
@@ -245,10 +245,8 @@ bool init_firmware(struct net_device *de
@ -2081,7 +2069,7 @@ upstream submission.
*/
--- a/drivers/staging/vt6656/firmware.c
+++ b/drivers/staging/vt6656/firmware.c
@@ -49,11 +49,8 @@ int vnt_download_firmware(struct vnt_pri
@@ -39,11 +39,8 @@ int vnt_download_firmware(struct vnt_pri
dev_dbg(dev, "---->Download firmware\n");
rc = request_firmware(&fw, FIRMWARE_NAME, dev);
@ -2168,7 +2156,7 @@ upstream submission.
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
@@ -1082,8 +1082,6 @@ static int cxacru_find_firmware(struct c
@@ -1080,8 +1080,6 @@ static int cxacru_find_firmware(struct c
return -ENOENT;
}
@ -2505,10 +2493,10 @@ upstream submission.
if (!chip->disabled) {
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
@@ -2349,7 +2349,6 @@ static int snd_korg1212_create(struct sn
@@ -2348,7 +2348,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);
- snd_printk(KERN_ERR "firmware not available\n");
snd_korg1212_free(korg1212);
return err;
@ -2576,7 +2564,7 @@ upstream submission.
"too short firmware size %d (expected %d)\n",
--- a/sound/soc/codecs/wm2000.c
+++ b/sound/soc/codecs/wm2000.c
@@ -891,10 +891,8 @@ static int wm2000_i2c_probe(struct i2c_c
@@ -890,10 +890,8 @@ static int wm2000_i2c_probe(struct i2c_c
}
ret = request_firmware(&fw, filename, &i2c->dev);

View File

@ -23,9 +23,9 @@ format to detect missing firmware.
---
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -450,21 +450,22 @@ fw_get_filesystem_firmware(struct device
rc = kernel_read_file_from_path(path, &buf->data, &size, msize,
id);
@@ -443,21 +443,22 @@ fw_get_filesystem_firmware(struct device
rc = kernel_read_file_from_path(path, &fw_priv->data, &size,
msize, id);
if (rc) {
- if (rc == -ENOENT)
- dev_dbg(device, "loading %s failed with error %d\n",
@ -37,23 +37,23 @@ format to detect missing firmware.
+ path, rc);
continue;
}
- dev_dbg(device, "direct-loading %s\n", buf->fw_id);
- dev_dbg(device, "direct-loading %s\n", fw_priv->fw_name);
+ dev_info(device, "firmware: direct-loading firmware %s\n",
+ buf->fw_id);
buf->size = size;
fw_state_done(&buf->fw_st);
+ fw_priv->fw_name);
fw_priv->size = size;
fw_state_done(fw_priv);
break;
}
__putname(path);
+ if (rc)
+ dev_err(device, "firmware: failed to load %s (%d)\n",
+ buf->fw_id, rc);
+ fw_priv->fw_name, rc);
+
return rc;
}
@@ -1112,7 +1113,7 @@ static int fw_load_from_user_helper(stru
@@ -1120,7 +1121,7 @@ static int fw_load_from_user_helper(stru
if (opt_flags & FW_OPT_NOWAIT) {
timeout = usermodehelper_read_lock_wait(timeout);
if (!timeout) {

View File

@ -7,7 +7,7 @@ Forwarded: not-needed
--- a/.gitignore
+++ b/.gitignore
@@ -61,23 +61,11 @@ modules.builtin
@@ -61,11 +61,6 @@ modules.builtin
/*.spec
#
@ -16,8 +16,10 @@ Forwarded: not-needed
-/debian/
-
-#
# tar directory (make tar*-pkg)
# Snap directory (make snap-pkg)
#
/snap/
@@ -76,13 +71,6 @@ modules.builtin
/tar-install/
#
@ -31,10 +33,10 @@ Forwarded: not-needed
# Generated include files
#
include/config
@@ -122,3 +110,10 @@ all.config
# Kdevelop4
*.kdev4
@@ -131,3 +119,10 @@ all.config
#Automatically generated by ASN.1 compiler
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.c
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.h
+
+#
+# Debian packaging: ignore everything at the top level, since it isn't

View File

@ -20,10 +20,11 @@ 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 commit fea20995976f4b2e8968f852a18e280487d42f0d
"gpu: host1x: Free the IOMMU domain when there is no device to attach"
and commit 8b3f5ac6b55f5f3f60723a58f14ec235a5b8cfe
"gpu: host1x: Don't fail on NULL bo physical address" which depend on it.
It also reverts commits fea20995976f "gpu: host1x: Free the IOMMU
domain when there is no device to attach", 8b3f5ac6b55f "gpu: host1x:
Don't fail on NULL bo physical address", 1f876c3fcead "gpu: host1x:
Rewrite conditional for better readability" and 41c3068cc2fd "gpu:
host1x: Use IOMMU groups" which depend on it.
---
--- a/drivers/gpu/host1x/cdma.c
@ -176,24 +177,31 @@ and commit 8b3f5ac6b55f5f3f60723a58f14ec235a5b8cfe
#include "bus.h"
#include "channel.h"
@@ -218,37 +217,11 @@ static int host1x_probe(struct platform_
@@ -218,44 +217,11 @@ static int host1x_probe(struct platform_
return err;
}
- if (iommu_present(&platform_bus_type)) {
- host->group = iommu_group_get(&pdev->dev);
- if (host->group) {
- struct iommu_domain_geometry *geometry;
- unsigned long order;
-
- host->domain = iommu_domain_alloc(&platform_bus_type);
- if (!host->domain)
- return -ENOMEM;
- if (!host->domain) {
- err = -ENOMEM;
- goto put_group;
- }
-
- err = iommu_attach_group(host->domain, host->group);
- if (err) {
- if (err == -ENODEV) {
- iommu_domain_free(host->domain);
- host->domain = NULL;
- iommu_group_put(host->group);
- host->group = NULL;
- goto skip_iommu;
- }
-
- err = iommu_attach_device(host->domain, &pdev->dev);
- if (err == -ENODEV) {
- iommu_domain_free(host->domain);
- host->domain = NULL;
- goto skip_iommu;
- } else if (err) {
- goto fail_free_domain;
- }
-
@ -215,30 +223,33 @@ and commit 8b3f5ac6b55f5f3f60723a58f14ec235a5b8cfe
}
err = clk_prepare_enable(host->clk);
@@ -293,15 +266,6 @@ fail_unprepare_disable:
@@ -300,17 +266,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) {
- if (host->group && host->domain) {
- put_iova_domain(&host->iova);
- iommu_detach_device(host->domain, &pdev->dev);
- iommu_detach_group(host->domain, host->group);
- }
-fail_free_domain:
- if (host->domain)
- iommu_domain_free(host->domain);
-put_group:
- iommu_group_put(host->group);
-
return err;
}
@@ -315,12 +279,6 @@ static int host1x_remove(struct platform
@@ -324,13 +279,6 @@ static int host1x_remove(struct platform
reset_control_assert(host->rst);
clk_disable_unprepare(host->clk);
- if (host->domain) {
- put_iova_domain(&host->iova);
- iommu_detach_device(host->domain, &pdev->dev);
- iommu_detach_group(host->domain, host->group);
- iommu_domain_free(host->domain);
- iommu_group_put(host->group);
- }
-
return 0;
@ -255,10 +266,11 @@ and commit 8b3f5ac6b55f5f3f60723a58f14ec235a5b8cfe
#include <linux/platform_device.h>
#include <linux/reset.h>
@@ -117,10 +115,6 @@ struct host1x {
@@ -117,11 +115,6 @@ struct host1x {
struct clk *clk;
struct reset_control *rst;
- struct iommu_group *group;
- struct iommu_domain *domain;
- struct iova_domain iova;
- dma_addr_t iova_end;

View File

@ -8,9 +8,9 @@ it by default yet.
--- a/kernel/sched/autogroup.c
+++ b/kernel/sched/autogroup.c
@@ -9,7 +9,7 @@
#include <linux/security.h>
#include <linux/export.h>
@@ -7,7 +7,7 @@
#include "sched.h"
-unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
+unsigned int __read_mostly sysctl_sched_autogroup_enabled = 0;

View File

@ -9,7 +9,7 @@ are set.
--- a/Makefile
+++ b/Makefile
@@ -1048,7 +1048,7 @@ endif
@@ -1087,7 +1087,7 @@ endif
prepare2: prepare3 prepare-compiler-check outputmakefile asm-generic
prepare1: prepare2 $(version_h) include/generated/utsrelease.h \
@ -18,7 +18,7 @@ are set.
$(cmd_crmodverdir)
archprepare: archheaders archscripts prepare1 scripts_basic
@@ -1118,6 +1118,16 @@ define filechk_version.h
@@ -1168,6 +1168,16 @@ define filechk_version.h
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
endef
@ -35,7 +35,7 @@ are set.
$(version_h): $(srctree)/Makefile FORCE
$(call filechk,version.h)
$(Q)rm -f $(old_version_h)
@@ -1125,6 +1135,9 @@ $(version_h): $(srctree)/Makefile FORCE
@@ -1175,6 +1185,9 @@ $(version_h): $(srctree)/Makefile FORCE
include/generated/utsrelease.h: include/config/kernel.release FORCE
$(call filechk,utsrelease.h)
@ -69,7 +69,7 @@ are set.
printk(KERN_INFO "RSP: %016lx EFLAGS: %08lx\n", PT_REGS_SP(regs),
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -35,6 +35,7 @@
@@ -34,6 +34,7 @@
#include <linux/utsname.h>
#include <linux/tracehook.h>
#include <linux/rcupdate.h>
@ -77,7 +77,7 @@ are set.
#include <asm/cpu.h>
#include <asm/delay.h>
@@ -108,9 +109,9 @@ show_regs (struct pt_regs *regs)
@@ -104,9 +105,9 @@ show_regs (struct pt_regs *regs)
print_modules();
printk("\n");
show_regs_print_info(KERN_DEFAULT);
@ -86,20 +86,20 @@ are set.
regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(),
- init_utsname()->release);
+ init_utsname()->release, LINUX_PACKAGE_ID);
print_symbol("ip is at %s\n", ip);
printk("ip is at %pS\n", (void *)ip);
printk("unat: %016lx pfs : %016lx rsc : %016lx\n",
regs->ar_unat, regs->ar_pfs, regs->ar_rsc);
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -42,6 +42,7 @@
#include <linux/hw_breakpoint.h>
@@ -43,6 +43,7 @@
#include <linux/uaccess.h>
#include <linux/elf-randomize.h>
#include <linux/pkeys.h>
+#include <generated/package.h>
#include <asm/pgtable.h>
#include <asm/io.h>
@@ -1403,8 +1404,9 @@ void show_regs(struct pt_regs * regs)
@@ -1404,8 +1405,9 @@ void show_regs(struct pt_regs * regs)
printk("NIP: "REG" LR: "REG" CTR: "REG"\n",
regs->nip, regs->link, regs->ctr);
@ -145,7 +145,7 @@ are set.
#include <linux/uaccess.h>
#include <asm/sections.h>
@@ -3118,11 +3119,12 @@ void __init dump_stack_set_arch_desc(con
@@ -3288,11 +3289,12 @@ void __init dump_stack_set_arch_desc(con
*/
void dump_stack_print_info(const char *log_lvl)
{

View File

@ -9,11 +9,9 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch
SPDX-License-Identifier: GPL-2.0
aufs4.x-rcN mmap patch
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 60316b5..ce5314e 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1987,7 +1987,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
@@ -2014,7 +2014,7 @@ static int map_files_get_link(struct den
down_read(&mm->mmap_sem);
vma = find_exact_vma(mm, vm_start, vm_end);
if (vma && vma->vm_file) {
@ -22,11 +20,9 @@ index 60316b5..ce5314e 100644
path_get(path);
rc = 0;
}
diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c
index 7563437..7c0dc0f 100644
--- a/fs/proc/nommu.c
+++ b/fs/proc/nommu.c
@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region)
@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_
file = region->vm_file;
if (file) {
@ -38,11 +34,9 @@ index 7563437..7c0dc0f 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 339e4c1..1138098 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -306,7 +306,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
@@ -311,7 +311,10 @@ show_map_vma(struct seq_file *m, struct
const char *name = NULL;
if (file) {
@ -54,7 +48,7 @@ index 339e4c1..1138098 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
@@ -1736,7 +1739,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
@@ -1741,7 +1744,7 @@ static int show_numa_map(struct seq_file
struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md;
@ -63,11 +57,9 @@ index 339e4c1..1138098 100644
struct mm_struct *mm = vma->vm_mm;
struct mm_walk walk = {
.hugetlb_entry = gather_hugetlb_stats,
diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
index 5b62f57..dfb4a3b 100644
--- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c
@@ -156,7 +156,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma,
@@ -156,7 +156,10 @@ static int nommu_vma_show(struct seq_fil
file = vma->vm_file;
if (file) {
@ -79,13 +71,11 @@ index 5b62f57..dfb4a3b 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index ea818ff..fbd4799 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1362,6 +1362,28 @@ static inline int fixup_user_fault(struct task_struct *tsk,
@@ -1368,6 +1368,28 @@ static inline void unmap_shared_mapping_
unmap_mapping_range(mapping, holebegin, holelen, 0);
}
#endif
+extern void vma_do_file_update_time(struct vm_area_struct *, const char[], int);
+extern struct file *vma_do_pr_or_file(struct vm_area_struct *, const char[],
@ -109,14 +99,12 @@ index ea818ff..fbd4799 100644
+#define vmr_fput(region) vmr_do_fput(region, __func__, __LINE__)
+#endif /* !CONFIG_MMU */
+
extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len,
unsigned int gup_flags);
extern int access_process_vm(struct task_struct *tsk, unsigned long addr,
void *buf, int len, unsigned int gup_flags);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index cfd0ac4..135e11c 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -255,6 +255,7 @@ struct vm_region {
@@ -249,6 +249,7 @@ struct vm_region {
unsigned long vm_top; /* region allocated to here */
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */
@ -124,7 +112,7 @@ index cfd0ac4..135e11c 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
@@ -329,6 +330,7 @@ struct vm_area_struct {
@@ -323,6 +324,7 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units */
struct file * vm_file; /* File we map to (can be NULL). */
@ -132,11 +120,9 @@ index cfd0ac4..135e11c 100644
void * vm_private_data; /* was vm_pte (shared mem) */
atomic_long_t swap_readahead_info;
diff --git a/kernel/fork.c b/kernel/fork.c
index 432eadf..8b2ba5b 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -676,7 +676,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
@@ -474,7 +474,7 @@ static __latent_entropy int dup_mmap(str
struct inode *inode = file_inode(file);
struct address_space *mapping = file->f_mapping;
@ -145,11 +131,9 @@ index 432eadf..8b2ba5b 100644
if (tmp->vm_flags & VM_DENYWRITE)
atomic_dec(&inode->i_writecount);
i_mmap_lock_write(mapping);
diff --git a/mm/Makefile b/mm/Makefile
index e669f02..9c36567 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.o \
@@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.
mm_init.o mmu_context.o percpu.o slab_common.o \
compaction.o vmacache.o swap_slots.o \
interval_tree.o list_lru.o workingset.o \
@ -158,11 +142,9 @@ index e669f02..9c36567 100644
obj-y += init-mm.o
diff --git a/mm/filemap.c b/mm/filemap.c
index ee83baa..7677d13 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2704,7 +2704,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf)
@@ -2703,7 +2703,7 @@ int filemap_page_mkwrite(struct vm_fault
int ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb);
@ -171,11 +153,9 @@ index ee83baa..7677d13 100644
lock_page(page);
if (page->mapping != inode->i_mapping) {
unlock_page(page);
diff --git a/mm/mmap.c b/mm/mmap.c
index a4d5468..cb06cbd 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -171,7 +171,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
@@ -171,7 +171,7 @@ static struct vm_area_struct *remove_vma
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
@ -184,7 +164,7 @@ index a4d5468..cb06cbd 100644
mpol_put(vma_policy(vma));
kmem_cache_free(vm_area_cachep, vma);
return next;
@@ -896,7 +896,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
@@ -896,7 +896,7 @@ again:
if (remove_next) {
if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end);
@ -193,7 +173,7 @@ index a4d5468..cb06cbd 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -1761,8 +1761,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -1761,8 +1761,8 @@ out:
return addr;
unmap_and_free_vma:
@ -203,7 +183,7 @@ index a4d5468..cb06cbd 100644
/* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2586,7 +2586,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2586,7 +2586,7 @@ int __split_vma(struct mm_struct *mm, st
goto out_free_mpol;
if (new->vm_file)
@ -212,7 +192,7 @@ index a4d5468..cb06cbd 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2605,7 +2605,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2605,7 +2605,7 @@ int __split_vma(struct mm_struct *mm, st
if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new);
if (new->vm_file)
@ -221,7 +201,7 @@ index a4d5468..cb06cbd 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
@@ -2767,7 +2767,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2767,7 +2767,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
struct vm_area_struct *vma;
unsigned long populate = 0;
unsigned long ret = -EINVAL;
@ -230,7 +210,7 @@ index a4d5468..cb06cbd 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.txt.\n",
current->comm, current->pid);
@@ -2842,10 +2842,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2842,10 +2842,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
}
}
@ -259,7 +239,7 @@ index a4d5468..cb06cbd 100644
out:
up_write(&mm->mmap_sem);
if (populate)
@@ -3153,7 +3170,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -3153,7 +3170,7 @@ struct vm_area_struct *copy_vma(struct v
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
if (new_vma->vm_file)
@ -268,11 +248,9 @@ index a4d5468..cb06cbd 100644
if (new_vma->vm_ops && new_vma->vm_ops->open)
new_vma->vm_ops->open(new_vma);
vma_link(mm, new_vma, prev, rb_link, rb_parent);
diff --git a/mm/nommu.c b/mm/nommu.c
index 17c00d9..4bcdf94 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -641,7 +641,7 @@ static void __put_nommu_region(struct vm_region *region)
@@ -641,7 +641,7 @@ static void __put_nommu_region(struct vm
up_write(&nommu_region_sem);
if (region->vm_file)
@ -281,7 +259,7 @@ index 17c00d9..4bcdf94 100644
/* IO memory and memory shared directly out of the pagecache
* from ramfs/tmpfs mustn't be released here */
@@ -799,7 +799,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
@@ -799,7 +799,7 @@ static void delete_vma(struct mm_struct
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
@ -299,7 +277,7 @@ index 17c00d9..4bcdf94 100644
kmem_cache_free(vm_region_jar, region);
region = pregion;
result = start;
@@ -1396,10 +1396,10 @@ unsigned long do_mmap(struct file *file,
@@ -1396,10 +1396,10 @@ error_just_free:
up_write(&nommu_region_sem);
error:
if (region->vm_file)
@ -312,9 +290,6 @@ index 17c00d9..4bcdf94 100644
kmem_cache_free(vm_area_cachep, vma);
return ret;
diff --git a/mm/prfile.c b/mm/prfile.c
new file mode 100644
index 0000000..3f56669
--- /dev/null
+++ b/mm/prfile.c
@@ -0,0 +1,86 @@

View File

@ -20,11 +20,9 @@ cc: linux-pci@vger.kernel.org
drivers/pci/syscall.c | 3 ++-
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 1eecfa301f7f..e1a3b0e765c2 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -881,6 +881,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
@@ -930,6 +930,9 @@ static ssize_t pci_write_config(struct f
loff_t init_off = off;
u8 *data = (u8 *) buf;
@ -34,7 +32,7 @@ index 1eecfa301f7f..e1a3b0e765c2 100644
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
@@ -1175,6 +1178,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
@@ -1224,6 +1227,9 @@ static int pci_mmap_resource(struct kobj
enum pci_mmap_state mmap_type;
struct resource *res = &pdev->resource[bar];
@ -44,7 +42,7 @@ index 1eecfa301f7f..e1a3b0e765c2 100644
if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
return -EINVAL;
@@ -1255,6 +1261,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
@@ -1299,6 +1305,9 @@ static ssize_t pci_write_resource_io(str
struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
@ -54,11 +52,9 @@ index 1eecfa301f7f..e1a3b0e765c2 100644
return pci_resource_io(filp, kobj, attr, buf, off, count, true);
}
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index 098360d7ff81..a6c53d855daa 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
@@ -117,6 +117,9 @@ static ssize_t proc_bus_pci_write(struct
int size = dev->cfg_size;
int cnt;
@ -68,7 +64,7 @@ index 098360d7ff81..a6c53d855daa 100644
if (pos >= size)
return 0;
if (nbytes >= size)
@@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
@@ -196,6 +199,9 @@ static long proc_bus_pci_ioctl(struct fi
#endif /* HAVE_PCI_MMAP */
int ret = 0;
@ -78,7 +74,7 @@ index 098360d7ff81..a6c53d855daa 100644
switch (cmd) {
case PCIIOC_CONTROLLER:
ret = pci_domain_nr(dev->bus);
@@ -236,7 +242,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
@@ -237,7 +243,8 @@ static int proc_bus_pci_mmap(struct file
struct pci_filp_private *fpriv = file->private_data;
int i, ret, write_combine = 0, res_bit = IORESOURCE_MEM;
@ -88,11 +84,9 @@ index 098360d7ff81..a6c53d855daa 100644
return -EPERM;
if (fpriv->mmap_state == pci_mmap_io) {
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
index 9bf993e1f71e..afa01cc3ceec 100644
--- a/drivers/pci/syscall.c
+++ b/drivers/pci/syscall.c
@@ -92,7 +92,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
@@ -93,7 +93,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigne
u32 dword;
int err = 0;
@ -101,4 +95,4 @@ index 9bf993e1f71e..afa01cc3ceec 100644
+ kernel_is_locked_down("Direct PCI access"))
return -EPERM;
dev = pci_get_bus_and_slot(bus, dfn);
dev = pci_get_domain_bus_and_slot(0, bus, dfn);

View File

@ -1,91 +0,0 @@
From d67849c340aa803f25a1b3720ba399fecd4f88ab Mon Sep 17 00:00:00 2001
From: Jon Hunter <jonathanh@nvidia.com>
Date: Tue, 28 Mar 2017 12:48:38 +0100
Subject: [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210
platforms
Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
all CPUs can be enabled on boot. This assumes that the PSCI firmware
has been loaded during the initial bootstrap on the device before the
kernel starts (which is typically the case for these platforms). The
PSCI firmware version is set to v0.2 which aligns with the current
shipping version for Tegra.
Reported-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Tested-By: Vagrant Cascadian <vagrant@debian.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 23 +++++++++++++++++++++++
arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 23 +++++++++++++++++++++++
2 files changed, 46 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
index d10d4430537a..212e6634c9ba 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
@@ -297,6 +297,29 @@
};
};
+ cpus {
+ cpu@0 {
+ enable-method = "psci";
+ };
+
+ cpu@1 {
+ enable-method = "psci";
+ };
+
+ cpu@2 {
+ enable-method = "psci";
+ };
+
+ cpu@3 {
+ enable-method = "psci";
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
regulators {
vdd_gpu: regulator@100 {
compatible = "pwm-regulator";
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
index be6066ff97c9..d0dc03923723 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
@@ -52,4 +52,27 @@
clock-frequency = <32768>;
};
};
+
+ cpus {
+ cpu@0 {
+ enable-method = "psci";
+ };
+
+ cpu@1 {
+ enable-method = "psci";
+ };
+
+ cpu@2 {
+ enable-method = "psci";
+ };
+
+ cpu@3 {
+ enable-method = "psci";
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
};
--
2.11.0

View File

@ -78,7 +78,6 @@ bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch
bugfix/all/kbuild-include-addtree-remove-quotes-before-matching-path.patch
debian/revert-objtool-fix-config_stack_validation-y-warning.patch
bugfix/all/crypto-ecc-fix-null-pointer-deref.-on-no-default_rng.patch
# Miscellaneous features
@ -136,7 +135,4 @@ bugfix/all/cpupower-fix-checks-for-cpu-existence.patch
bugfix/all/lockdep-stub-nmi-watchdog-reset.patch
bugfix/arm64/ARM64-dts-meson-reduce-odroid-c2-eMMC-maximum-rate.patch
# Backport patches from linux-next (next-20180103) to support SMP on tegra210 systems
features/arm64/tegra210-smp/0001-arm64-tegra-Add-CPU-and-PSCI-nodes-for-NVIDIA-Tegra2.patch
# ABI maintenance