]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
authorAdrian Bunk <bunk@stusta.de>
Sun, 2 Apr 2006 08:37:38 +0000 (10:37 +0200)
committerAdrian Bunk <bunk@stusta.de>
Sun, 2 Apr 2006 08:37:38 +0000 (10:37 +0200)
32 files changed:
Documentation/DocBook/Makefile
Documentation/acpi-hotkey.txt
Documentation/fujitsu/frv/kernel-ABI.txt
Documentation/kernel-parameters.txt
Documentation/networking/packet_mmap.txt
Documentation/networking/tuntap.txt
arch/i386/kernel/crash.c
drivers/md/dm-target.c
drivers/md/raid1.c
drivers/mtd/chips/Kconfig
drivers/s390/block/dasd_erp.c
drivers/s390/char/sclp_rw.c
drivers/s390/char/tape_block.c
drivers/scsi/aic7xxx/Kconfig.aic7xxx
drivers/serial/jsm/jsm.h
drivers/serial/jsm/jsm_driver.c
drivers/serial/jsm/jsm_neo.c
fs/direct-io.c
fs/exec.c
fs/hfsplus/bnode.c
fs/hfsplus/btree.c
fs/jffs2/background.c
fs/smbfs/file.c
fs/sysfs/inode.c
include/linux/fs.h
ipc/util.c
kernel/power/Kconfig
kernel/printk.c
kernel/time.c
mm/mmap.c
mm/swap_state.c
mm/vmalloc.c

index 7d87dd73cbe40552d67450059c45934faff45529..5a2882d275ba5b3beabb305c62a22f38aa5cff44 100644 (file)
@@ -2,7 +2,7 @@
 # This makefile is used to generate the kernel documentation,
 # primarily based on in-line comments in various source files.
 # See Documentation/kernel-doc-nano-HOWTO.txt for instruction in how
-# to ducument the SRC - and how to read it.
+# to document the SRC - and how to read it.
 # To add a new book the only step required is to add the book to the
 # list of DOCBOOKS.
 
index 744f1aec65535f7d3bbadeedcc4f3e8c508709fb..38040fa376495d2cf000f47de01f7d1980ff960d 100644 (file)
@@ -30,7 +30,7 @@ specific hotkey(event))
 echo "event_num:event_type:event_argument" > 
        /proc/acpi/hotkey/action.
 The result of the execution of this aml method is 
-attached to /proc/acpi/hotkey/poll_method, which is dnyamically
+attached to /proc/acpi/hotkey/poll_method, which is dynamically
 created.  Please use command "cat /proc/acpi/hotkey/polling_method" 
 to retrieve it.
 
index 0ed9b0a779bcad04025cae00bdf2fa40fe1f4748..8b0a5fc8bfd96cc64fe09f165b740f272196f654 100644 (file)
@@ -1,17 +1,19 @@
-                                =================================
-                                INTERNAL KERNEL ABI FOR FR-V ARCH
-                                =================================
-
-The internal FRV kernel ABI is not quite the same as the userspace ABI. A number of the registers
-are used for special purposed, and the ABI is not consistent between modules vs core, and MMU vs
-no-MMU.
-
-This partly stems from the fact that FRV CPUs do not have a separate supervisor stack pointer, and
-most of them do not have any scratch registers, thus requiring at least one general purpose
-register to be clobbered in such an event. Also, within the kernel core, it is possible to simply
-jump or call directly between functions using a relative offset. This cannot be extended to modules
-for the displacement is likely to be too far. Thus in modules the address of a function to call
-must be calculated in a register and then used, requiring two extra instructions.
+                       =================================
+                       INTERNAL KERNEL ABI FOR FR-V ARCH
+                       =================================
+
+The internal FRV kernel ABI is not quite the same as the userspace ABI. A
+number of the registers are used for special purposed, and the ABI is not
+consistent between modules vs core, and MMU vs no-MMU.
+
+This partly stems from the fact that FRV CPUs do not have a separate
+supervisor stack pointer, and most of them do not have any scratch
+registers, thus requiring at least one general purpose register to be
+clobbered in such an event. Also, within the kernel core, it is possible to
+simply jump or call directly between functions using a relative offset.
+This cannot be extended to modules for the displacement is likely to be too
+far. Thus in modules the address of a function to call must be calculated
+in a register and then used, requiring two extra instructions.
 
 This document has the following sections:
 
@@ -39,7 +41,8 @@ When a system call is made, the following registers are effective:
 CPU OPERATING MODES
 ===================
 
-The FR-V CPU has three basic operating modes. In order of increasing capability:
+The FR-V CPU has three basic operating modes. In order of increasing
+capability:
 
   (1) User mode.
 
@@ -47,42 +50,46 @@ The FR-V CPU has three basic operating modes. In order of increasing capability:
 
   (2) Kernel mode.
 
-      Normal kernel mode. There are many additional control registers available that may be
-      accessed in this mode, in addition to all the stuff available to user mode. This has two
-      submodes:
+      Normal kernel mode. There are many additional control registers
+      available that may be accessed in this mode, in addition to all the
+      stuff available to user mode. This has two submodes:
 
       (a) Exceptions enabled (PSR.T == 1).
 
-         Exceptions will invoke the appropriate normal kernel mode handler. On entry to the
-         handler, the PSR.T bit will be cleared.
+         Exceptions will invoke the appropriate normal kernel mode
+         handler. On entry to the handler, the PSR.T bit will be cleared.
 
       (b) Exceptions disabled (PSR.T == 0).
 
-         No exceptions or interrupts may happen. Any mandatory exceptions will cause the CPU to
-         halt unless the CPU is told to jump into debug mode instead.
+         No exceptions or interrupts may happen. Any mandatory exceptions
+         will cause the CPU to halt unless the CPU is told to jump into
+         debug mode instead.
 
   (3) Debug mode.
 
-      No exceptions may happen in this mode. Memory protection and management exceptions will be
-      flagged for later consideration, but the exception handler won't be invoked. Debugging traps
-      such as hardware breakpoints and watchpoints will be ignored. This mode is entered only by
-      debugging events obtained from the other two modes.
+      No exceptions may happen in this mode. Memory protection and
+      management exceptions will be flagged for later consideration, but
+      the exception handler won't be invoked. Debugging traps such as
+      hardware breakpoints and watchpoints will be ignored. This mode is
+      entered only by debugging events obtained from the other two modes.
 
-      All kernel mode registers may be accessed, plus a few extra debugging specific registers.
+      All kernel mode registers may be accessed, plus a few extra debugging
+      specific registers.
 
 
 =================================
 INTERNAL KERNEL-MODE REGISTER ABI
 =================================
 
-There are a number of permanent register assignments that are set up by entry.S in the exception
-prologue. Note that there is a complete set of exception prologues for each of user->kernel
-transition and kernel->kernel transition. There are also user->debug and kernel->debug mode
-transition prologues.
+There are a number of permanent register assignments that are set up by
+entry.S in the exception prologue. Note that there is a complete set of
+exception prologues for each of user->kernel transition and kernel->kernel
+transition. There are also user->debug and kernel->debug mode transition
+prologues.
 
 
        REGISTER        FLAVOUR USE
-       =============== ======= ====================================================
+       =============== ======= ==============================================
        GR1                     Supervisor stack pointer
        GR15                    Current thread info pointer
        GR16                    GP-Rel base register for small data
@@ -92,10 +99,12 @@ transition prologues.
        GR31            NOMMU   Destroyed by debug mode entry
        GR31            MMU     Destroyed by TLB miss kernel mode entry
        CCR.ICC2                Virtual interrupt disablement tracking
-       CCCR.CC3                Cleared by exception prologue (atomic op emulation)
+       CCCR.CC3                Cleared by exception prologue 
+                               (atomic op emulation)
        SCR0            MMU     See mmu-layout.txt.
        SCR1            MMU     See mmu-layout.txt.
-       SCR2            MMU     Save for EAR0 (destroyed by icache insns in debug mode)
+       SCR2            MMU     Save for EAR0 (destroyed by icache insns 
+                                              in debug mode)
        SCR3            MMU     Save for GR31 during debug exceptions
        DAMR/IAMR       NOMMU   Fixed memory protection layout.
        DAMR/IAMR       MMU     See mmu-layout.txt.
@@ -104,18 +113,21 @@ transition prologues.
 Certain registers are also used or modified across function calls:
 
        REGISTER        CALL                            RETURN
-       =============== =============================== ===============================
+       =============== =============================== ======================
        GR0             Fixed Zero                      -
        GR2             Function call frame pointer
        GR3             Special                         Preserved
        GR3-GR7         -                               Clobbered
-       GR8             Function call arg #1            Return value (or clobbered)
-       GR9             Function call arg #2            Return value MSW (or clobbered)
+       GR8             Function call arg #1            Return value 
+                                                       (or clobbered)
+       GR9             Function call arg #2            Return value MSW 
+                                                       (or clobbered)
        GR10-GR13       Function call arg #3-#6         Clobbered
        GR14            -                               Clobbered
        GR15-GR16       Special                         Preserved
        GR17-GR27       -                               Preserved
-       GR28-GR31       Special                         Only accessed explicitly
+       GR28-GR31       Special                         Only accessed 
+                                                       explicitly
        LR              Return address after CALL       Clobbered
        CCR/CCCR        -                               Mostly Clobbered
 
@@ -124,46 +136,53 @@ Certain registers are also used or modified across function calls:
 INTERNAL DEBUG-MODE REGISTER ABI
 ================================
 
-This is the same as the kernel-mode register ABI for functions calls. The difference is that in
-debug-mode there's a different stack and a different exception frame. Almost all the global
-registers from kernel-mode (including the stack pointer) may be changed.
+This is the same as the kernel-mode register ABI for functions calls. The
+difference is that in debug-mode there's a different stack and a different
+exception frame. Almost all the global registers from kernel-mode
+(including the stack pointer) may be changed.
 
        REGISTER        FLAVOUR USE
-       =============== ======= ====================================================
+       =============== ======= ==============================================
        GR1                     Debug stack pointer
        GR16                    GP-Rel base register for small data
-       GR31                    Current debug exception frame pointer (__debug_frame)
+       GR31                    Current debug exception frame pointer 
+                               (__debug_frame)
        SCR3            MMU     Saved value of GR31
 
 
-Note that debug mode is able to interfere with the kernel's emulated atomic ops, so it must be
-exceedingly careful not to do any that would interact with the main kernel in this regard. Hence
-the debug mode code (gdbstub) is almost completely self-contained. The only external code used is
-the sprintf family of functions.
+Note that debug mode is able to interfere with the kernel's emulated atomic
+ops, so it must be exceedingly careful not to do any that would interact
+with the main kernel in this regard. Hence the debug mode code (gdbstub) is
+almost completely self-contained. The only external code used is the
+sprintf family of functions.
 
-Futhermore, break.S is so complicated because single-step mode does not switch off on entry to an
-exception. That means unless manually disabled, single-stepping will blithely go on stepping into
-things like interrupts. See gdbstub.txt for more information.
+Futhermore, break.S is so complicated because single-step mode does not
+switch off on entry to an exception. That means unless manually disabled,
+single-stepping will blithely go on stepping into things like interrupts.
+See gdbstub.txt for more information.
 
 
 ==========================
 VIRTUAL INTERRUPT HANDLING
 ==========================
 
-Because accesses to the PSR is so slow, and to disable interrupts we have to access it twice (once
-to read and once to write), we don't actually disable interrupts at all if we don't have to. What
-we do instead is use the ICC2 condition code flags to note virtual disablement, such that if we
-then do take an interrupt, we note the flag, really disable interrupts, set another flag and resume
-execution at the point the interrupt happened. Setting condition flags as a side effect of an
-arithmetic or logical instruction is really fast. This use of the ICC2 only occurs within the
+Because accesses to the PSR is so slow, and to disable interrupts we have
+to access it twice (once to read and once to write), we don't actually
+disable interrupts at all if we don't have to. What we do instead is use
+the ICC2 condition code flags to note virtual disablement, such that if we
+then do take an interrupt, we note the flag, really disable interrupts, set
+another flag and resume execution at the point the interrupt happened.
+Setting condition flags as a side effect of an arithmetic or logical
+instruction is really fast. This use of the ICC2 only occurs within the
 kernel - it does not affect userspace.
 
 The flags we use are:
 
  (*) CCR.ICC2.Z [Zero flag]
 
-     Set to virtually disable interrupts, clear when interrupts are virtually enabled. Can be
-     modified by logical instructions without affecting the Carry flag.
+     Set to virtually disable interrupts, clear when interrupts are
+     virtually enabled. Can be modified by logical instructions without
+     affecting the Carry flag.
 
  (*) CCR.ICC2.C [Carry flag]
 
@@ -176,8 +195,9 @@ What happens is this:
 
        ICC2.Z is 0, ICC2.C is 1.
 
- (2) An interrupt occurs. The exception prologue examines ICC2.Z and determines that nothing needs
-     doing. This is done simply with an unlikely BEQ instruction.
+ (2) An interrupt occurs. The exception prologue examines ICC2.Z and
+     determines that nothing needs doing. This is done simply with an
+     unlikely BEQ instruction.
 
  (3) The interrupts are disabled (local_irq_disable)
 
@@ -187,48 +207,56 @@ What happens is this:
 
        ICC2.Z would be set to 0.
 
-     A TIHI #2 instruction (trap #2 if condition HI - Z==0 && C==0) would be used to trap if
-     interrupts were now virtually enabled, but physically disabled - which they're not, so the
-     trap isn't taken. The kernel would then be back to state (1).
+     A TIHI #2 instruction (trap #2 if condition HI - Z==0 && C==0) would
+     be used to trap if interrupts were now virtually enabled, but
+     physically disabled - which they're not, so the trap isn't taken. The
+     kernel would then be back to state (1).
 
- (5) An interrupt occurs. The exception prologue examines ICC2.Z and determines that the interrupt
-     shouldn't actually have happened. It jumps aside, and there disabled interrupts by setting
-     PSR.PIL to 14 and then it clears ICC2.C.
+ (5) An interrupt occurs. The exception prologue examines ICC2.Z and
+     determines that the interrupt shouldn't actually have happened. It
+     jumps aside, and there disabled interrupts by setting PSR.PIL to 14
+     and then it clears ICC2.C.
 
  (6) If interrupts were then saved and disabled again (local_irq_save):
 
-       ICC2.Z would be shifted into the save variable and masked off (giving a 1).
+       ICC2.Z would be shifted into the save variable and masked off 
+       (giving a 1).
 
-       ICC2.Z would then be set to 1 (thus unchanged), and ICC2.C would be unaffected (ie: 0).
+       ICC2.Z would then be set to 1 (thus unchanged), and ICC2.C would be
+       unaffected (ie: 0).
 
  (7) If interrupts were then restored from state (6) (local_irq_restore):
 
-       ICC2.Z would be set to indicate the result of XOR'ing the saved value (ie: 1) with 1, which
-       gives a result of 0 - thus leaving ICC2.Z set.
+       ICC2.Z would be set to indicate the result of XOR'ing the saved
+       value (ie: 1) with 1, which gives a result of 0 - thus leaving
+       ICC2.Z set.
 
        ICC2.C would remain unaffected (ie: 0).
 
-     A TIHI #2 instruction would be used to again assay the current state, but this would do
-     nothing as Z==1.
+     A TIHI #2 instruction would be used to again assay the current state,
+     but this would do nothing as Z==1.
 
  (8) If interrupts were then enabled (local_irq_enable):
 
-       ICC2.Z would be cleared. ICC2.C would be left unaffected. Both flags would now be 0.
+       ICC2.Z would be cleared. ICC2.C would be left unaffected. Both
+       flags would now be 0.
 
-     A TIHI #2 instruction again issued to assay the current state would then trap as both Z==0
-     [interrupts virtually enabled] and C==0 [interrupts really disabled] would then be true.
+     A TIHI #2 instruction again issued to assay the current state would
+     then trap as both Z==0 [interrupts virtually enabled] and C==0
+     [interrupts really disabled] would then be true.
 
- (9) The trap #2 handler would simply enable hardware interrupts (set PSR.PIL to 0), set ICC2.C to
-     1 and return.
+ (9) The trap #2 handler would simply enable hardware interrupts 
+     (set PSR.PIL to 0), set ICC2.C to 1 and return.
 
 (10) Immediately upon returning, the pending interrupt would be taken.
 
-(11) The interrupt handler would take the path of actually processing the interrupt (ICC2.Z is
-     clear, BEQ fails as per step (2)).
+(11) The interrupt handler would take the path of actually processing the
+     interrupt (ICC2.Z is clear, BEQ fails as per step (2)).
 
-(12) The interrupt handler would then set ICC2.C to 1 since hardware interrupts are definitely
-     enabled - or else the kernel wouldn't be here.
+(12) The interrupt handler would then set ICC2.C to 1 since hardware
+     interrupts are definitely enabled - or else the kernel wouldn't be here.
 
 (13) On return from the interrupt handler, things would be back to state (1).
 
-This trap (#2) is only available in kernel mode. In user mode it will result in SIGILL.
+This trap (#2) is only available in kernel mode. In user mode it will
+result in SIGILL.
index f8cb55c30b0fb4d3c8a9931d15c0eedb13684b46..b3a6187e53051866004696e4d5718cd85240e1c2 100644 (file)
@@ -1,4 +1,4 @@
-February 2003             Kernel Parameters                     v2.5.59
+                          Kernel Parameters
                           ~~~~~~~~~~~~~~~~~
 
 The following is a consolidated list of the kernel parameters as implemented
@@ -17,9 +17,17 @@ are specified on the kernel command line with the module name plus
 
        usbcore.blinkenlights=1
 
-The text in square brackets at the beginning of the description states the
-restrictions on the kernel for the said kernel parameter to be valid. The
-restrictions referred to are that the relevant option is valid if:
+This document may not be entirely up to date and comprehensive. The command
+"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
+module. Loadable modules, after being loaded into the running kernel, also
+reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
+parameters may be changed at runtime by the command
+"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}".
+
+The parameters listed below are only valid if certain kernel build options were
+enabled and if respective hardware is present. The text in square brackets at
+the beginning of each description states the restrictions within which a
+parameter is applicable:
 
        ACPI    ACPI support is enabled.
        ALSA    ALSA sound support is enabled.
@@ -1046,10 +1054,10 @@ running once the system is up.
        noltlbs         [PPC] Do not use large page/tlb entries for kernel
                        lowmem mapping on PPC40x.
 
-       nomce           [IA-32] Machine Check Exception
-
        nomca           [IA-64] Disable machine check abort handling
 
+       nomce           [IA-32] Machine Check Exception
+
        noresidual      [PPC] Don't use residual data on PReP machines.
 
        noresume        [SWSUSP] Disables resume and restores original swap
@@ -1682,20 +1690,6 @@ running once the system is up.
 
 
 ______________________________________________________________________
-Changelog:
-
-2000-06-??     Mr. Unknown
-       The last known update (for 2.4.0) - the changelog was not kept before.
-
-2002-11-24     Petr Baudis <pasky@ucw.cz>
-               Randy Dunlap <randy.dunlap@verizon.net>
-       Update for 2.5.49, description for most of the options introduced,
-       references to other documentation (C files, READMEs, ..), added S390,
-       PPC, SPARC, MTD, ALSA and OSS category. Minor corrections and
-       reformatting.
-
-2005-10-19     Randy Dunlap <rdunlap@xenotime.net>
-       Lots of typos, whitespace, some reformatting.
 
 TODO:
 
index 4fc8e987432073e8f10a81d6ee52fd9ac9cf696e..aaf99d5f0dad6455f83c4ef811e907d83c98cec1 100644 (file)
@@ -254,7 +254,7 @@ and, the number of frames be
 
        <block number> * <block size> / <frame size>
 
-Suposse the following parameters, which apply for 2.6 kernel and an
+Suppose the following parameters, which apply for 2.6 kernel and an
 i386 architecture:
 
        <size-max> = 131072 bytes
index ec3d109d787a42ca07f3ef60e94d8fcb888e6a2f..76750fb9151a1ab79526591edb355dba167bb1ce 100644 (file)
@@ -138,7 +138,7 @@ This means that you have to read/write IP packets when you are using tun and
 ethernet frames when using tap.
 
 5. What is the difference between BPF and TUN/TAP driver?
-BFP is an advanced packet filter. It can be attached to existing
+BPF is an advanced packet filter. It can be attached to existing
 network interface. It does not provide a virtual network interface.
 A TUN/TAP driver does provide a virtual network interface and it is possible
 to attach BPF to this interface.
index e3c5fca0aa8ad1ba9fd2797646d88c1b2146bdf7..2b0cfce24a619af5105e11705adb771f5298c0a1 100644 (file)
@@ -69,7 +69,7 @@ static void crash_save_this_cpu(struct pt_regs *regs, int cpu)
         * for the data I pass, and I need tags
         * on the data to indicate what information I have
         * squirrelled away.  ELF notes happen to provide
-        * all of that that no need to invent something new.
+        * all of that, so there is no need to invent something new.
         */
        buf = (u32*)per_cpu_ptr(crash_notes, cpu);
        if (!buf)
index aecd9e0c2616b7ad0ec1881be502e501ddd9c731..64fd8e79ea4c9cd44b03c0973e2f1559afb96203 100644 (file)
@@ -78,8 +78,7 @@ void dm_put_target_type(struct target_type *t)
        if (--ti->use == 0)
                module_put(ti->tt.module);
 
-       if (ti->use < 0)
-               BUG();
+       BUG_ON(ti->use < 0);
        up_read(&_lock);
 
        return;
index 9b374c91db66caf8755d36df304a37f7e0bca482..6081941de1b34d83ec2fed6384fca4eb43e2604f 100644 (file)
@@ -1558,8 +1558,7 @@ static int init_resync(conf_t *conf)
        int buffs;
 
        buffs = RESYNC_WINDOW / RESYNC_BLOCK_SIZE;
-       if (conf->r1buf_pool)
-               BUG();
+       BUG_ON(conf->r1buf_pool);
        conf->r1buf_pool = mempool_create(buffs, r1buf_pool_alloc, r1buf_pool_free,
                                          conf->poolinfo);
        if (!conf->r1buf_pool)
@@ -1732,8 +1731,7 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i
                            !conf->fullsync &&
                            !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery))
                                break;
-                       if (sync_blocks < (PAGE_SIZE>>9))
-                               BUG();
+                       BUG_ON(sync_blocks < (PAGE_SIZE>>9));
                        if (len > (sync_blocks<<9))
                                len = sync_blocks<<9;
                }
index 0f6bb2e625d8487574bccba7f0c89140a1108d51..a7ec5954caf54bcf88d7582c929ab55a2be02263 100644 (file)
@@ -200,27 +200,6 @@ config MTD_CFI_AMDSTD
          provides support for one of those command sets, used on chips
          including the AMD Am29LV320.
 
-config MTD_CFI_AMDSTD_RETRY
-       int "Retry failed commands (erase/program)"
-       depends on MTD_CFI_AMDSTD
-       default "0"
-       help
-         Some chips, when attached to a shared bus, don't properly filter
-         bus traffic that is destined to other devices.  This broken
-         behavior causes erase and program sequences to be aborted when
-         the sequences are mixed with traffic for other devices.
-
-         SST49LF040 (and related) chips are know to be broken.
-
-config MTD_CFI_AMDSTD_RETRY_MAX
-       int "Max retries of failed commands (erase/program)"
-       depends on MTD_CFI_AMDSTD_RETRY
-       default "0"
-       help
-         If you have an SST49LF040 (or related chip) then this value should
-         be set to at least 1.  This can also be adjusted at driver load
-         time with the retry_cmd_max module parameter.
-
 config MTD_CFI_STAA
        tristate "Support for ST (Advanced Architecture) flash chips"
        depends on MTD_GEN_PROBE
