diff options
author | James Hogan <jhogan@kernel.org> | 2017-10-24 13:07:54 +0100 |
---|---|---|
committer | James Hogan <jhogan@kernel.org> | 2018-02-22 11:07:21 +0000 |
commit | bb6fb6dfcc17cddac11ac295861f7608194447a7 (patch) | |
tree | 47ee071a415546dd01adbf628f61acb80473d476 /arch/metag/include/asm/mach/arch.h | |
parent | 91ab883eb21325ad80f3473633f794c78ac87f51 (diff) | |
download | op-kernel-dev-bb6fb6dfcc17cddac11ac295861f7608194447a7.zip op-kernel-dev-bb6fb6dfcc17cddac11ac295861f7608194447a7.tar.gz |
metag: Remove arch/metag/
The earliest Meta architecture port of Linux I have a record of was an
import of a Meta port of Linux v2.4.1 in February 2004, which was worked
on significantly over the next few years by Graham Whaley, Will Newton,
Matt Fleming, myself and others.
Eventually the port was merged into mainline in v3.9 in March 2013, not
long after Imagination Technologies bought MIPS Technologies and shifted
its CPU focus over to the MIPS architecture.
As a result, though the port was maintained for a while, kept on life
support for a while longer, and useful for testing a few specific
drivers for which I don't have ready access to the equivalent MIPS
hardware, it is now essentially dead with no users.
It is also stuck using an out-of-tree toolchain based on GCC 4.2.4 which
is no longer maintained, now struggles to build modern kernels due to
toolchain bugs, and doesn't itself build with a modern GCC. The latest
buildroot port is still using an old uClibc snapshot which is no longer
served, and the latest uClibc doesn't build with GCC 4.2.4.
So lets call it a day and drop the Meta architecture port from the
kernel. RIP Meta.
Signed-off-by: James Hogan <jhogan@kernel.org>
Link: https://lkml.kernel.org/r/95906b76-6ce1-3f84-eaba-c29b4ae952eb@roeck-us.net
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Graham Whaley <graham.whaley@gmail.com>
Cc: linux-metag@vger.kernel.org
Diffstat (limited to 'arch/metag/include/asm/mach/arch.h')
-rw-r--r-- | arch/metag/include/asm/mach/arch.h | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/arch/metag/include/asm/mach/arch.h b/arch/metag/include/asm/mach/arch.h deleted file mode 100644 index 433f946..0000000 --- a/arch/metag/include/asm/mach/arch.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * arch/metag/include/asm/mach/arch.h - * - * Copyright (C) 2012 Imagination Technologies Ltd. - * - * based on the ARM version: - * Copyright (C) 2000 Russell King - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef _METAG_MACH_ARCH_H_ -#define _METAG_MACH_ARCH_H_ - -#include <linux/stddef.h> - -#include <asm/clock.h> - -/** - * struct machine_desc - Describes a board controlled by a Meta. - * @name: Board/SoC name. - * @dt_compat: Array of device tree 'compatible' strings. - * @clocks: Clock callbacks. - * - * @nr_irqs: Maximum number of IRQs. - * If 0, defaults to NR_IRQS in asm-generic/irq.h. - * - * @init_early: Early init callback. - * @init_irq: IRQ init callback for setting up IRQ controllers. - * @init_machine: Arch init callback for setting up devices. - * @init_late: Late init callback. - * - * This structure is provided by each board which can be controlled by a Meta. - * It is chosen by matching the compatible strings in the device tree provided - * by the bootloader with the strings in @dt_compat, and sets up any aspects of - * the machine that aren't configured with device tree (yet). - */ -struct machine_desc { - const char *name; - const char **dt_compat; - struct meta_clock_desc *clocks; - - unsigned int nr_irqs; - - void (*init_early)(void); - void (*init_irq)(void); - void (*init_machine)(void); - void (*init_late)(void); -}; - -/* - * Current machine - only accessible during boot. - */ -extern const struct machine_desc *machine_desc; - -/* - * Machine type table - also only accessible during boot - */ -extern struct machine_desc __arch_info_begin[], __arch_info_end[]; -#define for_each_machine_desc(p) \ - for (p = __arch_info_begin; p < __arch_info_end; p++) - -static inline struct machine_desc *default_machine_desc(void) -{ - /* the default machine is the last one linked in */ - if (__arch_info_end - 1 < __arch_info_begin) - return NULL; - return __arch_info_end - 1; -} - -/* - * Set of macros to define architecture features. This is built into - * a table by the linker. - */ -#define MACHINE_START(_type, _name) \ -static const struct machine_desc __mach_desc_##_type \ -__used \ -__attribute__((__section__(".arch.info.init"))) = { \ - .name = _name, - -#define MACHINE_END \ -}; - -#endif /* _METAG_MACH_ARCH_H_ */ |