Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 881bcabb authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull m68k updates from Geert Uytterhoeven.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k: Setup CROSS_COMPILE at the top
  m68k: Correct the Atari ALLOWINT definition
  m68k/video: Create <asm/vga.h>
  m68k: Make sure {read,write}s[bwl]() are always defined
  m68k/mm: Port OOM changes to do_page_fault()
  scsi/atari: Make more functions static
  scsi/atari: Revive "atascsi=" setup option
  net/ariadne: Improve debug prints
  m68k/atari: Change VME irq numbers from unsigned long to unsigned int
  m68k/amiga: Use arch_initcall() for registering platform devices
  m68k/amiga: Add error checks when registering platform devices
  m68k/amiga: Mark z_dev_present() __init
  m68k: Remove unused MAX_NOINT_IPL definition
parents e60b9a03 f25e918e
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -16,6 +16,13 @@


KBUILD_DEFCONFIG := multi_defconfig
KBUILD_DEFCONFIG := multi_defconfig


ifneq ($(SUBARCH),$(ARCH))
	ifeq ($(CROSS_COMPILE),)
		CROSS_COMPILE := $(call cc-cross-prefix, \
			m68k-linux-gnu- m68k-linux- m68k-unknown-linux-gnu-)
	endif
endif

#
#
#	Enable processor type. Ordering of these is important - we want to
#	Enable processor type. Ordering of these is important - we want to
#	use the minimum processor type of the range we support. The logic
#	use the minimum processor type of the range we support. The logic
@@ -62,12 +69,6 @@ endif


LDFLAGS := -m m68kelf
LDFLAGS := -m m68kelf
KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds
KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds
ifneq ($(SUBARCH),$(ARCH))
	ifeq ($(CROSS_COMPILE),)
		CROSS_COMPILE := $(call cc-cross-prefix, \
			m68k-linux-gnu- m68k-linux- m68k-unknown-linux-gnu-)
	endif
endif


ifdef CONFIG_SUN3
ifdef CONFIG_SUN3
LDFLAGS_vmlinux = -N
LDFLAGS_vmlinux = -N
+92 −34
Original line number Original line Diff line number Diff line
@@ -6,6 +6,7 @@
 * for more details.
 * for more details.
 */
 */


