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 branch 'sh-fixes-for-linus' of git://github.com/pmundt/linux-sh

* 'sh-fixes-for-linus' of git://github.com/pmundt/linux-sh:
mailmap: Fix up some renesas attributions
sh: clkfwk: Kill off remaining debugfs cruft.
drivers: sh: Kill off dead pathname for runtime PM stub.
drivers: sh: Generalize runtime PM platform stub.
sh: Wire up process_vm syscalls.
sh: clkfwk: add clk_rate_mult_range_round()
serial: sh-sci: Fix up SH-2A SCIF support.
sh: Fix cached/uncaced address calculation in 29bit mode

+82 -98
+2
.mailmap
··· 68 68 Kay Sievers <kay.sievers@vrfy.org> 69 69 Kenneth W Chen <kenneth.w.chen@intel.com> 70 70 Koushik <raghavendra.koushik@neterion.com> 71 + Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 71 72 Leonid I Ananiev <leonid.i.ananiev@intel.com> 72 73 Linas Vepstas <linas@austin.ibm.com> 73 74 Mark Brown <broonie@sirena.org.uk> ··· 112 111 Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> 113 112 Valdis Kletnieks <Valdis.Kletnieks@vt.edu> 114 113 Takashi YOSHII <takashi.yoshii.zj@renesas.com> 114 + Yusuke Goda <goda.yusuke@renesas.com>
+1 -1
arch/arm/mach-shmobile/Makefile
··· 3 3 # 4 4 5 5 # Common objects 6 - obj-y := timer.o console.o clock.o pm_runtime.o 6 + obj-y := timer.o console.o clock.o 7 7 8 8 # CPU objects 9 9 obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o
+1 -3
arch/arm/mach-shmobile/pm_runtime.c drivers/sh/pm_runtime.c
··· 1 1 /* 2 - * arch/arm/mach-shmobile/pm_runtime.c 3 - * 4 - * Runtime PM support code for SuperH Mobile ARM 2 + * Runtime PM support code 5 3 * 6 4 * Copyright (C) 2009-2010 Magnus Damm 7 5 *
+5
arch/sh/include/asm/page.h
··· 151 151 #endif /* !__ASSEMBLY__ */ 152 152 153 153 #ifdef CONFIG_UNCACHED_MAPPING 154 + #if defined(CONFIG_29BIT) 155 + #define UNCAC_ADDR(addr) P2SEGADDR(addr) 156 + #define CAC_ADDR(addr) P1SEGADDR(addr) 157 + #else 154 158 #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + uncached_start) 155 159 #define CAC_ADDR(addr) ((addr) - uncached_start + PAGE_OFFSET) 160 + #endif 156 161 #else 157 162 #define UNCAC_ADDR(addr) ((addr)) 158 163 #define CAC_ADDR(addr) ((addr))
+3 -1
arch/sh/include/asm/unistd_32.h
··· 375 375 #define __NR_syncfs 362 376 376 #define __NR_sendmmsg 363 377 377 #define __NR_setns 364 378 + #define __NR_process_vm_readv 365 379 + #define __NR_process_vm_writev 366 378 380 379 - #define NR_syscalls 365 381 + #define NR_syscalls 367 380 382 381 383 #ifdef __KERNEL__ 382 384
+3 -1
arch/sh/include/asm/unistd_64.h
··· 396 396 #define __NR_syncfs 373 397 397 #define __NR_sendmmsg 374 398 398 #define __NR_setns 375 399 + #define __NR_process_vm_readv 376 400 + #define __NR_process_vm_writev 377 399 401 400 402 #ifdef __KERNEL__ 401 403 402 - #define NR_syscalls 376 404 + #define NR_syscalls 378 403 405 404 406 #define __ARCH_WANT_IPC_PARSE_VERSION 405 407 #define __ARCH_WANT_OLD_READDIR
+12 -4
arch/sh/kernel/cpu/sh2a/setup-sh7203.c
··· 176 176 static struct plat_sci_port scif0_platform_data = { 177 177 .mapbase = 0xfffe8000, 178 178 .flags = UPF_BOOT_AUTOCONF, 179 - .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, 179 + .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | 180 + SCSCR_REIE, 180 181 .scbrr_algo_id = SCBRR_ALGO_2, 181 182 .type = PORT_SCIF, 182 183 .irqs = { 192, 192, 192, 192 }, 184 + .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, 183 185 }; 184 186 185 187 static struct platform_device scif0_device = { ··· 195 193 static struct plat_sci_port scif1_platform_data = { 196 194 .mapbase = 0xfffe8800, 197 195 .flags = UPF_BOOT_AUTOCONF, 198 - .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, 196 + .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | 197 + SCSCR_REIE, 199 198 .scbrr_algo_id = SCBRR_ALGO_2, 200 199 .type = PORT_SCIF, 201 200 .irqs = { 196, 196, 196, 196 }, 201 + .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, 202 202 }; 203 203 204 204 static struct platform_device scif1_device = { ··· 214 210 static struct plat_sci_port scif2_platform_data = { 215 211 .mapbase = 0xfffe9000, 216 212 .flags = UPF_BOOT_AUTOCONF, 217 - .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, 213 + .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | 214 + SCSCR_REIE, 218 215 .scbrr_algo_id = SCBRR_ALGO_2, 219 216 .type = PORT_SCIF, 220 217 .irqs = { 200, 200, 200, 200 }, 218 + .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, 221 219 }; 222 220 223 221 static struct platform_device scif2_device = { ··· 233 227 static struct plat_sci_port scif3_platform_data = { 234 228 .mapbase = 0xfffe9800, 235 229 .flags = UPF_BOOT_AUTOCONF, 236 - .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, 230 + .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | 231 + SCSCR_REIE, 237 232 .scbrr_algo_id = SCBRR_ALGO_2, 238 233 .type = PORT_SCIF, 239 234 .irqs = { 204, 204, 204, 204 }, 235 + .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, 240 236 }; 241 237 242 238 static struct platform_device scif3_device = {
+2
arch/sh/kernel/syscalls_32.S
··· 382 382 .long sys_syncfs 383 383 .long sys_sendmmsg 384 384 .long sys_setns 385 + .long sys_process_vm_readv /* 365 */ 386 + .long sys_process_vm_writev
+2
arch/sh/kernel/syscalls_64.S
··· 402 402 .long sys_syncfs 403 403 .long sys_sendmmsg 404 404 .long sys_setns /* 375 */ 405 + .long sys_process_vm_readv 406 + .long sys_process_vm_writev
+8
drivers/sh/Makefile
··· 7 7 obj-$(CONFIG_MAPLE) += maple/ 8 8 obj-$(CONFIG_SUPERHYWAY) += superhyway/ 9 9 obj-$(CONFIG_GENERIC_GPIO) += pfc.o 10 + 11 + # 12 + # For the moment we only use this framework for ARM-based SH/R-Mobile 13 + # platforms and generic SH. SH-based SH-Mobile platforms are still using 14 + # an older framework that is pending up-porting, at which point this 15 + # special casing can go away. 16 + # 17 + obj-$(CONFIG_SUPERH)$(CONFIG_ARCH_SHMOBILE) += pm_runtime.o
+20 -87
drivers/sh/clk/core.c
··· 25 25 #include <linux/seq_file.h> 26 26 #include <linux/err.h> 27 27 #include <linux/io.h> 28 - #include <linux/debugfs.h> 29 28 #include <linux/cpufreq.h> 30 29 #include <linux/clk.h> 31 30 #include <linux/sh_clk.h> ··· 172 173 return clk_rate_round_helper(&div_range_round); 173 174 } 174 175 176 + static long clk_rate_mult_range_iter(unsigned int pos, 177 + struct clk_rate_round_data *rounder) 178 + { 179 + return clk_get_rate(rounder->arg) * pos; 180 + } 181 + 182 + long clk_rate_mult_range_round(struct clk *clk, unsigned int mult_min, 183 + unsigned int mult_max, unsigned long rate) 184 + { 185 + struct clk_rate_round_data mult_range_round = { 186 + .min = mult_min, 187 + .max = mult_max, 188 + .func = clk_rate_mult_range_iter, 189 + .arg = clk_get_parent(clk), 190 + .rate = rate, 191 + }; 192 + 193 + return clk_rate_round_helper(&mult_range_round); 194 + } 195 + 175 196 int clk_rate_table_find(struct clk *clk, 176 197 struct cpufreq_frequency_table *freq_table, 177 198 unsigned long rate) ··· 223 204 if (parent) 224 205 list_add(&child->sibling, &parent->children); 225 206 child->parent = parent; 226 - 227 - /* now do the debugfs renaming to reattach the child 228 - to the proper parent */ 229 207 230 208 return 0; 231 209 } ··· 680 664 } 681 665 subsys_initcall(clk_syscore_init); 682 666 #endif 683 - 684 - /* 685 - * debugfs support to trace clock tree hierarchy and attributes 686 - */ 687 - static struct dentry *clk_debugfs_root; 688 - 689 - static int clk_debugfs_register_one(struct clk *c) 690 - { 691 - int err; 692 - struct dentry *d; 693 - struct clk *pa = c->parent; 694 - char s[255]; 695 - char *p = s; 696 - 697 - p += sprintf(p, "%p", c); 698 - d = debugfs_create_dir(s, pa ? pa->dentry : clk_debugfs_root); 699 - if (!d) 700 - return -ENOMEM; 701 - c->dentry = d; 702 - 703 - d = debugfs_create_u8("usecount", S_IRUGO, c->dentry, (u8 *)&c->usecount); 704 - if (!d) { 705 - err = -ENOMEM; 706 - goto err_out; 707 - } 708 - d = debugfs_create_u32("rate", S_IRUGO, c->dentry, (u32 *)&c->rate); 709 - if (!d) { 710 - err = -ENOMEM; 711 - goto err_out; 712 - } 713 - d = debugfs_create_x32("flags", S_IRUGO, c->dentry, (u32 *)&c->flags); 714 - if (!d) { 715 - err = -ENOMEM; 716 - goto err_out; 717 - } 718 - return 0; 719 - 720 - err_out: 721 - debugfs_remove_recursive(c->dentry); 722 - return err; 723 - } 724 - 725 - static int clk_debugfs_register(struct clk *c) 726 - { 727 - int err; 728 - struct clk *pa = c->parent; 729 - 730 - if (pa && !pa->dentry) { 731 - err = clk_debugfs_register(pa); 732 - if (err) 733 - return err; 734 - } 735 - 736 - if (!c->dentry) { 737 - err = clk_debugfs_register_one(c); 738 - if (err) 739 - return err; 740 - } 741 - return 0; 742 - } 743 - 744 - static int __init clk_debugfs_init(void) 745 - { 746 - struct clk *c; 747 - struct dentry *d; 748 - int err; 749 - 750 - d = debugfs_create_dir("clock", NULL); 751 - if (!d) 752 - return -ENOMEM; 753 - clk_debugfs_root = d; 754 - 755 - list_for_each_entry(c, &clock_list, node) { 756 - err = clk_debugfs_register(c); 757 - if (err) 758 - goto err_out; 759 - } 760 - return 0; 761 - err_out: 762 - debugfs_remove_recursive(clk_debugfs_root); 763 - return err; 764 - } 765 - late_initcall(clk_debugfs_init); 766 667 767 668 static int __init clk_late_init(void) 768 669 {
+19
drivers/tty/serial/sh-sci.c
··· 207 207 }, 208 208 209 209 /* 210 + * Common SH-2(A) SCIF definitions for ports with FIFO data 211 + * count registers. 212 + */ 213 + [SCIx_SH2_SCIF_FIFODATA_REGTYPE] = { 214 + [SCSMR] = { 0x00, 16 }, 215 + [SCBRR] = { 0x04, 8 }, 216 + [SCSCR] = { 0x08, 16 }, 217 + [SCxTDR] = { 0x0c, 8 }, 218 + [SCxSR] = { 0x10, 16 }, 219 + [SCxRDR] = { 0x14, 8 }, 220 + [SCFCR] = { 0x18, 16 }, 221 + [SCFDR] = { 0x1c, 16 }, 222 + [SCTFDR] = sci_reg_invalid, 223 + [SCRFDR] = sci_reg_invalid, 224 + [SCSPTR] = { 0x20, 16 }, 225 + [SCLSR] = { 0x24, 16 }, 226 + }, 227 + 228 + /* 210 229 * Common SH-3 SCIF definitions. 211 230 */ 212 231 [SCIx_SH3_SCIF_REGTYPE] = {
+1
include/linux/serial_sci.h
··· 67 67 SCIx_IRDA_REGTYPE, 68 68 SCIx_SCIFA_REGTYPE, 69 69 SCIx_SCIFB_REGTYPE, 70 + SCIx_SH2_SCIF_FIFODATA_REGTYPE, 70 71 SCIx_SH3_SCIF_REGTYPE, 71 72 SCIx_SH4_SCIF_REGTYPE, 72 73 SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE,
+3 -1
include/linux/sh_clk.h
··· 52 52 53 53 unsigned long arch_flags; 54 54 void *priv; 55 - struct dentry *dentry; 56 55 struct clk_mapping *mapping; 57 56 struct cpufreq_frequency_table *freq_table; 58 57 unsigned int nr_freqs; ··· 92 93 93 94 long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, 94 95 unsigned int div_max, unsigned long rate); 96 + 97 + long clk_rate_mult_range_round(struct clk *clk, unsigned int mult_min, 98 + unsigned int mult_max, unsigned long rate); 95 99 96 100 long clk_round_parent(struct clk *clk, unsigned long target, 97 101 unsigned long *best_freq, unsigned long *parent_freq,