Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 Jul 2012 20:34:56 +0000 (13:34 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 24 Jul 2012 20:34:56 +0000 (13:34 -0700)
Pull trivial tree from Jiri Kosina:
 "Trivial updates all over the place as usual."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)
  Fix typo in include/linux/clk.h .
  pci: hotplug: Fix typo in pci
  iommu: Fix typo in iommu
  video: Fix typo in drivers/video
  Documentation: Add newline at end-of-file to files lacking one
  arm,unicore32: Remove obsolete "select MISC_DEVICES"
  module.c: spelling s/postition/position/g
  cpufreq: Fix typo in cpufreq driver
  trivial: typo in comment in mksysmap
  mach-omap2: Fix typo in debug message and comment
  scsi: aha152x: Fix sparse warning and make printing pointer address more portable.
  Change email address for Steve Glendinning
  Btrfs: fix typo in convert_extent_bit
  via: Remove bogus if check
  netprio_cgroup.c: fix comment typo
  backlight: fix memory leak on obscure error path
  Documentation: asus-laptop.txt references an obsolete Kconfig item
  Documentation: ManagementStyle: fixed typo
  mm/vmscan: cleanup comment error in balance_pgdat
  mm: cleanup on the comments of zone_reclaim_stat
  ...

79 files changed:
Documentation/ABI/stable/vdso
Documentation/ABI/testing/sysfs-block-zram
Documentation/ABI/testing/sysfs-bus-usb-devices-usbsevseg
Documentation/ABI/testing/sysfs-class-backlight-driver-adp8870
Documentation/ManagementStyle
Documentation/arm/Samsung-S3C24XX/H1940.txt
Documentation/arm/Samsung-S3C24XX/SMDK2440.txt
Documentation/devices.txt
Documentation/laptops/asus-laptop.txt
Documentation/sound/alsa/hdspm.txt
Documentation/video4linux/cpia2_overview.txt
Documentation/video4linux/stv680.txt
MAINTAINERS
arch/arm/mach-davinci/Kconfig
arch/arm/mach-omap2/board-apollon.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/omap-mpuss-lowpower.c
arch/arm/mach-omap2/sr_device.c
arch/arm/mach-omap2/twl-common.c
arch/arm/plat-samsung/include/plat/gpio-cfg.h
arch/ia64/kernel/ia64_ksyms.c
arch/ia64/kvm/vmm.c
arch/m68k/kernel/module.c
arch/parisc/include/asm/compat_rt_sigframe.h
arch/sh/boards/board-polaris.c
arch/unicore32/Kconfig
arch/x86/kernel/module.c
drivers/cpufreq/s3c2416-cpufreq.c
drivers/cpufreq/speedstep-ich.c
drivers/hwmon/emc2103.c
drivers/input/keyboard/lm8333.c
drivers/input/misc/cma3000_d0x.c
drivers/iommu/amd_iommu_v2.c
drivers/iommu/exynos-iommu.c
drivers/iommu/iova.c
drivers/media/video/zoran/zr36016.c
drivers/net/phy/smsc.c
drivers/net/usb/smsc75xx.c
drivers/net/usb/smsc95xx.c
drivers/net/wireless/iwlwifi/iwl-io.c
drivers/parisc/iosapic.c
drivers/pci/hotplug/ibmphp_core.c
drivers/pci/hotplug/ibmphp_ebda.c
drivers/pci/hotplug/ibmphp_pci.c
drivers/pci/setup-bus.c
drivers/power/Kconfig
drivers/scsi/aha152x.c
drivers/scsi/aha1542.c
drivers/staging/comedi/drivers/s626.h
drivers/usb/renesas_usbhs/common.c
drivers/usb/renesas_usbhs/common.h
drivers/usb/renesas_usbhs/fifo.c
drivers/usb/renesas_usbhs/mod.c
drivers/usb/renesas_usbhs/mod.h
drivers/usb/renesas_usbhs/pipe.c
drivers/usb/renesas_usbhs/pipe.h
drivers/video/arcfb.c
drivers/video/atmel_lcdfb.c
drivers/video/aty/atyfb_base.c
drivers/video/aty/radeon_base.c
drivers/video/backlight/88pm860x_bl.c
drivers/video/bfin_adv7393fb.c
drivers/video/cirrusfb.c
drivers/video/exynos/exynos_dp_reg.c
drivers/video/exynos/exynos_mipi_dsi.c
drivers/video/i740fb.c
drivers/video/s3c-fb.c
drivers/video/savage/savagefb_driver.c
drivers/video/sis/init.c
drivers/video/smscufx.c
drivers/video/sunxvr500.c
fs/btrfs/extent_io.c
include/linux/clk.h
include/linux/mmzone.h
lib/div64.c
mm/vmscan.c
net/core/netprio_cgroup.c
scripts/mksysmap
sound/oss/vwsnd.c

index 8a1cbb5..7cdfc28 100644 (file)
@@ -24,4 +24,4 @@ though.
 
 (As of this writing, this ABI documentation as been confirmed for x86_64.
  The maintainers of the other vDSO-using architectures should confirm
- that it is correct for their architecture.)
\ No newline at end of file
+ that it is correct for their architecture.)
index c8b3b48..ec93fe3 100644 (file)
@@ -96,4 +96,4 @@ Description:
                overhead, allocated for this disk. So, allocator space
                efficiency can be calculated using compr_data_size and this
                statistic.
-               Unit: bytes
\ No newline at end of file
+               Unit: bytes
index cb830df..70d00df 100644 (file)
@@ -40,4 +40,4 @@ Description:  Controls the decimal places on the device.
                the value of 10 ** n. Assume this field has
                the value k and has 1 or more decimal places set,
                to set the mth place (where m is not already set),
-               change this fields value to k + 10 ** m.
\ No newline at end of file
+               change this fields value to k + 10 ** m.
index 4a9c545..33e6488 100644 (file)
@@ -53,4 +53,4 @@ Description:
                Documentation/ABI/stable/sysfs-class-backlight.
                It can be enabled by writing the value stored in
                /sys/class/backlight/<backlight>/max_brightness to
-               /sys/class/backlight/<backlight>/brightness.
\ No newline at end of file
+               /sys/class/backlight/<backlight>/brightness.
index a5f0ea5..a211ee8 100644 (file)
@@ -178,7 +178,7 @@ sadly that you are one too, and that while we can all bask in the secure
 knowledge that we're better than the average person (let's face it,
 nobody ever believes that they're average or below-average), we should
 also admit that we're not the sharpest knife around, and there will be
-other people that are less of an idiot that you are. 
+other people that are less of an idiot than you are. 
 
 Some people react badly to smart people.  Others take advantage of them. 
 
index f4a7b22..b738859 100644 (file)
@@ -37,4 +37,4 @@ Maintainers
   Thanks to the many others who have also provided support.
 
 
-(c) 2005 Ben Dooks
\ No newline at end of file
+(c) 2005 Ben Dooks
index 32e1eae..429390b 100644 (file)
@@ -53,4 +53,4 @@ Maintainers
   and to Simtec Electronics for allowing me time to work on this.
 
 
-(c) 2004 Ben Dooks
\ No newline at end of file
+(c) 2004 Ben Dooks
index 47a154f..b6251cc 100644 (file)
@@ -2416,6 +2416,8 @@ Your cooperation is appreciated.
                  1 = /dev/raw/raw1     First raw I/O device
                  2 = /dev/raw/raw2     Second raw I/O device
                    ...
+                 max minor number of raw device is set by kernel config
+                 MAX_RAW_DEVS or raw module parameter 'max_raw_devs'
 
 163 char
 
index a1e04d6..69f9fb3 100644 (file)
@@ -151,8 +151,7 @@ Display switching
 
   Debugging:
   1) Check whether the Fn+F8 key:
-     a) does not lock the laptop (try disabling CONFIG_X86_UP_APIC or boot with
-        noapic / nolapic if it does)
+     a) does not lock the laptop (try a boot with noapic / nolapic if it does)
      b) generates events (0x6n, where n is the value corresponding to the
         configuration above)
      c) actually works
index 7a67ff7..7ba3194 100644 (file)
@@ -359,4 +359,4 @@ Calling Parameter:
    enable_monitor int array (min = 1, max = 8), 
      "Enable Analog Out on Channel 63/64 by default."
 
-      note: here the analog output is enabled (but not routed).
\ No newline at end of file
+      note: here the analog output is enabled (but not routed).
index a6e5366..ad6adbe 100644 (file)
@@ -35,4 +35,4 @@ the camera.  There are three modes for this.  Block mode requests a number
 of contiguous registers.  Random mode reads or writes random registers with
 a tuple structure containing address/value pairs.  The repeat mode is only
 used by VP4 to load a firmware patch.  It contains a starting address and
-a sequence of bytes to be written into a gpio port.
\ No newline at end of file
+a sequence of bytes to be written into a gpio port.
index 4f8946f..e3de336 100644 (file)
@@ -50,4 +50,4 @@ The latest info on this driver can be found at:
 http://personal.clt.bellsouth.net/~kjsisson or at
 http://stv0680-usb.sourceforge.net
 
-Any questions to me can be send to:  kjsisson@bellsouth.net
\ No newline at end of file
+Any questions to me can be send to:  kjsisson@bellsouth.net
index 04ea1f2..0ed7048 100644 (file)
@@ -6242,9 +6242,9 @@ F:        Documentation/hwmon/smm665
 F:     drivers/hwmon/smm665.c
 
 SMSC EMC2103 HARDWARE MONITOR DRIVER
-M:     Steve Glendinning <steve.glendinning@smsc.com>
+M:     Steve Glendinning <steve.glendinning@shawell.net>
 L:     lm-sensors@lm-sensors.org
-S:     Supported
+S:     Maintained
 F:     Documentation/hwmon/emc2103
 F:     drivers/hwmon/emc2103.c
 
@@ -6263,22 +6263,22 @@ F:      Documentation/hwmon/smsc47b397
 F:     drivers/hwmon/smsc47b397.c
 
 SMSC911x ETHERNET DRIVER
-M:     Steve Glendinning <steve.glendinning@smsc.com>
+M:     Steve Glendinning <steve.glendinning@shawell.net>
 L:     netdev@vger.kernel.org
-S:     Supported
+S:     Maintained
 F:     include/linux/smsc911x.h
 F:     drivers/net/ethernet/smsc/smsc911x.*
 
 SMSC9420 PCI ETHERNET DRIVER
-M:     Steve Glendinning <steve.glendinning@smsc.com>
+M:     Steve Glendinning <steve.glendinning@shawell.net>
 L:     netdev@vger.kernel.org
-S:     Supported
+S:     Maintained
 F:     drivers/net/ethernet/smsc/smsc9420.*
 
 SMSC UFX6000 and UFX7000 USB to VGA DRIVER
-M:     Steve Glendinning <steve.glendinning@smsc.com>
+M:     Steve Glendinning <steve.glendinning@shawell.net>
 L:     linux-fbdev@vger.kernel.org
-S:     Supported
+S:     Maintained
 F:     drivers/video/smscufx.c
 
 SN-IA64 (Itanium) SUB-PLATFORM
@@ -7232,9 +7232,9 @@ S:        Supported
 F:     drivers/usb/serial/whiteheat*
 
 USB SMSC95XX ETHERNET DRIVER
-M:     Steve Glendinning <steve.glendinning@smsc.com>
+M:     Steve Glendinning <steve.glendinning@shawell.net>
 L:     netdev@vger.kernel.org
-S:     Supported
+S:     Maintained
 F:     drivers/net/usb/smsc95xx.*
 
 USB SN9C1xx DRIVER
index 2ce1ef0..ab99c3c 100644 (file)
@@ -62,7 +62,6 @@ config MACH_DAVINCI_EVM
        bool "TI DM644x EVM"
        default ARCH_DAVINCI_DM644x
        depends on ARCH_DAVINCI_DM644x
-       select MISC_DEVICES
        select EEPROM_AT24
        select I2C
        help
@@ -72,7 +71,6 @@ config MACH_DAVINCI_EVM
 config MACH_SFFSDR
        bool "Lyrtech SFFSDR"
        depends on ARCH_DAVINCI_DM644x
-       select MISC_DEVICES
        select EEPROM_AT24
        select I2C
        help
