diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2016-03-05 21:50:48 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2016-03-05 21:50:48 +0000 |
commit | 1c7e30e33b95cb1bf9245396f808904b8011ba8b (patch) | |
tree | 2074370a3ace5fa01c196ca9e1fd831c4f09556a /freed-ora | |
parent | b6ecdfe6007657af73cfc9158ee43e29493a268b (diff) | |
download | linux-libre-raptor-1c7e30e33b95cb1bf9245396f808904b8011ba8b.tar.gz linux-libre-raptor-1c7e30e33b95cb1bf9245396f808904b8011ba8b.zip |
4.4.3-201.fc22.gnu
Diffstat (limited to 'freed-ora')
-rw-r--r-- | freed-ora/current/f22/config-arm-generic | 6 | ||||
-rw-r--r-- | freed-ora/current/f22/config-armv7 | 3 | ||||
-rw-r--r-- | freed-ora/current/f22/config-armv7-generic | 1 | ||||
-rw-r--r-- | freed-ora/current/f22/drm-nouveau-platform-Fix-deferred-probe.patch | 116 | ||||
-rw-r--r-- | freed-ora/current/f22/kernel.spec | 12 |
5 files changed, 135 insertions, 3 deletions
diff --git a/freed-ora/current/f22/config-arm-generic b/freed-ora/current/f22/config-arm-generic index 399bfaf23..0831ea38e 100644 --- a/freed-ora/current/f22/config-arm-generic +++ b/freed-ora/current/f22/config-arm-generic @@ -122,6 +122,7 @@ CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m CONFIG_REGULATOR_ACT8865=m CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_ROCKCHIP_EFUSE=m # Tegra # CONFIG_TEGRA_AHB is not set @@ -167,6 +168,9 @@ CONFIG_ARM_MHU=m # CONFIG_PL320_MBOX is not set CONFIG_ARM_SCPI_PROTOCOL=m +# NVMem +CONFIG_NVMEM=m + # USB CONFIG_USB_OHCI_HCD_PLATFORM=m CONFIG_USB_EHCI_HCD_PLATFORM=m @@ -249,7 +253,7 @@ CONFIG_PINMUX=y CONFIG_PINCONF=y CONFIG_PINCTRL=y CONFIG_GENERIC_PINCONF=y -CONFIG_PINCTRL_SINGLE=m +CONFIG_PINCTRL_SINGLE=y #i2c CONFIG_I2C_ARB_GPIO_CHALLENGE=m diff --git a/freed-ora/current/f22/config-armv7 b/freed-ora/current/f22/config-armv7 index eaa6d4ebf..50c4cc594 100644 --- a/freed-ora/current/f22/config-armv7 +++ b/freed-ora/current/f22/config-armv7 @@ -349,6 +349,8 @@ CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_REGULATOR_QCOM_SMD_RPM=m # CONFIG_QCOM_SMEM is not set +CONFIG_QCOM_SMEM=m +CONFIG_QCOM_QFPROM=m # i.MX # CONFIG_MXC_DEBUG_BOARD is not set @@ -419,6 +421,7 @@ CONFIG_FB_MXS=m # CONFIG_FB_MX3 is not set # CONFIG_FB_IMX is not set CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_NVMEM_IMX_OCOTP=m CONFIG_SND_IMX_SOC=m CONFIG_SND_SOC_FSL_ASOC_CARD=m diff --git a/freed-ora/current/f22/config-armv7-generic b/freed-ora/current/f22/config-armv7-generic index 285b4dca0..23068c57a 100644 --- a/freed-ora/current/f22/config-armv7-generic +++ b/freed-ora/current/f22/config-armv7-generic @@ -222,6 +222,7 @@ CONFIG_USB_MUSB_SUNXI=m CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_SND_SUN4I_CODEC=m CONFIG_SUNXI_RSB=m +CONFIG_NVMEM_SUNXI_SID=m # Exynos CONFIG_ARCH_EXYNOS3=y diff --git a/freed-ora/current/f22/drm-nouveau-platform-Fix-deferred-probe.patch b/freed-ora/current/f22/drm-nouveau-platform-Fix-deferred-probe.patch new file mode 100644 index 000000000..bae1dae7a --- /dev/null +++ b/freed-ora/current/f22/drm-nouveau-platform-Fix-deferred-probe.patch @@ -0,0 +1,116 @@ +From patchwork Wed Feb 24 17:34:43 2016 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: drm/nouveau: platform: Fix deferred probe +From: Thierry Reding <thierry.reding@gmail.com> +X-Patchwork-Id: 587554 +Message-Id: <1456335283-22097-1-git-send-email-thierry.reding@gmail.com> +To: Ben Skeggs <bskeggs@redhat.com> +Cc: Alexandre Courbot <gnurou@gmail.com>, Nicolas Chauvet <kwizart@gmail.com>, + dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org +Date: Wed, 24 Feb 2016 18:34:43 +0100 + +From: Thierry Reding <treding@nvidia.com> + +The error cleanup paths aren't quite correct and will crash upon +deferred probe. + +Cc: stable@vger.kernel.org # v4.3+ +Signed-off-by: Thierry Reding <treding@nvidia.com> +Reviewed-by: Ben Skeggs <bskeggs@redhat.com> +Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> +--- + drivers/gpu/drm/nouveau/nouveau_platform.c | 2 +- + drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 40 ++++++++++++++++------ + 2 files changed, 30 insertions(+), 12 deletions(-) + +diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c b/drivers/gpu/drm/nouveau/nouveau_platform.c +index 8a70cec59bcd..2dfe58af12e4 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_platform.c ++++ b/drivers/gpu/drm/nouveau/nouveau_platform.c +@@ -24,7 +24,7 @@ + static int nouveau_platform_probe(struct platform_device *pdev) + { + const struct nvkm_device_tegra_func *func; +- struct nvkm_device *device; ++ struct nvkm_device *device = NULL; + struct drm_device *drm; + int ret; + +diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +index 7f8a42721eb2..e7e581d6a8ff 100644 +--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c ++++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +@@ -252,32 +252,40 @@ nvkm_device_tegra_new(const struct nvkm_device_tegra_func *func, + + if (!(tdev = kzalloc(sizeof(*tdev), GFP_KERNEL))) + return -ENOMEM; +- *pdevice = &tdev->device; ++ + tdev->func = func; + tdev->pdev = pdev; + tdev->irq = -1; + + tdev->vdd = devm_regulator_get(&pdev->dev, "vdd"); +- if (IS_ERR(tdev->vdd)) +- return PTR_ERR(tdev->vdd); ++ if (IS_ERR(tdev->vdd)) { ++ ret = PTR_ERR(tdev->vdd); ++ goto free; ++ } + + tdev->rst = devm_reset_control_get(&pdev->dev, "gpu"); +- if (IS_ERR(tdev->rst)) +- return PTR_ERR(tdev->rst); ++ if (IS_ERR(tdev->rst)) { ++ ret = PTR_ERR(tdev->rst); ++ goto free; ++ } + + tdev->clk = devm_clk_get(&pdev->dev, "gpu"); +- if (IS_ERR(tdev->clk)) +- return PTR_ERR(tdev->clk); ++ if (IS_ERR(tdev->clk)) { ++ ret = PTR_ERR(tdev->clk); ++ goto free; ++ } + + tdev->clk_pwr = devm_clk_get(&pdev->dev, "pwr"); +- if (IS_ERR(tdev->clk_pwr)) +- return PTR_ERR(tdev->clk_pwr); ++ if (IS_ERR(tdev->clk_pwr)) { ++ ret = PTR_ERR(tdev->clk_pwr); ++ goto free; ++ } + + nvkm_device_tegra_probe_iommu(tdev); + + ret = nvkm_device_tegra_power_up(tdev); + if (ret) +- return ret; ++ goto remove; + + tdev->gpu_speedo = tegra_sku_info.gpu_speedo_value; + ret = nvkm_device_ctor(&nvkm_device_tegra_func, NULL, &pdev->dev, +@@ -285,9 +293,19 @@ nvkm_device_tegra_new(const struct nvkm_device_tegra_func *func, + cfg, dbg, detect, mmio, subdev_mask, + &tdev->device); + if (ret) +- return ret; ++ goto powerdown; ++ ++ *pdevice = &tdev->device; + + return 0; ++ ++powerdown: ++ nvkm_device_tegra_power_down(tdev); ++remove: ++ nvkm_device_tegra_remove_iommu(tdev); ++free: ++ kfree(tdev); ++ return ret; + } + #else + int diff --git a/freed-ora/current/f22/kernel.spec b/freed-ora/current/f22/kernel.spec index 876fc2fcc..247126a3a 100644 --- a/freed-ora/current/f22/kernel.spec +++ b/freed-ora/current/f22/kernel.spec @@ -40,7 +40,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 200 +%global baserelease 201 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -556,6 +556,8 @@ Patch456: arm64-acpi-drop-expert-patch.patch Patch457: ARM-tegra-usb-no-reset.patch +Patch458: drm-nouveau-platform-Fix-deferred-probe.patch + Patch460: mfd-wm8994-Ensure-that-the-whole-MFD-is-built-into-a.patch Patch463: arm-i.MX6-Utilite-device-dtb.patch @@ -1342,6 +1344,8 @@ ApplyPatch arm64-acpi-drop-expert-patch.patch ApplyPatch ARM-tegra-usb-no-reset.patch +ApplyPatch drm-nouveau-platform-Fix-deferred-probe.patch + ApplyPatch mfd-wm8994-Ensure-that-the-whole-MFD-is-built-into-a.patch ApplyPatch arm-i.MX6-Utilite-device-dtb.patch @@ -2331,7 +2335,11 @@ fi # # %changelog -* Sun Feb 28 2016 Alexandre Oliva <lxoliva@fsfla.org> -libre +* Sat Feb 27 2016 Peter Robinson <pbrobinson@fedoraproject.org> 4.4.3-201 +- Bring missed 4.4 ARMv7 fixes from F-23 kernel +- Fix deferred nouveau module loading on tegra + +* Fri Feb 26 2016 Alexandre Oliva <lxoliva@fsfla.org> -libre Sun Feb 28 * GNU Linux-libre 4.4.3-gnu. * Fri Feb 26 2016 Laura Abbott <labbott@fedoraproject.org> - 4.4.3-200 |