ARC: More 3.2 API fixes

-(.ndo_set_multicast_list=>.ndo_set_rx_mode) in vmac/xtemac drivers
-MODFLAGS replaced with KBUILD_CFLAGS_MODULE

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: treewide cleanup: Delete cruft/obsolete code

-Drivers: AC97/old-serial
-Diagnostics in tlb.c/event-log.c
-arch Time handling before CONFIG_GENERIC_TIME
-!CORE_DUMP_USE_REGSET
-NONINLINE_USR_CPY: Needs to be done in asm-generic/uaccess.h

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: treewide cleanup: Remove C99 style comments
asm-generic headers: uaccess.h to conditionally define segment_eq()

This is because mm_segment_t is exported by arch code, while seqment_eq
assumes it will have .seg element.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: treewide cleanup: asm-generic headers usage

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: treewide cleanup: Lindent, checkpatch

-kernel code styling
-Whitespace to TABS, lines > 80 chars
-Inline asm consistent formatting
-printk( ) to pr_xxx
-{read,write}_new_aux_reg => {read,write}_aux_reg
-In assembler code, SYMBOL_NAME(sym)  => @sym
-Many/many more.....

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: uaccess routines need mem clobber (gcc 4.4.7)

gcc was unware that __arc_copy_to_user was modifying memory.
This led to cases where the input to inline asm was being optimised
away, causing put_user( ) for PTRACE_PEEKUSR to return garbase to
userland strace
Somehow, this only started showing up when using the asm-generic
uaccess wrappers over __arc_copy_{to,from}_user

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: treewide cleanup: Consistent names of Kconfig items

FILES=$(find * -type f \( -name "*.[ch]" -o -name *config -o -name
	Makefile\))
sed -i \
-e 's/ARCH_ARC700/ARC_CPU_700/g' \
-e 's/ARCH_ARC800/ARC_CPU_700_SMP_EXTN/g' \
-e 's/ARC700_CACHE/ARC_CACHE/g' \
-e 's/ARC700_USE_ICACHE/ARC_HAS_ICACHE/g' \
-e 's/ARC700_USE_DCACHE/ARC_HAS_DCACHE/g' \
-e 's/ARC700_CACHE_PAGES/ARC_CACHE_PAGES/g' \
-e 's/ARCH_ARC_ICCM/ARC_USE_ICCM/g' \
-e 's/ARCH_ARC_DCCM/ARC_USE_DCCM/g' \
-e 's/ARC700_V_4_10/ARC_CPU_700_V_4_10/g' \
-e 's/MMAP_CODE_CMN_VADDR/ARC_CMN_MMAP/g' \
-e 's/ARCH_ARC_LV2_INTR/ARC_COMPACT_IRQ_LEVELS/g' \
-e 's/ARCH_ARC_FPU/ARC_FPU_SAVE_RESTORE/g' \
-e 's/ARC700_CLK/ARC_PLAT_CLK/g' \
-e 's/SDRAM_SIZE/ARC_PLAT_SDRAM_SIZE/g' \
-e 's/ARCH_ARC_ANGEL4/ARC_BOARD_ANGEL4/g' \
-e 's/ARCH_ARC_ML509/ARC_BOARD_ML509/g' \
-e 's/ARCH_ARC_SIM/ARC_ISS_VIRT_PERIP/g' \
-e 's/ARCH_ARC_CURR_IN_REG/ARC_CURR_IN_REG/g' \
-e 's/ARC_MISAILGNED_ACCESS/ARC_MISALIGN_ACCESS/g' \
-e 's/ARCH_ARC_SPACE_RND/ARC_ADDR_SPACE_RND/g' \
-e 's/ARCH_ARC_HLINK/ARC_METAWARE_HLINK/g' \
-e 's/ARC_STACK_UNWIND/ARC_DW2_UNWIND/g' \
-e 's/ARC_TLB_PARANOIA/ARC_DBG_TLB_PARANOIA/g' \
-e 's/ARC_TLB_PROFILE/ARC_DBG_TLB_MISS_COUNT/g' \
-e 's/ARCH_ARC/ARC/g' \
-e 's/EM_ARCTANGENT/EM_ARCOMPACT/g' \
${FILES}

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: non-arch Kconfig update: Supporting ARCAngel4 PCI Bridge

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: non-arch Kconfig update: supress fake TRACING_SUPPORT warning

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: non-arch Kconfig update: Enable CONFIG_DEBUG_KMEMLEAK

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: non-arch Kconfig update: Porting Latency Top

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Plat/SoC/Board Framework #1: arch/arc/proc/arc700/* => arch/arc/kernel/*

Get rid of the legacy proc/arc700 folder, bring everything into
arch/arc/kernel from where we start forking off the code as needed

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Kbuild: Tweak to allow "make arch/arc/"

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Refactor: ARCH makefile restyled

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Plat/SoC/Board Framework #2: Introducing plat-arcfpga (no APIs)

-Defined the platform organisation: Kconfig/headers
-So far the only API req is arc_platform_early_init
-plat-arcfpga intoduced as first user
-arch code still not completely clean of arcfpga device code, but this
 is just a stepping stone

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Plat/SoC/Board Framework #3: Preferred console set in platform code

-This removes dependency "console=ttyS0" in commandline
-Getting closer to removing CONFIG_ARC_SERIAL from non-plat code

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Plat/SoC/Board Framework #4: IRQ cleanups for arch-common vs. plat

(1) IRQ handling Hooks

void __init platform_irq_init(void);
void platform_free_irq(unsigned int irq);
int platform_setup_irq(unsigned int irq, unsigned int flags);
void platform_process_interrupt(int irq);
void platform_enable_irq(int irq);
void platform_disable_irq(int irq);

-setup/free/enable/disable are done with arch-common spinlock held,
 so there is no need for platform specific locking
-Look at arch/arc/kernel/irq.c for the order in which plat hooks are
 called w.r.t arch-common work.

(2) High Priority Device IRQs (ARCompact ISA Level 2 Interrupts)

-arch code exposes CONFIG_ARC_IRQ<n>_LV2 which are by default "hidden"
 in menuconfig. Only "select"ed by a deivce specific item in platform
 Kconfig (Look at arch/arc/plat-arcfpga/Kconfig)

-The arch core uses them to do anything needed at arc-common level:
   =setting up the vector table entries to common low/high priority ISRs
   =setting the corresponding bits in AUX_IRQ_LEV core reg

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: Plat/SoC/Board Framework #5: SMP cleanups for arch-common vs. plat

-IDU code (ISS-Only SMP Extension for ARC700) moved into plat-arcfpga

-arch SMP code expects platform to fulfill following APIs:
  const char * arc_platform_smp_cpuinfo(void);
  void arc_platform_smp_init_cpu(void);
  void arc_platform_ipi_send(cpumask_t callmap);
  void arc_platform_ipi_clear(int cpu, int irq);

-Note that if !CONFIG_SMP, the NULL defs for these are provided by
 arch-common code itself.

-IPI ISR owned by arch-common code, however it still needs to be
 registered by plat code via API (from arch-common code)
  int smp_ipi_irq_setup(int cpu, int irq);

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: PCI support resurrected for ARCAngel4 Board (under plat-arcfpga)

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>