@@ -106,7 +104,6 @@ config MACH_DAVINCI_DM6467_EVM
        default ARCH_DAVINCI_DM646x
        depends on ARCH_DAVINCI_DM646x
        select MACH_DAVINCI_DM6467TEVM
-       select MISC_DEVICES
        select EEPROM_AT24
        select I2C
        help
@@ -120,7 +117,6 @@ config MACH_DAVINCI_DM365_EVM
        bool "TI DM365 EVM"
        default ARCH_DAVINCI_DM365
        depends on ARCH_DAVINCI_DM365
-       select MISC_DEVICES
        select EEPROM_AT24
        select I2C
        help
@@ -132,7 +128,6 @@ config MACH_DAVINCI_DA830_EVM
        default ARCH_DAVINCI_DA830
        depends on ARCH_DAVINCI_DA830
        select GPIO_PCF857X
-       select MISC_DEVICES
        select EEPROM_AT24
        select I2C
        help
@@ -219,7 +214,6 @@ config MACH_TNETV107X
 config MACH_MITYOMAPL138
        bool "Critical Link MityDSP-L138/MityARM-1808 SoM"
        depends on ARCH_DAVINCI_DA850
-       select MISC_DEVICES
        select EEPROM_AT24
        select I2C
        help
index 519bcd3..e5fa46b 100644 (file)
@@ -311,7 +311,7 @@ static void __init omap_apollon_init(void)
        /* LCD PWR_EN */
        omap_mux_init_signal("mcbsp2_dr.gpio_11", OMAP_PULL_ENA | OMAP_PULL_UP);
 
-       /* Use Interal loop-back in MMC/SDIO Module Input Clock selection */
+       /* Use Internal loop-back in MMC/SDIO Module Input Clock selection */
        v = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0);
        v |= (1 << 24);
        omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0);
