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

Configure Feed

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

Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
omap4: prcm: Fix the CPUx clockdomain offsets
OMAP2+: clocksource: fix crash on boot when !CONFIG_OMAP_32K_TIMER
OMAP2/3: clock: fix fint calculation for DPLL_FREQSEL
OMAP2+: mailbox: fix lookups for multiple mailboxes
OMAP2420: mailbox: fix IVA vs DSP IRQ numbering
mach-omap2: smartreflex: world-writable debugfs voltage files
mach-omap2: pm: world-writable debugfs timer files
mach-omap2: mux: world-writable debugfs files

+31 -15
+1 -1
arch/arm/mach-omap2/clkt_dpll.c
··· 77 77 dd = clk->dpll_data; 78 78 79 79 /* DPLL divider must result in a valid jitter correction val */ 80 - fint = clk->parent->rate / (n + 1); 80 + fint = clk->parent->rate / n; 81 81 if (fint < DPLL_FINT_BAND1_MIN) { 82 82 83 83 pr_debug("rejecting n=%d due to Fint failure, "
+1 -1
arch/arm/mach-omap2/mailbox.c
··· 334 334 .priv = &omap2_mbox_iva_priv, 335 335 }; 336 336 337 - struct omap_mbox *omap2_mboxes[] = { &mbox_iva_info, &mbox_dsp_info, NULL }; 337 + struct omap_mbox *omap2_mboxes[] = { &mbox_dsp_info, &mbox_iva_info, NULL }; 338 338 #endif 339 339 340 340 #if defined(CONFIG_ARCH_OMAP4)
+1 -1
arch/arm/mach-omap2/mux.c
··· 605 605 list_for_each_entry(e, &partition->muxmodes, node) { 606 606 struct omap_mux *m = &e->mux; 607 607 608 - (void)debugfs_create_file(m->muxnames[0], S_IWUGO, mux_dbg_dir, 608 + (void)debugfs_create_file(m->muxnames[0], S_IWUSR, mux_dbg_dir, 609 609 m, &omap_mux_dbg_signal_fops); 610 610 } 611 611 }
+4 -4
arch/arm/mach-omap2/pm-debug.c
··· 637 637 638 638 } 639 639 640 - (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUGO, d, 640 + (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d, 641 641 &enable_off_mode, &pm_dbg_option_fops); 642 - (void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUGO, d, 642 + (void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUSR, d, 643 643 &sleep_while_idle, &pm_dbg_option_fops); 644 - (void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUGO, d, 644 + (void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUSR, d, 645 645 &wakeup_timer_seconds, &pm_dbg_option_fops); 646 646 (void) debugfs_create_file("wakeup_timer_milliseconds", 647 - S_IRUGO | S_IWUGO, d, &wakeup_timer_milliseconds, 647 + S_IRUGO | S_IWUSR, d, &wakeup_timer_milliseconds, 648 648 &pm_dbg_option_fops); 649 649 pm_dbg_init_done = 1; 650 650
+2 -2
arch/arm/mach-omap2/prcm_mpu44xx.h
··· 38 38 #define OMAP4430_PRCM_MPU_CPU1_INST 0x0800 39 39 40 40 /* PRCM_MPU clockdomain register offsets (from instance start) */ 41 - #define OMAP4430_PRCM_MPU_CPU0_MPU_CDOFFS 0x0000 42 - #define OMAP4430_PRCM_MPU_CPU1_MPU_CDOFFS 0x0000 41 + #define OMAP4430_PRCM_MPU_CPU0_MPU_CDOFFS 0x0018 42 + #define OMAP4430_PRCM_MPU_CPU1_MPU_CDOFFS 0x0018 43 43 44 44 45 45 /*
+2 -2
arch/arm/mach-omap2/smartreflex.c
··· 900 900 return PTR_ERR(dbg_dir); 901 901 } 902 902 903 - (void) debugfs_create_file("autocomp", S_IRUGO | S_IWUGO, dbg_dir, 903 + (void) debugfs_create_file("autocomp", S_IRUGO | S_IWUSR, dbg_dir, 904 904 (void *)sr_info, &pm_sr_fops); 905 905 (void) debugfs_create_x32("errweight", S_IRUGO, dbg_dir, 906 906 &sr_info->err_weight); ··· 939 939 strcpy(name, "volt_"); 940 940 sprintf(volt_name, "%d", volt_data[i].volt_nominal); 941 941 strcat(name, volt_name); 942 - (void) debugfs_create_x32(name, S_IRUGO | S_IWUGO, nvalue_dir, 942 + (void) debugfs_create_x32(name, S_IRUGO | S_IWUSR, nvalue_dir, 943 943 &(sr_info->nvalue_table[i].nvalue)); 944 944 } 945 945
+13
arch/arm/mach-omap2/timer-gp.c
··· 39 39 #include <asm/mach/time.h> 40 40 #include <plat/dmtimer.h> 41 41 #include <asm/localtimer.h> 42 + #include <asm/sched_clock.h> 42 43 43 44 #include "timer-gp.h" 44 45 ··· 191 190 /* 192 191 * clocksource 193 192 */ 193 + static DEFINE_CLOCK_DATA(cd); 194 194 static struct omap_dm_timer *gpt_clocksource; 195 195 static cycle_t clocksource_read_cycles(struct clocksource *cs) 196 196 { ··· 205 203 .mask = CLOCKSOURCE_MASK(32), 206 204 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 207 205 }; 206 + 207 + static void notrace dmtimer_update_sched_clock(void) 208 + { 209 + u32 cyc; 210 + 211 + cyc = omap_dm_timer_read_counter(gpt_clocksource); 212 + 213 + update_sched_clock(&cd, cyc, (u32)~0); 214 + } 208 215 209 216 /* Setup free-running counter for clocksource */ 210 217 static void __init omap2_gp_clocksource_init(void) ··· 234 223 tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gpt)); 235 224 236 225 omap_dm_timer_set_load_start(gpt, 1, 0); 226 + 227 + init_sched_clock(&cd, dmtimer_update_sched_clock, 32, tick_rate); 237 228 238 229 if (clocksource_register_hz(&clocksource_gpt, tick_rate)) 239 230 printk(err2, clocksource_gpt.name);
+7 -4
arch/arm/plat-omap/mailbox.c
··· 322 322 323 323 struct omap_mbox *omap_mbox_get(const char *name, struct notifier_block *nb) 324 324 { 325 - struct omap_mbox *mbox; 326 - int ret; 325 + struct omap_mbox *_mbox, *mbox = NULL; 326 + int i, ret; 327 327 328 328 if (!mboxes) 329 329 return ERR_PTR(-EINVAL); 330 330 331 - for (mbox = *mboxes; mbox; mbox++) 332 - if (!strcmp(mbox->name, name)) 331 + for (i = 0; (_mbox = mboxes[i]); i++) { 332 + if (!strcmp(_mbox->name, name)) { 333 + mbox = _mbox; 333 334 break; 335 + } 336 + } 334 337 335 338 if (!mbox) 336 339 return ERR_PTR(-ENOENT);