Commit e1e22b27 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'driver-core-4.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

Pull misc fixes from Greg KH:
 "Here are three small fixes for 4.6-rc4.

  Two fix up some lz4 issues with big endian systems, and the remaining
  one resolves a minor debugfs issue that was reported.

  All have been in linux-next with no reported issues"

* tag 'driver-core-4.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
  lib: lz4: cleanup unaligned access efficiency detection
  lib: lz4: fixed zram with lz4 on big endian machines
  debugfs: Make automount point inodes permanently empty
parents b62dabfb dea5c24a
...@@ -457,7 +457,7 @@ struct dentry *debugfs_create_automount(const char *name, ...@@ -457,7 +457,7 @@ struct dentry *debugfs_create_automount(const char *name,
if (unlikely(!inode)) if (unlikely(!inode))
return failed_creating(dentry); return failed_creating(dentry);
inode->i_mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO; make_empty_dir_inode(inode);
inode->i_flags |= S_AUTOMOUNT; inode->i_flags |= S_AUTOMOUNT;
inode->i_private = data; inode->i_private = data;
dentry->d_fsdata = (void *)f; dentry->d_fsdata = (void *)f;
......
...@@ -11,8 +11,7 @@ ...@@ -11,8 +11,7 @@
/* /*
* Detects 64 bits mode * Detects 64 bits mode
*/ */
#if (defined(__x86_64__) || defined(__x86_64) || defined(__amd64__) \ #if defined(CONFIG_64BIT)
|| defined(__ppc64__) || defined(__LP64__))
#define LZ4_ARCH64 1 #define LZ4_ARCH64 1
#else #else
#define LZ4_ARCH64 0 #define LZ4_ARCH64 0
...@@ -25,9 +24,7 @@ ...@@ -25,9 +24,7 @@
typedef struct _U16_S { u16 v; } U16_S; typedef struct _U16_S { u16 v; } U16_S;
typedef struct _U32_S { u32 v; } U32_S; typedef struct _U32_S { u32 v; } U32_S;
typedef struct _U64_S { u64 v; } U64_S; typedef struct _U64_S { u64 v; } U64_S;
#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) \ #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
|| defined(CONFIG_ARM) && __LINUX_ARM_ARCH__ >= 6 \
&& defined(ARM_EFFICIENT_UNALIGNED_ACCESS)
#define A16(x) (((U16_S *)(x))->v) #define A16(x) (((U16_S *)(x))->v)
#define A32(x) (((U32_S *)(x))->v) #define A32(x) (((U32_S *)(x))->v)
...@@ -35,6 +32,10 @@ typedef struct _U64_S { u64 v; } U64_S; ...@@ -35,6 +32,10 @@ typedef struct _U64_S { u64 v; } U64_S;
#define PUT4(s, d) (A32(d) = A32(s)) #define PUT4(s, d) (A32(d) = A32(s))
#define PUT8(s, d) (A64(d) = A64(s)) #define PUT8(s, d) (A64(d) = A64(s))
#define LZ4_READ_LITTLEENDIAN_16(d, s, p) \
(d = s - A16(p))
#define LZ4_WRITE_LITTLEENDIAN_16(p, v) \ #define LZ4_WRITE_LITTLEENDIAN_16(p, v) \
do { \ do { \
A16(p) = v; \ A16(p) = v; \
...@@ -51,10 +52,13 @@ typedef struct _U64_S { u64 v; } U64_S; ...@@ -51,10 +52,13 @@ typedef struct _U64_S { u64 v; } U64_S;
#define PUT8(s, d) \ #define PUT8(s, d) \
put_unaligned(get_unaligned((const u64 *) s), (u64 *) d) put_unaligned(get_unaligned((const u64 *) s), (u64 *) d)
#define LZ4_WRITE_LITTLEENDIAN_16(p, v) \ #define LZ4_READ_LITTLEENDIAN_16(d, s, p) \
do { \ (d = s - get_unaligned_le16(p))
put_unaligned(v, (u16 *)(p)); \
p += 2; \ #define LZ4_WRITE_LITTLEENDIAN_16(p, v) \
do { \
put_unaligned_le16(v, (u16 *)(p)); \
p += 2; \
} while (0) } while (0)
#endif #endif
...@@ -140,9 +144,6 @@ typedef struct _U64_S { u64 v; } U64_S; ...@@ -140,9 +144,6 @@ typedef struct _U64_S { u64 v; } U64_S;
#endif #endif
#define LZ4_READ_LITTLEENDIAN_16(d, s, p) \
(d = s - get_unaligned_le16(p))
#define LZ4_WILDCOPY(s, d, e) \ #define LZ4_WILDCOPY(s, d, e) \
do { \ do { \
LZ4_COPYPACKET(s, d); \ LZ4_COPYPACKET(s, d); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment