The patch titled omap-add-watchdog-driver-support-tweaks has been removed from the -mm tree. Its filename is omap-add-watchdog-driver-support-tweaks.patch This patch was dropped because it was folded into omap-add-watchdog-driver-support.patch ------------------------------------------------------ Subject: omap-add-watchdog-driver-support-tweaks From: Andrew Morton <akpm@xxxxxxxx> Cc: <gdavis@xxxxxxxxxx> Cc: "Komal Shah" <komal_shah802003@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/char/watchdog/Kconfig | 4 +-- drivers/char/watchdog/omap_wdt.c | 34 +++++++++++++++++------------ 2 files changed, 22 insertions(+), 16 deletions(-) diff -puN drivers/char/watchdog/Kconfig~omap-add-watchdog-driver-support-tweaks drivers/char/watchdog/Kconfig --- a/drivers/char/watchdog/Kconfig~omap-add-watchdog-driver-support-tweaks +++ a/drivers/char/watchdog/Kconfig @@ -180,8 +180,8 @@ config OMAP_WATCHDOG tristate "OMAP Watchdog" depends on WATCHDOG && (ARCH_OMAP16XX || ARCH_OMAP24XX) help - Support for TI OMAP1610/OMAP1710/OMAP2420 watchdog. Say 'Y' here to enable the - OMAP1610/OMAP1710 watchdog timer. + Support for TI OMAP1610/OMAP1710/OMAP2420 watchdog. Say 'Y' here to + enable the OMAP1610/OMAP1710 watchdog timer. # X86 (i386 + ia64 + x86_64) Architecture diff -puN drivers/char/watchdog/omap_wdt.c~omap-add-watchdog-driver-support-tweaks drivers/char/watchdog/omap_wdt.c --- a/drivers/char/watchdog/omap_wdt.c~omap-add-watchdog-driver-support-tweaks +++ a/drivers/char/watchdog/omap_wdt.c @@ -65,11 +65,13 @@ static unsigned int wdt_trgr_pattern = 0 static void omap_wdt_ping(void) { /* wait for posted write to complete */ - while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x08); + while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x08) + cpu_relax(); wdt_trgr_pattern = ~wdt_trgr_pattern; omap_writel(wdt_trgr_pattern, (OMAP_WATCHDOG_TGR)); /* wait for posted write to complete */ - while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x08); + while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x08) + cpu_relax(); /* reloaded WCRR from WLDR */ } @@ -77,18 +79,22 @@ static void omap_wdt_enable(void) { /* Sequence to enable the watchdog */ omap_writel(0xBBBB, OMAP_WATCHDOG_SPR); - while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x10) ; + while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x10) + cpu_relax(); omap_writel(0x4444, OMAP_WATCHDOG_SPR); - while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x10) ; + while ((omap_readl(OMAP_WATCHDOG_WPS)) & 0x10) + cpu_relax(); } static void omap_wdt_disable(void) { /* sequence required to disable watchdog */ omap_writel(0xAAAA, OMAP_WATCHDOG_SPR); /* TIMER_MODE */ - while (omap_readl(OMAP_WATCHDOG_WPS) & 0x10) ; + while (omap_readl(OMAP_WATCHDOG_WPS) & 0x10) + cpu_relax(); omap_writel(0x5555, OMAP_WATCHDOG_SPR); /* TIMER_MODE */ - while (omap_readl(OMAP_WATCHDOG_WPS) & 0x10) ; + while (omap_readl(OMAP_WATCHDOG_WPS) & 0x10) + cpu_relax(); } static void omap_wdt_adjust_timeout(unsigned new_timeout) @@ -106,10 +112,10 @@ static void omap_wdt_set_timeout(void) /* just count up at 32 KHz */ while (omap_readl(OMAP_WATCHDOG_WPS) & 0x04) - continue; + cpu_relax(); omap_writel(pre_margin, OMAP_WATCHDOG_LDR); while (omap_readl(OMAP_WATCHDOG_WPS) & 0x04) - continue; + cpu_relax(); } /* @@ -125,16 +131,16 @@ static int omap_wdt_open(struct inode *i clk_enable(armwdt_ck); /* Enable the clock */ if (cpu_is_omap24xx()) { - clk_enable(mpu_wdt_ick); /* Enable the interface clock */ - clk_enable(mpu_wdt_fck); /* Enable the functional clock */ + clk_enable(mpu_wdt_ick); /* Enable the interface clock */ + clk_enable(mpu_wdt_fck); /* Enable the functional clock */ } /* initialize prescaler */ while (omap_readl(OMAP_WATCHDOG_WPS) & 0x01) - continue; + cpu_relax(); omap_writel((1 << 5) | (PTV << 2), OMAP_WATCHDOG_CNTRL); while (omap_readl(OMAP_WATCHDOG_WPS) & 0x01) - continue; + cpu_relax(); omap_wdt_set_timeout(); omap_wdt_enable(); @@ -171,8 +177,8 @@ static int omap_wdt_release(struct inode } static ssize_t -omap_wdt_write(struct file *file, const char __user * data, - size_t len, loff_t * ppos) +omap_wdt_write(struct file *file, const char __user *data, + size_t len, loff_t *ppos) { /* Refresh LOAD_TIME. */ if (len) _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch convert-s390-page-handling-macros-to-functions.patch blockdevc-check-errors.patch let-warn_on-warn_on_once-return-the-condition.patch omap-add-watchdog-driver-support.patch omap-add-watchdog-driver-support-tweaks.patch move-valid_dma_direction-from-x86_64-to-generic-code-fix.patch single-bit-flip-detector-tidy.patch fix-unserialized-task-files-changing-fix.patch tty-make-termios_sem-a-mutex-fix.patch solaris-emulation-incorrect-tty-locking-fix.patch solaris-emulation-incorrect-tty-locking-fix-2.patch cpuset-top_cpuset-tracks-hotplug-changes-to-node_online_map-fix.patch remove-sound-oss-copying.patch maximum-latency-tracking-infrastructure-tidy.patch fs-nameic-replace-multiple-current-fs-by-shortcut-variable-tidy.patch call-mm-page-writebackcset_ratelimit-when-new-pages-tidy.patch sys-modules-patch-allow-full-length-section-names.patch expand_fdtable-remove-pointless-unlocklock.patch add-config_headers_check-option-to-automatically-run-make-headers_check-nobble.patch submit-checklist-mention-headers_check.patch generic-bug-handling-fix.patch use-generic-bug-for-i386-tidy.patch use-generic-bug-for-x86-64-fix.patch use-generic-bug-for-powerpc-fix.patch use-generic-bug-for-powerpc-fix-2.patch use-generic-bug-for-powerpc-fix-3.patch bug-test-1.patch list-module-taint-flags-in-oops-panic-tidy.patch ntp-move-all-the-ntp-related-code-to-ntpc-fix.patch reiserfs-on-demand-bitmap-loading.patch streamline-generic_file_-interfaces-and-filemap-gfs-fix.patch add-vector-aio-support-fix.patch csa-basic-accounting-over-taskstats-fix.patch fs-cache-make-kafs-use-fs-cache-fix.patch fs-cache-make-kafs-use-fs-cache-vs-streamline-generic_file_-interfaces-and-filemap.patch nfs-use-local-caching-12-fix.patch stack-overflow-safe-kdump-crash_use_safe_smp_processor_id-fix.patch generic-ioremap_page_range-x86_64-conversion-fix.patch vfs-make-filldir_t-and-struct-kstat-deal-in-64-bit-inode-numbers-alpha-fix.patch some-cleanup-in-the-pipe-code-tidy.patch support-piping-into-commands-in-proc-sys-kernel-core_pattern-fix.patch move-pidmap-to-pspaceh-fix.patch kprobes-handle-symbol-resolution-when-modulesymbol-is-specified-tidy.patch isdn-work-around-excessive-udelay.patch knfsd-add-a-callback-for-when-last-rpc-thread-finishes-tidy.patch knfsd-add-a-callback-for-when-last-rpc-thread-finishes-fix.patch knfsd-separate-out-some-parts-of-nfsd_svc-which-start-nfs-servers-tweaks.patch knfsd-define-new-nfsdfs-file-portlist-contains-list-of-ports-tidy.patch knfsd-define-new-nfsdfs-file-portlist-contains-list-of-ports-fix.patch knfsd-drop-serv-option-to-svc_recv-and-svc_process-nfs-callback-fix-nfs-callback-fix.patch knfsd-move-tempsock-aging-to-a-timer-tidy.patch knfsd-nfsd4-fslocations-data-structures-fix.patch sched-remove-unnecessary-sched-group-allocations-fix.patch swap_prefetch-vs-zoned-counters.patch ecryptfs-mmap-operations.patch ecryptfs-alpha-build-fix.patch ecryptfs-more-elegant-aes-key-size-manipulation.patch ecryptfs-get_sb_dev-fix.patch make-kmem_cache_destroy-return-void-ecryptfs.patch ecryptfs-versioning-fixes-tidy.patch namespaces-add-nsproxy.patch namespaces-utsname-switch-to-using-uts-namespaces.patch namespaces-utsname-switch-to-using-uts-namespaces-klibc-bit-sparc.patch namespaces-utsname-use-init_utsname-when-appropriate.patch namespaces-utsname-implement-utsname-namespaces.patch namespaces-utsname-sysctl-hack.patch ipc-namespace-core.patch rename-the-provided-execve-functions-to-kernel_execve-headers-fix.patch replace-cad_pid-by-a-struct-pid-fixes.patch readahead-sysctl-parameters-fix.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch make-kmem_cache_destroy-return-void-reiser4.patch reiser4-hardirq-include-fix.patch reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch reiser4-get_sb_dev-fix.patch reiser4-vs-zoned-allocator.patch reiser4-rename-generic_sounding_globalspatch-fix.patch hpt3xx-rework-rate-filtering-tidy.patch genirq-convert-the-i386-architecture-to-irq-chips.patch genirq-x86_64-irq-reenable-migrating-irqs-to-other-cpus.patch genirq-msi-simplify-msi-enable-and-disable.patch genirq-ia64-irq-dynamic-irq-support.patch genirq-msi-only-build-msi-apicc-on-ia64-fix.patch genirq-i386-irq-remove-the-msi-assumption-that-irq-==-vector.patch genirq-x86_64-irq-make-vector_irq-per-cpu-fix.patch genirq-x86_64-irq-make-vector_irq-per-cpu-warning-fix.patch add-hypertransport-capability-defines-fix.patch initial-generic-hypertransport-interrupt-support-Kconfig-fix.patch srcu-report-out-of-memory-errors-fixlet.patch isdn-debug-build-fix.patch isdn-more-pr_debug-fixes.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch restore-rogue-readahead-printk.patch put_bh-debug.patch acpi_format_exception-debug.patch jmicron-warning-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html