index 8fd71ab02ef055df625a0182cff83bd795459b66..b842377cb0c6c51fa562ba364d4bcab4b2a0d07e 100644 (file)
@@ -32,9 +32,8 @@ dasd_alloc_erp_request(char *magic, int cplength, int datasize,
        int size;
 
        /* Sanity checks */
-       if ( magic == NULL || datasize > PAGE_SIZE ||
-            (cplength*sizeof(struct ccw1)) > PAGE_SIZE)
-               BUG();
+       BUG_ON( magic == NULL || datasize > PAGE_SIZE ||
+            (cplength*sizeof(struct ccw1)) > PAGE_SIZE);
 
        size = (sizeof(struct dasd_ccw_req) + 7L) & -8L;
        if (cplength > 0)
@@ -125,8 +124,7 @@ dasd_default_erp_postaction(struct dasd_ccw_req * cqr)
        struct dasd_device *device;
        int success;
 
-       if (cqr->refers == NULL || cqr->function == NULL)
-               BUG();
+       BUG_ON(cqr->refers == NULL || cqr->function == NULL);
 
        device = cqr->device;
        success = cqr->status == DASD_CQR_DONE;
index ac10dfb20a624ea63da9369fe75d1cbf49a1a9f0..91e93c78f57a0340657f1130ff33a9d20b4854e8 100644 (file)
@@ -24,7 +24,7 @@
 
 /*
  * The room for the SCCB (only for writing) is not equal to a pages size
- * (as it is specified as the maximum size in the the SCLP ducumentation)
+ * (as it is specified as the maximum size in the the SCLP documentation)
  * because of the additional data structure described above.
  */
 #define MAX_SCCB_ROOM (PAGE_SIZE - sizeof(struct sclp_buffer))
index 5ced2725d6c705fda1529cafece44847d83df96b..5c65cf3e5cc02506261d3e970a267b346df0d20b 100644 (file)
@@ -198,9 +198,7 @@ tapeblock_request_fn(request_queue_t *queue)
 
        device = (struct tape_device *) queue->queuedata;
        DBF_LH(6, "tapeblock_request_fn(device=%p)\n", device);
-       if (device == NULL)
-               BUG();
-
+       BUG_ON(device == NULL);
        tapeblock_trigger_requeue(device);
 }
 
@@ -307,8 +305,7 @@ tapeblock_revalidate_disk(struct gendisk *disk)
        int                     rc;
 
        device = (struct tape_device *) disk->private_data;
-       if (!device)
-               BUG();
+       BUG_ON(!device);
 
        if (!device->blk_data.medium_changed)
                return 0;
@@ -440,11 +437,9 @@ tapeblock_ioctl(
 
        rc     = 0;
        disk   = inode->i_bdev->bd_disk;
-       if (!disk)
-               BUG();
+       BUG_ON(!disk);
        device = disk->private_data;
-       if (!device)
-               BUG();
+       BUG_ON(!device);
        minor  = iminor(inode);
 
        DBF_LH(6, "tapeblock_ioctl(0x%0x)\n", command);
index 6c2c395554ff3d37b7f7673a01327d59c976a55a..5517da5855f0037d174d8696dbb0053a7b91cce9 100644 (file)
@@ -86,7 +86,7 @@ config AIC7XXX_DEBUG_MASK
         default "0"
         help
        Bit mask of debug options that is only valid if the
-       CONFIG_AIC7XXX_DEBUG_ENBLE option is enabled.  The bits in this mask
+       CONFIG_AIC7XXX_DEBUG_ENABLE option is enabled.  The bits in this mask
        are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the
        variable ahc_debug in that file to find them.
 
index dfc1e86d3aa119b5977a3d6efc9abbcdeafe67e4..043f50b1d10c73934edc9b749bb834c199087839 100644 (file)
@@ -20,7 +20,7 @@
  *
  * Contact Information:
  * Scott H Kilau <Scott_Kilau@digi.com>
- * Wendy Xiong   <wendyx@us.ltcfwd.linux.ibm.com>
+ * Wendy Xiong   <wendyx@us.ibm.com>
  *
  ***********************************************************************/
 
index b1b66e71d281125f990a9dc742ef56dc48786c3e..b3e1f71be4da0632b36d5524557afb579e076035 100644 (file)
@@ -20,7 +20,7 @@
  *
  * Contact Information:
  * Scott H Kilau <Scott_Kilau@digi.com>
- * Wendy Xiong   <wendyx@us.ltcfwd.linux.ibm.com>
+ * Wendy Xiong   <wendyx@us.ibm.com>
  *
  *
  ***********************************************************************/
index 87e4e2cf8ce756e96882d66233360ec82a30df46..a5fc589d6ef5d8f3cf015fb692e8d539bfe5bafb 100644 (file)
@@ -20,7 +20,7 @@
  *
  * Contact Information:
  * Scott H Kilau <Scott_Kilau@digi.com>
- * Wendy Xiong   <wendyx@us.ltcfwd.linux.ibm.com>
+ * Wendy Xiong   <wendyx@us.ibm.com>
  *
  ***********************************************************************/
 #include <linux/delay.h>       /* For udelay */
index 910a8ed74b5d24f9168533c1f163916792df6eb4..b05d1b218776946f4448ba2d0fd51cee477730cf 100644 (file)
@@ -929,8 +929,7 @@ do_holes:
                        block_in_page += this_chunk_blocks;
                        dio->blocks_available -= this_chunk_blocks;
 next_block:
-                       if (dio->block_in_file > dio->final_block_in_request)
-                               BUG();
+                       BUG_ON(dio->block_in_file > dio->final_block_in_request);
                        if (dio->block_in_file == dio->final_block_in_request)
                                break;
                }
