diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-10 11:28:35 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-10 11:28:35 -0700 |
commit | 057a056ced1ee7e000bad2a5c88241502747d350 (patch) | |
tree | b996aa3dfb515bef95ebe4594dd2c7b46f01db2e /arch/cris/arch-v32 | |
parent | 93c26d7dc02380fe11e57ff0d152368743762169 (diff) | |
parent | 2dc024e94578c53e2c579a48725c8fe2527f9d5e (diff) | |
download | op-kernel-dev-057a056ced1ee7e000bad2a5c88241502747d350.zip op-kernel-dev-057a056ced1ee7e000bad2a5c88241502747d350.tar.gz |
Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris
Pull CRIS updates from Jesper Nilsson.
* tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
cris: return of class_create should be considered
CRIS: defconfig: remove MTDRAM_ABS_POS
CRIS v32: remove some double unlocks
Fix typos
cris: migrate exception table users off module.h and onto extable.h
cris: v10: axisflashmap: remove unused ifdefs
cris: use generic io.h
cris: fix Kconfig mismatch when building with CONFIG_PCI
cris: cardbus: fix header include path
cris: add dev88_defconfig
cris: irq: stop loop from accessing array out of bounds
cris: fasttimer: fix mixed declarations and code compile warning
cris: intmem: fix pointer comparison compile warning
cris: intmem: fix device_initcall compile warning
Diffstat (limited to 'arch/cris/arch-v32')
-rw-r--r-- | arch/cris/arch-v32/drivers/cryptocop.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/pci/bios.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/sync_serial.c | 6 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/fasttimer.c | 15 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/irq.c | 3 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-a3/dma.c | 1 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-a3/dram_init.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-fs/dma.c | 1 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-fs/dram_init.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/mm/intmem.c | 13 |
10 files changed, 28 insertions, 19 deletions
diff --git a/arch/cris/arch-v32/drivers/cryptocop.c b/arch/cris/arch-v32/drivers/cryptocop.c index 2081d8b..b5698c8 100644 --- a/arch/cris/arch-v32/drivers/cryptocop.c +++ b/arch/cris/arch-v32/drivers/cryptocop.c @@ -1210,7 +1210,7 @@ static int cryptocop_setup_dma_list(struct cryptocop_operation *operation, struc assert(active_count >= eop_needed_count); assert((eop_needed_count == 0) || (eop_needed_count == 1)); if (eop_needed_count) { - /* This means that the bulk operation (cipeher/m2m) is terminated. */ + /* This means that the bulk operation (cipher/m2m) is terminated. */ if (active_count > 1) { /* Use zero length EOP descriptor. */ struct cryptocop_dma_desc *ed = alloc_cdesc(alloc_flag); diff --git a/arch/cris/arch-v32/drivers/pci/bios.c b/arch/cris/arch-v32/drivers/pci/bios.c index 64a5fb9..212266a 100644 --- a/arch/cris/arch-v32/drivers/pci/bios.c +++ b/arch/cris/arch-v32/drivers/pci/bios.c @@ -1,6 +1,6 @@ #include <linux/pci.h> #include <linux/kernel.h> -#include <arch/hwregs/intr_vect.h> +#include <hwregs/intr_vect.h> void pcibios_fixup_bus(struct pci_bus *b) { diff --git a/arch/cris/arch-v32/drivers/sync_serial.c b/arch/cris/arch-v32/drivers/sync_serial.c index e989cee..ef515af 100644 --- a/arch/cris/arch-v32/drivers/sync_serial.c +++ b/arch/cris/arch-v32/drivers/sync_serial.c @@ -1627,6 +1627,12 @@ static int __init etrax_sync_serial_init(void) /* Create a sysfs class for syncser */ syncser_class = class_create(THIS_MODULE, "syncser_class"); + if (IS_ERR(syncser_class)) { + pr_err("Failed to create a sysfs class for syncser\n"); + unregister_chrdev_region(syncser_first, minor_count); + cdev_del(syncser_cdev); + return -1; + } /* Initialize Ports */ #if defined(CONFIG_ETRAX_SYNCHRONOUS_SERIAL_PORT0) diff --git a/arch/cris/arch-v32/kernel/fasttimer.c b/arch/cris/arch-v32/kernel/fasttimer.c index 5c84dbb..eb4e0ff 100644 --- a/arch/cris/arch-v32/kernel/fasttimer.c +++ b/arch/cris/arch-v32/kernel/fasttimer.c @@ -318,11 +318,13 @@ timer_trig_interrupt(int irq, void *dev_id) static void timer_trig_handler(struct work_struct *work) { - reg_timer_rw_ack_intr ack_intr = { 0 }; - reg_timer_rw_intr_mask intr_mask; - reg_timer_rw_trig_cfg trig_cfg = { 0 }; - struct fast_timer *t; - unsigned long flags; + reg_timer_rw_ack_intr ack_intr = { 0 }; + reg_timer_rw_intr_mask intr_mask; + reg_timer_rw_trig_cfg trig_cfg = { 0 }; + struct fast_timer *t; + fast_timer_function_type *f; + unsigned long d; + unsigned long flags; /* We keep interrupts disabled not only when we modify the * fast timer list, but any time we hold a reference to a @@ -350,9 +352,6 @@ static void timer_trig_handler(struct work_struct *work) fast_timer_running = 0; fast_timer_ints++; - fast_timer_function_type *f; - unsigned long d; - t = fast_timer_list; while (t) { struct fasttime_t tv; diff --git a/arch/cris/arch-v32/kernel/irq.c b/arch/cris/arch-v32/kernel/irq.c index 6de8db6..b07da4b 100644 --- a/arch/cris/arch-v32/kernel/irq.c +++ b/arch/cris/arch-v32/kernel/irq.c @@ -471,9 +471,8 @@ init_IRQ(void) irq_set_default_host(domain); of_node_put(np); - for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT; i++, j++) { + for (i = FIRST_IRQ, j = 0; j < NBR_INTR_VECT && j < MACH_IRQS; i++, j++) set_exception_vector(i, interrupt[j]); - } /* Mark Timer and IPI IRQs as CPU local */ irq_allocations[TIMER0_INTR_VECT - FIRST_IRQ].cpu = CPU_FIXED; diff --git a/arch/cris/arch-v32/mach-a3/dma.c b/arch/cris/arch-v32/mach-a3/dma.c index 47c64bf..11f417f 100644 --- a/arch/cris/arch-v32/mach-a3/dma.c +++ b/arch/cris/arch-v32/mach-a3/dma.c @@ -41,7 +41,6 @@ int crisv32_request_dma(unsigned int dmanr, const char *device_id, if (options & DMA_PANIC_ON_ERROR) panic("request_dma error!"); - spin_unlock_irqrestore(&dma_lock, flags); return -EBUSY; } clk_ctrl = REG_RD(clkgen, regi_clkgen, rw_clk_ctrl); diff --git a/arch/cris/arch-v32/mach-a3/dram_init.S b/arch/cris/arch-v32/mach-a3/dram_init.S index 5c4f24d..7dc26bd 100644 --- a/arch/cris/arch-v32/mach-a3/dram_init.S +++ b/arch/cris/arch-v32/mach-a3/dram_init.S @@ -3,7 +3,7 @@ * This file is intended to be included from other assembler files * * Note: This file may not modify r8 or r9 because they are used to - * carry information from the decompresser to the kernel + * carry information from the decompressor to the kernel * * Copyright (C) 2005-2007 Axis Communications AB * diff --git a/arch/cris/arch-v32/mach-fs/dma.c b/arch/cris/arch-v32/mach-fs/dma.c index fc6416a..7c93679 100644 --- a/arch/cris/arch-v32/mach-fs/dma.c +++ b/arch/cris/arch-v32/mach-fs/dma.c @@ -43,7 +43,6 @@ int crisv32_request_dma(unsigned int dmanr, const char *device_id, } if (options & DMA_PANIC_ON_ERROR) panic("request_dma error!"); - spin_unlock_irqrestore(&dma_lock, flags); return -EBUSY; } clk_ctrl = REG_RD(config, regi_config, rw_clk_ctrl); diff --git a/arch/cris/arch-v32/mach-fs/dram_init.S b/arch/cris/arch-v32/mach-fs/dram_init.S index d3ce2eb..2ed51e2 100644 --- a/arch/cris/arch-v32/mach-fs/dram_init.S +++ b/arch/cris/arch-v32/mach-fs/dram_init.S @@ -3,7 +3,7 @@ * This file is intended to be included from other assembler files * * Note: This file may not modify r8 or r9 because they are used to - * carry information from the decompresser to the kernel + * carry information from the decompressor to the kernel * * Copyright (C) 2000-2007 Axis Communications AB * diff --git a/arch/cris/arch-v32/mm/intmem.c b/arch/cris/arch-v32/mm/intmem.c index 9ef5609..c807284 100644 --- a/arch/cris/arch-v32/mm/intmem.c +++ b/arch/cris/arch-v32/mm/intmem.c @@ -113,14 +113,14 @@ void crisv32_intmem_free(void* addr) allocation->status = STATUS_FREE; /* Join with prev and/or next if also free */ - if ((prev != &intmem_allocations) && + if ((&prev->entry != &intmem_allocations) && (prev->status == STATUS_FREE)) { prev->size += allocation->size; list_del(&allocation->entry); kfree(allocation); allocation = prev; } - if ((next != &intmem_allocations) && + if ((&next->entry != &intmem_allocations) && (next->status == STATUS_FREE)) { allocation->size += next->size; list_del(&next->entry); @@ -145,5 +145,12 @@ unsigned long crisv32_intmem_virt_to_phys(void* addr) (unsigned long)intmem_virtual + MEM_INTMEM_START + RESERVED_SIZE); } -device_initcall(crisv32_intmem_init); + +static int __init crisv32_intmem_setup(void) +{ + crisv32_intmem_init(); + + return 0; +} +device_initcall(crisv32_intmem_setup); |