Merge tag 'm68k-for-v4.21-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k

Pull m68k updates from Geert Uytterhoeven:

 - Generate syscall headers

 - Small improvements and cleanups

 - defconfig updates

* tag 'm68k-for-v4.21-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k: Generate uapi header and syscall table header files
  m68k: Add system call table generation support
  m68k: Add __NR_syscalls along with NR_syscalls
  m68k/defconfig: Update defconfigs for v4.20-rc1
  m68k: Remove redundant 'default n' from Kconfig
  m68k: Unroll raw_outsb() loop
This commit is contained in:
Linus Torvalds
2018-12-26 10:16:55 -08:00
24 changed files with 1161 additions and 1285 deletions

View File

@@ -1,3 +1,4 @@
generated-y += syscall_table.h
generic-y += barrier.h
generic-y += compat.h
generic-y += device.h

View File

@@ -107,12 +107,43 @@ static inline void raw_insb(volatile u8 __iomem *port, u8 *buf, unsigned int len
}
static inline void raw_outsb(volatile u8 __iomem *port, const u8 *buf,
unsigned int len)
unsigned int nr)
{
unsigned int i;
unsigned int tmp;
for (i = 0; i < len; i++)
out_8(port, *buf++);
if (nr & 15) {
tmp = (nr & 15) - 1;
asm volatile (
"1: moveb %0@+,%2@; dbra %1,1b"
: "=a" (buf), "=d" (tmp)
: "a" (port), "0" (buf),
"1" (tmp));
}
if (nr >> 4) {
tmp = (nr >> 4) - 1;
asm volatile (
"1: "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"moveb %0@+,%2@; "
"dbra %1,1b"
: "=a" (buf), "=d" (tmp)
: "a" (port), "0" (buf),
"1" (tmp));
}
}
static inline void raw_insw(volatile u16 __iomem *port, u16 *buf, unsigned int nr)

View File

@@ -4,8 +4,7 @@
#include <uapi/asm/unistd.h>
#define NR_syscalls 380
#define NR_syscalls __NR_syscalls
#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_OLD_READDIR