Commit e7244cc3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull m68k updates from Geert Uytterhoeven:

 - Use the generic muldi3 libgcc function

 - Miscellaneous fixes and improvements

* tag 'm68k-for-v6.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k: libgcc: Fix lvalue abuse in umul_ppmm()
  m68k: vga: Fix I/O defines
  zorro: Constify 'struct bin_attribute'
  m68k: atari: Use str_on_off() helper in atari_nvram_proc_read()
  m68k: Use kernel's generic muldi3 libgcc function
parents 4f42d0bf bb2e0fb1
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1526,6 +1526,14 @@ config HAVE_ARCH_COMPILER_H
	  linux/compiler-*.h in order to override macro definitions that those
	  headers generally provide.

config HAVE_ARCH_LIBGCC_H
	bool
	help
	  An architecture can select this if it provides an
	  asm/libgcc.h header that should be included after
	  linux/libgcc.h in order to override macro definitions that
	  header generally provides.

config HAVE_ARCH_PREL32_RELOCATIONS
	bool
	help
+2 −0
Original line number Diff line number Diff line
@@ -23,7 +23,9 @@ config M68K
	select GENERIC_LIB_ASHLDI3
	select GENERIC_LIB_ASHRDI3
	select GENERIC_LIB_LSHRDI3
	select GENERIC_LIB_MULDI3
	select HAS_IOPORT if PCI || ISA || ATARI_ROM_ISA
	select HAVE_ARCH_LIBGCC_H
	select HAVE_ARCH_SECCOMP
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ASM_MODVERSIONS
+4 −2
Original line number Diff line number Diff line
@@ -16,7 +16,9 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/spinlock.h>
#include <linux/string_choices.h>
#include <linux/types.h>

#include <asm/atarihw.h>
#include <asm/atariints.h>

@@ -198,7 +200,7 @@ static void atari_nvram_proc_read(unsigned char *nvram, struct seq_file *seq,
		seq_printf(seq, "0x%02x (undefined)\n", nvram[1]);

	seq_printf(seq, "SCSI arbitration : %s\n",
		   (nvram[16] & 0x80) ? "on" : "off");
		   str_on_off(nvram[16] & 0x80));
	seq_puts(seq, "SCSI host ID     : ");
	if (nvram[16] & 0x80)
		seq_printf(seq, "%d\n", nvram[16] & 7);
@@ -236,7 +238,7 @@ static void atari_nvram_proc_read(unsigned char *nvram, struct seq_file *seq,
		   vmode & 16 ? "VGA" : "TV", vmode & 32 ? "PAL" : "NTSC");
	seq_printf(seq,
		   "                   %soverscan, compat. mode %s%s\n",
		   vmode & 64 ? "" : "no ", vmode & 128 ? "on" : "off",
		   vmode & 64 ? "" : "no ", str_on_off(vmode & 128),
		   vmode & 256 ?
		   (vmode & 16 ? ", line doubling" : ", half screen") : "");
}
+27 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ASM_M68K_LIBGCC_H
#define __ASM_M68K_LIBGCC_H

#ifndef CONFIG_CPU_HAS_NO_MULDIV64
/*
 * For those 68K CPUs that support 64bit multiply define umul_ppm()
 * for the common muldi3 libgcc helper function (in lib/muldi3.c).
 * CPUs that don't have it (like the original 68000 and ColdFire)
 * will fallback to using the C-coded version of umul_ppmm().
 */
#define umul_ppmm(w1, w0, u, v)				\
	do {						\
		unsigned long __u = (u), __v = (v);	\
		unsigned long __w0, __w1;		\
							\
		__asm__ ("mulu%.l %3,%1:%0"		\
			 : "=d" (__w0),			\
			   "=d" (__w1)			\
			 : "%0" (__u),			\
			   "dmi" (__v));		\
							\
		(w0) = __w0; (w1) = __w1;		\
	} while (0)
#endif /* !CONFIG_CPU_HAS_NO_MULDIV64 */

#endif /* __ASM_M68K_LIBGCC_H */
+4 −4
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
 */
#ifndef CONFIG_PCI

#include <asm/raw_io.h>
#include <asm/io.h>
#include <asm/kmap.h>

/*
@@ -29,9 +29,9 @@
#define inw_p(port)		0
#define outb_p(port, val)	do { } while (0)
#define outw(port, val)		do { } while (0)
#define readb			raw_inb
#define writeb			raw_outb
#define writew			raw_outw
#define readb			__raw_readb
#define writeb			__raw_writeb
#define writew			__raw_writew

#endif /* CONFIG_PCI */
#endif /* _ASM_M68K_VGA_H */
Loading