parent
dfb88fd99a
commit
c535d9e534
25
0001-sdhci-revert.patch
Normal file
25
0001-sdhci-revert.patch
Normal file
@ -0,0 +1,25 @@
|
||||
index 2cadf08..b48565e 100644
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -1895,9 +1895,9 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
|
||||
tuning_count = host->tuning_count;
|
||||
|
||||
/*
|
||||
- * The Host Controller needs tuning only in case of SDR104 mode
|
||||
- * and for SDR50 mode when Use Tuning for SDR50 is set in the
|
||||
- * Capabilities register.
|
||||
+ * The Host Controller needs tuning in case of SDR104 and DDR50
|
||||
+ * mode, and for SDR50 mode when Use Tuning for SDR50 is set in
|
||||
+ * the Capabilities register.
|
||||
* If the Host Controller supports the HS200 mode then the
|
||||
* tuning function has to be executed.
|
||||
*/
|
||||
@@ -1917,6 +1917,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
|
||||
break;
|
||||
|
||||
case MMC_TIMING_UHS_SDR104:
|
||||
+ case MMC_TIMING_UHS_DDR50:
|
||||
break;
|
||||
|
||||
case MMC_TIMING_UHS_SDR50:
|
||||
generated by cgit v0.11.2 at 2016-01-01 22:11:38 (GMT)
|
19
PKGBUILD
19
PKGBUILD
@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel
|
||||
#pkgbase=linux-custom # Build kernel with a different name
|
||||
_srcname=linux-4.4
|
||||
pkgver=4.4
|
||||
pkgrel=3
|
||||
pkgrel=4
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.kernel.org/"
|
||||
license=('GPL2')
|
||||
@ -19,14 +19,18 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
|
||||
'config' 'config.x86_64'
|
||||
# standard config files for mkinitcpio ramdisk
|
||||
'linux.preset'
|
||||
'change-default-console-loglevel.patch')
|
||||
'change-default-console-loglevel.patch'
|
||||
'0001-sdhci-revert.patch'
|
||||
'tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch')
|
||||
|
||||
sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2'
|
||||
'SKIP'
|
||||
'd402c67f5a7334ac9e242344055ef4ac63fe43a1d8f1cda82eddd59d7242a63e'
|
||||
'ddeadf2910deb0803d4d4920c4dc7f07d3fb63bca564073aeb5f6181358f20d7'
|
||||
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
|
||||
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99')
|
||||
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
|
||||
'5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375'
|
||||
'ab57037ecee0a425c612babdff47c831378bca0bff063a1308599989a350226d')
|
||||
validpgpkeys=(
|
||||
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
||||
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
||||
@ -43,6 +47,15 @@ prepare() {
|
||||
# add latest fixes from stable queue, if needed
|
||||
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
|
||||
|
||||
# revert http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9faac7b95ea4f9e83b7a914084cc81ef1632fd91
|
||||
# fixes #47778 sdhci broken on some boards
|
||||
# https://bugzilla.kernel.org/show_bug.cgi?id=106541
|
||||
patch -Rp1 -i "${srcdir}/0001-sdhci-revert.patch"
|
||||
|
||||
# fixes #47805 kernel panics on platform modules
|
||||
# https://bugzilla.kernel.org/show_bug.cgi?id=110751
|
||||
patch -Np1 -i "${srcdir}/tpmdd-devel-v3-base-platform-fix-binding-for-drivers-without-probe-callback.patch"
|
||||
|
||||
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
|
||||
# remove this when a Kconfig knob is made available by upstream
|
||||
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
|
||||
|
@ -0,0 +1,24 @@
|
||||
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
|
||||
index 1dd6d3b..176b59f 100644
|
||||
--- a/drivers/base/platform.c
|
||||
+++ b/drivers/base/platform.c
|
||||
@@ -513,10 +513,15 @@ static int platform_drv_probe(struct device *_dev)
|
||||
return ret;
|
||||
|
||||
ret = dev_pm_domain_attach(_dev, true);
|
||||
- if (ret != -EPROBE_DEFER && drv->probe) {
|
||||
- ret = drv->probe(dev);
|
||||
- if (ret)
|
||||
- dev_pm_domain_detach(_dev, true);
|
||||
+ if (ret != -EPROBE_DEFER) {
|
||||
+ if (drv->probe) {
|
||||
+ ret = drv->probe(dev);
|
||||
+ if (ret)
|
||||
+ dev_pm_domain_detach(_dev, true);
|
||||
+ } else {
|
||||
+ /* don't fail if just dev_pm_domain_attach failed */
|
||||
+ ret = 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {
|
Loading…
Reference in New Issue
Block a user