#include <linux/err.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/zorro.h>
#include <linux/zorro.h>
@@ -46,18 +47,25 @@ static const struct resource zorro_resources[] __initconst = {


static int __init amiga_init_bus(void)
static int __init amiga_init_bus(void)
{
{
	struct platform_device *pdev;
	unsigned int n;

	if (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(ZORRO))
	if (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(ZORRO))
		return -ENODEV;
		return -ENODEV;


	platform_device_register_simple("amiga-zorro", -1, zorro_resources,
	n = AMIGAHW_PRESENT(ZORRO3) ? 4 : 2;
					AMIGAHW_PRESENT(ZORRO3) ? 4 : 2);
	pdev = platform_device_register_simple("amiga-zorro", -1,
					       zorro_resources, n);
	if (IS_ERR(pdev))
		return PTR_ERR(pdev);

	return 0;
	return 0;
}
}


subsys_initcall(amiga_init_bus);
subsys_initcall(amiga_init_bus);




static int z_dev_present(zorro_id id)
static int __init z_dev_present(zorro_id id)
{
{
	unsigned int i;
	unsigned int i;


@@ -126,72 +134,122 @@ static const struct resource amiga_rtc_resource __initconst = {
static int __init amiga_init_devices(void)
static int __init amiga_init_devices(void)
{
{
	struct platform_device *pdev;
	struct platform_device *pdev;
	int error;


	if (!MACH_IS_AMIGA)
	if (!MACH_IS_AMIGA)
		return -ENODEV;
		return -ENODEV;


	/* video hardware */
	/* video hardware */
	if (AMIGAHW_PRESENT(AMI_VIDEO))
	if (AMIGAHW_PRESENT(AMI_VIDEO)) {
		platform_device_register_simple("amiga-video", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-video", -1, NULL,
						       0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}




	/* sound hardware */
	/* sound hardware */
	if (AMIGAHW_PRESENT(AMI_AUDIO))
	if (AMIGAHW_PRESENT(AMI_AUDIO)) {
		platform_device_register_simple("amiga-audio", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-audio", -1, NULL,
						       0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}




	/* storage interfaces */
	/* storage interfaces */
	if (AMIGAHW_PRESENT(AMI_FLOPPY))
	if (AMIGAHW_PRESENT(AMI_FLOPPY)) {
		platform_device_register_simple("amiga-floppy", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-floppy", -1,
						       NULL, 0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(A3000_SCSI))
	if (AMIGAHW_PRESENT(A3000_SCSI)) {
		platform_device_register_simple("amiga-a3000-scsi", -1,
		pdev = platform_device_register_simple("amiga-a3000-scsi", -1,
						       &a3000_scsi_resource, 1);
						       &a3000_scsi_resource, 1);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(A4000_SCSI))
	if (AMIGAHW_PRESENT(A4000_SCSI)) {
		platform_device_register_simple("amiga-a4000t-scsi", -1,
		pdev = platform_device_register_simple("amiga-a4000t-scsi", -1,
						&a4000t_scsi_resource, 1);
						       &a4000t_scsi_resource,
						       1);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(A1200_IDE) ||
	if (AMIGAHW_PRESENT(A1200_IDE) ||
	    z_dev_present(ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE)) {
	    z_dev_present(ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE)) {
		pdev = platform_device_register_simple("amiga-gayle-ide", -1,
		pdev = platform_device_register_simple("amiga-gayle-ide", -1,
						       &a1200_ide_resource, 1);
						       &a1200_ide_resource, 1);
		platform_device_add_data(pdev, &a1200_ide_pdata,
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
		error = platform_device_add_data(pdev, &a1200_ide_pdata,
						 sizeof(a1200_ide_pdata));
						 sizeof(a1200_ide_pdata));
		if (error)
			return error;
	}
	}


	if (AMIGAHW_PRESENT(A4000_IDE)) {
	if (AMIGAHW_PRESENT(A4000_IDE)) {
		pdev = platform_device_register_simple("amiga-gayle-ide", -1,
		pdev = platform_device_register_simple("amiga-gayle-ide", -1,
						       &a4000_ide_resource, 1);
						       &a4000_ide_resource, 1);
		platform_device_add_data(pdev, &a4000_ide_pdata,
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
		error = platform_device_add_data(pdev, &a4000_ide_pdata,
						 sizeof(a4000_ide_pdata));
						 sizeof(a4000_ide_pdata));
		if (error)
			return error;
	}
	}




	/* other I/O hardware */
	/* other I/O hardware */
	if (AMIGAHW_PRESENT(AMI_KEYBOARD))
	if (AMIGAHW_PRESENT(AMI_KEYBOARD)) {
		platform_device_register_simple("amiga-keyboard", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-keyboard", -1,
						       NULL, 0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(AMI_MOUSE))
	if (AMIGAHW_PRESENT(AMI_MOUSE)) {
		platform_device_register_simple("amiga-mouse", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-mouse", -1, NULL,
						       0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(AMI_SERIAL))
	if (AMIGAHW_PRESENT(AMI_SERIAL)) {
		platform_device_register_simple("amiga-serial", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-serial", -1,
						       NULL, 0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(AMI_PARALLEL))
	if (AMIGAHW_PRESENT(AMI_PARALLEL)) {
		platform_device_register_simple("amiga-parallel", -1, NULL, 0);
		pdev = platform_device_register_simple("amiga-parallel", -1,
						       NULL, 0);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}




	/* real time clocks */
	/* real time clocks */
	if (AMIGAHW_PRESENT(A2000_CLK))
	if (AMIGAHW_PRESENT(A2000_CLK)) {
		platform_device_register_simple("rtc-msm6242", -1,
		pdev = platform_device_register_simple("rtc-msm6242", -1,
						       &amiga_rtc_resource, 1);
						       &amiga_rtc_resource, 1);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	if (AMIGAHW_PRESENT(A3000_CLK))
	if (AMIGAHW_PRESENT(A3000_CLK)) {
		platform_device_register_simple("rtc-rp5c01", -1,
		pdev = platform_device_register_simple("rtc-rp5c01", -1,
						       &amiga_rtc_resource, 1);
						       &amiga_rtc_resource, 1);
		if (IS_ERR(pdev))
			return PTR_ERR(pdev);
	}


	return 0;
	return 0;
}
}


device_initcall(amiga_init_devices);
arch_initcall(amiga_init_devices);
+2 −2
Original line number Original line Diff line number Diff line
@@ -206,7 +206,7 @@ void __init atari_init_IRQ(void)
 * hardware with a programmable int vector (probably a VME board).
 * hardware with a programmable int vector (probably a VME board).
 */
 */


unsigned long atari_register_vme_int(void)
unsigned int atari_register_vme_int(void)
{
{
	int i;
	int i;


@@ -223,7 +223,7 @@ unsigned long atari_register_vme_int(void)
EXPORT_SYMBOL(atari_register_vme_int);
EXPORT_SYMBOL(atari_register_vme_int);




void atari_unregister_vme_int(unsigned long irq)
void atari_unregister_vme_int(unsigned int irq)
{
{
	if (irq >= VME_SOURCE_BASE && irq < VME_SOURCE_BASE + VME_MAX_SOURCES) {
	if (irq >= VME_SOURCE_BASE && irq < VME_SOURCE_BASE + VME_MAX_SOURCES) {
		irq -= VME_SOURCE_BASE;
		irq -= VME_SOURCE_BASE;
+2 −2
Original line number Original line Diff line number Diff line
@@ -198,7 +198,7 @@ static inline int atari_irq_pending( unsigned irq )
	return( get_mfp_bit( irq, MFP_PENDING ) );
	return( get_mfp_bit( irq, MFP_PENDING ) );
}
}


unsigned long atari_register_vme_int( void );
unsigned int atari_register_vme_int(void);
void atari_unregister_vme_int( unsigned long );
void atari_unregister_vme_int(unsigned int);


#endif /* linux/atariints.h */
#endif /* linux/atariints.h */
+2 −4
Original line number Original line Diff line number Diff line
@@ -33,13 +33,11 @@


/* the following macro is used when enabling interrupts */
/* the following macro is used when enabling interrupts */
#if defined(MACH_ATARI_ONLY)
#if defined(MACH_ATARI_ONLY)
	/* block out HSYNC on the atari */
	/* block out HSYNC = ipl 2 on the atari */
#define ALLOWINT	(~0x400)
#define ALLOWINT	(~0x500)
#define	MAX_NOINT_IPL	3
#else
#else
	/* portable version */
	/* portable version */
#define ALLOWINT	(~0x700)
#define ALLOWINT	(~0x700)
#define	MAX_NOINT_IPL	0
#endif /* machine compilation types */
#endif /* machine compilation types */


#ifdef __ASSEMBLY__
#ifdef __ASSEMBLY__
Loading