diff options
| author | Takashi Iwai <tiwai@suse.de> | 2016-08-25 17:56:09 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2016-08-25 17:56:09 +0200 |
| commit | a820cd3d25c2891028b5f296a8a871ce6dd92c0d (patch) | |
| tree | 3e86aeb1b898e9ca0dd6754dc7e6ff68865ee175 /arch/s390/lib/string.c | |
| parent | abaa2274811d607679e8687b4118c4922a3517ac (diff) | |
| parent | cfb89f2e7505c6823020a18bbdc5410284305234 (diff) | |
| download | linux-a820cd3d25c2891028b5f296a8a871ce6dd92c0d.tar.gz linux-a820cd3d25c2891028b5f296a8a871ce6dd92c0d.tar.bz2 linux-a820cd3d25c2891028b5f296a8a871ce6dd92c0d.zip | |
Merge tag 'asoc-fix-v4.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v4.8
A clutch of fixes for v4.8. These are mainly driver specific, the most
notable ones being those for OMAP which fix a series of issues that
broke boot on some platforms there when deferred probe kicked in.
There's also one core fix for an issue when unbinding a card which for
some reason had managed to not manifest until recently.
Diffstat (limited to 'arch/s390/lib/string.c')
| -rw-r--r-- | arch/s390/lib/string.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/arch/s390/lib/string.c b/arch/s390/lib/string.c index e390bbb16443..48352bffbc92 100644 --- a/arch/s390/lib/string.c +++ b/arch/s390/lib/string.c @@ -237,11 +237,10 @@ char * strrchr(const char * s, int c) EXPORT_SYMBOL(strrchr); static inline int clcle(const char *s1, unsigned long l1, - const char *s2, unsigned long l2, - int *diff) + const char *s2, unsigned long l2) { register unsigned long r2 asm("2") = (unsigned long) s1; - register unsigned long r3 asm("3") = (unsigned long) l2; + register unsigned long r3 asm("3") = (unsigned long) l1; register unsigned long r4 asm("4") = (unsigned long) s2; register unsigned long r5 asm("5") = (unsigned long) l2; int cc; @@ -252,7 +251,6 @@ static inline int clcle(const char *s1, unsigned long l1, " srl %0,28" : "=&d" (cc), "+a" (r2), "+a" (r3), "+a" (r4), "+a" (r5) : : "cc"); - *diff = *(char *)r2 - *(char *)r4; return cc; } @@ -270,9 +268,9 @@ char * strstr(const char * s1,const char * s2) return (char *) s1; l1 = __strend(s1) - s1; while (l1-- >= l2) { - int cc, dummy; + int cc; - cc = clcle(s1, l1, s2, l2, &dummy); + cc = clcle(s1, l2, s2, l2); if (!cc) return (char *) s1; s1++; @@ -313,11 +311,11 @@ EXPORT_SYMBOL(memchr); */ int memcmp(const void *cs, const void *ct, size_t n) { - int ret, diff; + int ret; - ret = clcle(cs, n, ct, n, &diff); + ret = clcle(cs, n, ct, n); if (ret) - ret = diff; + ret = ret == 1 ? -1 : 1; return ret; } EXPORT_SYMBOL(memcmp); |
