diff options
| -rw-r--r-- | .mailmap | 2 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/Makefile | 2 | ||||
| -rw-r--r-- | arch/sh/include/asm/page.h | 5 | ||||
| -rw-r--r-- | arch/sh/include/asm/unistd_32.h | 4 | ||||
| -rw-r--r-- | arch/sh/include/asm/unistd_64.h | 4 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/sh2a/setup-sh7203.c | 16 | ||||
| -rw-r--r-- | arch/sh/kernel/syscalls_32.S | 2 | ||||
| -rw-r--r-- | arch/sh/kernel/syscalls_64.S | 2 | ||||
| -rw-r--r-- | drivers/sh/Makefile | 8 | ||||
| -rw-r--r-- | drivers/sh/clk/core.c | 107 | ||||
| -rw-r--r-- | drivers/sh/pm_runtime.c (renamed from arch/arm/mach-shmobile/pm_runtime.c) | 4 | ||||
| -rw-r--r-- | drivers/tty/serial/sh-sci.c | 19 | ||||
| -rw-r--r-- | include/linux/serial_sci.h | 1 | ||||
| -rw-r--r-- | include/linux/sh_clk.h | 4 |
14 files changed, 82 insertions, 98 deletions
| @@ -68,6 +68,7 @@ Juha Yrjola <juha.yrjola@solidboot.com> | |||
| 68 | Kay Sievers <kay.sievers@vrfy.org> | 68 | Kay Sievers <kay.sievers@vrfy.org> |
| 69 | Kenneth W Chen <kenneth.w.chen@intel.com> | 69 | Kenneth W Chen <kenneth.w.chen@intel.com> |
| 70 | Koushik <raghavendra.koushik@neterion.com> | 70 | Koushik <raghavendra.koushik@neterion.com> |
| 71 | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | ||
| 71 | Leonid I Ananiev <leonid.i.ananiev@intel.com> | 72 | Leonid I Ananiev <leonid.i.ananiev@intel.com> |
| 72 | Linas Vepstas <linas@austin.ibm.com> | 73 | Linas Vepstas <linas@austin.ibm.com> |
| 73 | Mark Brown <broonie@sirena.org.uk> | 74 | Mark Brown <broonie@sirena.org.uk> |
| @@ -111,3 +112,4 @@ Uwe Kleine-König <ukl@pengutronix.de> | |||
| 111 | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 112 | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> |
| 112 | Valdis Kletnieks <Valdis.Kletnieks@vt.edu> | 113 | Valdis Kletnieks <Valdis.Kletnieks@vt.edu> |
| 113 | Takashi YOSHII <takashi.yoshii.zj@renesas.com> | 114 | Takashi YOSHII <takashi.yoshii.zj@renesas.com> |
| 115 | Yusuke Goda <goda.yusuke@renesas.com> | ||
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index 2aec2f732515..737bdc631b0d 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | # | 3 | # |
| 4 | 4 | ||
| 5 | # Common objects | 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 | # CPU objects | 8 | # CPU objects |
| 9 | obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o | 9 | obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o |
diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h index 0dca9a5c6be6..15d970328f71 100644 --- a/arch/sh/include/asm/page.h +++ b/arch/sh/include/asm/page.h | |||
| @@ -151,8 +151,13 @@ typedef struct page *pgtable_t; | |||
| 151 | #endif /* !__ASSEMBLY__ */ | 151 | #endif /* !__ASSEMBLY__ */ |
| 152 | 152 | ||
| 153 | #ifdef CONFIG_UNCACHED_MAPPING | 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 | #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + uncached_start) | 158 | #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + uncached_start) |
| 155 | #define CAC_ADDR(addr) ((addr) - uncached_start + PAGE_OFFSET) | 159 | #define CAC_ADDR(addr) ((addr) - uncached_start + PAGE_OFFSET) |
| 160 | #endif | ||
| 156 | #else | 161 | #else |
| 157 | #define UNCAC_ADDR(addr) ((addr)) | 162 | #define UNCAC_ADDR(addr) ((addr)) |
| 158 | #define CAC_ADDR(addr) ((addr)) | 163 | #define CAC_ADDR(addr) ((addr)) |
diff --git a/arch/sh/include/asm/unistd_32.h b/arch/sh/include/asm/unistd_32.h index 3432008d2888..152b8627a184 100644 --- a/arch/sh/include/asm/unistd_32.h +++ b/arch/sh/include/asm/unistd_32.h | |||
| @@ -375,8 +375,10 @@ | |||
| 375 | #define __NR_syncfs 362 | 375 | #define __NR_syncfs 362 |
| 376 | #define __NR_sendmmsg 363 | 376 | #define __NR_sendmmsg 363 |
| 377 | #define __NR_setns 364 | 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 | #ifdef __KERNEL__ | 383 | #ifdef __KERNEL__ |
| 382 | 384 | ||
diff --git a/arch/sh/include/asm/unistd_64.h b/arch/sh/include/asm/unistd_64.h index ec9898665f23..c330c23db5a0 100644 --- a/arch/sh/include/asm/unistd_64.h +++ b/arch/sh/include/asm/unistd_64.h | |||
| @@ -396,10 +396,12 @@ | |||
| 396 | #define __NR_syncfs 373 | 396 | #define __NR_syncfs 373 |
| 397 | #define __NR_sendmmsg 374 | 397 | #define __NR_sendmmsg 374 |
| 398 | #define __NR_setns 375 | 398 | #define __NR_setns 375 |
| 399 | #define __NR_process_vm_readv 376 | ||
| 400 | #define __NR_process_vm_writev 377 | ||
| 399 | 401 | ||
| 400 | #ifdef __KERNEL__ | 402 | #ifdef __KERNEL__ |
| 401 | 403 | ||
| 402 | #define NR_syscalls 376 | 404 | #define NR_syscalls 378 |
| 403 | 405 | ||
| 404 | #define __ARCH_WANT_IPC_PARSE_VERSION | 406 | #define __ARCH_WANT_IPC_PARSE_VERSION |
| 405 | #define __ARCH_WANT_OLD_READDIR | 407 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c index a43124e608c3..0bd744f9a3b7 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c | |||
| @@ -176,10 +176,12 @@ static DECLARE_INTC_DESC(intc_desc, "sh7203", vectors, groups, | |||
| 176 | static struct plat_sci_port scif0_platform_data = { | 176 | static struct plat_sci_port scif0_platform_data = { |
| 177 | .mapbase = 0xfffe8000, | 177 | .mapbase = 0xfffe8000, |
| 178 | .flags = UPF_BOOT_AUTOCONF, | 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 | .scbrr_algo_id = SCBRR_ALGO_2, | 181 | .scbrr_algo_id = SCBRR_ALGO_2, |
| 181 | .type = PORT_SCIF, | 182 | .type = PORT_SCIF, |
| 182 | .irqs = { 192, 192, 192, 192 }, | 183 | .irqs = { 192, 192, 192, 192 }, |
| 184 | .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
| 183 | }; | 185 | }; |
| 184 | 186 | ||
| 185 | static struct platform_device scif0_device = { | 187 | static struct platform_device scif0_device = { |
| @@ -193,10 +195,12 @@ static struct platform_device scif0_device = { | |||
| 193 | static struct plat_sci_port scif1_platform_data = { | 195 | static struct plat_sci_port scif1_platform_data = { |
| 194 | .mapbase = 0xfffe8800, | 196 | .mapbase = 0xfffe8800, |
| 195 | .flags = UPF_BOOT_AUTOCONF, | 197 | .flags = UPF_BOOT_AUTOCONF, |
| 196 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, | 198 | .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | |
| 199 | SCSCR_REIE, | ||
| 197 | .scbrr_algo_id = SCBRR_ALGO_2, | 200 | .scbrr_algo_id = SCBRR_ALGO_2, |
| 198 | .type = PORT_SCIF, | 201 | .type = PORT_SCIF, |
| 199 | .irqs = { 196, 196, 196, 196 }, | 202 | .irqs = { 196, 196, 196, 196 }, |
| 203 | .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
| 200 | }; | 204 | }; |
| 201 | 205 | ||
| 202 | static struct platform_device scif1_device = { | 206 | static struct platform_device scif1_device = { |
| @@ -210,10 +214,12 @@ static struct platform_device scif1_device = { | |||
| 210 | static struct plat_sci_port scif2_platform_data = { | 214 | static struct plat_sci_port scif2_platform_data = { |
| 211 | .mapbase = 0xfffe9000, | 215 | .mapbase = 0xfffe9000, |
| 212 | .flags = UPF_BOOT_AUTOCONF, | 216 | .flags = UPF_BOOT_AUTOCONF, |
| 213 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, | 217 | .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | |
| 218 | SCSCR_REIE, | ||
| 214 | .scbrr_algo_id = SCBRR_ALGO_2, | 219 | .scbrr_algo_id = SCBRR_ALGO_2, |
| 215 | .type = PORT_SCIF, | 220 | .type = PORT_SCIF, |
| 216 | .irqs = { 200, 200, 200, 200 }, | 221 | .irqs = { 200, 200, 200, 200 }, |
| 222 | .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
| 217 | }; | 223 | }; |
| 218 | 224 | ||
| 219 | static struct platform_device scif2_device = { | 225 | static struct platform_device scif2_device = { |
| @@ -227,10 +233,12 @@ static struct platform_device scif2_device = { | |||
| 227 | static struct plat_sci_port scif3_platform_data = { | 233 | static struct plat_sci_port scif3_platform_data = { |
| 228 | .mapbase = 0xfffe9800, | 234 | .mapbase = 0xfffe9800, |
| 229 | .flags = UPF_BOOT_AUTOCONF, | 235 | .flags = UPF_BOOT_AUTOCONF, |
| 230 | .scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE, | 236 | .scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | |
| 237 | SCSCR_REIE, | ||
| 231 | .scbrr_algo_id = SCBRR_ALGO_2, | 238 | .scbrr_algo_id = SCBRR_ALGO_2, |
| 232 | .type = PORT_SCIF, | 239 | .type = PORT_SCIF, |
| 233 | .irqs = { 204, 204, 204, 204 }, | 240 | .irqs = { 204, 204, 204, 204 }, |
| 241 | .regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
| 234 | }; | 242 | }; |
| 235 | 243 | ||
| 236 | static struct platform_device scif3_device = { | 244 | static struct platform_device scif3_device = { |
diff --git a/arch/sh/kernel/syscalls_32.S b/arch/sh/kernel/syscalls_32.S index 293e39c59c00..ee56a9b1a981 100644 --- a/arch/sh/kernel/syscalls_32.S +++ b/arch/sh/kernel/syscalls_32.S | |||
| @@ -382,3 +382,5 @@ ENTRY(sys_call_table) | |||
| 382 | .long sys_syncfs | 382 | .long sys_syncfs |
| 383 | .long sys_sendmmsg | 383 | .long sys_sendmmsg |
| 384 | .long sys_setns | 384 | .long sys_setns |
| 385 | .long sys_process_vm_readv /* 365 */ | ||
| 386 | .long sys_process_vm_writev | ||
diff --git a/arch/sh/kernel/syscalls_64.S b/arch/sh/kernel/syscalls_64.S index ceb34b94afa9..9af7de26fb71 100644 --- a/arch/sh/kernel/syscalls_64.S +++ b/arch/sh/kernel/syscalls_64.S | |||
| @@ -402,3 +402,5 @@ sys_call_table: | |||
| 402 | .long sys_syncfs | 402 | .long sys_syncfs |
| 403 | .long sys_sendmmsg | 403 | .long sys_sendmmsg |
| 404 | .long sys_setns /* 375 */ | 404 | .long sys_setns /* 375 */ |
| 405 | .long sys_process_vm_readv | ||
| 406 | .long sys_process_vm_writev | ||
diff --git a/drivers/sh/Makefile b/drivers/sh/Makefile index 24e6cec0ae8d..67e272ab1623 100644 --- a/drivers/sh/Makefile +++ b/drivers/sh/Makefile | |||
| @@ -7,3 +7,11 @@ obj-$(CONFIG_HAVE_CLK) += clk/ | |||
| 7 | obj-$(CONFIG_MAPLE) += maple/ | 7 | obj-$(CONFIG_MAPLE) += maple/ |
| 8 | obj-$(CONFIG_SUPERHYWAY) += superhyway/ | 8 | obj-$(CONFIG_SUPERHYWAY) += superhyway/ |
| 9 | obj-$(CONFIG_GENERIC_GPIO) += pfc.o | 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 | ||
diff --git a/drivers/sh/clk/core.c b/drivers/sh/clk/core.c index dc8d022c07a1..db257a35e71a 100644 --- a/drivers/sh/clk/core.c +++ b/drivers/sh/clk/core.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #include <linux/seq_file.h> | 25 | #include <linux/seq_file.h> |
| 26 | #include <linux/err.h> | 26 | #include <linux/err.h> |
| 27 | #include <linux/io.h> | 27 | #include <linux/io.h> |
| 28 | #include <linux/debugfs.h> | ||
| 29 | #include <linux/cpufreq.h> | 28 | #include <linux/cpufreq.h> |
| 30 | #include <linux/clk.h> | 29 | #include <linux/clk.h> |
| 31 | #include <linux/sh_clk.h> | 30 | #include <linux/sh_clk.h> |
| @@ -173,6 +172,26 @@ long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, | |||
| 173 | return clk_rate_round_helper(&div_range_round); | 172 | return clk_rate_round_helper(&div_range_round); |
| 174 | } | 173 | } |
| 175 | 174 | ||
| 175 | static long clk_rate_mult_range_iter(unsigned int pos, | ||
| 176 | struct clk_rate_round_data *rounder) | ||
| 177 | { | ||
| 178 | return clk_get_rate(rounder->arg) * pos; | ||
| 179 | } | ||
| 180 | |||
| 181 | long clk_rate_mult_range_round(struct clk *clk, unsigned int mult_min, | ||
| 182 | unsigned int mult_max, unsigned long rate) | ||
| 183 | { | ||
| 184 | struct clk_rate_round_data mult_range_round = { | ||
| 185 | .min = mult_min, | ||
| 186 | .max = mult_max, | ||
| 187 | .func = clk_rate_mult_range_iter, | ||
| 188 | .arg = clk_get_parent(clk), | ||
| 189 | .rate = rate, | ||
| 190 | }; | ||
| 191 | |||
| 192 | return clk_rate_round_helper(&mult_range_round); | ||
| 193 | } | ||
| 194 | |||
| 176 | int clk_rate_table_find(struct clk *clk, | 195 | int clk_rate_table_find(struct clk *clk, |
| 177 | struct cpufreq_frequency_table *freq_table, | 196 | struct cpufreq_frequency_table *freq_table, |
| 178 | unsigned long rate) | 197 | unsigned long rate) |
| @@ -205,9 +224,6 @@ int clk_reparent(struct clk *child, struct clk *parent) | |||
| 205 | list_add(&child->sibling, &parent->children); | 224 | list_add(&child->sibling, &parent->children); |
| 206 | child->parent = parent; | 225 | child->parent = parent; |
| 207 | 226 | ||
| 208 | /* now do the debugfs renaming to reattach the child | ||
| 209 | to the proper parent */ | ||
| 210 | |||
| 211 | return 0; | 227 | return 0; |
| 212 | } | 228 | } |
| 213 | 229 | ||
| @@ -665,89 +681,6 @@ static int __init clk_syscore_init(void) | |||
| 665 | subsys_initcall(clk_syscore_init); | 681 | subsys_initcall(clk_syscore_init); |
| 666 | #endif | 682 | #endif |
| 667 | 683 | ||
| 668 | /* | ||
| 669 | * debugfs support to trace clock tree hierarchy and attributes | ||
| 670 | */ | ||
| 671 | static struct dentry *clk_debugfs_root; | ||
| 672 | |||
| 673 | static int clk_debugfs_register_one(struct clk *c) | ||
| 674 | { | ||
| 675 | int err; | ||
| 676 | struct dentry *d; | ||
| 677 | struct clk *pa = c->parent; | ||
| 678 | char s[255]; | ||
| 679 | char *p = s; | ||
| 680 | |||
| 681 | p += sprintf(p, "%p", c); | ||
| 682 | d = debugfs_create_dir(s, pa ? pa->dentry : clk_debugfs_root); | ||
| 683 | if (!d) | ||
| 684 | return -ENOMEM; | ||
| 685 | c->dentry = d; | ||
| 686 | |||
| 687 | d = debugfs_create_u8("usecount", S_IRUGO, c->dentry, (u8 *)&c->usecount); | ||
| 688 | if (!d) { | ||
| 689 | err = -ENOMEM; | ||
| 690 | goto err_out; | ||
| 691 | } | ||
| 692 | d = debugfs_create_u32("rate", S_IRUGO, c->dentry, (u32 *)&c->rate); | ||
| 693 | if (!d) { | ||
| 694 | err = -ENOMEM; | ||
| 695 | goto err_out; | ||
| 696 | } | ||
| 697 | d = debugfs_create_x32("flags", S_IRUGO, c->dentry, (u32 *)&c->flags); | ||
| 698 | if (!d) { | ||
| 699 | err = -ENOMEM; | ||
| 700 | goto err_out; | ||
| 701 | } | ||
| 702 | return 0; | ||
| 703 | |||
| 704 | err_out: | ||
| 705 | debugfs_remove_recursive(c->dentry); | ||
| 706 | return err; | ||
| 707 | } | ||
| 708 | |||
| 709 | static int clk_debugfs_register(struct clk *c) | ||
| 710 | { | ||
| 711 | int err; | ||
| 712 | struct clk *pa = c->parent; | ||
| 713 | |||
| 714 | if (pa && !pa->dentry) { | ||
| 715 | err = clk_debugfs_register(pa); | ||
| 716 | if (err) | ||
| 717 | return err; | ||
| 718 | } | ||
| 719 | |||
| 720 | if (!c->dentry) { | ||
| 721 | err = clk_debugfs_register_one(c); | ||
| 722 | if (err) | ||
| 723 | return err; | ||
| 724 | } | ||
| 725 | return 0; | ||
| 726 | } | ||
| 727 | |||
| 728 | static int __init clk_debugfs_init(void) | ||
| 729 | { | ||
| 730 | struct clk *c; | ||
| 731 | struct dentry *d; | ||
| 732 | int err; | ||
| 733 | |||
| 734 | d = debugfs_create_dir("clock", NULL); | ||
| 735 | if (!d) | ||
| 736 | return -ENOMEM; | ||
| 737 | clk_debugfs_root = d; | ||
| 738 | |||
| 739 | list_for_each_entry(c, &clock_list, node) { | ||
| 740 | err = clk_debugfs_register(c); | ||
| 741 | if (err) | ||
| 742 | goto err_out; | ||
| 743 | } | ||
| 744 | return 0; | ||
| 745 | err_out: | ||
| 746 | debugfs_remove_recursive(clk_debugfs_root); | ||
| 747 | return err; | ||
| 748 | } | ||
| 749 | late_initcall(clk_debugfs_init); | ||
| 750 | |||
| 751 | static int __init clk_late_init(void) | 684 | static int __init clk_late_init(void) |
| 752 | { | 685 | { |
| 753 | unsigned long flags; | 686 | unsigned long flags; |
diff --git a/arch/arm/mach-shmobile/pm_runtime.c b/drivers/sh/pm_runtime.c index bd5c6a3b8c55..afe9282629b9 100644 --- a/arch/arm/mach-shmobile/pm_runtime.c +++ b/drivers/sh/pm_runtime.c | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * arch/arm/mach-shmobile/pm_runtime.c | 2 | * Runtime PM support code |
| 3 | * | ||
| 4 | * Runtime PM support code for SuperH Mobile ARM | ||
| 5 | * | 3 | * |
| 6 | * Copyright (C) 2009-2010 Magnus Damm | 4 | * Copyright (C) 2009-2010 Magnus Damm |
| 7 | * | 5 | * |
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c index 1945c70539c2..aff9d612dff0 100644 --- a/drivers/tty/serial/sh-sci.c +++ b/drivers/tty/serial/sh-sci.c | |||
| @@ -207,6 +207,25 @@ static struct plat_sci_reg sci_regmap[SCIx_NR_REGTYPES][SCIx_NR_REGS] = { | |||
| 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 | * Common SH-3 SCIF definitions. | 229 | * Common SH-3 SCIF definitions. |
| 211 | */ | 230 | */ |
| 212 | [SCIx_SH3_SCIF_REGTYPE] = { | 231 | [SCIx_SH3_SCIF_REGTYPE] = { |
diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h index 0efa1f10bc2b..369273a52679 100644 --- a/include/linux/serial_sci.h +++ b/include/linux/serial_sci.h | |||
| @@ -67,6 +67,7 @@ enum { | |||
| 67 | SCIx_IRDA_REGTYPE, | 67 | SCIx_IRDA_REGTYPE, |
| 68 | SCIx_SCIFA_REGTYPE, | 68 | SCIx_SCIFA_REGTYPE, |
| 69 | SCIx_SCIFB_REGTYPE, | 69 | SCIx_SCIFB_REGTYPE, |
| 70 | SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
| 70 | SCIx_SH3_SCIF_REGTYPE, | 71 | SCIx_SH3_SCIF_REGTYPE, |
| 71 | SCIx_SH4_SCIF_REGTYPE, | 72 | SCIx_SH4_SCIF_REGTYPE, |
| 72 | SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE, | 73 | SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE, |
diff --git a/include/linux/sh_clk.h b/include/linux/sh_clk.h index 3ccf18648d0a..a20831cf336a 100644 --- a/include/linux/sh_clk.h +++ b/include/linux/sh_clk.h | |||
| @@ -52,7 +52,6 @@ struct clk { | |||
| 52 | 52 | ||
| 53 | unsigned long arch_flags; | 53 | unsigned long arch_flags; |
| 54 | void *priv; | 54 | void *priv; |
| 55 | struct dentry *dentry; | ||
| 56 | struct clk_mapping *mapping; | 55 | struct clk_mapping *mapping; |
| 57 | struct cpufreq_frequency_table *freq_table; | 56 | struct cpufreq_frequency_table *freq_table; |
| 58 | unsigned int nr_freqs; | 57 | unsigned int nr_freqs; |
| @@ -94,6 +93,9 @@ int clk_rate_table_find(struct clk *clk, | |||
| 94 | long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, | 93 | long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, |
| 95 | unsigned int div_max, unsigned long rate); | 94 | unsigned int div_max, unsigned long rate); |
| 96 | 95 | ||
| 96 | long clk_rate_mult_range_round(struct clk *clk, unsigned int mult_min, | ||
| 97 | unsigned int mult_max, unsigned long rate); | ||
| 98 | |||
| 97 | long clk_round_parent(struct clk *clk, unsigned long target, | 99 | long clk_round_parent(struct clk *clk, unsigned long target, |
| 98 | unsigned long *best_freq, unsigned long *parent_freq, | 100 | unsigned long *best_freq, unsigned long *parent_freq, |
| 99 | unsigned int div_min, unsigned int div_max); | 101 | unsigned int div_min, unsigned int div_max); |
