Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Sep 2013 18:14:33 +0000 (11:14 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Sep 2013 18:14:33 +0000 (11:14 -0700)
Pull Tile arch updates from Chris Metcalf:
 "These changes bring in a bunch of new functionality that has been
  maintained internally at Tilera over the last year, plus other stray
  bits of work that I've taken into the tile tree from other folks.

  The changes include some PCI root complex work, interrupt-driven
  console support, support for performing fast-path unaligned data
  fixups by kernel-based JIT code generation, CONFIG_PREEMPT support,
  vDSO support for gettimeofday(), a serial driver for the tilegx
  on-chip UART, KGDB support, more optimized string routines, support
  for ftrace and kprobes, improved ASLR, and many bug fixes.

  We also remove support for the old TILE64 chip, which is no longer
  buildable"

* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (85 commits)
  tile: refresh tile defconfig files
  tile: rework <asm/cmpxchg.h>
  tile PCI RC: make default consistent DMA mask 32-bit
  tile: add null check for kzalloc in tile/kernel/setup.c
  tile: make __write_once a synonym for __read_mostly
  tile: remove support for TILE64
  tile: use asm-generic/bitops/builtin-*.h
  tile: eliminate no-op "noatomichash" boot argument
  tile: use standard tile_bundle_bits type in traps.c
  tile: simplify code referencing hypervisor API addresses
  tile: change <asm/system.h> to <asm/switch_to.h> in comments
  tile: mark pcibios_init() as __init
  tile: check for correct compiler earlier in asm-offsets.c
  tile: use standard 'generic-y' model for <asm/hw_irq.h>
  tile: use asm-generic version of <asm/local64.h>
  tile PCI RC: add comment about "PCI hole" problem
  tile: remove DEBUG_EXTRA_FLAGS kernel config option
  tile: add virt_to_kpte() API and clean up and document behavior
  tile: support FRAME_POINTER
  tile: support reporting Tilera hypervisor statistics
  ...

1  2 
MAINTAINERS
arch/tile/kernel/irq.c
arch/tile/kernel/pci_gx.c
arch/tile/kernel/setup.c
arch/tile/kernel/smpboot.c
arch/tile/kernel/time.c
drivers/tty/serial/Kconfig
drivers/tty/serial/Makefile
include/uapi/linux/serial_core.h

diff --cc MAINTAINERS
Simple merge
Simple merge
@@@ -502,14 -596,19 +596,14 @@@ static void fixup_read_and_payload_size
                (mac << TRIO_CFG_REGION_ADDR__MAC_SEL_SHIFT);
  
        rc_dev_cap.word = __gxio_mmio_read32(trio_context->mmio_base_mac +
-                                               reg_offset);
+                                            reg_offset);
        rc_dev_cap.mps_sup = 1;
        __gxio_mmio_write32(trio_context->mmio_base_mac + reg_offset,
-                                               rc_dev_cap.word);
+                           rc_dev_cap.word);
  
        /* Configure PCI Express MPS setting. */
 -      list_for_each_entry(child, &root_bus->children, node) {
 -              struct pci_dev *self = child->self;
 -              if (!self)
 -                      continue;
 -
 -              pcie_bus_configure_settings(child, self->pcie_mpss);
 -      }
 +      list_for_each_entry(child, &root_bus->children, node)
 +              pcie_bus_configure_settings(child);
  
        /*
         * Set the mac_config register in trio based on the MPS/MRS of the link.
Simple merge
@@@ -140,9 -140,13 +140,13 @@@ static struct cpumask cpu_started
   * to this path without knowing what you're doing, since SMP booting
   * is pretty fragile.
   */
 -static void __cpuinit start_secondary(void)
 +static void start_secondary(void)
  {
-       int cpuid = smp_processor_id();
+       int cpuid;
+       preempt_disable();
+       cpuid = smp_processor_id();
  
        /* Set our thread pointer appropriately. */
        set_my_cpu_offset(__per_cpu_offset[cpuid]);
Simple merge
Simple merge
@@@ -65,7 -65,7 +65,8 @@@ obj-$(CONFIG_SERIAL_KGDB_NMI) += kgdb_n
  obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
  obj-$(CONFIG_SERIAL_OMAP) += omap-serial.o
  obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o
 +obj-$(CONFIG_SERIAL_ST_ASC) += st-asc.o
+ obj-$(CONFIG_SERIAL_TILEGX) += tilegx.o
  obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o
  obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
  obj-$(CONFIG_SERIAL_TIMBERDALE)       += timbuart.o
  /* SH-SCI */
  #define PORT_HSCIF    104
  
 -#define PORT_TILEGX   105
 +/* ST ASC type numbers */
 +#define PORT_ASC       105
 +
+ /* Tilera TILE-Gx UART */
++#define PORT_TILEGX   106
  #endif /* _UAPILINUX_SERIAL_CORE_H */