Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus' of git://github.com/gxt/linux

Pull UniCore32 bug fixes from Guan Xuetao:
"This includes bugfixes to make unicore32 successfully build under
defconfig, and some changes for allmodconfig (though not finished)"

* tag 'for-linus' of git://github.com/gxt/linux:
unicore32: Remove ARCH_HAS_CPUFREQ config option
UniCore32: Change git tree location information in MAINTAINERS
arch: unicore32: ksyms: export '__cpuc_coherent_kern_range' to avoid compiling failure
arch: unicore32: ksyms: export 'pm_power_off' to avoid compiling failure.
arch: unicore32: ksyms: export additional find_first_*() to avoid compiling failure
arch:unicore32:mm: add devmem_is_allowed() to support STRICT_DEVMEM
unicore32: include: asm: add missing ')' for PAGE_* macros in pgtable.h
arch/unicore32/kernel/setup.c: add generic 'screen_info' to avoid compiling failure
drivers: scsi: mvsas: fix compiling issue by adding 'MVS_' for "enum pci_interrupt_cause"
arch: unicore32: kernel: ksyms: remove 'bswapsi2' and 'muldi3' to avoid compiling failure
arch/unicore32/kernel/ksyms.c: remove 2 export symbols to avoid compiling failure
drivers/rtc/rtc-puv3.c: remove "&dev->" for typo issue MIME-Version: 1.0
drivers/rtc/rtc-puv3.c: use dev_dbg() instead of dev_debug() for typo issue
arch/unicore32/include/asm/io.h: add readl_relaxed() generic definition
arch/unicore32/include/asm/ptrace.h: add generic definition for profile_pc()
arch/unicore32/mm/alignment.c: include "asm/pgtable.h" to avoid compiling error
arch/unicore32/kernel/clock.c: add readl() and writel() for 'PM_' macros
arch/unicore32/kernel/module.c: use __vmalloc_node_range() instead of __vmalloc_area()
arch/unicore32/kernel/ksyms.c: remove several undefined exported symbols