index 950ebd43cdc35dd2503214db36289dddb5f26250..0291a68a36261ada2dca60e411af634b1373bc1c 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -561,7 +561,7 @@ static int exec_mmap(struct mm_struct *mm)
        arch_pick_mmap_layout(mm);
        if (old_mm) {
                up_read(&old_mm->mmap_sem);
-               if (active_mm != old_mm) BUG();
+               BUG_ON(active_mm != old_mm);
                mmput(old_mm);
                return 0;
        }
index 8f07e8fbd03d34cdf4b294d1395234f9ff328546..746abc9ecf70f344418c37c8f47062aeb9c5e3ef 100644 (file)
@@ -466,8 +466,7 @@ void hfs_bnode_unhash(struct hfs_bnode *node)
        for (p = &node->tree->node_hash[hfs_bnode_hash(node->this)];
             *p && *p != node; p = &(*p)->next_hash)
                ;
-       if (!*p)
-               BUG();
+       BUG_ON(!*p);
        *p = node->next_hash;
        node->tree->node_hash_cnt--;
 }
@@ -622,8 +621,7 @@ void hfs_bnode_put(struct hfs_bnode *node)
 
                dprint(DBG_BNODE_REFS, "put_node(%d:%d): %d\n",
                       node->tree->cnid, node->this, atomic_read(&node->refcnt));