index b627cdc..70f6d1d 100644 (file)
@@ -106,7 +106,7 @@ static struct platform_device leds_gpio = {
 static struct omap_abe_twl6040_data panda_abe_audio_data = {
        /* Audio out */
        .has_hs         = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT,
-       /* HandsFree through expasion connector */
+       /* HandsFree through expansion connector */
        .has_hf         = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT,
        /* PandaBoard: FM TX, PandaBoardES: can be connected to audio out */
        .has_aux        = ABE_TWL6040_LEFT | ABE_TWL6040_RIGHT,
index e35a86b..637a1bd 100644 (file)
@@ -313,7 +313,7 @@ int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
        scu_pwrst_prepare(cpu, power_state);
 
        /*
-        * CPU never retuns back if targetted power state is OFF mode.
+        * CPU never retuns back if targeted power state is OFF mode.
         * CPU ONLINE follows normal CPU ONLINE ptah via
         * omap_secondary_startup().
         */
index e107e39..d033a65 100644 (file)
@@ -131,7 +131,7 @@ static int __init sr_dev_init(struct omap_hwmod *oh, void *user)
 
        omap_voltage_get_volttable(sr_data->voltdm, &volt_data);
        if (!volt_data) {
-               pr_warning("%s: No Voltage table registerd fo VDD%d."
+               pr_warning("%s: No Voltage table registered fo VDD%d."
                        "Something really wrong\n\n", __func__, i + 1);
                goto exit;
        }
index 3882f3c..de47f17 100644 (file)
@@ -96,7 +96,7 @@ void __init omap4_pmic_init(const char *pmic_type,
 
 void __init omap_pmic_late_init(void)
 {
-       /* Init the OMAP TWL parameters (if PMIC has been registerd) */
+       /* Init the OMAP TWL parameters (if PMIC has been registered) */
        if (pmic_i2c_board_info.irq)
                omap3_twl_init();
        if (omap4_i2c1_board_info[0].irq)
index df8155b..08740ee 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef __PLAT_GPIO_CFG_H
 #define __PLAT_GPIO_CFG_H __FILE__
 
-#include<linux/types.h>
+#include <linux/types.h>
 
 typedef unsigned int __bitwise__ samsung_gpio_pull_t;
 typedef unsigned int __bitwise__ s5p_gpio_drvstr_t;
index 7f4a0ed..5b7791d 100644 (file)
@@ -12,7 +12,7 @@ EXPORT_SYMBOL(memset);
 EXPORT_SYMBOL(memcpy);
 EXPORT_SYMBOL(strlen);
 
-#include<asm/pgtable.h>
+#include <asm/pgtable.h>
 EXPORT_SYMBOL_GPL(empty_zero_page);
 
 #include <asm/checksum.h>
index f0b9cac..176a12c 100644 (file)
@@ -20,9 +20,9 @@
  */
 
 
-#include<linux/kernel.h>
-#include<linux/module.h>
-#include<asm/fpswa.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <asm/fpswa.h>
 
 #include "vcpu.h"
 
index 34849c4..eb46fd6 100644 (file)
@@ -47,7 +47,7 @@ int apply_relocate(Elf32_Shdr *sechdrs,
                        *location += sym->st_value;
                        break;
                case R_68K_PC32:
-                       /* Add the value, subtract its postition */
+                       /* Add the value, subtract its position */
                        *location += sym->st_value - (uint32_t)location;
                        break;
                default:
@@ -87,7 +87,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
                        *location = rel[i].r_addend + sym->st_value;
                        break;
                case R_68K_PC32:
-                       /* Add the value, subtract its postition */
+                       /* Add the value, subtract its position */
                        *location = rel[i].r_addend + sym->st_value - (uint32_t)location;
                        break;
                default:
index 81bec28..b3f95a7 100644 (file)
@@ -1,6 +1,6 @@
-#include<linux/compat.h>
-#include<linux/compat_siginfo.h>
-#include<asm/compat_ucontext.h>
+#include <linux/compat.h>
+#include <linux/compat_siginfo.h>
+#include <asm/compat_ucontext.h>
 
 #ifndef _ASM_PARISC_COMPAT_RT_SIGFRAME_H
 #define _ASM_PARISC_COMPAT_RT_SIGFRAME_H
index 37d03c0..0978ae2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * June 2006 steve.glendinning@smsc.com
+ * June 2006 Steve Glendinning <steve.glendinning@shawell.net>
  *
  * Polaris-specific resource declaration
  *
index 03c9ff8..b0a4743 100644 (file)
@@ -238,7 +238,6 @@ config I2C_BATTERY_BQ27200
 config I2C_EEPROM_AT24
        tristate "I2C EEPROMs AT24 support"
        select I2C_PUV3
-       select MISC_DEVICES
        select EEPROM_AT24
 
 config LCD_BACKLIGHT
index 202494d..216a4d7 100644 (file)
@@ -81,7 +81,7 @@ int apply_relocate(Elf32_Shdr *sechdrs,
                        *location += sym->st_value;
                        break;
                case R_386_PC32:
-                       /* Add the value, subtract its postition */
+                       /* Add the value, subtract its position */
                        *location += sym->st_value - (uint32_t)location;
                        break;
                default:
index 50d2f15..bcc053b 100644 (file)
@@ -153,7 +153,7 @@ static int s3c2416_cpufreq_enter_dvs(struct s3c2416_data *s3c_freq, int idx)
        if (s3c_freq->vddarm) {
                dvfs = &s3c2416_dvfs_table[idx];
 
-               pr_debug("cpufreq: setting regultor to %d-%d\n",
+               pr_debug("cpufreq: setting regulator to %d-%d\n",
                         dvfs->vddarm_min, dvfs->vddarm_max);
                ret = regulator_set_voltage(s3c_freq->vddarm,
                                            dvfs->vddarm_min,
@@ -186,7 +186,7 @@ static int s3c2416_cpufreq_leave_dvs(struct s3c2416_data *s3c_freq, int idx)
        if (s3c_freq->vddarm) {
                dvfs = &s3c2416_dvfs_table[idx];
 
-               pr_debug("cpufreq: setting regultor to %d-%d\n",
+               pr_debug("cpufreq: setting regulator to %d-%d\n",
                         dvfs->vddarm_min, dvfs->vddarm_max);
                ret = regulator_set_voltage(s3c_freq->vddarm,
                                            dvfs->vddarm_min,
index 7432b3a..e29b59a 100644 (file)
@@ -203,7 +203,7 @@ static unsigned int speedstep_detect_chipset(void)
        if (speedstep_chipset_dev) {
                /* speedstep.c causes lockups on Dell Inspirons 8000 and
                 * 8100 which use a pretty old revision of the 82815
-                * host brige. Abort on these systems.
+                * host bridge. Abort on these systems.
                 */
                static struct pci_dev *hostbridge;
 
index e7d234b..7bb8e88 100644 (file)
@@ -732,6 +732,6 @@ static struct i2c_driver emc2103_driver = {
 
 module_i2c_driver(emc2103_driver);
 
-MODULE_AUTHOR("Steve Glendinning <steve.glendinning@smsc.com>");
+MODULE_AUTHOR("Steve Glendinning <steve.glendinning@shawell.net>");
 MODULE_DESCRIPTION("SMSC EMC2103 hwmon driver");
 MODULE_LICENSE("GPL");
index ca168a6..081fd9e 100644 (file)
@@ -91,7 +91,7 @@ static void lm8333_key_handler(struct lm8333 *lm8333)
                return;
        }
 
-       for (i = 0; keys[i] && i < LM8333_FIFO_TRANSFER_SIZE; i++) {
+       for (i = 0; i < LM8333_FIFO_TRANSFER_SIZE && keys[i]; i++) {
                pressed = keys[i] & 0x80;
                code = keys[i] & 0x7f;
 
index a3735a0..df9b756 100644 (file)
@@ -58,7 +58,7 @@
 
 /*
  * Bit weights in mg for bit 0, other bits need
- * multipy factor 2^n. Eight bit is the sign bit.
+ * multiply factor 2^n. Eight bit is the sign bit.
  */
 #define BIT_TO_2G  18
 #define BIT_TO_8G  71
index 036fe9b..be03238 100644 (file)
@@ -924,7 +924,7 @@ static int __init amd_iommu_v2_init(void)
        pr_info("AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>\n");
 
        if (!amd_iommu_v2_supported()) {
-               pr_info("AMD IOMMUv2 functionality not available on this sytem\n");
+               pr_info("AMD IOMMUv2 functionality not available on this system\n");
                /*
                 * Load anyway to provide the symbols to other modules
                 * which may use AMD IOMMUv2 optionally.
index 9a114b9..4407d5e 100644 (file)
@@ -317,7 +317,7 @@ static int default_fault_handler(enum exynos_sysmmu_inttype itype,
        if ((itype >= SYSMMU_FAULTS_NUM) || (itype < SYSMMU_PAGEFAULT))
                itype = SYSMMU_FAULT_UNKNOWN;
 
-       pr_err("%s occured at 0x%lx(Page table base: 0x%lx)\n",
+       pr_err("%s occurred at 0x%lx(Page table base: 0x%lx)\n",
                        sysmmu_fault_name[itype], fault_addr, pgtable_base);
 
        ent = section_entry(__va(pgtable_base), fault_addr);
index c5c274a..67da6cf 100644 (file)
@@ -198,10 +198,10 @@ iova_insert_rbtree(struct rb_root *root, struct iova *iova)
 
 /**
  * alloc_iova - allocates an iova
- * @iovad - iova domain in question
- * @size - size of page frames to allocate
- * @limit_pfn - max limit address
- * @size_aligned - set if size_aligned address range is required
+ * @iovad: - iova domain in question
+ * @size: - size of page frames to allocate
+ * @limit_pfn: - max limit address
+ * @size_aligned: - set if size_aligned address range is required
  * This function allocates an iova in the range limit_pfn to IOVA_START_PFN
  * looking from limit_pfn instead from IOVA_START_PFN. If the size_aligned
  * flag is set then the allocated address iova->pfn_lo will be naturally
@@ -238,8 +238,8 @@ alloc_iova(struct iova_domain *iovad, unsigned long size,
 
 /**
  * find_iova - find's an iova for a given pfn
- * @iovad - iova domain in question.
- * pfn - page frame number
+ * @iovad: - iova domain in question.
+ * @pfn: - page frame number
  * This function finds and returns an iova belonging to the
  * given doamin which matches the given pfn.
  */
@@ -260,7 +260,7 @@ struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn)
                        /* We are not holding the lock while this iova
                         * is referenced by the caller as the same thread
                         * which called this function also calls __free_iova()
-                        * and it is by desing that only one thread can possibly
+                        * and it is by design that only one thread can possibly
                         * reference a particular iova and hence no conflict.
                         */
                        return iova;
index 21c088e..b87ddba 100644 (file)
 /* v4l  API */
 
 /* headerfile of this module */
-#include"zr36016.h"
+#include "zr36016.h"
 
 /* codec io API */
-#include"videocodec.h"
+#include "videocodec.h"
 
 /* it doesn't make sense to have more than 20 or so,
   just to prevent some unwanted loops */
index c6b06d3..6d61923 100644 (file)
@@ -12,7 +12,7 @@
  * Free Software Foundation;  either version 2 of the  License, or (at your
  * option) any later version.
  *
- * Support added for SMSC LAN8187 and LAN8700 by steve.glendinning@smsc.com
+ * Support added for SMSC LAN8187 and LAN8700 by steve.glendinning@shawell.net
  *
  */
 
index 6c0c5b7..f5ab6e6 100644 (file)
@@ -1260,6 +1260,6 @@ static struct usb_driver smsc75xx_driver = {
 module_usb_driver(smsc75xx_driver);
 
 MODULE_AUTHOR("Nancy Lin");
-MODULE_AUTHOR("Steve Glendinning <steve.glendinning@smsc.com>");
+MODULE_AUTHOR("Steve Glendinning <steve.glendinning@shawell.net>");
 MODULE_DESCRIPTION("SMSC75XX USB 2.0 Gigabit Ethernet Devices");
 MODULE_LICENSE("GPL");
index 25cc3a1..d45e539 100644 (file)
@@ -1335,6 +1335,6 @@ static struct usb_driver smsc95xx_driver = {
 module_usb_driver(smsc95xx_driver);
 
 MODULE_AUTHOR("Nancy Lin");
-MODULE_AUTHOR("Steve Glendinning <steve.glendinning@smsc.com>");
+MODULE_AUTHOR("Steve Glendinning <steve.glendinning@shawell.net>");
 MODULE_DESCRIPTION("SMSC95XX USB 2.0 Ethernet Devices");
 MODULE_LICENSE("GPL");
index 66c8733..3dfebfb 100644 (file)
@@ -30,7 +30,7 @@
 #include <linux/export.h>
 
 #include "iwl-io.h"
-#include"iwl-csr.h"
+#include "iwl-csr.h"
 #include "iwl-debug.h"
 
 #define IWL_POLL_INTERVAL 10   /* microseconds */
index 1f9e9fe..69ff608 100644 (file)
 #endif
 
 #include <asm/ropes.h>
-#include "./iosapic_private.h"
+#include "iosapic_private.h"
 
 #define MODULE_NAME "iosapic"
 
index 4fda7e6..01cc054 100644 (file)
@@ -760,7 +760,7 @@ static u8 bus_structure_fixup(u8 busno)
        for (dev->devfn = 0; dev->devfn < 256; dev->devfn += 8) {
                if (!pci_read_config_word(dev, PCI_VENDOR_ID, &l) &&
                                        (l != 0x0000) && (l != 0xffff)) {
-                       debug("%s - Inside bus_struture_fixup()\n",
+                       debug("%s - Inside bus_structure_fixup()\n",
                                                        __func__);
                        pci_scan_bus(busno, ibmphp_pci_bus->ops, NULL);
                        break;
index 714ca5c..9df78bc 100644 (file)
@@ -784,7 +784,7 @@ static int __init ebda_rsrc_controller (void)
                hpc_ptr->ctlr_relative_id = ctlr;
                hpc_ptr->slot_count = slot_num;
                hpc_ptr->bus_count = bus_num;
-               debug ("now enter ctlr data struture ---\n");
+               debug ("now enter ctlr data structure ---\n");
                debug ("ctlr id: %x\n", ctlr_id);
                debug ("ctlr_relative_id: %x\n", hpc_ptr->ctlr_relative_id);
                debug ("count of slots controlled by this ctlr: %x\n", slot_num);
index 7b09e16..c60f5f3 100644 (file)
@@ -109,7 +109,7 @@ int ibmphp_configure_card (struct pci_func *func, u8 slotno)
 
                cur_func->function = function;
 
-               debug ("inside the loop, cur_func->busno = %x, cur_func->device = %x, cur_func->funcion = %x\n",
+               debug ("inside the loop, cur_func->busno = %x, cur_func->device = %x, cur_func->function = %x\n",
                        cur_func->busno, cur_func->device, cur_func->function);
 
                pci_bus_read_config_word (ibmphp_pci_bus, devfn, PCI_VENDOR_ID, &vendor_id);
index 8fa2d4b..a7ba6de 100644 (file)
@@ -308,7 +308,7 @@ static void __assign_resources_sorted(struct list_head *head,
         * Should not assign requested resources at first.
         *   they could be adjacent, so later reassign can not reallocate
         *   them one by one in parent resource window.
-        * Try to assign requested + add_size at begining
+        * Try to assign requested + add_size at beginning
         *  if could do that, could get out early.
         *  if could not do that, we still try to assign requested at first,
         *    then try to reassign add_size for some resources.
index 70b4a97..aa764ec 100644 (file)
@@ -301,7 +301,7 @@ config AB8500_BM
        bool "AB8500 Battery Management Driver"
        depends on AB8500_CORE && AB8500_GPADC
        help
-         Say Y to include support for AB5500 battery management.
+         Say Y to include support for AB8500 battery management.
 
 config AB8500_BATTERY_THERM_ON_BATCTRL
        bool "Thermistor connected on BATCTRL ADC"
index 19a3694..dd4547b 100644 (file)
@@ -2984,8 +2984,8 @@ static int get_command(char *pos, Scsi_Cmnd * ptr)
        char *start = pos;
        int i;
 
-       SPRINTF("0x%08x: target=%d; lun=%d; cmnd=( ",
-               (unsigned int) ptr, ptr->device->id, ptr->device->lun);
+       SPRINTF("%p: target=%d; lun=%d; cmnd=( ",
+               ptr, ptr->device->id, ptr->device->lun);
 
        for (i = 0; i < COMMAND_SIZE(ptr->cmnd[0]); i++)
                SPRINTF("0x%02x ", ptr->cmnd[i]);
index f79c8f9..770c48d 100644 (file)
@@ -49,7 +49,7 @@
 #define SCSI_BUF_PA(address)   isa_virt_to_bus(address)
 #define SCSI_SG_PA(sgent)      (isa_page_to_bus(sg_page((sgent))) + (sgent)->offset)
 
-#include<linux/stat.h>
+#include <linux/stat.h>
 
 #ifdef DEBUG
 #define DEB(x) x
index 2d1afec..92d3ea5 100644 (file)
@@ -80,7 +80,7 @@
 #define INLINE static __inline
 #endif
 
-#include<linux/slab.h>
+#include <linux/slab.h>
 
 #define S626_SIZE 0x0200
 #define SIZEOF_ADDRESS_SPACE           0x0200
index a165490..8c9bb1a 100644 (file)
@@ -19,7 +19,7 @@
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
 #include <linux/sysfs.h>
-#include "./common.h"
+#include "common.h"
 
 /*
  *             image of renesas_usbhs
index 3f3ccd3..dddf40a 100644 (file)
@@ -22,8 +22,8 @@
 
 struct usbhs_priv;
 
-#include "./mod.h"
-#include "./pipe.h"
+#include "mod.h"
+#include "pipe.h"
 
 /*
  *
index 6ec7f83..0831357 100644 (file)
@@ -17,8 +17,8 @@
 #include <linux/delay.h>
 #include <linux/io.h>
 #include <linux/scatterlist.h>
-#include "./common.h"
-#include "./pipe.h"
+#include "common.h"
+#include "pipe.h"
 
 #define usbhsf_get_cfifo(p)    (&((p)->fifo_info.cfifo))
 #define usbhsf_get_d0fifo(p)   (&((p)->fifo_info.d0fifo))
index 0871e81..82a628f 100644 (file)
@@ -16,8 +16,8 @@
  */
 #include <linux/interrupt.h>
 
-#include "./common.h"
-#include "./mod.h"
+#include "common.h"
+#include "mod.h"
 
 #define usbhs_priv_to_modinfo(priv) (&priv->mod_info)
 #define usbhs_mod_info_call(priv, func, param...)      \
index 6c68755..1ef5bf6 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <linux/spinlock.h>
 #include <linux/usb/renesas_usbhs.h>
-#include "./common.h"
+#include "common.h"
 
 /*
  *     struct
index feb06d6..122526c 100644 (file)
@@ -16,8 +16,8 @@
  */
 #include <linux/delay.h>
 #include <linux/slab.h>
-#include "./common.h"
-#include "./pipe.h"
+#include "common.h"
+#include "pipe.h"
 
 /*
  *             macros
index fa18b7d..08786c0 100644 (file)
@@ -17,8 +17,8 @@
 #ifndef RENESAS_USB_PIPE_H
 #define RENESAS_USB_PIPE_H
 
-#include "./common.h"
-#include "./fifo.h"
+#include "common.h"
+#include "fifo.h"
 
 /*
  *     struct
index c22e8d3..a1d58e9 100644 (file)
@@ -336,8 +336,8 @@ static void arcfb_lcd_update_horiz(struct arcfb_par *par, unsigned int left,
 }
 
 /*
- * here we start the process of spliting out the fb update into
- * individual blocks of pixels. we end up spliting into 64x64 blocks
+ * here we start the process of splitting out the fb update into
+ * individual blocks of pixels. we end up splitting into 64x64 blocks
  * and finally down to 64x8 pages.
  */
 static void arcfb_lcd_update(struct arcfb_par *par, unsigned int dx,
index d99505b..1505539 100644 (file)
@@ -939,7 +939,7 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev)
                 * up a splash image.
                 */
        } else {
-               /* alocate memory buffer */
+               /* allocate memory buffer */
                ret = atmel_lcdfb_alloc_video_memory(sinfo);
                if (ret < 0) {
                        dev_err(dev, "cannot allocate framebuffer: %d\n", ret);
index 622f12b..3f2e8c1 100644 (file)
@@ -863,7 +863,7 @@ static int aty_var_to_crtc(const struct fb_info *info,
 
        if ((xres > 1600) || (yres > 1200)) {
                FAIL("MACH64 chips are designed for max 1600x1200\n"
-                    "select anoter resolution.");
+                    "select another resolution.");
        }
        h_sync_strt = h_disp + var->right_margin;
        h_sync_end = h_sync_strt + var->hsync_len;
index ce1506b..9e279ee 100644 (file)
@@ -2018,7 +2018,7 @@ static void radeon_identify_vram(struct radeonfb_info *rinfo)
           if ((rinfo->family == CHIP_FAMILY_RS100) ||
               (rinfo->family == CHIP_FAMILY_RS200)) {
              /* This is to workaround the asic bug for RMX, some versions
-                of BIOS dosen't have this register initialized correctly.
+                of BIOS doesn't have this register initialized correctly.
              */
              OUTREGP(CRTC_MORE_CNTL, CRTC_H_CUTOFF_ACTIVE_EN,
                      ~CRTC_H_CUTOFF_ACTIVE_EN);
index f49181c..f75da87 100644 (file)
@@ -228,6 +228,7 @@ static int pm860x_backlight_probe(struct platform_device *pdev)
        data->port = pdata->flags;
        if (data->port < 0) {
                dev_err(&pdev->dev, "wrong platform data is assigned");
+               kfree(data);
                return -EINVAL;
        }
 
index 9bdd4b0..d0f121b 100644 (file)
@@ -58,7 +58,7 @@ static const unsigned short ppi_pins[] = {
  */
 
 static struct bfin_adv7393_fb_par {
-       /* structure holding blackfin / adv7393 paramters when
+       /* structure holding blackfin / adv7393 parameters when
           screen is blanked */
        struct {
                u8 Mode;        /* ntsc/pal/? */
index 738c8ce..bc67d05 100644 (file)
@@ -1611,7 +1611,7 @@ static void init_vgachip(struct fb_info *info)
        /* ext. display controls: ext.adr. wrap */
        vga_wcrt(cinfo->regbase, CL_CRT1B, 0x02);
 
-       /* Set/Reset registes: - */
+       /* Set/Reset registers: - */
        vga_wgfx(cinfo->regbase, VGA_GFX_SR_VALUE, 0x00);
        /* Set/Reset enable: - */
        vga_wgfx(cinfo->regbase, VGA_GFX_SR_ENABLE, 0x00);
index 6ce76d5..bcb0e3a 100644 (file)
@@ -752,7 +752,7 @@ int exynos_dp_read_bytes_from_i2c(struct exynos_dp_device *dp,
 
                        /*
                         * If Rx sends defer, Tx sends only reads
-                        * request without sending addres
+                        * request without sending address
                         */
                        if (!defer)
                                retval = exynos_dp_select_i2c_device(dp,
index 6c1f5c3..9908e75 100644 (file)
@@ -106,7 +106,7 @@ static void exynos_mipi_update_cfg(struct mipi_dsim_device *dsim)
 
        /*
         * data from Display controller(FIMD) is transferred in video mode
-        * but in case of command mode, all settigs is updated to registers.
+        * but in case of command mode, all settings are updated to registers.
         */
        exynos_mipi_dsi_stand_by(dsim, 1);
 }
index fe574d8..ff3f880 100644 (file)
@@ -497,7 +497,7 @@ static int i740fb_decode_var(const struct fb_var_screeninfo *var,
 
        mem = vxres * vyres * ((bpp + 1) / 8);
        if (mem > info->screen_size) {
-               dev_err(info->device, "not enough video memory (%d KB requested, %ld KB avaliable)\n",
+               dev_err(info->device, "not enough video memory (%d KB requested, %ld KB available)\n",
                        mem >> 10, info->screen_size >> 10);
                return -ENOMEM;
        }
@@ -728,7 +728,7 @@ static void vga_protect(struct i740fb_par *par)
        i740outreg_mask(par, VGA_SEQ_I, VGA_SEQ_CLOCK_MODE, 0x20, 0x20);
 
        i740inb(par, 0x3DA);
-       i740outb(par, VGA_ATT_W, 0x00); /* enable pallete access */
+       i740outb(par, VGA_ATT_W, 0x00); /* enable palette access */
 }
 
 static void vga_unprotect(struct i740fb_par *par)
@@ -737,7 +737,7 @@ static void vga_unprotect(struct i740fb_par *par)
        i740outreg_mask(par, VGA_SEQ_I, VGA_SEQ_CLOCK_MODE, 0, 0x20);
 
        i740inb(par, 0x3DA);
-       i740outb(par, VGA_ATT_W, 0x20); /* disable pallete access */
+       i740outb(par, VGA_ATT_W, 0x20); /* disable palette access */
 }
 
 static int i740fb_set_par(struct fb_info *info)
index ea7b661..69bf9d0 100644 (file)
@@ -189,7 +189,7 @@ struct s3c_fb_vsync {
 
 /**
  * struct s3c_fb - overall hardware state of the hardware
- * @slock: The spinlock protection for this data sturcture.
+ * @slock: The spinlock protection for this data sturucture.
  * @dev: The device that we bound to, for printing, etc.
  * @bus_clk: The clk (hclk) feeding our interface and possibly pixclk.
  * @lcd_clk: The clk (sclk) feeding pixclk.
index f3d3b9c..0d0f52c 100644 (file)
@@ -662,7 +662,7 @@ static void savage_get_default_par(struct savagefb_par *par, struct savage_reg *
        vga_out8(0x3c4, 0x18, par);
        reg->SR18 = vga_in8(0x3c5, par);
 
-       /* Save flat panel expansion regsters. */
+       /* Save flat panel expansion registers. */
        if (par->chip == S3_SAVAGE_MX) {
                int i;
 
@@ -815,7 +815,7 @@ static void savage_set_default_par(struct savagefb_par *par,
        vga_out8(0x3c4, 0x18, par);
        vga_out8(0x3c5, reg->SR18, par);
 
-       /* Save flat panel expansion regsters. */
+       /* Save flat panel expansion registers. */
        if (par->chip == S3_SAVAGE_MX) {
                int i;
 
@@ -1318,7 +1318,7 @@ static void savagefb_set_par_int(struct savagefb_par  *par, struct savage_reg *r
        vga_out8(0x3c4, 0x15, par);
        vga_out8(0x3c5, reg->SR15, par);
 
-       /* Restore flat panel expansion regsters. */
+       /* Restore flat panel expansion registers. */
        if (par->chip == S3_SAVAGE_MX) {
                int i;
 
index 66de832..f082ae5 100644 (file)
@@ -2628,7 +2628,8 @@ SiS_SetVCLKState(struct SiS_Private *SiS_Pr, unsigned short ModeNo,
       else if(VCLK >= 135) data = 0x02;
 
       if(SiS_Pr->ChipType == SIS_540) {
-         if((VCLK == 203) || (VCLK < 234)) data = 0x02;
+         /* Was == 203 or < 234 which made no sense */
+         if (VCLK < 234) data = 0x02;
       }
 
       if(SiS_Pr->ChipType < SIS_315H) {
index af3ef27..26f8642 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * smscufx.c -- Framebuffer driver for SMSC UFX USB controller
  *
- * Copyright (C) 2011 Steve Glendinning <steve.glendinning@smsc.com>
+ * Copyright (C) 2011 Steve Glendinning <steve.glendinning@shawell.net>
  * Copyright (C) 2009 Roberto De Ioris <roberto@unbit.it>
  * Copyright (C) 2009 Jaya Kumar <jayakumar.lkml@gmail.com>
  * Copyright (C) 2009 Bernie Thompson <bernie@plugable.com>
@@ -1002,7 +1002,7 @@ static int ufx_ops_ioctl(struct fb_info *info, unsigned int cmd,
        /* TODO: Help propose a standard fb.h ioctl to report mmap damage */
        if (cmd == UFX_IOCTL_REPORT_DAMAGE) {
                /* If we have a damage-aware client, turn fb_defio "off"
-                * To avoid perf imact of unecessary page fault handling.
+                * To avoid perf imact of unnecessary page fault handling.
                 * Done by resetting the delay for this fb_info to a very
                 * long period. Pages will become writable and stay that way.
                 * Reset to normal value when all clients have closed this fb.
@@ -1466,7 +1466,7 @@ static int ufx_read_edid(struct ufx_data *dev, u8 *edid, int edid_len)
        /* all FF's in the first 16 bytes indicates nothing is connected */
        for (i = 0; i < 16; i++) {
                if (edid[i] != 0xFF) {
-                       pr_debug("edid data read succesfully");
+                       pr_debug("edid data read successfully");
                        return EDID_LENGTH;
                }
        }
@@ -1972,6 +1972,6 @@ MODULE_PARM_DESC(console, "Allow fbcon to be used on this display");
 module_param(fb_defio, bool, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP);
 MODULE_PARM_DESC(fb_defio, "Enable fb_defio mmap support");
 
-MODULE_AUTHOR("Steve Glendinning <steve.glendinning@smsc.com>");
+MODULE_AUTHOR("Steve Glendinning <steve.glendinning@shawell.net>");
 MODULE_DESCRIPTION("SMSC UFX kernel framebuffer driver");
 MODULE_LICENSE("GPL");
index b9c2b94..eb931b8 100644 (file)
@@ -12,7 +12,7 @@
 
 #include <asm/io.h>
 
-/* XXX This device has a 'dev-comm' property which aparently is
+/* XXX This device has a 'dev-comm' property which apparently is
  * XXX a pointer into the openfirmware's address space which is
  * XXX a shared area the kernel driver can use to keep OBP
  * XXX informed about the current resolution setting.  The idea
index 01c21b6..deafe19 100644 (file)
@@ -929,7 +929,8 @@ int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, int bits,
 
 
 /**
- * convert_extent - convert all bits in a given range from one bit to another
+ * convert_extent_bit - convert all bits in a given range from one bit to
+ *                     another
  * @tree:      the io tree to search
  * @start:     the start offset in bytes
  * @end:       the end offset in bytes (inclusive)
index ad5c43e..f6fb40c 100644 (file)
@@ -86,7 +86,7 @@ int clk_notifier_unregister(struct clk *clk, struct notifier_block *nb);
 /**
  * clk_get - lookup and obtain a reference to a clock producer.
  * @dev: device for clock "consumer"
- * @id: clock comsumer ID
+ * @id: clock consumer ID
  *
  * Returns a struct clk corresponding to the clock producer, or
  * valid IS_ERR() condition containing errno.  The implementation
@@ -103,7 +103,7 @@ struct clk *clk_get(struct device *dev, const char *id);
 /**
  * devm_clk_get - lookup and obtain a managed reference to a clock producer.
  * @dev: device for clock "consumer"
- * @id: clock comsumer ID
+ * @id: clock consumer ID
  *
  * Returns a struct clk corresponding to the clock producer, or
  * valid IS_ERR() condition containing errno.  The implementation
index 68c569f..458988b 100644 (file)
@@ -188,7 +188,7 @@ static inline int is_unevictable_lru(enum lru_list lru)
 struct zone_reclaim_stat {
        /*
         * The pageout code in vmscan.c keeps track of how many of the
-        * mem/swap backed and file backed pages are refeferenced.
+        * mem/swap backed and file backed pages are referenced.
         * The higher the rotated/scanned ratio, the more valuable
         * that cache is.
         *
index 3ea2490..a163b6c 100644 (file)
@@ -87,7 +87,7 @@ EXPORT_SYMBOL(div_s64_rem);
  * by the book 'Hacker's Delight'.  The original source and full proof
  * can be found here and is available for use without restriction.
  *
- * 'http://www.hackersdelight.org/HDcode/newCode/divDouble.c'
+ * 'http://www.hackersdelight.org/HDcode/newCode/divDouble.c.txt'
  */
 #ifndef div64_u64
 u64 div64_u64(u64 dividend, u64 divisor)
index 66e4310..347b3ff 100644 (file)
@@ -1567,7 +1567,8 @@ static int vmscan_swappiness(struct scan_control *sc)
  * by looking at the fraction of the pages scanned we did rotate back
  * onto the active list instead of evict.
  *
- * nr[0] = anon pages to scan; nr[1] = file pages to scan
+ * nr[0] = anon inactive pages to scan; nr[1] = anon active pages to scan
+ * nr[2] = file inactive pages to scan; nr[3] = file active pages to scan
  */
 static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
                           unsigned long *nr)
@@ -2537,7 +2538,7 @@ loop_again:
                                 * consider it to be no longer congested. It's
                                 * possible there are dirty pages backed by
                                 * congested BDIs but as pressure is relieved,
-                                * spectulatively avoid congestion waits
+                                * speculatively avoid congestion waits
                                 */
                                zone_clear_flag(zone, ZONE_CONGESTED);
                                if (i <= *classzone_idx)
index 63d15e8..ed0c043 100644 (file)
@@ -234,7 +234,7 @@ static int write_priomap(struct cgroup *cgrp, struct cftype *cft,
 
        /*
         *Separate the devname from the associated priority
-        *and advance the priostr poitner to the priority value
+        *and advance the priostr pointer to the priority value
         */
        *priostr = '\0';
        priostr++;
index 6e133a0..c1b6191 100644 (file)
@@ -16,7 +16,7 @@
 #   The second row specify the type of the symbol:
 #   A = Absolute
 #   B = Uninitialised data (.bss)
-#   C = Comon symbol
+#   C = Common symbol
 #   D = Initialised data
 #   G = Initialised data for small objects
 #   I = Indirect reference to another symbol
index 643f111..7e814a5 100644 (file)
@@ -438,7 +438,7 @@ static __inline__ void li_writeb(lithium_t *lith, int off, unsigned char val)
  *
  * Observe that (mask & -mask) is (1 << low_set_bit_of(mask)).
  * As long as mask is constant, we trust the compiler will change the
- * multipy and divide into shifts.
+ * multiply and divide into shifts.
  */
 
 #define SHIFT_FIELD(val, mask) (((val) * ((mask) & -(mask))) & (mask))