Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle: "This is the main pull request for 4.3 for MIPS. Here's the summary: Three fixes that didn't make 4.2-stable: - a -Os build might compile the kernel using the MIPS16 instruction set but the R2 optimized inline functions in <uapi/asm/swab.h> are implemented using 32-bit wide instructions which is invalid. - a build error in pgtable-bits.h for a particular kernel configuration. - accessing registers of the CM GCR might have been compiled to use 64 bit accesses but these registers are onl 32 bit wide. And also a few new bits: - move the ATH79 GPIO driver to drivers/gpio - the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h, change ATH79 accordingly. - fix definition of pgprot_writecombine - add an implementation of dma_map_ops.mmap - fix alignment of quiet build output for vmlinuz link - BCM47xx: Use kmemdup rather than duplicating its implementation - Netlogic: Fix 0x0x prefixes of constants. - merge Bjorn Helgaas' series to remove most of the weak keywords from function declarations. - CP0 and CP1 registers are best considered treated as unsigned values to avoid large values from becoming negative values. - improve support for the MIPS GIC timer. - enable common clock framework for Malta and SEAD3. - a number of improvments and fixes to dump_tlb(). - document the MIPS TLB dump functionality in Magic SysRq. - Cavium Octeon CN68XX improvments. - NetLogic improvments. - irq: Use access helper irq_data_get_affinity_mask. - handle MSA unaligned accesses. - a number of R6-related math-emu fixes. - support for I6400. - improvments to MSA support. - add uprobes support. - move from deprecated __initcall to arch_initcall. - remove finish_arch_switch(). - IRQ cleanups by Thomas Gleixner. - migrate to new 'set-state' interface. - random small cleanups" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits) MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16. MIPS: Fix alignment of quiet build output for vmlinuz link MIPS: math-emu: Remove unused handle_dsemul function declaration MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction MIPS: inst.h: Add new MIPS R6 FPU opcodes MIPS: Octeon: Fix management port MII address on Kontron S1901 MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation STAGING: Octeon: Use common helpers for determining interface and port MIPS: Octeon: Support interfaces 4 and 5 MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports MIPS: Octeon: Initialize CN68XX PKO STAGING: Octeon: Support CN68XX style WQE ...
这个提交包含在:
@@ -6,13 +6,6 @@ config ALCHEMY_GPIOINT_AU1000
|
||||
config ALCHEMY_GPIOINT_AU1300
|
||||
bool
|
||||
|
||||
# select this in your board config if you don't want to use the gpio
|
||||
# namespace as documented in the manuals. In this case however you need
|
||||
# to create the necessary gpio_* functions in your board code/headers!
|
||||
# see arch/mips/include/asm/mach-au1x00/gpio.h for more information.
|
||||
config ALCHEMY_GPIO_INDIRECT
|
||||
def_bool n
|
||||
|
||||
choice
|
||||
prompt "Machine type"
|
||||
depends on MIPS_ALCHEMY
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include <asm/idle.h>
|
||||
#include <asm/reboot.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
#include <asm/mach-au1x00/gpio-au1000.h>
|
||||
#include <prom.h>
|
||||
|
||||
const char *get_system_type(void)
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/reboot.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
#include <asm/mach-au1x00/gpio-au1000.h>
|
||||
#include <asm/mach-au1x00/au1xxx_eth.h>
|
||||
#include <prom.h>
|
||||
|
||||
|
@@ -5,10 +5,5 @@
|
||||
# Makefile for the Alchemy Au1xx0 CPUs, generic files.
|
||||
#
|
||||
|
||||
obj-y += prom.o time.o clock.o platform.o power.o \
|
||||
obj-y += prom.o time.o clock.o platform.o power.o gpiolib.o \
|
||||
setup.o sleeper.o dma.o dbdma.o vss.o irq.o usb.o
|
||||
|
||||
# optional gpiolib support
|
||||
ifeq ($(CONFIG_ALCHEMY_GPIO_INDIRECT),)
|
||||
obj-$(CONFIG_GPIOLIB) += gpiolib.o
|
||||
endif
|
||||
|
@@ -491,7 +491,7 @@ static int au1x_ic_settype(struct irq_data *d, unsigned int flow_type)
|
||||
default:
|
||||
ret = -EINVAL;
|
||||
}
|
||||
__irq_set_chip_handler_name_locked(d->irq, chip, handler, name);
|
||||
irq_set_chip_handler_name_locked(d, chip, handler, name);
|
||||
|
||||
wmb();
|
||||
|
||||
@@ -703,7 +703,7 @@ static int au1300_gpic_settype(struct irq_data *d, unsigned int type)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
__irq_set_chip_handler_name_locked(d->irq, &au1300_gpic, hdl, name);
|
||||
irq_set_chip_handler_name_locked(d, &au1300_gpic, hdl, name);
|
||||
|
||||
au1300_gpic_chgcfg(d->irq - ALCHEMY_GPIC_INT_BASE, GPIC_CFG_IC_MASK, s);
|
||||
|
||||
|
@@ -69,11 +69,6 @@ static int au1x_rtcmatch2_set_next_event(unsigned long delta,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void au1x_rtcmatch2_set_mode(enum clock_event_mode mode,
|
||||
struct clock_event_device *cd)
|
||||
{
|
||||
}
|
||||
|
||||
static irqreturn_t au1x_rtcmatch2_irq(int irq, void *dev_id)
|
||||
{
|
||||
struct clock_event_device *cd = dev_id;
|
||||
@@ -86,7 +81,6 @@ static struct clock_event_device au1x_rtcmatch2_clockdev = {
|
||||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||
.rating = 1500,
|
||||
.set_next_event = au1x_rtcmatch2_set_next_event,
|
||||
.set_mode = au1x_rtcmatch2_set_mode,
|
||||
.cpumask = cpu_all_mask,
|
||||
};
|
||||
|
||||
|
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/irq.h>
|
||||
@@ -88,10 +89,11 @@ EXPORT_SYMBOL_GPL(bcsr_mod);
|
||||
static void bcsr_csc_handler(unsigned int irq, struct irq_desc *d)
|
||||
{
|
||||
unsigned short bisr = __raw_readw(bcsr_virt + BCSR_REG_INTSTAT);
|
||||
struct irq_chip *chip = irq_desc_get_chip(d);
|
||||
|
||||
disable_irq_nosync(irq);
|
||||
chained_irq_enter(chip, d);
|
||||
generic_handle_irq(bcsr_csc_base + __ffs(bisr));
|
||||
enable_irq(irq);
|
||||
chained_irq_exit(chip, d);
|
||||
}
|
||||
|
||||
static void bcsr_irq_mask(struct irq_data *d)
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include <linux/spi/spi_gpio.h>
|
||||
#include <linux/spi/ads7846.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
#include <asm/mach-au1x00/gpio-au1000.h>
|
||||
#include <asm/mach-au1x00/au1000_dma.h>
|
||||
#include <asm/mach-au1x00/au1100_mmc.h>
|
||||
#include <asm/mach-db1x00/bcsr.h>
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include <linux/wm97xx.h>
|
||||
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
#include <asm/mach-au1x00/gpio-au1300.h>
|
||||
#include <asm/mach-au1x00/au1100_mmc.h>
|
||||
#include <asm/mach-au1x00/au1200fb.h>
|
||||
#include <asm/mach-au1x00/au1xxx_dbdma.h>
|
||||
|
@@ -20,6 +20,7 @@
|
||||
#include <linux/spi/flash.h>
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
#include <asm/mach-au1x00/gpio-au1000.h>
|
||||
#include <asm/mach-au1x00/au1xxx_eth.h>
|
||||
#include <asm/mach-au1x00/au1xxx_dbdma.h>
|
||||
#include <asm/mach-au1x00/au1xxx_psc.h>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/sysfs.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
#include <asm/mach-au1x00/gpio.h>
|
||||
#include <asm/mach-au1x00/gpio-au1000.h>
|
||||
#include <asm/mach-db1x00/bcsr.h>
|
||||
|
||||
/*
|
||||
|
在新工单中引用
屏蔽一个用户