-               if (!atomic_read(&node->refcnt))
-                       BUG();
+               BUG_ON(!atomic_read(&node->refcnt));
                if (!atomic_dec_and_lock(&node->refcnt, &tree->hash_lock))
                        return;
                for (i = 0; i < tree->pages_per_bnode; i++) {
index a67edfa34e9ec6ac847d9e2fe2f6bb08725e038d..effa8991999c9d0d140939f1a81fe8ca638eb8f6 100644 (file)
@@ -269,8 +269,7 @@ void hfs_bmap_free(struct hfs_bnode *node)
        u8 *data, byte, m;
 
        dprint(DBG_BNODE_MOD, "btree_free_node: %u\n", node->this);
-       if (!node->this)
-               BUG();
+       BUG_ON(!node->this);
        tree = node->tree;
        nidx = node->this;
        node = hfs_bnode_find(tree, 0);
index 7b77a9541125b7b62aa01d0cf3961f45cb1ca47c..ff2a872e80e78677de43baaf8acc758299106ec0 100644 (file)
@@ -35,8 +35,7 @@ int jffs2_start_garbage_collect_thread(struct jffs2_sb_info *c)
        pid_t pid;
        int ret = 0;
 
-       if (c->gc_task)
-               BUG();
+       BUG_ON(c->gc_task);
 
        init_completion(&c->gc_thread_start);
        init_completion(&c->gc_thread_exit);
index c56bd99a97018ca42b669a9ab5709ff5093ddbde..ed9a24d19d7d312ed5336c7d0873a059e3c804fb 100644 (file)
@@ -178,11 +178,9 @@ smb_writepage(struct page *page, struct writeback_control *wbc)
        unsigned offset = PAGE_CACHE_SIZE;
        int err;
 
-       if (!mapping)
-               BUG();
+       BUG_ON(!mapping);
        inode = mapping->host;
-       if (!inode)
-               BUG();
+       BUG_ON(!inode);
 
        end_index = inode->i_size >> PAGE_CACHE_SHIFT;
 
index 4c29ac41ac3ec050f9f680118df5ab5aadf5a12a..f0b347bd12ca52d6636b2cadae31a7f45f2067a7 100644 (file)
@@ -175,8 +175,7 @@ const unsigned char * sysfs_get_name(struct sysfs_dirent *sd)
        struct bin_attribute * bin_attr;
        struct sysfs_symlink  * sl;
 
-       if (!sd || !sd->s_element)
-               BUG();
+       BUG_ON(!sd || !sd->s_element);
 
        switch (sd->s_type) {
                case SYSFS_DIR:
index 4ed7e602d70334cf1a2a8a8ec005fa48f800afb2..1e9ebaba07b7a2d1c8436ef95cdb5b5799dc1fce 100644 (file)
@@ -864,7 +864,7 @@ struct super_block {
         */
        struct mutex s_vfs_rename_mutex;        /* Kludge */
 
-       /* Granuality of c/m/atime in ns.
+       /* Granularity of c/m/atime in ns.
           Cannot be worse than a second */
        u32                s_time_gran;
 };
index 23151ef3259030d00b6fee264edf2f42e80e0560..5e785a29e1e63349ff35f8a1b3282f468fd24277 100644 (file)
@@ -266,8 +266,7 @@ struct kern_ipc_perm* ipc_rmid(struct ipc_ids* ids, int id)
 {
        struct kern_ipc_perm* p;
        int lid = id % SEQ_MULTIPLIER;
-       if(lid >= ids->entries->size)
-               BUG();
+       BUG_ON(lid >= ids->entries->size);
 
        /* 
         * do not need a rcu_dereference()() here to force ordering
@@ -275,8 +274,7 @@ struct kern_ipc_perm* ipc_rmid(struct ipc_ids* ids, int id)
         */     
        p = ids->entries->p[lid];
        ids->entries->p[lid] = NULL;
-       if(p==NULL)
-               BUG();
+       BUG_ON(p==NULL);
        ids->in_use--;
 
        if (lid == ids->max_id) {
index 9fd8d4f03595130e524ca4d4d62136290484a422..ce0dfb8f4a4ecb0dc7d688924272eb255e392456 100644 (file)
@@ -41,7 +41,7 @@ config SOFTWARE_SUSPEND
        depends on PM && SWAP && (X86 && (!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP)
        ---help---
          Enable the possibility of suspending the machine.
-         It doesn't need APM.
+         It doesn't need ACPI or APM.
          You may suspend your machine by 'swsusp' or 'shutdown -z <time>' 
          (patch for sysvinit needed). 
 
index 8cc19431e74ba1d5c52095e7c0f97c56f6018734..c056f3324432c31152063de1ca820fbcd2f3d92a 100644 (file)
@@ -360,8 +360,7 @@ static void call_console_drivers(unsigned long start, unsigned long end)
        unsigned long cur_index, start_print;
        static int msg_level = -1;
 
-       if (((long)(start - end)) > 0)
-               BUG();
+       BUG_ON(((long)(start - end)) > 0);
 
        cur_index = start;
        start_print = start;
@@ -708,8 +707,7 @@ int __init add_preferred_console(char *name, int idx, char *options)
  */
 void acquire_console_sem(void)
 {
-       if (in_interrupt())
-               BUG();
+       BUG_ON(in_interrupt());
        down(&console_sem);
        console_locked = 1;
        console_may_schedule = 1;
index ff8e7019c4c498ffbc191fa16cab56f648af74b3..b00ddc71cedb860f5793978a13868e4de5862f0f 100644 (file)
@@ -410,7 +410,7 @@ EXPORT_SYMBOL(current_kernel_time);
  * current_fs_time - Return FS time
  * @sb: Superblock.
  *
- * Return the current time truncated to the time granuality supported by
+ * Return the current time truncated to the time granularity supported by
  * the fs.
  */
 struct timespec current_fs_time(struct super_block *sb)
@@ -421,11 +421,11 @@ struct timespec current_fs_time(struct super_block *sb)
 EXPORT_SYMBOL(current_fs_time);
 
 /**
- * timespec_trunc - Truncate timespec to a granuality
+ * timespec_trunc - Truncate timespec to a granularity
  * @t: Timespec
- * @gran: Granuality in ns.
+ * @gran: Granularity in ns.
  *
- * Truncate a timespec to a granuality. gran must be smaller than a second.
+ * Truncate a timespec to a granularity. gran must be smaller than a second.
  * Always rounds down.
  *
  * This function should be only used for timestamps returned by
index 4f5b5709136abbe6c08b306ac35ac92740cb04d8..e780d19aa21447df1b48d92273276700cf2b56f4 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -294,8 +294,7 @@ void validate_mm(struct mm_struct *mm)
        i = browse_rb(&mm->mm_rb);
        if (i != mm->map_count)
                printk("map_count %d rb %d\n", mm->map_count, i), bug = 1;
-       if (bug)
-               BUG();
+       BUG_ON(bug);
 }
 #else
 #define validate_mm(mm) do { } while (0)
@@ -432,8 +431,7 @@ __insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
        struct rb_node ** rb_link, * rb_parent;
 
        __vma = find_vma_prepare(mm, vma->vm_start,&prev, &rb_link, &rb_parent);
-       if (__vma && __vma->vm_start < vma->vm_end)
-               BUG();
+       BUG_ON(__vma && __vma->vm_start < vma->vm_end);
        __vma_link(mm, vma, prev, rb_link, rb_parent);
        mm->map_count++;
 }
@@ -813,8 +811,7 @@ try_prev:
         * (e.g. stash info in next's anon_vma_node when assigning
         * an anon_vma, or when trying vma_merge).  Another time.
         */
-       if (find_vma_prev(vma->vm_mm, vma->vm_start, &near) != vma)
-               BUG();
+       BUG_ON(find_vma_prev(vma->vm_mm, vma->vm_start, &near) != vma);
        if (!near)
                goto none;
 
index d7af296833fcbc1b3dccfbde33db51fb2fd3934a..e0e1583f32c26cc2579554a4abcc797a9a671553 100644 (file)
@@ -148,8 +148,7 @@ int add_to_swap(struct page * page, gfp_t gfp_mask)
        swp_entry_t entry;
        int err;
 
-       if (!PageLocked(page))
-               BUG();
+       BUG_ON(!PageLocked(page));
 
        for (;;) {
                entry = get_swap_page();
index 729eb3eec75fd7043b8b8a74e6b748b9390b0f6d..c0504f1e34ebdbd2003ba8aaa63287f366b100cb 100644 (file)
@@ -321,8 +321,7 @@ void __vunmap(void *addr, int deallocate_pages)
                int i;
 
                for (i = 0; i < area->nr_pages; i++) {
-                       if (unlikely(!area->pages[i]))
-                               BUG();
+                       BUG_ON(!area->pages[i]);
                        __free_page(area->pages[i]);
                }