+88 -102
+2 -2
MAINTAINERS
··· 6960 6960 M: Guan Xuetao <gxt@mprc.pku.edu.cn> 6961 6961 W: http://mprc.pku.edu.cn/~guanxuetao/linux 6962 6962 S: Maintained 6963 - T: git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.git 6963 + T: git git://github.com/gxt/linux.git 6964 6964 F: drivers/input/serio/i8042-unicore32io.h 6965 6965 F: drivers/i2c/busses/i2c-puv3.c 6966 6966 F: drivers/video/fb-puv3.c ··· 9277 9277 M: Guan Xuetao <gxt@mprc.pku.edu.cn> 9278 9278 W: http://mprc.pku.edu.cn/~guanxuetao/linux 9279 9279 S: Maintained 9280 - T: git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.git 9280 + T: git git://github.com/gxt/linux.git 9281 9281 F: arch/unicore32/ 9282 9282 9283 9283 UNIFDEF
-6
arch/unicore32/Kconfig
··· 51 51 config ARCH_HAS_ILOG2_U64 52 52 bool 53 53 54 - config ARCH_HAS_CPUFREQ 55 - bool 56 - 57 54 config GENERIC_HWEIGHT 58 55 def_bool y 59 56 ··· 84 87 select GENERIC_CLOCKEVENTS 85 88 select HAVE_CLK 86 89 select ARCH_REQUIRE_GPIOLIB 87 - select ARCH_HAS_CPUFREQ 88 90 89 91 # CONFIGs for ARCH_PUV3 90 92 ··· 194 198 195 199 source "kernel/power/Kconfig" 196 200 197 - if ARCH_HAS_CPUFREQ 198 201 source "drivers/cpufreq/Kconfig" 199 - endif 200 202 201 203 config ARCH_SUSPEND_POSSIBLE 202 204 def_bool y if !ARCH_FPGA
+27
arch/unicore32/include/asm/io.h
··· 39 39 #define ioremap_nocache(cookie, size) __uc32_ioremap(cookie, size) 40 40 #define iounmap(cookie) __uc32_iounmap(cookie) 41 41 42 + #define readb_relaxed readb 43 + #define readw_relaxed readw 44 + #define readl_relaxed readl 45 + 42 46 #define HAVE_ARCH_PIO_SIZE 43 47 #define PIO_OFFSET (unsigned int)(PCI_IOBASE) 44 48 #define PIO_MASK (unsigned int)(IO_SPACE_LIMIT) 45 49 #define PIO_RESERVED (PIO_OFFSET + PIO_MASK + 1) 50 + 51 + #ifdef CONFIG_STRICT_DEVMEM 52 + 53 + #include <linux/ioport.h> 54 + #include <linux/mm.h> 55 + 56 + /* 57 + * devmem_is_allowed() checks to see if /dev/mem access to a certain 58 + * address is valid. The argument is a physical page number. 59 + * We mimic x86 here by disallowing access to system RAM as well as 60 + * device-exclusive MMIO regions. This effectively disable read()/write() 61 + * on /dev/mem. 62 + */ 63 + static inline int devmem_is_allowed(unsigned long pfn) 64 + { 65 + if (iomem_is_exclusive(pfn << PAGE_SHIFT)) 66 + return 0; 67 + if (!page_is_ram(pfn)) 68 + return 1; 69 + return 0; 70 + } 71 + 72 + #endif /* CONFIG_STRICT_DEVMEM */ 46 73 47 74 #endif /* __KERNEL__ */ 48 75 #endif /* __UNICORE_IO_H__ */
+5 -5
arch/unicore32/include/asm/pgtable.h
··· 87 87 88 88 #define PAGE_NONE pgprot_user 89 89 #define PAGE_SHARED __pgprot(pgprot_val(pgprot_user | PTE_READ \ 90 - | PTE_WRITE) 90 + | PTE_WRITE)) 91 91 #define PAGE_SHARED_EXEC __pgprot(pgprot_val(pgprot_user | PTE_READ \ 92 92 | PTE_WRITE \ 93 - | PTE_EXEC) 93 + | PTE_EXEC)) 94 94 #define PAGE_COPY __pgprot(pgprot_val(pgprot_user | PTE_READ) 95 95 #define PAGE_COPY_EXEC __pgprot(pgprot_val(pgprot_user | PTE_READ \ 96 - | PTE_EXEC) 97 - #define PAGE_READONLY __pgprot(pgprot_val(pgprot_user | PTE_READ) 96 + | PTE_EXEC)) 97 + #define PAGE_READONLY __pgprot(pgprot_val(pgprot_user | PTE_READ)) 98 98 #define PAGE_READONLY_EXEC __pgprot(pgprot_val(pgprot_user | PTE_READ \ 99 - | PTE_EXEC) 99 + | PTE_EXEC)) 100 100 #define PAGE_KERNEL pgprot_kernel 101 101 #define PAGE_KERNEL_EXEC __pgprot(pgprot_val(pgprot_kernel | PTE_EXEC)) 102 102
+1
arch/unicore32/include/asm/ptrace.h
··· 55 55 56 56 #define instruction_pointer(regs) ((regs)->UCreg_pc) 57 57 #define user_stack_pointer(regs) ((regs)->UCreg_sp) 58 + #define profile_pc(regs) instruction_pointer(regs) 58 59 59 60 #endif /* __ASSEMBLY__ */ 60 61 #endif
+4 -4
arch/unicore32/kernel/clock.c
··· 179 179 } 180 180 #ifdef CONFIG_CPU_FREQ 181 181 if (clk == &clk_mclk_clk) { 182 - u32 pll_rate, divstatus = PM_DIVSTATUS; 182 + u32 pll_rate, divstatus = readl(PM_DIVSTATUS); 183 183 int ret, i; 184 184 185 185 /* lookup mclk_clk_table */ ··· 201 201 / (((divstatus & 0x0000f000) >> 12) + 1); 202 202 203 203 /* set pll sys cfg reg. */ 204 - PM_PLLSYSCFG = pll_rate; 204 + writel(pll_rate, PM_PLLSYSCFG); 205 205 206 - PM_PMCR = PM_PMCR_CFBSYS; 207 - while ((PM_PLLDFCDONE & PM_PLLDFCDONE_SYSDFC) 206 + writel(PM_PMCR_CFBSYS, PM_PMCR); 207 + while ((readl(PM_PLLDFCDONE) & PM_PLLDFCDONE_SYSDFC) 208 208 != PM_PLLDFCDONE_SYSDFC) 209 209 udelay(100); 210 210 /* about 1ms */
+2 -39
arch/unicore32/kernel/ksyms.c
··· 23 23 24 24 #include "ksyms.h" 25 25 26 + EXPORT_SYMBOL(find_first_bit); 27 + EXPORT_SYMBOL(find_first_zero_bit); 26 28 EXPORT_SYMBOL(find_next_zero_bit); 27 29 EXPORT_SYMBOL(find_next_bit); 28 - 29 - EXPORT_SYMBOL(__backtrace); 30 30 31 31 /* platform dependent support */ 32 32 EXPORT_SYMBOL(__udelay); 33 33 EXPORT_SYMBOL(__const_udelay); 34 - 35 - /* networking */ 36 - EXPORT_SYMBOL(csum_partial); 37 - EXPORT_SYMBOL(csum_partial_copy_from_user); 38 - EXPORT_SYMBOL(csum_partial_copy_nocheck); 39 - EXPORT_SYMBOL(__csum_ipv6_magic); 40 - 41 - /* io */ 42 - #ifndef __raw_readsb 43 - EXPORT_SYMBOL(__raw_readsb); 44 - #endif 45 - #ifndef __raw_readsw 46 - EXPORT_SYMBOL(__raw_readsw); 47 - #endif 48 - #ifndef __raw_readsl 49 - EXPORT_SYMBOL(__raw_readsl); 50 - #endif 51 - #ifndef __raw_writesb 52 - EXPORT_SYMBOL(__raw_writesb); 53 - #endif 54 - #ifndef __raw_writesw 55 - EXPORT_SYMBOL(__raw_writesw); 56 - #endif 57 - #ifndef __raw_writesl 58 - EXPORT_SYMBOL(__raw_writesl); 59 - #endif 60 34 61 35 /* string / mem functions */ 62 36 EXPORT_SYMBOL(strchr); ··· 50 76 EXPORT_SYMBOL(__copy_to_user); 51 77 EXPORT_SYMBOL(__clear_user); 52 78 53 - EXPORT_SYMBOL(__get_user_1); 54 - EXPORT_SYMBOL(__get_user_2); 55 - EXPORT_SYMBOL(__get_user_4); 56 - 57 - EXPORT_SYMBOL(__put_user_1); 58 - EXPORT_SYMBOL(__put_user_2); 59 - EXPORT_SYMBOL(__put_user_4); 60 - EXPORT_SYMBOL(__put_user_8); 61 - 62 79 EXPORT_SYMBOL(__ashldi3); 63 80 EXPORT_SYMBOL(__ashrdi3); 64 81 EXPORT_SYMBOL(__divsi3); 65 82 EXPORT_SYMBOL(__lshrdi3); 66 83 EXPORT_SYMBOL(__modsi3); 67 - EXPORT_SYMBOL(__muldi3); 68 84 EXPORT_SYMBOL(__ucmpdi2); 69 85 EXPORT_SYMBOL(__udivsi3); 70 86 EXPORT_SYMBOL(__umodsi3); 71 - EXPORT_SYMBOL(__bswapsi2); 72 87
-2
arch/unicore32/kernel/ksyms.h
··· 8 8 extern void __divsi3(void); 9 9 extern void __lshrdi3(void); 10 10 extern void __modsi3(void); 11 - extern void __muldi3(void); 12 11 extern void __ucmpdi2(void); 13 12 extern void __udivsi3(void); 14 13 extern void __umodsi3(void); 15 - extern void __bswapsi2(void);
+3 -8
arch/unicore32/kernel/module.c
··· 24 24 25 25 void *module_alloc(unsigned long size) 26 26 { 27 - struct vm_struct *area; 28 - 29 - size = PAGE_ALIGN(size); 30 - area = __get_vm_area(size, VM_ALLOC, MODULES_VADDR, MODULES_END); 31 - if (!area) 32 - return NULL; 33 - 34 - return __vmalloc_area(area, GFP_KERNEL, PAGE_KERNEL_EXEC); 27 + return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END, 28 + GFP_KERNEL, PAGE_KERNEL_EXEC, NUMA_NO_NODE, 29 + __builtin_return_address(0)); 35 30 } 36 31 37 32 int
+1
arch/unicore32/kernel/process.c
··· 60 60 * Function pointers to optional machine specific functions 61 61 */ 62 62 void (*pm_power_off)(void) = NULL; 63 + EXPORT_SYMBOL(pm_power_off); 63 64 64 65 void machine_power_off(void) 65 66 {
+4
arch/unicore32/kernel/setup.c
··· 53 53 54 54 static struct stack stacks[NR_CPUS]; 55 55 56 + #ifdef CONFIG_VGA_CONSOLE 57 + struct screen_info screen_info; 58 + #endif 59 + 56 60 char elf_platform[ELF_PLATFORM_SIZE]; 57 61 EXPORT_SYMBOL(elf_platform); 58 62
+1
arch/unicore32/mm/alignment.c
··· 21 21 #include <linux/sched.h> 22 22 #include <linux/uaccess.h> 23 23 24 + #include <asm/pgtable.h> 24 25 #include <asm/tlbflush.h> 25 26 #include <asm/unaligned.h> 26 27
+2
arch/unicore32/mm/proc-syms.c
··· 19 19 EXPORT_SYMBOL(cpu_dcache_clean_area); 20 20 EXPORT_SYMBOL(cpu_set_pte); 21 21 22 + EXPORT_SYMBOL(__cpuc_coherent_kern_range); 23 + 22 24 EXPORT_SYMBOL(__cpuc_dma_flush_range); 23 25 EXPORT_SYMBOL(__cpuc_dma_clean_range);
+2 -2
drivers/rtc/rtc-puv3.c
··· 71 71 { 72 72 unsigned int tmp; 73 73 74 - dev_debug(dev, "%s: pie=%d\n", __func__, enabled); 74 + dev_dbg(dev, "%s: pie=%d\n", __func__, enabled); 75 75 76 76 spin_lock_irq(&puv3_rtc_pie_lock); 77 77 tmp = readl(RTC_RTSR) & ~RTC_RTSR_HZE; ··· 140 140 rtc_tm_to_time(tm, &rtcalarm_count); 141 141 writel(rtcalarm_count, RTC_RTAR); 142 142 143 - puv3_rtc_setaie(&dev->dev, alrm->enabled); 143 + puv3_rtc_setaie(dev, alrm->enabled); 144 144 145 145 if (alrm->enabled) 146 146 enable_irq_wake(puv3_rtc_alarmno);
+5 -5
drivers/scsi/mvsas/mv_94xx.c
··· 564 564 u32 tmp; 565 565 566 566 tmp = mr32(MVS_GBL_CTL); 567 - tmp |= (IRQ_SAS_A | IRQ_SAS_B); 567 + tmp |= (MVS_IRQ_SAS_A | MVS_IRQ_SAS_B); 568 568 mw32(MVS_GBL_INT_STAT, tmp); 569 569 writel(tmp, regs + 0x0C); 570 570 writel(tmp, regs + 0x10); ··· 580 580 581 581 tmp = mr32(MVS_GBL_CTL); 582 582 583 - tmp &= ~(IRQ_SAS_A | IRQ_SAS_B); 583 + tmp &= ~(MVS_IRQ_SAS_A | MVS_IRQ_SAS_B); 584 584 mw32(MVS_GBL_INT_STAT, tmp); 585 585 writel(tmp, regs + 0x0C); 586 586 writel(tmp, regs + 0x10); ··· 596 596 if (!(mvi->flags & MVF_FLAG_SOC)) { 597 597 stat = mr32(MVS_GBL_INT_STAT); 598 598 599 - if (!(stat & (IRQ_SAS_A | IRQ_SAS_B))) 599 + if (!(stat & (MVS_IRQ_SAS_A | MVS_IRQ_SAS_B))) 600 600 return 0; 601 601 } 602 602 return stat; ··· 606 606 { 607 607 void __iomem *regs = mvi->regs; 608 608 609 - if (((stat & IRQ_SAS_A) && mvi->id == 0) || 610 - ((stat & IRQ_SAS_B) && mvi->id == 1)) { 609 + if (((stat & MVS_IRQ_SAS_A) && mvi->id == 0) || 610 + ((stat & MVS_IRQ_SAS_B) && mvi->id == 1)) { 611 611 mw32_f(MVS_INT_STAT, CINT_DONE); 612 612 613 613 spin_lock(&mvi->lock);
+29 -29
drivers/scsi/mvsas/mv_94xx.h
··· 150 150 151 151 enum pci_interrupt_cause { 152 152 /* MAIN_IRQ_CAUSE (R10200) Bits*/ 153 - IRQ_COM_IN_I2O_IOP0 = (1 << 0), 154 - IRQ_COM_IN_I2O_IOP1 = (1 << 1), 155 - IRQ_COM_IN_I2O_IOP2 = (1 << 2), 156 - IRQ_COM_IN_I2O_IOP3 = (1 << 3), 157 - IRQ_COM_OUT_I2O_HOS0 = (1 << 4), 158 - IRQ_COM_OUT_I2O_HOS1 = (1 << 5), 159 - IRQ_COM_OUT_I2O_HOS2 = (1 << 6), 160 - IRQ_COM_OUT_I2O_HOS3 = (1 << 7), 161 - IRQ_PCIF_TO_CPU_DRBL0 = (1 << 8), 162 - IRQ_PCIF_TO_CPU_DRBL1 = (1 << 9), 163 - IRQ_PCIF_TO_CPU_DRBL2 = (1 << 10), 164 - IRQ_PCIF_TO_CPU_DRBL3 = (1 << 11), 165 - IRQ_PCIF_DRBL0 = (1 << 12), 166 - IRQ_PCIF_DRBL1 = (1 << 13), 167 - IRQ_PCIF_DRBL2 = (1 << 14), 168 - IRQ_PCIF_DRBL3 = (1 << 15), 169 - IRQ_XOR_A = (1 << 16), 170 - IRQ_XOR_B = (1 << 17), 171 - IRQ_SAS_A = (1 << 18), 172 - IRQ_SAS_B = (1 << 19), 173 - IRQ_CPU_CNTRL = (1 << 20), 174 - IRQ_GPIO = (1 << 21), 175 - IRQ_UART = (1 << 22), 176 - IRQ_SPI = (1 << 23), 177 - IRQ_I2C = (1 << 24), 178 - IRQ_SGPIO = (1 << 25), 179 - IRQ_COM_ERR = (1 << 29), 180 - IRQ_I2O_ERR = (1 << 30), 181 - IRQ_PCIE_ERR = (1 << 31), 153 + MVS_IRQ_COM_IN_I2O_IOP0 = (1 << 0), 154 + MVS_IRQ_COM_IN_I2O_IOP1 = (1 << 1), 155 + MVS_IRQ_COM_IN_I2O_IOP2 = (1 << 2), 156 + MVS_IRQ_COM_IN_I2O_IOP3 = (1 << 3), 157 + MVS_IRQ_COM_OUT_I2O_HOS0 = (1 << 4), 158 + MVS_IRQ_COM_OUT_I2O_HOS1 = (1 << 5), 159 + MVS_IRQ_COM_OUT_I2O_HOS2 = (1 << 6), 160 + MVS_IRQ_COM_OUT_I2O_HOS3 = (1 << 7), 161 + MVS_IRQ_PCIF_TO_CPU_DRBL0 = (1 << 8), 162 + MVS_IRQ_PCIF_TO_CPU_DRBL1 = (1 << 9), 163 + MVS_IRQ_PCIF_TO_CPU_DRBL2 = (1 << 10), 164 + MVS_IRQ_PCIF_TO_CPU_DRBL3 = (1 << 11), 165 + MVS_IRQ_PCIF_DRBL0 = (1 << 12), 166 + MVS_IRQ_PCIF_DRBL1 = (1 << 13), 167 + MVS_IRQ_PCIF_DRBL2 = (1 << 14), 168 + MVS_IRQ_PCIF_DRBL3 = (1 << 15), 169 + MVS_IRQ_XOR_A = (1 << 16), 170 + MVS_IRQ_XOR_B = (1 << 17), 171 + MVS_IRQ_SAS_A = (1 << 18), 172 + MVS_IRQ_SAS_B = (1 << 19), 173 + MVS_IRQ_CPU_CNTRL = (1 << 20), 174 + MVS_IRQ_GPIO = (1 << 21), 175 + MVS_IRQ_UART = (1 << 22), 176 + MVS_IRQ_SPI = (1 << 23), 177 + MVS_IRQ_I2C = (1 << 24), 178 + MVS_IRQ_SGPIO = (1 << 25), 179 + MVS_IRQ_COM_ERR = (1 << 29), 180 + MVS_IRQ_I2O_ERR = (1 << 30), 181 + MVS_IRQ_PCIE_ERR = (1 << 31), 182 182 }; 183 183 184 184 union reg_phy_cfg {