parent
dfb88fd99a
commit
c535d9e534
|
@ -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
|
#pkgbase=linux-custom # Build kernel with a different name
|
||||||
_srcname=linux-4.4
|
_srcname=linux-4.4
|
||||||
pkgver=4.4
|
pkgver=4.4
|
||||||
pkgrel=3
|
pkgrel=4
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
license=('GPL2')
|
license=('GPL2')
|
||||||
|
@ -19,14 +19,18 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
|
||||||
'config' 'config.x86_64'
|
'config' 'config.x86_64'
|
||||||
# standard config files for mkinitcpio ramdisk
|
# standard config files for mkinitcpio ramdisk
|
||||||
'linux.preset'
|
'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'
|
sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'd402c67f5a7334ac9e242344055ef4ac63fe43a1d8f1cda82eddd59d7242a63e'
|
'd402c67f5a7334ac9e242344055ef4ac63fe43a1d8f1cda82eddd59d7242a63e'
|
||||||
'ddeadf2910deb0803d4d4920c4dc7f07d3fb63bca564073aeb5f6181358f20d7'
|
'ddeadf2910deb0803d4d4920c4dc7f07d3fb63bca564073aeb5f6181358f20d7'
|
||||||
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
|
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
|
||||||
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99')
|
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
|
||||||
|
'5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375'
|
||||||
|
'ab57037ecee0a425c612babdff47c831378bca0bff063a1308599989a350226d')
|
||||||
validpgpkeys=(
|
validpgpkeys=(
|
||||||
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
||||||
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
||||||
|
@ -43,6 +47,15 @@ prepare() {
|
||||||
# add latest fixes from stable queue, if needed
|
# add latest fixes from stable queue, if needed
|
||||||
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
|
# 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)
|
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
|
||||||
# remove this when a Kconfig knob is made available by upstream
|
# remove this when a Kconfig knob is made available by upstream
|
||||||
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
|
# (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