aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-14 15:32:16 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-14 15:32:16 -0500
commit0a80939b3e6af4b0dc93bf88ec02fd7e90a16f1b (patch)
treea112335f2b2b2a51e90531c6c67e8a3b54dcf0ef
parent0b48d42235caf627121f440b57d376f48a9af8b6 (diff)
parent72db395ffadb1d33233fd123c2bf87ba0198c6c1 (diff)
Merge tag 'for-linus' of git://github.com/rustyrussell/linux
Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 * tag 'for-linus' of git://github.com/rustyrussell/linux: module_param: check that bool parameters really are bool. intelfbdrv.c: bailearly is an int module_param paride/pcd: fix bool verbose module parameter. module_param: make bool parameters really bool (drivers & misc) module_param: make bool parameters really bool (arch) module_param: make bool parameters really bool (core code) kernel/async: remove redundant declaration. printk: fix unnecessary module_param_name. lirc_parallel: fix module parameter description. module_param: avoid bool abuse, add bint for special cases. module_param: check type correctness for module_param_array modpost: use linker section to generate table. modpost: use a table rather than a giant if/else statement. modules: sysfs - export: taint, coresize, initsize kernel/params: replace DEBUGP with pr_debug module: replace DEBUGP with pr_debug module: struct module_ref should contains long fields module: Fix performance regression on modules with large symbol tables module: Add comments describing how the "strmap" logic works Fix up conflicts in scripts/mod/file2alias.c due to the new linker- generated table approach to adding __mod_*_device_table entries. The ARM sa11x0 mcp bus needed to be converted to that too.
-rw-r--r--Documentation/ABI/testing/sysfs-module16
-rw-r--r--arch/ia64/hp/common/aml_nfw.c2
-rw-r--r--arch/x86/kernel/apm_32.c16
-rw-r--r--arch/x86/kvm/mmu.c2
-rw-r--r--arch/x86/kvm/vmx.c18
-rw-r--r--arch/x86/kvm/x86.c4
-rw-r--r--arch/x86/mm/mmio-mod.c4
-rw-r--r--arch/x86/platform/geode/alix.c2
-rw-r--r--arch/x86/platform/iris/iris.c2
-rw-r--r--drivers/accessibility/braille/braille_console.c2
-rw-r--r--drivers/acpi/acpica/acglobal.h2
-rw-r--r--drivers/acpi/apei/ghes.c2
-rw-r--r--drivers/acpi/apei/hest.c2
-rw-r--r--drivers/acpi/dock.c2
-rw-r--r--drivers/acpi/pci_slot.c2
-rw-r--r--drivers/acpi/video.c6
-rw-r--r--drivers/ata/sata_nv.c6
-rw-r--r--drivers/ata/sata_sil24.c2
-rw-r--r--drivers/atm/he.c6
-rw-r--r--drivers/block/drbd/drbd_int.h4
-rw-r--r--drivers/block/drbd/drbd_main.c4
-rw-r--r--drivers/block/paride/bpck6.c5
-rw-r--r--drivers/block/paride/pcd.c2
-rw-r--r--drivers/block/paride/pd.c3
-rw-r--r--drivers/block/paride/pf.c4
-rw-r--r--drivers/block/paride/pg.c3
-rw-r--r--drivers/block/paride/pt.c4
-rw-r--r--drivers/block/xd.c2
-rw-r--r--drivers/bluetooth/btusb.c12
-rw-r--r--drivers/bluetooth/hci_bcsp.c4
-rw-r--r--drivers/bluetooth/hci_ldisc.c2
-rw-r--r--drivers/cdrom/cdrom.c12
-rw-r--r--drivers/char/agp/amd64-agp.c2
-rw-r--r--drivers/char/agp/sis-agp.c2
-rw-r--r--drivers/char/i8k.c8
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c2
-rw-r--r--drivers/char/lp.c2
-rw-r--r--drivers/char/nwflash.c2
-rw-r--r--drivers/char/pcmcia/synclink_cs.c2
-rw-r--r--drivers/char/random.c2
-rw-r--r--drivers/char/tpm/tpm_tis.c6
-rw-r--r--drivers/edac/r82600_edac.c2
-rw-r--r--drivers/firewire/sbp2.c2
-rw-r--r--drivers/hid/hid-prodikeys.c2
-rw-r--r--drivers/hwmon/abituguru.c2
-rw-r--r--drivers/hwmon/abituguru3.c4
-rw-r--r--drivers/hwmon/acpi_power_meter.c2
-rw-r--r--drivers/hwmon/adm1021.c2
-rw-r--r--drivers/hwmon/ads7828.c4
-rw-r--r--drivers/hwmon/dme1737.c4
-rw-r--r--drivers/hwmon/emc2103.c2
-rw-r--r--drivers/hwmon/it87.c4
-rw-r--r--drivers/hwmon/lm93.c4
-rw-r--r--drivers/hwmon/max1668.c2
-rw-r--r--drivers/hwmon/w83627hf.c2
-rw-r--r--drivers/hwmon/w83781d.c4
-rw-r--r--drivers/hwmon/w83791d.c4
-rw-r--r--drivers/hwmon/w83792d.c2
-rw-r--r--drivers/hwmon/w83793.c2
-rw-r--r--drivers/hwmon/w83795.c2
-rw-r--r--drivers/hwmon/w83l786ng.c2
-rw-r--r--drivers/i2c/busses/i2c-highlander.c2
-rw-r--r--drivers/i2c/busses/i2c-ibm_iic.c4
-rw-r--r--drivers/i2c/busses/i2c-sis630.c4
-rw-r--r--drivers/i2c/busses/i2c-viapro.c2
-rw-r--r--drivers/ide/ali14xx.c2
-rw-r--r--drivers/ide/cmd640.c2
-rw-r--r--drivers/ide/dtc2278.c2
-rw-r--r--drivers/ide/gayle.c2
-rw-r--r--drivers/ide/ht6560b.c2
-rw-r--r--drivers/ide/ide-4drives.c2
-rw-r--r--drivers/ide/ide-acpi.c6
-rw-r--r--drivers/ide/ide-pci-generic.c2
-rw-r--r--drivers/ide/qd65xx.c2
-rw-r--r--drivers/ide/umc8672.c2
-rw-r--r--drivers/infiniband/hw/ehca/ehca_classes.h4
-rw-r--r--drivers/infiniband/hw/ehca/ehca_main.c10
-rw-r--r--drivers/infiniband/hw/nes/nes.c2
-rw-r--r--drivers/input/joystick/xpad.c6
-rw-r--r--drivers/input/misc/wistron_btns.c2
-rw-r--r--drivers/input/mouse/psmouse-base.c2
-rw-r--r--drivers/input/mouse/synaptics_i2c.c6
-rw-r--r--drivers/input/serio/hp_sdc.c2
-rw-r--r--drivers/input/touchscreen/eeti_ts.c4
-rw-r--r--drivers/input/touchscreen/htcpen.c4
-rw-r--r--drivers/input/touchscreen/ucb1400_ts.c2
-rw-r--r--drivers/input/touchscreen/usbtouchscreen.c4
-rw-r--r--drivers/isdn/hardware/avm/b1dma.c2
-rw-r--r--drivers/isdn/hardware/avm/c4.c2
-rw-r--r--drivers/isdn/sc/init.c2
-rw-r--r--drivers/leds/leds-clevo-mail.c2
-rw-r--r--drivers/leds/leds-ss4200.c2
-rw-r--r--drivers/macintosh/ams/ams-core.c2
-rw-r--r--drivers/macintosh/ams/ams-input.c4
-rw-r--r--drivers/macintosh/therm_adt746x.c2
-rw-r--r--drivers/media/dvb/dvb-usb/af9005.c2
-rw-r--r--drivers/media/dvb/dvb-usb/af9005.h2
-rw-r--r--drivers/media/radio/radio-gemtek.c10
-rw-r--r--drivers/media/radio/radio-miropcm20.c2
-rw-r--r--drivers/media/rc/lirc_dev.c2
-rw-r--r--drivers/media/rc/mceusb.c4
-rw-r--r--drivers/media/rc/streamzap.c4
-rw-r--r--drivers/media/rc/winbond-cir.c4
-rw-r--r--drivers/media/video/c-qcam.c2
-rw-r--r--drivers/media/video/cs5345.c2
-rw-r--r--drivers/media/video/cs53l32a.c2
-rw-r--r--drivers/media/video/cx18/cx18-driver.c2
-rw-r--r--drivers/media/video/cx25821/cx25821-alsa.c2
-rw-r--r--drivers/media/video/cx88/cx88-alsa.c2
-rw-r--r--drivers/media/video/et61x251/et61x251_core.c4
-rw-r--r--drivers/media/video/gspca/m5602/m5602_core.c4
-rw-r--r--drivers/media/video/gspca/m5602/m5602_mt9m111.h2
-rw-r--r--drivers/media/video/gspca/m5602/m5602_ov7660.h2
-rw-r--r--drivers/media/video/gspca/m5602/m5602_ov9650.h2
-rw-r--r--drivers/media/video/gspca/m5602/m5602_po1030.h2
-rw-r--r--drivers/media/video/gspca/m5602/m5602_s5k4aa.h2
-rw-r--r--drivers/media/video/gspca/m5602/m5602_s5k83a.h2
-rw-r--r--drivers/media/video/gspca/stv06xx/stv06xx.c4
-rw-r--r--drivers/media/video/hdpvr/hdpvr-core.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.c2
-rw-r--r--drivers/media/video/ivtv/ivtvfb.c2
-rw-r--r--drivers/media/video/marvell-ccic/mcam-core.c6
-rw-r--r--drivers/media/video/msp3400-driver.c6
-rw-r--r--drivers/media/video/msp3400-driver.h6
-rw-r--r--drivers/media/video/omap/omap_vout.c6
-rw-r--r--drivers/media/video/omap/omap_vout_vrfb.c2
-rw-r--r--drivers/media/video/ov7670.c2
-rw-r--r--drivers/media/video/saa7115.c2
-rw-r--r--drivers/media/video/sn9c102/sn9c102_core.c4
-rw-r--r--drivers/media/video/stk-webcam.c4
-rw-r--r--drivers/media/video/tm6000/tm6000-alsa.c2
-rw-r--r--drivers/media/video/tvp514x.c2
-rw-r--r--drivers/media/video/tvp7002.c2
-rw-r--r--drivers/media/video/upd64083.c2
-rw-r--r--drivers/media/video/via-camera.c4
-rw-r--r--drivers/media/video/zoran/zoran_device.c2
-rw-r--r--drivers/media/video/zoran/zr36060.c2
-rw-r--r--drivers/memstick/host/jmb38x_ms.c2
-rw-r--r--drivers/memstick/host/r592.c2
-rw-r--r--drivers/memstick/host/tifm_ms.c2
-rw-r--r--drivers/mfd/janz-cmodio.c2
-rw-r--r--drivers/misc/iwmc3200top/main.c12
-rw-r--r--drivers/misc/lis3lv02d/lis3lv02d.c2
-rw-r--r--drivers/mmc/core/core.c6
-rw-r--r--drivers/mmc/core/core.h2
-rw-r--r--drivers/mmc/host/tifm_sd.c4
-rw-r--r--drivers/mmc/host/vub300.c10
-rw-r--r--drivers/mtd/nand/pxa3xx_nand.c2
-rw-r--r--drivers/mtd/nand/r852.c2
-rw-r--r--drivers/parport/parport_ip32.c2
-rw-r--r--drivers/pci/hotplug/acpi_pcihp.c2
-rw-r--r--drivers/pci/hotplug/acpiphp_core.c2
-rw-r--r--drivers/pci/hotplug/acpiphp_ibm.c2
-rw-r--r--drivers/pci/hotplug/cpcihp_zt5550.c4
-rw-r--r--drivers/pci/hotplug/cpqphp_core.c4
-rw-r--r--drivers/pci/hotplug/ibmphp_core.c2
-rw-r--r--drivers/pci/hotplug/pci_hotplug_core.c2
-rw-r--r--drivers/pci/hotplug/pciehp.h6
-rw-r--r--drivers/pci/hotplug/pciehp_core.c6
-rw-r--r--drivers/pci/hotplug/pcihp_skeleton.c2
-rw-r--r--drivers/pci/hotplug/rpaphp.h2
-rw-r--r--drivers/pci/hotplug/rpaphp_core.c2
-rw-r--r--drivers/pci/hotplug/shpchp.h4
-rw-r--r--drivers/pci/hotplug/shpchp_core.c4
-rw-r--r--drivers/pci/pcie/aer/aer_inject.c2
-rw-r--r--drivers/pci/pcie/aer/aerdrv_core.c4
-rw-r--r--drivers/pcmcia/yenta_socket.c6
-rw-r--r--drivers/platform/x86/compal-laptop.c2
-rw-r--r--drivers/platform/x86/intel_oaktrail.c2
-rw-r--r--drivers/platform/x86/msi-laptop.c2
-rw-r--r--drivers/platform/x86/samsung-laptop.c4
-rw-r--r--drivers/platform/x86/thinkpad_acpi.c16
-rw-r--r--drivers/platform/x86/wmi.c4
-rw-r--r--drivers/power/ds2760_battery.c2
-rw-r--r--drivers/s390/char/raw3270.c2
-rw-r--r--drivers/s390/char/vmwatchdog.c4
-rw-r--r--drivers/s390/cio/cmf.c2
-rw-r--r--drivers/scsi/aha1542.c2
-rw-r--r--drivers/scsi/dc395x.c2
-rw-r--r--drivers/scsi/nsp32.c4
-rw-r--r--drivers/scsi/pcmcia/nsp_cs.c2
-rw-r--r--drivers/staging/comedi/comedi_fops.c2
-rw-r--r--drivers/staging/comedi/comedi_fops.h3
-rw-r--r--drivers/staging/media/go7007/snd-go7007.c2
-rw-r--r--drivers/staging/media/lirc/lirc_bt829.c2
-rw-r--r--drivers/staging/media/lirc/lirc_igorplugusb.c4
-rw-r--r--drivers/staging/media/lirc/lirc_parallel.c6
-rw-r--r--drivers/staging/media/lirc/lirc_serial.c10
-rw-r--r--drivers/staging/media/lirc/lirc_sir.c2
-rw-r--r--drivers/staging/media/lirc/lirc_zilog.c4
-rw-r--r--drivers/staging/quatech_usb2/quatech_usb2.c2
-rw-r--r--drivers/staging/serqt_usb2/serqt_usb2.c2
-rw-r--r--drivers/staging/speakup/speakup.h2
-rw-r--r--drivers/staging/speakup/synth.c2
-rw-r--r--drivers/staging/vme/bridges/vme_tsi148.c2
-rw-r--r--drivers/tty/rocket.c2
-rw-r--r--drivers/tty/synclink.c2
-rw-r--r--drivers/tty/synclinkmp.c2
-rw-r--r--drivers/usb/atm/speedtch.c6
-rw-r--r--drivers/usb/atm/ueagle-atm.c2
-rw-r--r--drivers/usb/core/devio.c2
-rw-r--r--drivers/usb/core/hub.c8
-rw-r--r--drivers/usb/core/usb.c2
-rw-r--r--drivers/usb/gadget/amd5536udc.c8
-rw-r--r--drivers/usb/gadget/ether.c4
-rw-r--r--drivers/usb/gadget/file_storage.c10
-rw-r--r--drivers/usb/gadget/net2272.c2
-rw-r--r--drivers/usb/gadget/net2280.c6
-rw-r--r--drivers/usb/gadget/omap_udc.c2
-rw-r--r--drivers/usb/gadget/pch_udc.c2
-rw-r--r--drivers/usb/gadget/serial.c4
-rw-r--r--drivers/usb/gadget/zero.c2
-rw-r--r--drivers/usb/host/ehci-hcd.c2
-rw-r--r--drivers/usb/host/ohci-hcd.c4
-rw-r--r--drivers/usb/host/oxu210hp-hcd.c2
-rw-r--r--drivers/usb/host/u132-hcd.c2
-rw-r--r--drivers/usb/host/uhci-hcd.c2
-rw-r--r--drivers/usb/misc/ftdi-elan.c2
-rw-r--r--drivers/usb/misc/iowarrior.c2
-rw-r--r--drivers/usb/musb/cppi_dma.c2
-rw-r--r--drivers/usb/musb/musb_core.c2
-rw-r--r--drivers/usb/serial/aircable.c2
-rw-r--r--drivers/usb/serial/ark3116.c2
-rw-r--r--drivers/usb/serial/belkin_sa.c2
-rw-r--r--drivers/usb/serial/ch341.c2
-rw-r--r--drivers/usb/serial/cp210x.c2
-rw-r--r--drivers/usb/serial/cyberjack.c2
-rw-r--r--drivers/usb/serial/cypress_m8.c6
-rw-r--r--drivers/usb/serial/digi_acceleport.c2
-rw-r--r--drivers/usb/serial/empeg.c2
-rw-r--r--drivers/usb/serial/ftdi_sio.c2
-rw-r--r--drivers/usb/serial/funsoft.c2
-rw-r--r--drivers/usb/serial/garmin_gps.c2
-rw-r--r--drivers/usb/serial/io_edgeport.c2
-rw-r--r--drivers/usb/serial/io_ti.c4
-rw-r--r--drivers/usb/serial/ipaq.c2
-rw-r--r--drivers/usb/serial/ipw.c2
-rw-r--r--drivers/usb/serial/ir-usb.c2
-rw-r--r--drivers/usb/serial/iuu_phoenix.c6
-rw-r--r--drivers/usb/serial/keyspan.c2
-rw-r--r--drivers/usb/serial/keyspan_pda.c2
-rw-r--r--drivers/usb/serial/kl5kusb105.c2
-rw-r--r--drivers/usb/serial/mct_u232.c2
-rw-r--r--drivers/usb/serial/mos7720.c2
-rw-r--r--drivers/usb/serial/mos7840.c2
-rw-r--r--drivers/usb/serial/navman.c2
-rw-r--r--drivers/usb/serial/omninet.c2
-rw-r--r--drivers/usb/serial/opticon.c2
-rw-r--r--drivers/usb/serial/option.c2
-rw-r--r--drivers/usb/serial/oti6858.c2
-rw-r--r--drivers/usb/serial/pl2303.c2
-rw-r--r--drivers/usb/serial/qcserial.c2
-rw-r--r--drivers/usb/serial/safe_serial.c6
-rw-r--r--drivers/usb/serial/sierra.c4
-rw-r--r--drivers/usb/serial/spcp8x5.c2
-rw-r--r--drivers/usb/serial/ssu100.c2
-rw-r--r--drivers/usb/serial/symbolserial.c2
-rw-r--r--drivers/usb/serial/ti_usb_3410_5052.c2
-rw-r--r--drivers/usb/serial/usb-serial.c2
-rw-r--r--drivers/usb/serial/usb_wwan.c2
-rw-r--r--drivers/usb/serial/visor.c2
-rw-r--r--drivers/usb/serial/whiteheat.c2
-rw-r--r--drivers/video/aty/atyfb_base.c4
-rw-r--r--drivers/video/aty/radeon_base.c18
-rw-r--r--drivers/video/cirrusfb.c2
-rw-r--r--drivers/video/hgafb.c2
-rw-r--r--drivers/video/intelfb/intelfbdrv.c18
-rw-r--r--drivers/video/logo/logo.c2
-rw-r--r--drivers/video/neofb.c10
-rw-r--r--drivers/video/omap/omapfb_main.c4
-rw-r--r--drivers/video/omap2/dss/core.c2
-rw-r--r--drivers/video/omap2/dss/dsi.c4
-rw-r--r--drivers/video/omap2/dss/dss.h2
-rw-r--r--drivers/video/omap2/omapfb/omapfb-main.c8
-rw-r--r--drivers/video/omap2/omapfb/omapfb.h2
-rw-r--r--drivers/video/pm2fb.c8
-rw-r--r--drivers/video/pm3fb.c4
-rw-r--r--drivers/video/riva/fbdev.c6
-rw-r--r--drivers/video/smscufx.c4
-rw-r--r--drivers/video/sstfb.c6
-rw-r--r--drivers/video/tdfxfb.c2
-rw-r--r--drivers/video/udlfb.c6
-rw-r--r--drivers/video/uvesafb.c6
-rw-r--r--drivers/video/vfb.c2
-rw-r--r--drivers/watchdog/f71808e_wdt.c2
-rw-r--r--drivers/watchdog/mpc8xxx_wdt.c2
-rw-r--r--drivers/xen/xen-pciback/conf_space.c2
-rw-r--r--drivers/xen/xen-pciback/xenbus.c2
-rw-r--r--fs/lockd/mon.c2
-rw-r--r--fs/nfs/client.c2
-rw-r--r--fs/nfs/inode.c2
-rw-r--r--fs/ntfs/super.c2
-rw-r--r--include/acpi/acpixf.h2
-rw-r--r--include/acpi/apei.h4
-rw-r--r--include/linux/console.h2
-rw-r--r--include/linux/init.h3
-rw-r--r--include/linux/lockd/lockd.h2
-rw-r--r--include/linux/mmc/host.h2
-rw-r--r--include/linux/module.h21
-rw-r--r--include/linux/moduleparam.h17
-rw-r--r--init/main.c2
-rw-r--r--kernel/async.c2
-rw-r--r--kernel/debug/kdb/kdb_main.c2
-rw-r--r--kernel/irq/internals.h2
-rw-r--r--kernel/irq/spurious.c2
-rw-r--r--kernel/module.c205
-rw-r--r--kernel/params.c38
-rw-r--r--kernel/printk.c10
-rw-r--r--scripts/mod/file2alias.c217
-rw-r--r--security/apparmor/include/apparmor.h10
-rw-r--r--security/apparmor/lsm.c12
-rw-r--r--sound/pci/intel8x0.c4
-rw-r--r--virt/kvm/iommu.c2
313 files changed, 794 insertions, 759 deletions
diff --git a/Documentation/ABI/testing/sysfs-module b/Documentation/ABI/testing/sysfs-module
index 9489ea8e294c..47064c2b1f79 100644
--- a/Documentation/ABI/testing/sysfs-module
+++ b/Documentation/ABI/testing/sysfs-module
@@ -33,3 +33,19 @@ Description: Maximum time allowed for periodic transfers per microframe (μs)
33 Beware, non-standard modes are usually not thoroughly tested by 33 Beware, non-standard modes are usually not thoroughly tested by
34 hardware designers, and the hardware can malfunction when this 34 hardware designers, and the hardware can malfunction when this
35 setting differ from default 100. 35 setting differ from default 100.
36
37What: /sys/module/*/{coresize,initsize}
38Date: Jan 2012
39KernelVersion:»·3.3
40Contact: Kay Sievers <kay.sievers@vrfy.org>
41Description: Module size in bytes.
42
43What: /sys/module/*/taint
44Date: Jan 2012
45KernelVersion:»·3.3
46Contact: Kay Sievers <kay.sievers@vrfy.org>
47Description: Module taint flags:
48 P - proprietary module
49 O - out-of-tree module
50 F - force-loaded module
51 C - staging driver module
diff --git a/arch/ia64/hp/common/aml_nfw.c b/arch/ia64/hp/common/aml_nfw.c
index 22078486d35d..6192f7188654 100644
--- a/arch/ia64/hp/common/aml_nfw.c
+++ b/arch/ia64/hp/common/aml_nfw.c
@@ -31,7 +31,7 @@ MODULE_AUTHOR("Bjorn Helgaas <bjorn.helgaas@hp.com>");
31MODULE_LICENSE("GPL"); 31MODULE_LICENSE("GPL");
32MODULE_DESCRIPTION("ACPI opregion handler for native firmware calls"); 32MODULE_DESCRIPTION("ACPI opregion handler for native firmware calls");
33 33
34static int force_register; 34static bool force_register;
35module_param_named(force, force_register, bool, 0); 35module_param_named(force, force_register, bool, 0);
36MODULE_PARM_DESC(force, "Install opregion handler even without HPQ5001 device"); 36MODULE_PARM_DESC(force, "Install opregion handler even without HPQ5001 device");
37 37
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
index a46bd383953c..f76623cbe263 100644
--- a/arch/x86/kernel/apm_32.c
+++ b/arch/x86/kernel/apm_32.c
@@ -383,21 +383,21 @@ static int ignore_sys_suspend;
383static int ignore_normal_resume; 383static int ignore_normal_resume;
384static int bounce_interval __read_mostly = DEFAULT_BOUNCE_INTERVAL; 384static int bounce_interval __read_mostly = DEFAULT_BOUNCE_INTERVAL;
385 385
386static int debug __read_mostly; 386static bool debug __read_mostly;
387static int smp __read_mostly; 387static bool smp __read_mostly;
388static int apm_disabled = -1; 388static int apm_disabled = -1;
389#ifdef CONFIG_SMP 389#ifdef CONFIG_SMP
390static int power_off; 390static bool power_off;
391#else 391#else
392static int power_off = 1; 392static bool power_off = 1;
393#endif 393#endif
394static int realmode_power_off; 394static bool realmode_power_off;
395#ifdef CONFIG_APM_ALLOW_INTS 395#ifdef CONFIG_APM_ALLOW_INTS
396static int allow_ints = 1; 396static bool allow_ints = 1;
397#else 397#else
398static int allow_ints; 398static bool allow_ints;
399#endif 399#endif
400static int broken_psr; 400static bool broken_psr;
401 401
402static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue); 402static DECLARE_WAIT_QUEUE_HEAD(apm_waitqueue);
403static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue); 403static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 2a2a9b40db19..224b02c3cda9 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -74,7 +74,7 @@ enum {
74#endif 74#endif
75 75
76#ifdef MMU_DEBUG 76#ifdef MMU_DEBUG
77static int dbg = 0; 77static bool dbg = 0;
78module_param(dbg, bool, 0644); 78module_param(dbg, bool, 0644);
79#endif 79#endif
80 80
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 906a7e84200f..d29216c462b3 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -51,29 +51,29 @@
51MODULE_AUTHOR("Qumranet"); 51MODULE_AUTHOR("Qumranet");
52MODULE_LICENSE("GPL"); 52MODULE_LICENSE("GPL");
53 53
54static int __read_mostly enable_vpid = 1; 54static bool __read_mostly enable_vpid = 1;
55module_param_named(vpid, enable_vpid, bool, 0444); 55module_param_named(vpid, enable_vpid, bool, 0444);
56 56
57static int __read_mostly flexpriority_enabled = 1; 57static bool __read_mostly flexpriority_enabled = 1;
58module_param_named(flexpriority, flexpriority_enabled, bool, S_IRUGO); 58module_param_named(flexpriority, flexpriority_enabled, bool, S_IRUGO);
59 59
60static int __read_mostly enable_ept = 1; 60static bool __read_mostly enable_ept = 1;
61module_param_named(ept, enable_ept, bool, S_IRUGO); 61module_param_named(ept, enable_ept, bool, S_IRUGO);
62 62
63static int __read_mostly enable_unrestricted_guest = 1; 63static bool __read_mostly enable_unrestricted_guest = 1;
64module_param_named(unrestricted_guest, 64module_param_named(unrestricted_guest,
65 enable_unrestricted_guest, bool, S_IRUGO); 65 enable_unrestricted_guest, bool, S_IRUGO);
66 66
67static int __read_mostly emulate_invalid_guest_state = 0; 67static bool __read_mostly emulate_invalid_guest_state = 0;
68module_param(emulate_invalid_guest_state, bool, S_IRUGO); 68module_param(emulate_invalid_guest_state, bool, S_IRUGO);
69 69
70static int __read_mostly vmm_exclusive = 1; 70static bool __read_mostly vmm_exclusive = 1;
71module_param(vmm_exclusive, bool, S_IRUGO); 71module_param(vmm_exclusive, bool, S_IRUGO);
72 72
73static int __read_mostly yield_on_hlt = 1; 73static bool __read_mostly yield_on_hlt = 1;
74module_param(yield_on_hlt, bool, S_IRUGO); 74module_param(yield_on_hlt, bool, S_IRUGO);
75 75
76static int __read_mostly fasteoi = 1; 76static bool __read_mostly fasteoi = 1;
77module_param(fasteoi, bool, S_IRUGO); 77module_param(fasteoi, bool, S_IRUGO);
78 78
79/* 79/*
@@ -81,7 +81,7 @@ module_param(fasteoi, bool, S_IRUGO);
81 * VMX and be a hypervisor for its own guests. If nested=0, guests may not 81 * VMX and be a hypervisor for its own guests. If nested=0, guests may not
82 * use VMX instructions. 82 * use VMX instructions.
83 */ 83 */
84static int __read_mostly nested = 0; 84static bool __read_mostly nested = 0;
85module_param(nested, bool, S_IRUGO); 85module_param(nested, bool, S_IRUGO);
86 86
87#define KVM_GUEST_CR0_MASK_UNRESTRICTED_GUEST \ 87#define KVM_GUEST_CR0_MASK_UNRESTRICTED_GUEST \
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 1171def5f96b..14d6cadc4ba6 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -88,8 +88,8 @@ static void process_nmi(struct kvm_vcpu *vcpu);
88struct kvm_x86_ops *kvm_x86_ops; 88struct kvm_x86_ops *kvm_x86_ops;
89EXPORT_SYMBOL_GPL(kvm_x86_ops); 89EXPORT_SYMBOL_GPL(kvm_x86_ops);
90 90
91int ignore_msrs = 0; 91static bool ignore_msrs = 0;
92module_param_named(ignore_msrs, ignore_msrs, bool, S_IRUGO | S_IWUSR); 92module_param(ignore_msrs, bool, S_IRUGO | S_IWUSR);
93 93
94bool kvm_has_tsc_control; 94bool kvm_has_tsc_control;
95EXPORT_SYMBOL_GPL(kvm_has_tsc_control); 95EXPORT_SYMBOL_GPL(kvm_has_tsc_control);
diff --git a/arch/x86/mm/mmio-mod.c b/arch/x86/mm/mmio-mod.c
index de54b9b278a7..dc0b727742f4 100644
--- a/arch/x86/mm/mmio-mod.c
+++ b/arch/x86/mm/mmio-mod.c
@@ -75,8 +75,8 @@ static LIST_HEAD(trace_list); /* struct remap_trace */
75 75
76/* module parameters */ 76/* module parameters */
77static unsigned long filter_offset; 77static unsigned long filter_offset;
78static int nommiotrace; 78static bool nommiotrace;
79static int trace_pc; 79static bool trace_pc;
80 80
81module_param(filter_offset, ulong, 0); 81module_param(filter_offset, ulong, 0);
82module_param(nommiotrace, bool, 0); 82module_param(nommiotrace, bool, 0);
diff --git a/arch/x86/platform/geode/alix.c b/arch/x86/platform/geode/alix.c
index ca1973699d3d..dc5f1d32aced 100644
--- a/arch/x86/platform/geode/alix.c
+++ b/arch/x86/platform/geode/alix.c
@@ -27,7 +27,7 @@
27 27
28#include <asm/geode.h> 28#include <asm/geode.h>
29 29
30static int force = 0; 30static bool force = 0;
31module_param(force, bool, 0444); 31module_param(force, bool, 0444);
32/* FIXME: Award bios is not automatically detected as Alix platform */ 32/* FIXME: Award bios is not automatically detected as Alix platform */
33MODULE_PARM_DESC(force, "Force detection as ALIX.2/ALIX.3 platform"); 33MODULE_PARM_DESC(force, "Force detection as ALIX.2/ALIX.3 platform");
diff --git a/arch/x86/platform/iris/iris.c b/arch/x86/platform/iris/iris.c
index 1ba7f5ed8c9b..5917eb56b313 100644
--- a/arch/x86/platform/iris/iris.c
+++ b/arch/x86/platform/iris/iris.c
@@ -42,7 +42,7 @@ MODULE_AUTHOR("Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>");
42MODULE_DESCRIPTION("A power_off handler for Iris devices from EuroBraille"); 42MODULE_DESCRIPTION("A power_off handler for Iris devices from EuroBraille");
43MODULE_SUPPORTED_DEVICE("Eurobraille/Iris"); 43MODULE_SUPPORTED_DEVICE("Eurobraille/Iris");
44 44
45static int force; 45static bool force;
46 46
47module_param(force, bool, 0); 47module_param(force, bool, 0);
48MODULE_PARM_DESC(force, "Set to one to force poweroff handler installation."); 48MODULE_PARM_DESC(force, "Set to one to force poweroff handler installation.");
diff --git a/drivers/accessibility/braille/braille_console.c b/drivers/accessibility/braille/braille_console.c
index cb423f5aef24..c339a0880e6e 100644
--- a/drivers/accessibility/braille/braille_console.c
+++ b/drivers/accessibility/braille/braille_console.c
@@ -44,7 +44,7 @@ MODULE_LICENSE("GPL");
44 */ 44 */
45 45
46/* Emit various sounds */ 46/* Emit various sounds */
47static int sound; 47static bool sound;
48module_param(sound, bool, 0); 48module_param(sound, bool, 0);
49MODULE_PARM_DESC(sound, "emit sounds"); 49MODULE_PARM_DESC(sound, "emit sounds");
50 50
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index 76dc02f15574..e6652d716e45 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -108,7 +108,7 @@ u8 ACPI_INIT_GLOBAL(acpi_gbl_use_default_register_widths, TRUE);
108/* 108/*
109 * Optionally enable output from the AML Debug Object. 109 * Optionally enable output from the AML Debug Object.
110 */ 110 */
111u32 ACPI_INIT_GLOBAL(acpi_gbl_enable_aml_debug_object, FALSE); 111bool ACPI_INIT_GLOBAL(acpi_gbl_enable_aml_debug_object, FALSE);
112 112
113/* 113/*
114 * Optionally copy the entire DSDT to local memory (instead of simply 114 * Optionally copy the entire DSDT to local memory (instead of simply
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index b8e08cb67a18..ebaf037a787b 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -118,7 +118,7 @@ struct ghes_estatus_cache {
118 struct rcu_head rcu; 118 struct rcu_head rcu;
119}; 119};
120 120
121int ghes_disable; 121bool ghes_disable;
122module_param_named(disable, ghes_disable, bool, 0); 122module_param_named(disable, ghes_disable, bool, 0);
123 123
124static int ghes_panic_timeout __read_mostly = 30; 124static int ghes_panic_timeout __read_mostly = 30;
diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c
index 05fee06f4d6e..ee7fddc4665c 100644
--- a/drivers/acpi/apei/hest.c
+++ b/drivers/acpi/apei/hest.c
@@ -41,7 +41,7 @@
41 41
42#define HEST_PFX "HEST: " 42#define HEST_PFX "HEST: "
43 43
44int hest_disable; 44bool hest_disable;
45EXPORT_SYMBOL_GPL(hest_disable); 45EXPORT_SYMBOL_GPL(hest_disable);
46 46
47/* HEST table parsing */ 47/* HEST table parsing */
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c
index 19a61136d848..88eb14304667 100644
--- a/drivers/acpi/dock.c
+++ b/drivers/acpi/dock.c
@@ -43,7 +43,7 @@ MODULE_AUTHOR("Kristen Carlson Accardi");
43MODULE_DESCRIPTION(ACPI_DOCK_DRIVER_DESCRIPTION); 43MODULE_DESCRIPTION(ACPI_DOCK_DRIVER_DESCRIPTION);
44MODULE_LICENSE("GPL"); 44MODULE_LICENSE("GPL");
45 45
46static int immediate_undock = 1; 46static bool immediate_undock = 1;
47module_param(immediate_undock, bool, 0644); 47module_param(immediate_undock, bool, 0644);
48MODULE_PARM_DESC(immediate_undock, "1 (default) will cause the driver to " 48MODULE_PARM_DESC(immediate_undock, "1 (default) will cause the driver to "
49 "undock immediately when the undock button is pressed, 0 will cause" 49 "undock immediately when the undock button is pressed, 0 will cause"
diff --git a/drivers/acpi/pci_slot.c b/drivers/acpi/pci_slot.c
index 07f7fea8a4e2..e50e31a518af 100644
--- a/drivers/acpi/pci_slot.c
+++ b/drivers/acpi/pci_slot.c
@@ -34,7 +34,7 @@
34#include <acpi/acpi_drivers.h> 34#include <acpi/acpi_drivers.h>
35#include <linux/dmi.h> 35#include <linux/dmi.h>
36 36
37static int debug; 37static bool debug;
38static int check_sta_before_sun; 38static int check_sta_before_sun;
39 39
40#define DRIVER_VERSION "0.1" 40#define DRIVER_VERSION "0.1"
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 08a44b532f7c..eaef02afc7cf 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -69,21 +69,21 @@ MODULE_AUTHOR("Bruno Ducrot");
69MODULE_DESCRIPTION("ACPI Video Driver"); 69MODULE_DESCRIPTION("ACPI Video Driver");
70MODULE_LICENSE("GPL"); 70MODULE_LICENSE("GPL");
71 71
72static int brightness_switch_enabled = 1; 72static bool brightness_switch_enabled = 1;
73module_param(brightness_switch_enabled, bool, 0644); 73module_param(brightness_switch_enabled, bool, 0644);
74 74
75/* 75/*
76 * By default, we don't allow duplicate ACPI video bus devices 76 * By default, we don't allow duplicate ACPI video bus devices
77 * under the same VGA controller 77 * under the same VGA controller
78 */ 78 */
79static int allow_duplicates; 79static bool allow_duplicates;
80module_param(allow_duplicates, bool, 0644); 80module_param(allow_duplicates, bool, 0644);
81 81
82/* 82/*
83 * Some BIOSes claim they use minimum backlight at boot, 83 * Some BIOSes claim they use minimum backlight at boot,
84 * and this may bring dimming screen after boot 84 * and this may bring dimming screen after boot
85 */ 85 */
86static int use_bios_initial_backlight = 1; 86static bool use_bios_initial_backlight = 1;
87module_param(use_bios_initial_backlight, bool, 0644); 87module_param(use_bios_initial_backlight, bool, 0644);
88 88
89static int register_count = 0; 89static int register_count = 0;
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index e0bc9646a38e..55d6179dde58 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -599,9 +599,9 @@ MODULE_LICENSE("GPL");
599MODULE_DEVICE_TABLE(pci, nv_pci_tbl); 599MODULE_DEVICE_TABLE(pci, nv_pci_tbl);
600MODULE_VERSION(DRV_VERSION); 600MODULE_VERSION(DRV_VERSION);
601 601
602static int adma_enabled; 602static bool adma_enabled;
603static int swncq_enabled = 1; 603static bool swncq_enabled = 1;
604static int msi_enabled; 604static bool msi_enabled;
605 605
606static void nv_adma_register_mode(struct ata_port *ap) 606static void nv_adma_register_mode(struct ata_port *ap)
607{ 607{
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 1e9140626a83..e7e610aa9a7a 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -417,7 +417,7 @@ static struct ata_port_operations sil24_ops = {
417#endif 417#endif
418}; 418};
419 419
420static int sata_sil24_msi; /* Disable MSI */ 420static bool sata_sil24_msi; /* Disable MSI */
421module_param_named(msi, sata_sil24_msi, bool, S_IRUGO); 421module_param_named(msi, sata_sil24_msi, bool, S_IRUGO);
422MODULE_PARM_DESC(msi, "Enable MSI (Default: false)"); 422MODULE_PARM_DESC(msi, "Enable MSI (Default: false)");
423 423
diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index 9a51df4f5b74..b182c2f7d777 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -112,12 +112,12 @@ static u8 read_prom_byte(struct he_dev *he_dev, int addr);
112/* globals */ 112/* globals */
113 113
114static struct he_dev *he_devs; 114static struct he_dev *he_devs;
115static int disable64; 115static bool disable64;
116static short nvpibits = -1; 116static short nvpibits = -1;
117static short nvcibits = -1; 117static short nvcibits = -1;
118static short rx_skb_reserve = 16; 118static short rx_skb_reserve = 16;
119static int irq_coalesce = 1; 119static bool irq_coalesce = 1;
120static int sdh = 0; 120static bool sdh = 0;
121 121
122/* Read from EEPROM = 0000 0011b */ 122/* Read from EEPROM = 0000 0011b */
123static unsigned int readtab[] = { 123static unsigned int readtab[] = {
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index 9cf20355ceec..8d680562ba73 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -59,8 +59,8 @@
59 59
60/* module parameter, defined in drbd_main.c */ 60/* module parameter, defined in drbd_main.c */
61extern unsigned int minor_count; 61extern unsigned int minor_count;
62extern int disable_sendpage; 62extern bool disable_sendpage;
63extern int allow_oos; 63extern bool allow_oos;
64extern unsigned int cn_idx; 64extern unsigned int cn_idx;
65 65
66#ifdef CONFIG_DRBD_FAULT_INJECTION 66#ifdef CONFIG_DRBD_FAULT_INJECTION
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 0358e55356c8..211fc44f84be 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -117,8 +117,8 @@ module_param(fault_devs, int, 0644);
117 117
118/* module parameter, defined */ 118/* module parameter, defined */
119unsigned int minor_count = DRBD_MINOR_COUNT_DEF; 119unsigned int minor_count = DRBD_MINOR_COUNT_DEF;
120int disable_sendpage; 120bool disable_sendpage;
121int allow_oos; 121bool allow_oos;
122unsigned int cn_idx = CN_IDX_DRBD; 122unsigned int cn_idx = CN_IDX_DRBD;
123int proc_details; /* Detail level in proc drbd*/ 123int proc_details; /* Detail level in proc drbd*/
124 124
diff --git a/drivers/block/paride/bpck6.c b/drivers/block/paride/bpck6.c
index ad124525ac23..ec64e7f5d1ce 100644
--- a/drivers/block/paride/bpck6.c
+++ b/drivers/block/paride/bpck6.c
@@ -20,9 +20,6 @@
20*/ 20*/
21 21
22 22
23/* PARAMETERS */
24static int verbose; /* set this to 1 to see debugging messages and whatnot */
25
26#define BACKPACK_VERSION "2.0.2" 23#define BACKPACK_VERSION "2.0.2"
27 24
28#include <linux/module.h> 25#include <linux/module.h>
@@ -36,6 +33,8 @@ static int verbose; /* set this to 1 to see debugging messages and whatnot */
36#include "ppc6lnx.c" 33#include "ppc6lnx.c"
37#include "paride.h" 34#include "paride.h"
38 35
36/* PARAMETERS */
37static bool verbose; /* set this to 1 to see debugging messages and whatnot */
39 38
40 39
41#define PPCSTRUCT(pi) ((Interface *)(pi->private)) 40#define PPCSTRUCT(pi) ((Interface *)(pi->private))
diff --git a/drivers/block/paride/pcd.c b/drivers/block/paride/pcd.c
index 46b8136c31bb..ba2b6b5e5910 100644
--- a/drivers/block/paride/pcd.c
+++ b/drivers/block/paride/pcd.c
@@ -144,7 +144,7 @@ enum {D_PRT, D_PRO, D_UNI, D_MOD, D_SLV, D_DLY};
144static DEFINE_MUTEX(pcd_mutex); 144static DEFINE_MUTEX(pcd_mutex);
145static DEFINE_SPINLOCK(pcd_lock); 145static DEFINE_SPINLOCK(pcd_lock);
146 146
147module_param(verbose, bool, 0644); 147module_param(verbose, int, 0644);
148module_param(major, int, 0); 148module_param(major, int, 0);
149module_param(name, charp, 0); 149module_param(name, charp, 0);
150module_param(nice, int, 0); 150module_param(nice, int, 0);
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c
index 869e7676d46f..831e3ac156e6 100644
--- a/drivers/block/paride/pd.c
+++ b/drivers/block/paride/pd.c
@@ -124,8 +124,9 @@
124 by default. 124 by default.
125 125
126*/ 126*/
127#include <linux/types.h>
127 128
128static int verbose = 0; 129static bool verbose = 0;
129static int major = PD_MAJOR; 130static int major = PD_MAJOR;
130static char *name = PD_NAME; 131static char *name = PD_NAME;
131static int cluster = 64; 132static int cluster = 64;
diff --git a/drivers/block/paride/pf.c b/drivers/block/paride/pf.c
index f21b520ef419..ec8f9ed6326e 100644
--- a/drivers/block/paride/pf.c
+++ b/drivers/block/paride/pf.c
@@ -118,13 +118,15 @@
118#define PF_NAME "pf" 118#define PF_NAME "pf"
119#define PF_UNITS 4 119#define PF_UNITS 4
120 120
121#include <linux/types.h>
122
121/* Here are things one can override from the insmod command. 123/* Here are things one can override from the insmod command.
122 Most are autoprobed by paride unless set here. Verbose is off 124 Most are autoprobed by paride unless set here. Verbose is off
123 by default. 125 by default.
124 126
125*/ 127*/
126 128
127static int verbose = 0; 129static bool verbose = 0;
128static int major = PF_MAJOR; 130static int major = PF_MAJOR;
129static char *name = PF_NAME; 131static char *name = PF_NAME;
130static int cluster = 64; 132static int cluster = 64;
diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c
index a79fb4f7ff62..4a27b1de5fcb 100644
--- a/drivers/block/paride/pg.c
+++ b/drivers/block/paride/pg.c
@@ -130,13 +130,14 @@
130#define PI_PG 4 130#define PI_PG 4
131#endif 131#endif
132 132
133#include <linux/types.h>
133/* Here are things one can override from the insmod command. 134/* Here are things one can override from the insmod command.
134 Most are autoprobed by paride unless set here. Verbose is 0 135 Most are autoprobed by paride unless set here. Verbose is 0
135 by default. 136 by default.
136 137
137*/ 138*/
138 139
139static int verbose = 0; 140static bool verbose = 0;
140static int major = PG_MAJOR; 141static int major = PG_MAJOR;
141static char *name = PG_NAME; 142static char *name = PG_NAME;
142static int disable = 0; 143static int disable = 0;
diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c
index 7179f79d7468..2596042eb987 100644
--- a/drivers/block/paride/pt.c
+++ b/drivers/block/paride/pt.c
@@ -109,13 +109,15 @@
109#define PT_NAME "pt" 109#define PT_NAME "pt"
110#define PT_UNITS 4 110#define PT_UNITS 4
111 111
112#include <linux/types.h>
113
112/* Here are things one can override from the insmod command. 114/* Here are things one can override from the insmod command.
113 Most are autoprobed by paride unless set here. Verbose is on 115 Most are autoprobed by paride unless set here. Verbose is on
114 by default. 116 by default.
115 117
116*/ 118*/
117 119
118static int verbose = 0; 120static bool verbose = 0;
119static int major = PT_MAJOR; 121static int major = PT_MAJOR;
120static char *name = PT_NAME; 122static char *name = PT_NAME;
121static int disable = 0; 123static int disable = 0;
diff --git a/drivers/block/xd.c b/drivers/block/xd.c
index 4abd2bcd20fb..51a972704db5 100644
--- a/drivers/block/xd.c
+++ b/drivers/block/xd.c
@@ -148,7 +148,7 @@ static volatile int xdc_busy;
148static struct timer_list xd_watchdog_int; 148static struct timer_list xd_watchdog_int;
149 149
150static volatile u_char xd_error; 150static volatile u_char xd_error;
151static int nodma = XD_DONT_USE_DMA; 151static bool nodma = XD_DONT_USE_DMA;
152 152
153static struct request_queue *xd_queue; 153static struct request_queue *xd_queue;
154 154
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 55ac349695c4..f00f596c1029 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -37,13 +37,13 @@
37 37
38#define VERSION "0.6" 38#define VERSION "0.6"
39 39
40static int ignore_dga; 40static bool ignore_dga;
41static int ignore_csr; 41static bool ignore_csr;
42static int ignore_sniffer; 42static bool ignore_sniffer;
43static int disable_scofix; 43static bool disable_scofix;
44static int force_scofix; 44static bool force_scofix;
45 45
46static int reset = 1; 46static bool reset = 1;
47 47
48static struct usb_driver btusb_driver; 48static struct usb_driver btusb_driver;
49 49
diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c
index 9c5b2dc38e29..a767d4de45a4 100644
--- a/drivers/bluetooth/hci_bcsp.c
+++ b/drivers/bluetooth/hci_bcsp.c
@@ -49,8 +49,8 @@
49 49
50#define VERSION "0.3" 50#define VERSION "0.3"
51 51
52static int txcrc = 1; 52static bool txcrc = 1;
53static int hciextn = 1; 53static bool hciextn = 1;
54 54
55#define BCSP_TXWINSIZE 4 55#define BCSP_TXWINSIZE 4
56 56
diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
index 48ad2a7ab080..07114489994f 100644
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
@@ -48,7 +48,7 @@
48 48
49#define VERSION "2.2" 49#define VERSION "2.2"
50 50
51static int reset = 0; 51static bool reset = 0;
52 52
53static struct hci_uart_proto *hup[HCI_UART_MAX_PROTO]; 53static struct hci_uart_proto *hup[HCI_UART_MAX_PROTO];
54 54
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 2118211aff99..1bbf7645a97c 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -285,17 +285,17 @@
285#include <asm/uaccess.h> 285#include <asm/uaccess.h>
286 286
287/* used to tell the module to turn on full debugging messages */ 287/* used to tell the module to turn on full debugging messages */
288static int debug; 288static bool debug;
289/* used to keep tray locked at all times */ 289/* used to keep tray locked at all times */
290static int keeplocked; 290static int keeplocked;
291/* default compatibility mode */ 291/* default compatibility mode */
292static int autoclose=1; 292static bool autoclose=1;
293static int autoeject; 293static bool autoeject;
294static int lockdoor = 1; 294static bool lockdoor = 1;
295/* will we ever get to use this... sigh. */ 295/* will we ever get to use this... sigh. */
296static int check_media_type; 296static bool check_media_type;
297/* automatically restart mrw format */ 297/* automatically restart mrw format */
298static int mrw_format_restart = 1; 298static bool mrw_format_restart = 1;
299module_param(debug, bool, 0); 299module_param(debug, bool, 0);
300module_param(autoclose, bool, 0); 300module_param(autoclose, bool, 0);
301module_param(autoeject, bool, 0); 301module_param(autoeject, bool, 0);
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
index 780498d76581..444f8b6ab411 100644
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -33,7 +33,7 @@
33#define ULI_X86_64_ENU_SCR_REG 0x54 33#define ULI_X86_64_ENU_SCR_REG 0x54
34 34
35static struct resource *aperture_resource; 35static struct resource *aperture_resource;
36static int __initdata agp_try_unsupported = 1; 36static bool __initdata agp_try_unsupported = 1;
37static int agp_bridges_found; 37static int agp_bridges_found;
38 38
39static void amd64_tlbflush(struct agp_memory *temp) 39static void amd64_tlbflush(struct agp_memory *temp)
diff --git a/drivers/char/agp/sis-agp.c b/drivers/char/agp/sis-agp.c
index 29aacd81de78..08704ae53956 100644
--- a/drivers/char/agp/sis-agp.c
+++ b/drivers/char/agp/sis-agp.c
@@ -17,7 +17,7 @@
17#define PCI_DEVICE_ID_SI_662 0x0662 17#define PCI_DEVICE_ID_SI_662 0x0662
18#define PCI_DEVICE_ID_SI_671 0x0671 18#define PCI_DEVICE_ID_SI_671 0x0671
19 19
20static int __devinitdata agp_sis_force_delay = 0; 20static bool __devinitdata agp_sis_force_delay = 0;
21static int __devinitdata agp_sis_agp_spec = -1; 21static int __devinitdata agp_sis_agp_spec = -1;
22 22
23static int sis_fetch_size(void) 23static int sis_fetch_size(void)
diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c
index 6e40072fbf67..40cc0cf2ded6 100644
--- a/drivers/char/i8k.c
+++ b/drivers/char/i8k.c
@@ -69,19 +69,19 @@ MODULE_AUTHOR("Massimo Dal Zotto (dz@debian.org)");
69MODULE_DESCRIPTION("Driver for accessing SMM BIOS on Dell laptops"); 69MODULE_DESCRIPTION("Driver for accessing SMM BIOS on Dell laptops");
70MODULE_LICENSE("GPL"); 70MODULE_LICENSE("GPL");
71 71
72static int force; 72static bool force;
73module_param(force, bool, 0); 73module_param(force, bool, 0);
74MODULE_PARM_DESC(force, "Force loading without checking for supported models"); 74MODULE_PARM_DESC(force, "Force loading without checking for supported models");
75 75
76static int ignore_dmi; 76static bool ignore_dmi;
77module_param(ignore_dmi, bool, 0); 77module_param(ignore_dmi, bool, 0);
78MODULE_PARM_DESC(ignore_dmi, "Continue probing hardware even if DMI data does not match"); 78MODULE_PARM_DESC(ignore_dmi, "Continue probing hardware even if DMI data does not match");
79 79
80static int restricted; 80static bool restricted;
81module_param(restricted, bool, 0); 81module_param(restricted, bool, 0);
82MODULE_PARM_DESC(restricted, "Allow fan control if SYS_ADMIN capability set"); 82MODULE_PARM_DESC(restricted, "Allow fan control if SYS_ADMIN capability set");
83 83
84static int power_status; 84static bool power_status;
85module_param(power_status, bool, 0600); 85module_param(power_status, bool, 0600);
86MODULE_PARM_DESC(power_status, "Report power status in /proc/i8k"); 86MODULE_PARM_DESC(power_status, "Report power status in /proc/i8k");
87 87
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 9397ab49b72e..50fcf9c04569 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1227,7 +1227,7 @@ static int smi_num; /* Used to sequence the SMIs */
1227#define DEFAULT_REGSPACING 1 1227#define DEFAULT_REGSPACING 1
1228#define DEFAULT_REGSIZE 1 1228#define DEFAULT_REGSIZE 1
1229 1229
1230static int si_trydefaults = 1; 1230static bool si_trydefaults = 1;
1231static char *si_type[SI_MAX_PARMS]; 1231static char *si_type[SI_MAX_PARMS];
1232#define MAX_SI_TYPE_STR 30 1232#define MAX_SI_TYPE_STR 30
1233static char si_type_str[MAX_SI_TYPE_STR]; 1233static char si_type_str[MAX_SI_TYPE_STR];
diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index 97c3edb95ae7..f43485607063 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -829,7 +829,7 @@ static struct console lpcons = {
829 829
830static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC }; 830static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC };
831static char *parport[LP_NO]; 831static char *parport[LP_NO];
832static int reset; 832static bool reset;
833 833
834module_param_array(parport, charp, NULL, 0); 834module_param_array(parport, charp, NULL, 0);
835module_param(reset, bool, 0); 835module_param(reset, bool, 0);
diff --git a/drivers/char/nwflash.c b/drivers/char/nwflash.c
index a12f52400dbc..bf586ae1ee83 100644
--- a/drivers/char/nwflash.c
+++ b/drivers/char/nwflash.c
@@ -51,7 +51,7 @@ static int write_block(unsigned long p, const char __user *buf, int count);
51#define KFLASH_ID 0x89A6 //Intel flash 51#define KFLASH_ID 0x89A6 //Intel flash
52#define KFLASH_ID4 0xB0D4 //Intel flash 4Meg 52#define KFLASH_ID4 0xB0D4 //Intel flash 4Meg
53 53
54static int flashdebug; //if set - we will display progress msgs 54static bool flashdebug; //if set - we will display progress msgs
55 55
56static int gbWriteEnable; 56static int gbWriteEnable;
57static int gbWriteBase64Enable; 57static int gbWriteBase64Enable;
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 15781396af25..07f6a5abe372 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -439,7 +439,7 @@ static int mgslpc_device_count = 0;
439 * .text section address and breakpoint on module load. 439 * .text section address and breakpoint on module load.
440 * This is useful for use with gdb and add-symbol-file command. 440 * This is useful for use with gdb and add-symbol-file command.
441 */ 441 */
442static int break_on_load=0; 442static bool break_on_load=0;
443 443
444/* 444/*
445 * Driver major number, defaults to zero to get auto 445 * Driver major number, defaults to zero to get auto
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 85da8740586b..732215b805c1 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -387,7 +387,7 @@ static DECLARE_WAIT_QUEUE_HEAD(random_write_wait);
387static struct fasync_struct *fasync; 387static struct fasync_struct *fasync;
388 388
389#if 0 389#if 0
390static int debug; 390static bool debug;
391module_param(debug, bool, 0644); 391module_param(debug, bool, 0644);
392#define DEBUG_ENT(fmt, arg...) do { \ 392#define DEBUG_ENT(fmt, arg...) do { \
393 if (debug) \ 393 if (debug) \
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 10cc44ceb5d1..a1748621111b 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -255,7 +255,7 @@ out:
255 return size; 255 return size;
256} 256}
257 257
258static int itpm; 258static bool itpm;
259module_param(itpm, bool, 0444); 259module_param(itpm, bool, 0444);
260MODULE_PARM_DESC(itpm, "Force iTPM workarounds (found on some Lenovo laptops)"); 260MODULE_PARM_DESC(itpm, "Force iTPM workarounds (found on some Lenovo laptops)");
261 261
@@ -500,7 +500,7 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
500 return IRQ_HANDLED; 500 return IRQ_HANDLED;
501} 501}
502 502
503static int interrupts = 1; 503static bool interrupts = 1;
504module_param(interrupts, bool, 0444); 504module_param(interrupts, bool, 0444);
505MODULE_PARM_DESC(interrupts, "Enable interrupts"); 505MODULE_PARM_DESC(interrupts, "Enable interrupts");
506 506
@@ -828,7 +828,7 @@ static struct platform_driver tis_drv = {
828 828
829static struct platform_device *pdev; 829static struct platform_device *pdev;
830 830
831static int force; 831static bool force;
832module_param(force, bool, 0444); 832module_param(force, bool, 0444);
833MODULE_PARM_DESC(force, "Force device probe rather than using ACPI entry"); 833MODULE_PARM_DESC(force, "Force device probe rather than using ACPI entry");
834static int __init init_tis(void) 834static int __init init_tis(void)
diff --git a/drivers/edac/r82600_edac.c b/drivers/edac/r82600_edac.c
index b153674431f1..e294e1b3616c 100644
--- a/drivers/edac/r82600_edac.c
+++ b/drivers/edac/r82600_edac.c
@@ -131,7 +131,7 @@ struct r82600_error_info {
131 u32 eapr; 131 u32 eapr;
132}; 132};
133 133
134static unsigned int disable_hardware_scrub; 134static bool disable_hardware_scrub;
135 135
136static struct edac_pci_ctl_info *r82600_pci; 136static struct edac_pci_ctl_info *r82600_pci;
137 137
diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c
index 68375bc3aef6..80e95aa3bf14 100644
--- a/drivers/firewire/sbp2.c
+++ b/drivers/firewire/sbp2.c
@@ -66,7 +66,7 @@
66 * 66 *
67 * Concurrent logins are useful together with cluster filesystems. 67 * Concurrent logins are useful together with cluster filesystems.
68 */ 68 */
69static int sbp2_param_exclusive_login = 1; 69static bool sbp2_param_exclusive_login = 1;
70module_param_named(exclusive_login, sbp2_param_exclusive_login, bool, 0644); 70module_param_named(exclusive_login, sbp2_param_exclusive_login, bool, 0644);
71MODULE_PARM_DESC(exclusive_login, "Exclusive login to sbp2 device " 71MODULE_PARM_DESC(exclusive_login, "Exclusive login to sbp2 device "
72 "(default = Y, use N for concurrent initiators)"); 72 "(default = Y, use N for concurrent initiators)");
diff --git a/drivers/hid/hid-prodikeys.c b/drivers/hid/hid-prodikeys.c
index f779009104eb..b71b77ab0dc7 100644
--- a/drivers/hid/hid-prodikeys.c
+++ b/drivers/hid/hid-prodikeys.c
@@ -90,7 +90,7 @@ static const char longname[] = "Prodikeys PC-MIDI Keyboard";
90 90
91static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; 91static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;
92static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; 92static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;
93static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; 93static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;
94 94
95module_param_array(index, int, NULL, 0444); 95module_param_array(index, int, NULL, 0444);
96module_param_array(id, charp, NULL, 0444); 96module_param_array(id, charp, NULL, 0444);
diff --git a/drivers/hwmon/abituguru.c b/drivers/hwmon/abituguru.c
index 65a35cf5b3c5..3b728e8f169b 100644
--- a/drivers/hwmon/abituguru.c
+++ b/drivers/hwmon/abituguru.c
@@ -145,7 +145,7 @@ static const u8 abituguru_pwm_max[5] = { 0, 255, 255, 75, 75 };
145 145
146 146
147/* Insmod parameters */ 147/* Insmod parameters */
148static int force; 148static bool force;
149module_param(force, bool, 0); 149module_param(force, bool, 0);
150MODULE_PARM_DESC(force, "Set to one to force detection."); 150MODULE_PARM_DESC(force, "Set to one to force detection.");
151static int bank1_types[ABIT_UGURU_MAX_BANK1_SENSORS] = { -1, -1, -1, -1, -1, 151static int bank1_types[ABIT_UGURU_MAX_BANK1_SENSORS] = { -1, -1, -1, -1, -1,
diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c
index d30855a75786..34a14a77e008 100644
--- a/drivers/hwmon/abituguru3.c
+++ b/drivers/hwmon/abituguru3.c
@@ -603,11 +603,11 @@ static const struct abituguru3_motherboard_info abituguru3_motherboards[] = {
603 603
604 604
605/* Insmod parameters */ 605/* Insmod parameters */
606static int force; 606static bool force;
607module_param(force, bool, 0); 607module_param(force, bool, 0);
608MODULE_PARM_DESC(force, "Set to one to force detection."); 608MODULE_PARM_DESC(force, "Set to one to force detection.");
609/* Default verbose is 1, since this driver is still in the testing phase */ 609/* Default verbose is 1, since this driver is still in the testing phase */
610static int verbose = 1; 610static bool verbose = 1;
611module_param(verbose, bool, 0644); 611module_param(verbose, bool, 0644);
612MODULE_PARM_DESC(verbose, "Enable/disable verbose error reporting"); 612MODULE_PARM_DESC(verbose, "Enable/disable verbose error reporting");
613 613
diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
index 522860ab6ce8..554f046bcf20 100644
--- a/drivers/hwmon/acpi_power_meter.c
+++ b/drivers/hwmon/acpi_power_meter.c
@@ -58,7 +58,7 @@ ACPI_MODULE_NAME(ACPI_POWER_METER_NAME);
58#define POWER_ALARM_NAME "power1_alarm" 58#define POWER_ALARM_NAME "power1_alarm"
59 59
60static int cap_in_hardware; 60static int cap_in_hardware;
61static int force_cap_on; 61static bool force_cap_on;
62 62
63static int can_cap_in_hardware(void) 63static int can_cap_in_hardware(void)
64{ 64{
diff --git a/drivers/hwmon/adm1021.c b/drivers/hwmon/adm1021.c
index 1ad0a885c5a5..0158cc35cb2e 100644
--- a/drivers/hwmon/adm1021.c
+++ b/drivers/hwmon/adm1021.c
@@ -103,7 +103,7 @@ static int adm1021_remove(struct i2c_client *client);
103static struct adm1021_data *adm1021_update_device(struct device *dev); 103static struct adm1021_data *adm1021_update_device(struct device *dev);
104 104
105/* (amalysh) read only mode, otherwise any limit's writing confuse BIOS */ 105/* (amalysh) read only mode, otherwise any limit's writing confuse BIOS */
106static int read_only; 106static bool read_only;
107 107
108 108
109static const struct i2c_device_id adm1021_id[] = { 109static const struct i2c_device_id adm1021_id[] = {
diff --git a/drivers/hwmon/ads7828.c b/drivers/hwmon/ads7828.c
index cfcc3b6fb6bf..ed60242d6a0a 100644
--- a/drivers/hwmon/ads7828.c
+++ b/drivers/hwmon/ads7828.c
@@ -48,8 +48,8 @@ static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b,
48 I2C_CLIENT_END }; 48 I2C_CLIENT_END };
49 49
50/* Module parameters */ 50/* Module parameters */
51static int se_input = 1; /* Default is SE, 0 == diff */ 51static bool se_input = 1; /* Default is SE, 0 == diff */
52static int int_vref = 1; /* Default is internal ref ON */ 52static bool int_vref = 1; /* Default is internal ref ON */
53static int vref_mv = ADS7828_INT_VREF_MV; /* set if vref != 2.5V */ 53static int vref_mv = ADS7828_INT_VREF_MV; /* set if vref != 2.5V */
54module_param(se_input, bool, S_IRUGO); 54module_param(se_input, bool, S_IRUGO);
55module_param(int_vref, bool, S_IRUGO); 55module_param(int_vref, bool, S_IRUGO);
diff --git a/drivers/hwmon/dme1737.c b/drivers/hwmon/dme1737.c
index d9803958e49f..ffb229af7861 100644
--- a/drivers/hwmon/dme1737.c
+++ b/drivers/hwmon/dme1737.c
@@ -45,7 +45,7 @@
45static struct platform_device *pdev; 45static struct platform_device *pdev;
46 46
47/* Module load parameters */ 47/* Module load parameters */
48static int force_start; 48static bool force_start;
49module_param(force_start, bool, 0); 49module_param(force_start, bool, 0);
50MODULE_PARM_DESC(force_start, "Force the chip to start monitoring inputs"); 50MODULE_PARM_DESC(force_start, "Force the chip to start monitoring inputs");
51 51
@@ -53,7 +53,7 @@ static unsigned short force_id;
53module_param(force_id, ushort, 0); 53module_param(force_id, ushort, 0);
54MODULE_PARM_DESC(force_id, "Override the detected device ID"); 54MODULE_PARM_DESC(force_id, "Override the detected device ID");
55 55
56static int probe_all_addr; 56static bool probe_all_addr;
57module_param(probe_all_addr, bool, 0); 57module_param(probe_all_addr, bool, 0);
58MODULE_PARM_DESC(probe_all_addr, "Include probing of non-standard LPC " 58MODULE_PARM_DESC(probe_all_addr, "Include probing of non-standard LPC "
59 "addresses"); 59 "addresses");
diff --git a/drivers/hwmon/emc2103.c b/drivers/hwmon/emc2103.c
index 848a2b0bc83f..865063914d76 100644
--- a/drivers/hwmon/emc2103.c
+++ b/drivers/hwmon/emc2103.c
@@ -55,7 +55,7 @@ static const u8 REG_TEMP_MAX[4] = { 0x34, 0x30, 0x31, 0x32 };
55 * it. Default is to leave the device in the state it's already in (-1). 55 * it. Default is to leave the device in the state it's already in (-1).
56 * This parameter allows APD mode to be optionally forced on or off */ 56 * This parameter allows APD mode to be optionally forced on or off */
57static int apd = -1; 57static int apd = -1;
58module_param(apd, bool, 0); 58module_param(apd, bint, 0);
59MODULE_PARM_DESC(init, "Set to zero to disable anti-parallel diode mode"); 59MODULE_PARM_DESC(init, "Set to zero to disable anti-parallel diode mode");
60 60
61struct temperature { 61struct temperature {
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
index 38c0b87676de..603ef2af2707 100644
--- a/drivers/hwmon/it87.c
+++ b/drivers/hwmon/it87.c
@@ -146,10 +146,10 @@ static inline void superio_exit(void)
146#define IT87_SIO_BEEP_PIN_REG 0xf6 /* Beep pin mapping */ 146#define IT87_SIO_BEEP_PIN_REG 0xf6 /* Beep pin mapping */
147 147
148/* Update battery voltage after every reading if true */ 148/* Update battery voltage after every reading if true */
149static int update_vbat; 149static bool update_vbat;
150 150
151/* Not all BIOSes properly configure the PWM registers */ 151/* Not all BIOSes properly configure the PWM registers */
152static int fix_pwm_polarity; 152static bool fix_pwm_polarity;
153 153
154/* Many IT87 constants specified below */ 154/* Many IT87 constants specified below */
155 155
diff --git a/drivers/hwmon/lm93.c b/drivers/hwmon/lm93.c
index 3b43df418613..8bd6c5c9e05b 100644
--- a/drivers/hwmon/lm93.c
+++ b/drivers/hwmon/lm93.c
@@ -151,12 +151,12 @@ static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
151 151
152/* Insmod parameters */ 152/* Insmod parameters */
153 153
154static int disable_block; 154static bool disable_block;
155module_param(disable_block, bool, 0); 155module_param(disable_block, bool, 0);
156MODULE_PARM_DESC(disable_block, 156MODULE_PARM_DESC(disable_block,
157 "Set to non-zero to disable SMBus block data transactions."); 157 "Set to non-zero to disable SMBus block data transactions.");
158 158
159static int init; 159static bool init;
160module_param(init, bool, 0); 160module_param(init, bool, 0);
161MODULE_PARM_DESC(init, "Set to non-zero to force chip initialization."); 161MODULE_PARM_DESC(init, "Set to non-zero to force chip initialization.");
162 162
diff --git a/drivers/hwmon/max1668.c b/drivers/hwmon/max1668.c
index 6914195cfd35..88953f99e914 100644
--- a/drivers/hwmon/max1668.c
+++ b/drivers/hwmon/max1668.c
@@ -59,7 +59,7 @@ static unsigned short max1668_addr_list[] = {
59#define DEV_ID_MAX1989 0xb 59#define DEV_ID_MAX1989 0xb
60 60
61/* read only mode module parameter */ 61/* read only mode module parameter */
62static int read_only; 62static bool read_only;
63module_param(read_only, bool, 0); 63module_param(read_only, bool, 0);
64MODULE_PARM_DESC(read_only, "Don't set any values, read only mode"); 64MODULE_PARM_DESC(read_only, "Don't set any values, read only mode");
65 65
diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c
index bde50e34d013..374118f2b9f9 100644
--- a/drivers/hwmon/w83627hf.c
+++ b/drivers/hwmon/w83627hf.c
@@ -71,7 +71,7 @@ module_param(force_i2c, byte, 0);
71MODULE_PARM_DESC(force_i2c, 71MODULE_PARM_DESC(force_i2c,
72 "Initialize the i2c address of the sensors"); 72 "Initialize the i2c address of the sensors");
73 73
74static int init = 1; 74static bool init = 1;
75module_param(init, bool, 0); 75module_param(init, bool, 0);
76MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); 76MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");
77 77
diff --git a/drivers/hwmon/w83781d.c b/drivers/hwmon/w83781d.c
index 65b685e2c7b7..17a8fa2d9ae9 100644
--- a/drivers/hwmon/w83781d.c
+++ b/drivers/hwmon/w83781d.c
@@ -67,11 +67,11 @@ module_param_array(force_subclients, short, NULL, 0);
67MODULE_PARM_DESC(force_subclients, "List of subclient addresses: " 67MODULE_PARM_DESC(force_subclients, "List of subclient addresses: "
68 "{bus, clientaddr, subclientaddr1, subclientaddr2}"); 68 "{bus, clientaddr, subclientaddr1, subclientaddr2}");
69 69
70static int reset; 70static bool reset;
71module_param(reset, bool, 0); 71module_param(reset, bool, 0);
72MODULE_PARM_DESC(reset, "Set to one to reset chip on load"); 72MODULE_PARM_DESC(reset, "Set to one to reset chip on load");
73 73
74static int init = 1; 74static bool init = 1;
75module_param(init, bool, 0); 75module_param(init, bool, 0);
76MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); 76MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");
77 77
diff --git a/drivers/hwmon/w83791d.c b/drivers/hwmon/w83791d.c
index 6e5d0ae594b0..35aa5149307a 100644
--- a/drivers/hwmon/w83791d.c
+++ b/drivers/hwmon/w83791d.c
@@ -58,11 +58,11 @@ module_param_array(force_subclients, short, NULL, 0);
58MODULE_PARM_DESC(force_subclients, "List of subclient addresses: " 58MODULE_PARM_DESC(force_subclients, "List of subclient addresses: "
59 "{bus, clientaddr, subclientaddr1, subclientaddr2}"); 59 "{bus, clientaddr, subclientaddr1, subclientaddr2}");
60 60
61static int reset; 61static bool reset;
62module_param(reset, bool, 0); 62module_param(reset, bool, 0);
63MODULE_PARM_DESC(reset, "Set to one to force a hardware chip reset"); 63MODULE_PARM_DESC(reset, "Set to one to force a hardware chip reset");
64 64
65static int init; 65static bool init;
66module_param(init, bool, 0); 66module_param(init, bool, 0);
67MODULE_PARM_DESC(init, "Set to one to force extra software initialization"); 67MODULE_PARM_DESC(init, "Set to one to force extra software initialization");
68 68
diff --git a/drivers/hwmon/w83792d.c b/drivers/hwmon/w83792d.c
index 9ded133e43f0..d3100eab6b2f 100644
--- a/drivers/hwmon/w83792d.c
+++ b/drivers/hwmon/w83792d.c
@@ -56,7 +56,7 @@ module_param_array(force_subclients, short, NULL, 0);
56MODULE_PARM_DESC(force_subclients, "List of subclient addresses: " 56MODULE_PARM_DESC(force_subclients, "List of subclient addresses: "
57 "{bus, clientaddr, subclientaddr1, subclientaddr2}"); 57 "{bus, clientaddr, subclientaddr1, subclientaddr2}");
58 58
59static int init; 59static bool init;
60module_param(init, bool, 0); 60module_param(init, bool, 0);
61MODULE_PARM_DESC(init, "Set to one to force chip initialization"); 61MODULE_PARM_DESC(init, "Set to one to force chip initialization");
62 62
diff --git a/drivers/hwmon/w83793.c b/drivers/hwmon/w83793.c
index 3cc6fef22087..45ec7e7c3c27 100644
--- a/drivers/hwmon/w83793.c
+++ b/drivers/hwmon/w83793.c
@@ -61,7 +61,7 @@ module_param_array(force_subclients, short, NULL, 0);
61MODULE_PARM_DESC(force_subclients, "List of subclient addresses: " 61MODULE_PARM_DESC(force_subclients, "List of subclient addresses: "
62 "{bus, clientaddr, subclientaddr1, subclientaddr2}"); 62 "{bus, clientaddr, subclientaddr1, subclientaddr2}");
63 63
64static int reset; 64static bool reset;
65module_param(reset, bool, 0); 65module_param(reset, bool, 0);
66MODULE_PARM_DESC(reset, "Set to 1 to reset chip, not recommended"); 66MODULE_PARM_DESC(reset, "Set to 1 to reset chip, not recommended");
67 67
diff --git a/drivers/hwmon/w83795.c b/drivers/hwmon/w83795.c
index 3ee398d0e4c9..aa58b25565bc 100644
--- a/drivers/hwmon/w83795.c
+++ b/drivers/hwmon/w83795.c
@@ -42,7 +42,7 @@ static const unsigned short normal_i2c[] = {
42}; 42};
43 43
44 44
45static int reset; 45static bool reset;
46module_param(reset, bool, 0); 46module_param(reset, bool, 0);
47MODULE_PARM_DESC(reset, "Set to 1 to reset chip, not recommended"); 47MODULE_PARM_DESC(reset, "Set to 1 to reset chip, not recommended");
48 48
diff --git a/drivers/hwmon/w83l786ng.c b/drivers/hwmon/w83l786ng.c
index 0254e181893d..063bd9508d8a 100644
--- a/drivers/hwmon/w83l786ng.c
+++ b/drivers/hwmon/w83l786ng.c
@@ -39,7 +39,7 @@ static const unsigned short normal_i2c[] = { 0x2e, 0x2f, I2C_CLIENT_END };
39 39
40/* Insmod parameters */ 40/* Insmod parameters */
41 41
42static int reset; 42static bool reset;
43module_param(reset, bool, 0); 43module_param(reset, bool, 0);
44MODULE_PARM_DESC(reset, "Set to 1 to reset chip, not recommended"); 44MODULE_PARM_DESC(reset, "Set to 1 to reset chip, not recommended");
45 45
diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
index 2294dea6b145..19515df61021 100644
--- a/drivers/i2c/busses/i2c-highlander.c
+++ b/drivers/i2c/busses/i2c-highlander.c
@@ -52,7 +52,7 @@ struct highlander_i2c_dev {
52 size_t buf_len; 52 size_t buf_len;
53}; 53};
54 54
55static int iic_force_poll, iic_force_normal; 55static bool iic_force_poll, iic_force_normal;
56static int iic_timeout = 1000, iic_read_delay; 56static int iic_timeout = 1000, iic_read_delay;
57 57
58static inline void highlander_i2c_irq_enable(struct highlander_i2c_dev *dev) 58static inline void highlander_i2c_irq_enable(struct highlander_i2c_dev *dev)
diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
index dacc5457a1be..806e225f3de7 100644
--- a/drivers/i2c/busses/i2c-ibm_iic.c
+++ b/drivers/i2c/busses/i2c-ibm_iic.c
@@ -51,11 +51,11 @@
51MODULE_DESCRIPTION("IBM IIC driver v" DRIVER_VERSION); 51MODULE_DESCRIPTION("IBM IIC driver v" DRIVER_VERSION);
52MODULE_LICENSE("GPL"); 52MODULE_LICENSE("GPL");
53 53
54static int iic_force_poll; 54static bool iic_force_poll;
55module_param(iic_force_poll, bool, 0); 55module_param(iic_force_poll, bool, 0);
56MODULE_PARM_DESC(iic_force_poll, "Force polling mode"); 56MODULE_PARM_DESC(iic_force_poll, "Force polling mode");
57 57
58static int iic_force_fast; 58static bool iic_force_fast;
59module_param(iic_force_fast, bool, 0); 59module_param(iic_force_fast, bool, 0);
60MODULE_PARM_DESC(iic_force_fast, "Force fast mode (400 kHz)"); 60MODULE_PARM_DESC(iic_force_fast, "Force fast mode (400 kHz)");
61 61
diff --git a/drivers/i2c/busses/i2c-sis630.c b/drivers/i2c/busses/i2c-sis630.c
index e3df028bcf3b..15cf78f65ce0 100644
--- a/drivers/i2c/busses/i2c-sis630.c
+++ b/drivers/i2c/busses/i2c-sis630.c
@@ -93,8 +93,8 @@
93static struct pci_driver sis630_driver; 93static struct pci_driver sis630_driver;
94 94
95/* insmod parameters */ 95/* insmod parameters */
96static int high_clock; 96static bool high_clock;
97static int force; 97static bool force;
98module_param(high_clock, bool, 0); 98module_param(high_clock, bool, 0);
99MODULE_PARM_DESC(high_clock, "Set Host Master Clock to 56KHz (default 14KHz)."); 99MODULE_PARM_DESC(high_clock, "Set Host Master Clock to 56KHz (default 14KHz).");
100module_param(force, bool, 0); 100module_param(force, bool, 0);
diff --git a/drivers/i2c/busses/i2c-viapro.c b/drivers/i2c/busses/i2c-viapro.c
index c3926c26d8cf..333011c83d52 100644
--- a/drivers/i2c/busses/i2c-viapro.c
+++ b/drivers/i2c/busses/i2c-viapro.c
@@ -91,7 +91,7 @@ static unsigned short SMBHSTCFG = 0xD2;
91 91
92/* If force is set to anything different from 0, we forcibly enable the 92/* If force is set to anything different from 0, we forcibly enable the
93 VT596. DANGEROUS! */ 93 VT596. DANGEROUS! */
94static int force; 94static bool force;
95module_param(force, bool, 0); 95module_param(force, bool, 0);
96MODULE_PARM_DESC(force, "Forcibly enable the SMBus. DANGEROUS!"); 96MODULE_PARM_DESC(force, "Forcibly enable the SMBus. DANGEROUS!");
97 97
diff --git a/drivers/ide/ali14xx.c b/drivers/ide/ali14xx.c
index 25b9fe3a9f8e..d3be99fb4154 100644
--- a/drivers/ide/ali14xx.c
+++ b/drivers/ide/ali14xx.c
@@ -221,7 +221,7 @@ static int __init ali14xx_probe(void)
221 return ide_legacy_device_add(&ali14xx_port_info, 0); 221 return ide_legacy_device_add(&ali14xx_port_info, 0);
222} 222}
223 223
224static int probe_ali14xx; 224static bool probe_ali14xx;
225 225
226module_param_named(probe, probe_ali14xx, bool, 0); 226module_param_named(probe, probe_ali14xx, bool, 0);
227MODULE_PARM_DESC(probe, "probe for ALI M14xx chipsets"); 227MODULE_PARM_DESC(probe, "probe for ALI M14xx chipsets");
diff --git a/drivers/ide/cmd640.c b/drivers/ide/cmd640.c
index a81bd7575792..14717304b388 100644
--- a/drivers/ide/cmd640.c
+++ b/drivers/ide/cmd640.c
@@ -111,7 +111,7 @@
111 111
112#define DRV_NAME "cmd640" 112#define DRV_NAME "cmd640"
113 113
114static int cmd640_vlb; 114static bool cmd640_vlb;
115 115
116/* 116/*
117 * CMD640 specific registers definition. 117 * CMD640 specific registers definition.
diff --git a/drivers/ide/dtc2278.c b/drivers/ide/dtc2278.c
index 6929f7fce93a..46af4743b3e6 100644
--- a/drivers/ide/dtc2278.c
+++ b/drivers/ide/dtc2278.c
@@ -130,7 +130,7 @@ static int __init dtc2278_probe(void)
130 return ide_legacy_device_add(&dtc2278_port_info, 0); 130 return ide_legacy_device_add(&dtc2278_port_info, 0);
131} 131}
132 132
133static int probe_dtc2278; 133static bool probe_dtc2278;
134 134
135module_param_named(probe, probe_dtc2278, bool, 0); 135module_param_named(probe, probe_dtc2278, bool, 0);
136MODULE_PARM_DESC(probe, "probe for DTC2278xx chipsets"); 136MODULE_PARM_DESC(probe, "probe for DTC2278xx chipsets");
diff --git a/drivers/ide/gayle.c b/drivers/ide/gayle.c
index 3feaa26410be..51beb85250d4 100644
--- a/drivers/ide/gayle.c
+++ b/drivers/ide/gayle.c
@@ -50,7 +50,7 @@
50 GAYLE_NUM_HWIFS-1) 50 GAYLE_NUM_HWIFS-1)
51#define GAYLE_HAS_CONTROL_REG (!ide_doubler) 51#define GAYLE_HAS_CONTROL_REG (!ide_doubler)
52 52
53static int ide_doubler; 53static bool ide_doubler;
54module_param_named(doubler, ide_doubler, bool, 0); 54module_param_named(doubler, ide_doubler, bool, 0);
55MODULE_PARM_DESC(doubler, "enable support for IDE doublers"); 55MODULE_PARM_DESC(doubler, "enable support for IDE doublers");
56 56
diff --git a/drivers/ide/ht6560b.c b/drivers/ide/ht6560b.c
index 808bcdcbf8e1..986f2513eab4 100644
--- a/drivers/ide/ht6560b.c
+++ b/drivers/ide/ht6560b.c
@@ -317,7 +317,7 @@ static void __init ht6560b_init_dev(ide_drive_t *drive)
317 ide_set_drivedata(drive, (void *)t); 317 ide_set_drivedata(drive, (void *)t);
318} 318}
319 319
320static int probe_ht6560b; 320static bool probe_ht6560b;
321 321
322module_param_named(probe, probe_ht6560b, bool, 0); 322module_param_named(probe, probe_ht6560b, bool, 0);
323MODULE_PARM_DESC(probe, "probe for HT6560B chipset"); 323MODULE_PARM_DESC(probe, "probe for HT6560B chipset");
diff --git a/drivers/ide/ide-4drives.c b/drivers/ide/ide-4drives.c
index 979d342c338a..547d7cf2e016 100644
--- a/drivers/ide/ide-4drives.c
+++ b/drivers/ide/ide-4drives.c
@@ -6,7 +6,7 @@
6 6
7#define DRV_NAME "ide-4drives" 7#define DRV_NAME "ide-4drives"
8 8
9static int probe_4drives; 9static bool probe_4drives;
10 10
11module_param_named(probe, probe_4drives, bool, 0); 11module_param_named(probe, probe_4drives, bool, 0);
12MODULE_PARM_DESC(probe, "probe for generic IDE chipset with 4 drives/port"); 12MODULE_PARM_DESC(probe, "probe for generic IDE chipset with 4 drives/port");
diff --git a/drivers/ide/ide-acpi.c b/drivers/ide/ide-acpi.c
index f22edc66b030..f1a6796b165c 100644
--- a/drivers/ide/ide-acpi.c
+++ b/drivers/ide/ide-acpi.c
@@ -53,15 +53,15 @@ struct ide_acpi_hwif_link {
53#define DEBPRINT(fmt, args...) do {} while (0) 53#define DEBPRINT(fmt, args...) do {} while (0)
54#endif /* DEBUGGING */ 54#endif /* DEBUGGING */
55 55
56static int ide_noacpi; 56static bool ide_noacpi;
57module_param_named(noacpi, ide_noacpi, bool, 0); 57module_param_named(noacpi, ide_noacpi, bool, 0);
58MODULE_PARM_DESC(noacpi, "disable IDE ACPI support"); 58MODULE_PARM_DESC(noacpi, "disable IDE ACPI support");
59 59
60static int ide_acpigtf; 60static bool ide_acpigtf;
61module_param_named(acpigtf, ide_acpigtf, bool, 0); 61module_param_named(acpigtf, ide_acpigtf, bool, 0);
62MODULE_PARM_DESC(acpigtf, "enable IDE ACPI _GTF support"); 62MODULE_PARM_DESC(acpigtf, "enable IDE ACPI _GTF support");
63 63
64static int ide_acpionboot; 64static bool ide_acpionboot;
65module_param_named(acpionboot, ide_acpionboot, bool, 0); 65module_param_named(acpionboot, ide_acpionboot, bool, 0);
66MODULE_PARM_DESC(acpionboot, "call IDE ACPI methods on boot"); 66MODULE_PARM_DESC(acpionboot, "call IDE ACPI methods on boot");
67 67
diff --git a/drivers/ide/ide-pci-generic.c b/drivers/ide/ide-pci-generic.c
index a743e68a8903..7f56b738d762 100644
--- a/drivers/ide/ide-pci-generic.c
+++ b/drivers/ide/ide-pci-generic.c
@@ -28,7 +28,7 @@
28 28
29#define DRV_NAME "ide_pci_generic" 29#define DRV_NAME "ide_pci_generic"
30 30
31static int ide_generic_all; /* Set to claim all devices */ 31static bool ide_generic_all; /* Set to claim all devices */
32 32
33module_param_named(all_generic_ide, ide_generic_all, bool, 0444); 33module_param_named(all_generic_ide, ide_generic_all, bool, 0444);
34MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers."); 34MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE storage controllers.");
diff --git a/drivers/ide/qd65xx.c b/drivers/ide/qd65xx.c
index 3f0244fd8e62..8bbfe5557c7b 100644
--- a/drivers/ide/qd65xx.c
+++ b/drivers/ide/qd65xx.c
@@ -417,7 +417,7 @@ static int __init qd_probe(int base)
417 return rc; 417 return rc;
418} 418}
419 419
420static int probe_qd65xx; 420static bool probe_qd65xx;
421 421
422module_param_named(probe, probe_qd65xx, bool, 0); 422module_param_named(probe, probe_qd65xx, bool, 0);
423MODULE_PARM_DESC(probe, "probe for QD65xx chipsets"); 423MODULE_PARM_DESC(probe, "probe for QD65xx chipsets");
diff --git a/drivers/ide/umc8672.c b/drivers/ide/umc8672.c
index 47adcd09cb26..5cfb78120669 100644
--- a/drivers/ide/umc8672.c
+++ b/drivers/ide/umc8672.c
@@ -160,7 +160,7 @@ static int __init umc8672_probe(void)
160 return ide_legacy_device_add(&umc8672_port_info, 0); 160 return ide_legacy_device_add(&umc8672_port_info, 0);
161} 161}
162 162
163static int probe_umc8672; 163static bool probe_umc8672;
164 164
165module_param_named(probe, probe_umc8672, bool, 0); 165module_param_named(probe, probe_umc8672, bool, 0);
166MODULE_PARM_DESC(probe, "probe for UMC8672 chipset"); 166MODULE_PARM_DESC(probe, "probe for UMC8672 chipset");
diff --git a/drivers/infiniband/hw/ehca/ehca_classes.h b/drivers/infiniband/hw/ehca/ehca_classes.h
index aaf6023a4835..f08f6eaf3fa8 100644
--- a/drivers/infiniband/hw/ehca/ehca_classes.h
+++ b/drivers/infiniband/hw/ehca/ehca_classes.h
@@ -379,8 +379,8 @@ extern spinlock_t shca_list_lock;
379 379
380extern int ehca_static_rate; 380extern int ehca_static_rate;
381extern int ehca_port_act_time; 381extern int ehca_port_act_time;
382extern int ehca_use_hp_mr; 382extern bool ehca_use_hp_mr;
383extern int ehca_scaling_code; 383extern bool ehca_scaling_code;
384extern int ehca_lock_hcalls; 384extern int ehca_lock_hcalls;
385extern int ehca_nr_ports; 385extern int ehca_nr_ports;
386extern int ehca_max_cq; 386extern int ehca_max_cq;
diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
index c240e9972cb0..832e7a7d0aee 100644
--- a/drivers/infiniband/hw/ehca/ehca_main.c
+++ b/drivers/infiniband/hw/ehca/ehca_main.c
@@ -59,16 +59,16 @@ MODULE_AUTHOR("Christoph Raisch <raisch@de.ibm.com>");
59MODULE_DESCRIPTION("IBM eServer HCA InfiniBand Device Driver"); 59MODULE_DESCRIPTION("IBM eServer HCA InfiniBand Device Driver");
60MODULE_VERSION(HCAD_VERSION); 60MODULE_VERSION(HCAD_VERSION);
61 61
62static int ehca_open_aqp1 = 0; 62static bool ehca_open_aqp1 = 0;
63static int ehca_hw_level = 0; 63static int ehca_hw_level = 0;
64static int ehca_poll_all_eqs = 1; 64static bool ehca_poll_all_eqs = 1;
65 65
66int ehca_debug_level = 0; 66int ehca_debug_level = 0;
67int ehca_nr_ports = -1; 67int ehca_nr_ports = -1;
68int ehca_use_hp_mr = 0; 68bool ehca_use_hp_mr = 0;
69int ehca_port_act_time = 30; 69int ehca_port_act_time = 30;
70int ehca_static_rate = -1; 70int ehca_static_rate = -1;
71int ehca_scaling_code = 0; 71bool ehca_scaling_code = 0;
72int ehca_lock_hcalls = -1; 72int ehca_lock_hcalls = -1;
73int ehca_max_cq = -1; 73int ehca_max_cq = -1;
74int ehca_max_qp = -1; 74int ehca_max_qp = -1;
@@ -82,7 +82,7 @@ module_param_named(port_act_time, ehca_port_act_time, int, S_IRUGO);
82module_param_named(poll_all_eqs, ehca_poll_all_eqs, bool, S_IRUGO); 82module_param_named(poll_all_eqs, ehca_poll_all_eqs, bool, S_IRUGO);
83module_param_named(static_rate, ehca_static_rate, int, S_IRUGO); 83module_param_named(static_rate, ehca_static_rate, int, S_IRUGO);
84module_param_named(scaling_code, ehca_scaling_code, bool, S_IRUGO); 84module_param_named(scaling_code, ehca_scaling_code, bool, S_IRUGO);
85module_param_named(lock_hcalls, ehca_lock_hcalls, bool, S_IRUGO); 85module_param_named(lock_hcalls, ehca_lock_hcalls, bint, S_IRUGO);
86module_param_named(number_of_cqs, ehca_max_cq, int, S_IRUGO); 86module_param_named(number_of_cqs, ehca_max_cq, int, S_IRUGO);
87module_param_named(number_of_qps, ehca_max_qp, int, S_IRUGO); 87module_param_named(number_of_qps, ehca_max_qp, int, S_IRUGO);
88 88
diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c
index 5965b3df8f2f..7013da5e9eda 100644
--- a/drivers/infiniband/hw/nes/nes.c
+++ b/drivers/infiniband/hw/nes/nes.c
@@ -96,7 +96,7 @@ unsigned int wqm_quanta = 0x10000;
96module_param(wqm_quanta, int, 0644); 96module_param(wqm_quanta, int, 0644);
97MODULE_PARM_DESC(wqm_quanta, "WQM quanta"); 97MODULE_PARM_DESC(wqm_quanta, "WQM quanta");
98 98
99static unsigned int limit_maxrdreqsz; 99static bool limit_maxrdreqsz;
100module_param(limit_maxrdreqsz, bool, 0644); 100module_param(limit_maxrdreqsz, bool, 0644);
101MODULE_PARM_DESC(limit_maxrdreqsz, "Limit max read request size to 256 Bytes"); 101MODULE_PARM_DESC(limit_maxrdreqsz, "Limit max read request size to 256 Bytes");
102 102
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 32bbd4c77b7c..fd7a0d5bc94d 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -98,15 +98,15 @@
98#define XTYPE_XBOX360W 2 98#define XTYPE_XBOX360W 2
99#define XTYPE_UNKNOWN 3 99#define XTYPE_UNKNOWN 3
100 100
101static int dpad_to_buttons; 101static bool dpad_to_buttons;
102module_param(dpad_to_buttons, bool, S_IRUGO); 102module_param(dpad_to_buttons, bool, S_IRUGO);
103MODULE_PARM_DESC(dpad_to_buttons, "Map D-PAD to buttons rather than axes for unknown pads"); 103MODULE_PARM_DESC(dpad_to_buttons, "Map D-PAD to buttons rather than axes for unknown pads");
104 104
105static int triggers_to_buttons; 105static bool triggers_to_buttons;
106module_param(triggers_to_buttons, bool, S_IRUGO); 106module_param(triggers_to_buttons, bool, S_IRUGO);
107MODULE_PARM_DESC(triggers_to_buttons, "Map triggers to buttons rather than axes for unknown pads"); 107MODULE_PARM_DESC(triggers_to_buttons, "Map triggers to buttons rather than axes for unknown pads");
108 108
109static int sticks_to_null; 109static bool sticks_to_null;
110module_param(sticks_to_null, bool, S_IRUGO); 110module_param(sticks_to_null, bool, S_IRUGO);
111MODULE_PARM_DESC(sticks_to_null, "Do not map sticks at all for unknown pads"); 111MODULE_PARM_DESC(sticks_to_null, "Do not map sticks at all for unknown pads");
112 112
diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c
index 52b419348983..e2bdfd4bea70 100644
--- a/drivers/input/misc/wistron_btns.c
+++ b/drivers/input/misc/wistron_btns.c
@@ -48,7 +48,7 @@ MODULE_DESCRIPTION("Wistron laptop button driver");
48MODULE_LICENSE("GPL v2"); 48MODULE_LICENSE("GPL v2");
49MODULE_VERSION("0.3"); 49MODULE_VERSION("0.3");
50 50
51static int force; /* = 0; */ 51static bool force; /* = 0; */
52module_param(force, bool, 0); 52module_param(force, bool, 0);
53MODULE_PARM_DESC(force, "Load even if computer is not in database"); 53MODULE_PARM_DESC(force, "Load even if computer is not in database");
54 54
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index de7e8bc17b1f..e6c9931f02c7 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -60,7 +60,7 @@ static unsigned int psmouse_rate = 100;
60module_param_named(rate, psmouse_rate, uint, 0644); 60module_param_named(rate, psmouse_rate, uint, 0644);
61MODULE_PARM_DESC(rate, "Report rate, in reports per second."); 61MODULE_PARM_DESC(rate, "Report rate, in reports per second.");
62 62
63static unsigned int psmouse_smartscroll = 1; 63static bool psmouse_smartscroll = 1;
64module_param_named(smartscroll, psmouse_smartscroll, bool, 0644); 64module_param_named(smartscroll, psmouse_smartscroll, bool, 0644);
65MODULE_PARM_DESC(smartscroll, "Logitech Smartscroll autorepeat, 1 = enabled (default), 0 = disabled."); 65MODULE_PARM_DESC(smartscroll, "Logitech Smartscroll autorepeat, 1 = enabled (default), 0 = disabled.");
66 66
diff --git a/drivers/input/mouse/synaptics_i2c.c b/drivers/input/mouse/synaptics_i2c.c
index 4b755cb5b38c..1c58aafa523f 100644
--- a/drivers/input/mouse/synaptics_i2c.c
+++ b/drivers/input/mouse/synaptics_i2c.c
@@ -185,17 +185,17 @@
185#define NO_DATA_SLEEP_MSECS (MSEC_PER_SEC / 4) 185#define NO_DATA_SLEEP_MSECS (MSEC_PER_SEC / 4)
186 186
187/* Control touchpad's No Deceleration option */ 187/* Control touchpad's No Deceleration option */
188static int no_decel = 1; 188static bool no_decel = 1;
189module_param(no_decel, bool, 0644); 189module_param(no_decel, bool, 0644);
190MODULE_PARM_DESC(no_decel, "No Deceleration. Default = 1 (on)"); 190MODULE_PARM_DESC(no_decel, "No Deceleration. Default = 1 (on)");
191 191
192/* Control touchpad's Reduced Reporting option */ 192/* Control touchpad's Reduced Reporting option */
193static int reduce_report; 193static bool reduce_report;
194module_param(reduce_report, bool, 0644); 194module_param(reduce_report, bool, 0644);
195MODULE_PARM_DESC(reduce_report, "Reduced Reporting. Default = 0 (off)"); 195MODULE_PARM_DESC(reduce_report, "Reduced Reporting. Default = 0 (off)");
196 196
197/* Control touchpad's No Filter option */ 197/* Control touchpad's No Filter option */
198static int no_filter; 198static bool no_filter;
199module_param(no_filter, bool, 0644); 199module_param(no_filter, bool, 0644);
200MODULE_PARM_DESC(no_filter, "No Filter. Default = 0 (off)"); 200MODULE_PARM_DESC(no_filter, "No Filter. Default = 0 (off)");
201 201
diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c
index 979c443bf1ef..be3316073ae7 100644
--- a/drivers/input/serio/hp_sdc.c
+++ b/drivers/input/serio/hp_sdc.c
@@ -105,7 +105,7 @@ EXPORT_SYMBOL(__hp_sdc_enqueue_transaction);
105EXPORT_SYMBOL(hp_sdc_enqueue_transaction); 105EXPORT_SYMBOL(hp_sdc_enqueue_transaction);
106EXPORT_SYMBOL(hp_sdc_dequeue_transaction); 106EXPORT_SYMBOL(hp_sdc_dequeue_transaction);
107 107
108static unsigned int hp_sdc_disabled; 108static bool hp_sdc_disabled;
109module_param_named(no_hpsdc, hp_sdc_disabled, bool, 0); 109module_param_named(no_hpsdc, hp_sdc_disabled, bool, 0);
110MODULE_PARM_DESC(no_hpsdc, "Do not enable HP SDC driver."); 110MODULE_PARM_DESC(no_hpsdc, "Do not enable HP SDC driver.");
111 111
diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c
index 7f8f538a9806..1df19bb8534a 100644
--- a/drivers/input/touchscreen/eeti_ts.c
+++ b/drivers/input/touchscreen/eeti_ts.c
@@ -35,11 +35,11 @@
35#include <linux/input/eeti_ts.h> 35#include <linux/input/eeti_ts.h>
36#include <linux/slab.h> 36#include <linux/slab.h>
37 37
38static int flip_x; 38static bool flip_x;
39module_param(flip_x, bool, 0644); 39module_param(flip_x, bool, 0644);
40MODULE_PARM_DESC(flip_x, "flip x coordinate"); 40MODULE_PARM_DESC(flip_x, "flip x coordinate");
41 41
42static int flip_y; 42static bool flip_y;
43module_param(flip_y, bool, 0644); 43module_param(flip_y, bool, 0644);
44MODULE_PARM_DESC(flip_y, "flip y coordinate"); 44MODULE_PARM_DESC(flip_y, "flip y coordinate");
45 45
diff --git a/drivers/input/touchscreen/htcpen.c b/drivers/input/touchscreen/htcpen.c
index 81e338623944..d13143b68b3e 100644
--- a/drivers/input/touchscreen/htcpen.c
+++ b/drivers/input/touchscreen/htcpen.c
@@ -40,10 +40,10 @@ MODULE_LICENSE("GPL");
40#define X_AXIS_MAX 2040 40#define X_AXIS_MAX 2040
41#define Y_AXIS_MAX 2040 41#define Y_AXIS_MAX 2040
42 42
43static int invert_x; 43static bool invert_x;
44module_param(invert_x, bool, 0644); 44module_param(invert_x, bool, 0644);
45MODULE_PARM_DESC(invert_x, "If set, X axis is inverted"); 45MODULE_PARM_DESC(invert_x, "If set, X axis is inverted");
46static int invert_y; 46static bool invert_y;
47module_param(invert_y, bool, 0644); 47module_param(invert_y, bool, 0644);
48MODULE_PARM_DESC(invert_y, "If set, Y axis is inverted"); 48MODULE_PARM_DESC(invert_y, "If set, Y axis is inverted");
49 49
diff --git a/drivers/input/touchscreen/ucb1400_ts.c b/drivers/input/touchscreen/ucb1400_ts.c
index d2b57536feea..46e83ad53f43 100644
--- a/drivers/input/touchscreen/ucb1400_ts.c
+++ b/drivers/input/touchscreen/ucb1400_ts.c
@@ -30,7 +30,7 @@
30 30
31#define UCB1400_TS_POLL_PERIOD 10 /* ms */ 31#define UCB1400_TS_POLL_PERIOD 10 /* ms */
32 32
33static int adcsync; 33static bool adcsync;
34static int ts_delay = 55; /* us */ 34static int ts_delay = 55; /* us */
35static int ts_delay_pressure; /* us */ 35static int ts_delay_pressure; /* us */
36 36
diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
index 06cef3ccc63a..3a5ebf452e81 100644
--- a/drivers/input/touchscreen/usbtouchscreen.c
+++ b/drivers/input/touchscreen/usbtouchscreen.c
@@ -60,11 +60,11 @@
60#define DRIVER_AUTHOR "Daniel Ritz <daniel.ritz@gmx.ch>" 60#define DRIVER_AUTHOR "Daniel Ritz <daniel.ritz@gmx.ch>"
61#define DRIVER_DESC "USB Touchscreen Driver" 61#define DRIVER_DESC "USB Touchscreen Driver"
62 62
63static int swap_xy; 63static bool swap_xy;
64module_param(swap_xy, bool, 0644); 64module_param(swap_xy, bool, 0644);
65MODULE_PARM_DESC(swap_xy, "If set X and Y axes are swapped."); 65MODULE_PARM_DESC(swap_xy, "If set X and Y axes are swapped.");
66 66
67static int hwcalib_xy; 67static bool hwcalib_xy;
68module_param(hwcalib_xy, bool, 0644); 68module_param(hwcalib_xy, bool, 0644);
69MODULE_PARM_DESC(hwcalib_xy, "If set hw-calibrated X/Y are used if available"); 69MODULE_PARM_DESC(hwcalib_xy, "If set hw-calibrated X/Y are used if available");
70 70
diff --git a/drivers/isdn/hardware/avm/b1dma.c b/drivers/isdn/hardware/avm/b1dma.c
index 9c8d7aa053c5..a0ed668d4d2a 100644
--- a/drivers/isdn/hardware/avm/b1dma.c
+++ b/drivers/isdn/hardware/avm/b1dma.c
@@ -40,7 +40,7 @@ MODULE_DESCRIPTION("CAPI4Linux: DMA support for active AVM cards");
40MODULE_AUTHOR("Carsten Paeth"); 40MODULE_AUTHOR("Carsten Paeth");
41MODULE_LICENSE("GPL"); 41MODULE_LICENSE("GPL");
42 42
43static int suppress_pollack = 0; 43static bool suppress_pollack = 0;
44module_param(suppress_pollack, bool, 0); 44module_param(suppress_pollack, bool, 0);
45 45
46/* ------------------------------------------------------------- */ 46/* ------------------------------------------------------------- */
diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/isdn/hardware/avm/c4.c
index d3530f6e8115..9743b24ef9d6 100644
--- a/drivers/isdn/hardware/avm/c4.c
+++ b/drivers/isdn/hardware/avm/c4.c
@@ -40,7 +40,7 @@ static char *revision = "$Revision: 1.1.2.2 $";
40 40
41/* ------------------------------------------------------------- */ 41/* ------------------------------------------------------------- */
42 42
43static int suppress_pollack; 43static bool suppress_pollack;
44 44
45static struct pci_device_id c4_pci_tbl[] = { 45static struct pci_device_id c4_pci_tbl[] = {
46 { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4, 0, 0, (unsigned long)4 }, 46 { PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, PCI_VENDOR_ID_AVM, PCI_DEVICE_ID_AVM_C4, 0, 0, (unsigned long)4 },
diff --git a/drivers/isdn/sc/init.c b/drivers/isdn/sc/init.c
index ca710ab278ec..023de789f250 100644
--- a/drivers/isdn/sc/init.c
+++ b/drivers/isdn/sc/init.c
@@ -30,7 +30,7 @@ static const char *boardname[] = { "DataCommute/BRI", "DataCommute/PRI", "TeleCo
30static unsigned int io[] = {0,0,0,0}; 30static unsigned int io[] = {0,0,0,0};
31static unsigned char irq[] = {0,0,0,0}; 31static unsigned char irq[] = {0,0,0,0};
32static unsigned long ram[] = {0,0,0,0}; 32static unsigned long ram[] = {0,0,0,0};
33static int do_reset = 0; 33static bool do_reset = 0;
34 34
35module_param_array(io, int, NULL, 0); 35module_param_array(io, int, NULL, 0);
36module_param_array(irq, int, NULL, 0); 36module_param_array(irq, int, NULL, 0);
diff --git a/drivers/leds/leds-clevo-mail.c b/drivers/leds/leds-clevo-mail.c
index a498135a4e80..1ed1677c916f 100644
--- a/drivers/leds/leds-clevo-mail.c
+++ b/drivers/leds/leds-clevo-mail.c
@@ -18,7 +18,7 @@ MODULE_AUTHOR("Márton Németh <nm127@freemail.hu>");
18MODULE_DESCRIPTION("Clevo mail LED driver"); 18MODULE_DESCRIPTION("Clevo mail LED driver");
19MODULE_LICENSE("GPL"); 19MODULE_LICENSE("GPL");
20 20
21static unsigned int __initdata nodetect; 21static bool __initdata nodetect;
22module_param_named(nodetect, nodetect, bool, 0); 22module_param_named(nodetect, nodetect, bool, 0);
23MODULE_PARM_DESC(nodetect, "Skip DMI hardware detection"); 23MODULE_PARM_DESC(nodetect, "Skip DMI hardware detection");
24 24
diff --git a/drivers/leds/leds-ss4200.c b/drivers/leds/leds-ss4200.c
index 614ebebaaa28..57371e1485ab 100644
--- a/drivers/leds/leds-ss4200.c
+++ b/drivers/leds/leds-ss4200.c
@@ -79,7 +79,7 @@ static int __init ss4200_led_dmi_callback(const struct dmi_system_id *id)
79 return 1; 79 return 1;
80} 80}
81 81
82static unsigned int __initdata nodetect; 82static bool __initdata nodetect;
83module_param_named(nodetect, nodetect, bool, 0); 83module_param_named(nodetect, nodetect, bool, 0);
84MODULE_PARM_DESC(nodetect, "Skip DMI-based hardware detection"); 84MODULE_PARM_DESC(nodetect, "Skip DMI-based hardware detection");
85 85
diff --git a/drivers/macintosh/ams/ams-core.c b/drivers/macintosh/ams/ams-core.c
index 399beb1638d1..5c6a2d876562 100644
--- a/drivers/macintosh/ams/ams-core.c
+++ b/drivers/macintosh/ams/ams-core.c
@@ -31,7 +31,7 @@
31/* There is only one motion sensor per machine */ 31/* There is only one motion sensor per machine */
32struct ams ams_info; 32struct ams ams_info;
33 33
34static unsigned int verbose; 34static bool verbose;
35module_param(verbose, bool, 0644); 35module_param(verbose, bool, 0644);
36MODULE_PARM_DESC(verbose, "Show free falls and shocks in kernel output"); 36MODULE_PARM_DESC(verbose, "Show free falls and shocks in kernel output");
37 37
diff --git a/drivers/macintosh/ams/ams-input.c b/drivers/macintosh/ams/ams-input.c
index 8a712392cd38..b27e530a87a4 100644
--- a/drivers/macintosh/ams/ams-input.c
+++ b/drivers/macintosh/ams/ams-input.c
@@ -19,11 +19,11 @@
19 19
20#include "ams.h" 20#include "ams.h"
21 21
22static unsigned int joystick; 22static bool joystick;
23module_param(joystick, bool, S_IRUGO); 23module_param(joystick, bool, S_IRUGO);
24MODULE_PARM_DESC(joystick, "Enable the input class device on module load"); 24MODULE_PARM_DESC(joystick, "Enable the input class device on module load");
25 25
26static unsigned int invert; 26static bool invert;
27module_param(invert, bool, S_IWUSR | S_IRUGO); 27module_param(invert, bool, S_IWUSR | S_IRUGO);
28MODULE_PARM_DESC(invert, "Invert input data on X and Y axis"); 28MODULE_PARM_DESC(invert, "Invert input data on X and Y axis");
29 29
diff --git a/drivers/macintosh/therm_adt746x.c b/drivers/macintosh/therm_adt746x.c
index 02367308ff2e..c60d025044ee 100644
--- a/drivers/macintosh/therm_adt746x.c
+++ b/drivers/macintosh/therm_adt746x.c
@@ -52,7 +52,7 @@ static const char *sensor_location[3];
52 52
53static int limit_adjust; 53static int limit_adjust;
54static int fan_speed = -1; 54static int fan_speed = -1;
55static int verbose; 55static bool verbose;
56 56
57MODULE_AUTHOR("Colin Leroy <colin@colino.net>"); 57MODULE_AUTHOR("Colin Leroy <colin@colino.net>");
58MODULE_DESCRIPTION("Driver for ADT746x thermostat in iBook G4 and " 58MODULE_DESCRIPTION("Driver for ADT746x thermostat in iBook G4 and "
diff --git a/drivers/media/dvb/dvb-usb/af9005.c b/drivers/media/dvb/dvb-usb/af9005.c
index bd51a764351b..4fc024d77040 100644
--- a/drivers/media/dvb/dvb-usb/af9005.c
+++ b/drivers/media/dvb/dvb-usb/af9005.c
@@ -30,7 +30,7 @@ MODULE_PARM_DESC(debug,
30 "set debugging level (1=info,xfer=2,rc=4,reg=8,i2c=16,fw=32 (or-able))." 30 "set debugging level (1=info,xfer=2,rc=4,reg=8,i2c=16,fw=32 (or-able))."
31 DVB_USB_DEBUG_STATUS); 31 DVB_USB_DEBUG_STATUS);
32/* enable obnoxious led */ 32/* enable obnoxious led */
33int dvb_usb_af9005_led = 1; 33bool dvb_usb_af9005_led = 1;
34module_param_named(led, dvb_usb_af9005_led, bool, 0644); 34module_param_named(led, dvb_usb_af9005_led, bool, 0644);
35MODULE_PARM_DESC(led, "enable led (default: 1)."); 35MODULE_PARM_DESC(led, "enable led (default: 1).");
36 36
diff --git a/drivers/media/dvb/dvb-usb/af9005.h b/drivers/media/dvb/dvb-usb/af9005.h
index c71c77bd7f4b..6a2bf3de8456 100644
--- a/drivers/media/dvb/dvb-usb/af9005.h
+++ b/drivers/media/dvb/dvb-usb/af9005.h
@@ -35,7 +35,7 @@ extern int dvb_usb_af9005_debug;
35#define deb_i2c(args...) dprintk(dvb_usb_af9005_debug,0x10,args) 35#define deb_i2c(args...) dprintk(dvb_usb_af9005_debug,0x10,args)
36#define deb_fw(args...) dprintk(dvb_usb_af9005_debug,0x20,args) 36#define deb_fw(args...) dprintk(dvb_usb_af9005_debug,0x20,args)
37 37
38extern int dvb_usb_af9005_led; 38extern bool dvb_usb_af9005_led;
39 39
40/* firmware */ 40/* firmware */
41#define FW_BULKOUT_SIZE 250 41#define FW_BULKOUT_SIZE 250
diff --git a/drivers/media/radio/radio-gemtek.c b/drivers/media/radio/radio-gemtek.c
index edadc8449a3d..36ce0611c037 100644
--- a/drivers/media/radio/radio-gemtek.c
+++ b/drivers/media/radio/radio-gemtek.c
@@ -47,11 +47,11 @@ MODULE_VERSION("0.0.4");
47#endif 47#endif
48 48
49static int io = CONFIG_RADIO_GEMTEK_PORT; 49static int io = CONFIG_RADIO_GEMTEK_PORT;
50static int probe = CONFIG_RADIO_GEMTEK_PROBE; 50static bool probe = CONFIG_RADIO_GEMTEK_PROBE;
51static int hardmute; 51static bool hardmute;
52static int shutdown = 1; 52static bool shutdown = 1;
53static int keepmuted = 1; 53static bool keepmuted = 1;
54static int initmute = 1; 54static bool initmute = 1;
55static int radio_nr = -1; 55static int radio_nr = -1;
56 56
57module_param(io, int, 0444); 57module_param(io, int, 0444);
diff --git a/drivers/media/radio/radio-miropcm20.c b/drivers/media/radio/radio-miropcm20.c
index 3fb76e3834c9..87c1ee13b058 100644
--- a/drivers/media/radio/radio-miropcm20.c
+++ b/drivers/media/radio/radio-miropcm20.c
@@ -23,7 +23,7 @@ static int radio_nr = -1;
23module_param(radio_nr, int, 0); 23module_param(radio_nr, int, 0);
24MODULE_PARM_DESC(radio_nr, "Set radio device number (/dev/radioX). Default: -1 (autodetect)"); 24MODULE_PARM_DESC(radio_nr, "Set radio device number (/dev/radioX). Default: -1 (autodetect)");
25 25
26static int mono; 26static bool mono;
27module_param(mono, bool, 0); 27module_param(mono, bool, 0);
28MODULE_PARM_DESC(mono, "Force tuner into mono mode."); 28MODULE_PARM_DESC(mono, "Force tuner into mono mode.");
29 29
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
index 27997a9ceb0d..ca12d3289bfe 100644
--- a/drivers/media/rc/lirc_dev.c
+++ b/drivers/media/rc/lirc_dev.c
@@ -38,7 +38,7 @@
38#include <media/lirc.h> 38#include <media/lirc.h>
39#include <media/lirc_dev.h> 39#include <media/lirc_dev.h>
40 40
41static int debug; 41static bool debug;
42 42
43#define IRCTL_DEV_NAME "BaseRemoteCtl" 43#define IRCTL_DEV_NAME "BaseRemoteCtl"
44#define NOPLUG -1 44#define NOPLUG -1
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
index 20bb12d6fbbe..21105bf9594d 100644
--- a/drivers/media/rc/mceusb.c
+++ b/drivers/media/rc/mceusb.c
@@ -156,9 +156,9 @@
156 156
157/* module parameters */ 157/* module parameters */
158#ifdef CONFIG_USB_DEBUG 158#ifdef CONFIG_USB_DEBUG
159static int debug = 1; 159static bool debug = 1;
160#else 160#else
161static int debug; 161static bool debug;
162#endif 162#endif
163 163
164#define mce_dbg(dev, fmt, ...) \ 164#define mce_dbg(dev, fmt, ...) \
diff --git a/drivers/media/rc/streamzap.c b/drivers/media/rc/streamzap.c
index b1d29d09eeae..d6f4bfe09391 100644
--- a/drivers/media/rc/streamzap.c
+++ b/drivers/media/rc/streamzap.c
@@ -43,9 +43,9 @@
43#define DRIVER_DESC "Streamzap Remote Control driver" 43#define DRIVER_DESC "Streamzap Remote Control driver"
44 44
45#ifdef CONFIG_USB_DEBUG 45#ifdef CONFIG_USB_DEBUG
46static int debug = 1; 46static bool debug = 1;
47#else 47#else
48static int debug; 48static bool debug;
49#endif 49#endif
50 50
51#define USB_STREAMZAP_VENDOR_ID 0x0e9c 51#define USB_STREAMZAP_VENDOR_ID 0x0e9c
diff --git a/drivers/media/rc/winbond-cir.c b/drivers/media/rc/winbond-cir.c
index e7f7a57bf684..b09c5fae489b 100644
--- a/drivers/media/rc/winbond-cir.c
+++ b/drivers/media/rc/winbond-cir.c
@@ -226,11 +226,11 @@ module_param(protocol, uint, 0444);
226MODULE_PARM_DESC(protocol, "IR protocol to use for the power-on command " 226MODULE_PARM_DESC(protocol, "IR protocol to use for the power-on command "
227 "(0 = RC5, 1 = NEC, 2 = RC6A, default)"); 227 "(0 = RC5, 1 = NEC, 2 = RC6A, default)");
228 228
229static int invert; /* default = 0 */ 229static bool invert; /* default = 0 */
230module_param(invert, bool, 0444); 230module_param(invert, bool, 0444);
231MODULE_PARM_DESC(invert, "Invert the signal from the IR receiver"); 231MODULE_PARM_DESC(invert, "Invert the signal from the IR receiver");
232 232
233static int txandrx; /* default = 0 */ 233static bool txandrx; /* default = 0 */
234module_param(txandrx, bool, 0444); 234module_param(txandrx, bool, 0444);
235MODULE_PARM_DESC(invert, "Allow simultaneous TX and RX"); 235MODULE_PARM_DESC(invert, "Allow simultaneous TX and RX");
236 236
diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c
index cd8ff0473184..fda32f52554a 100644
--- a/drivers/media/video/c-qcam.c
+++ b/drivers/media/video/c-qcam.c
@@ -72,7 +72,7 @@ struct qcam {
72 72
73static int parport[MAX_CAMS] = { [1 ... MAX_CAMS-1] = -1 }; 73static int parport[MAX_CAMS] = { [1 ... MAX_CAMS-1] = -1 };
74static int probe = 2; 74static int probe = 2;
75static int force_rgb; 75static bool force_rgb;
76static int video_nr = -1; 76static int video_nr = -1;
77 77
78/* FIXME: parport=auto would never have worked, surely? --RR */ 78/* FIXME: parport=auto would never have worked, surely? --RR */
diff --git a/drivers/media/video/cs5345.c b/drivers/media/video/cs5345.c
index 5909f2557ab4..1d64af9adf71 100644
--- a/drivers/media/video/cs5345.c
+++ b/drivers/media/video/cs5345.c
@@ -31,7 +31,7 @@ MODULE_DESCRIPTION("i2c device driver for cs5345 Audio ADC");
31MODULE_AUTHOR("Hans Verkuil"); 31MODULE_AUTHOR("Hans Verkuil");
32MODULE_LICENSE("GPL"); 32MODULE_LICENSE("GPL");
33 33
34static int debug; 34static bool debug;
35 35
36module_param(debug, bool, 0644); 36module_param(debug, bool, 0644);
37 37
diff --git a/drivers/media/video/cs53l32a.c b/drivers/media/video/cs53l32a.c
index d93e5ab45fd3..51c5b9ad67d8 100644
--- a/drivers/media/video/cs53l32a.c
+++ b/drivers/media/video/cs53l32a.c
@@ -35,7 +35,7 @@ MODULE_DESCRIPTION("i2c device driver for cs53l32a Audio ADC");
35MODULE_AUTHOR("Martin Vaughan"); 35MODULE_AUTHOR("Martin Vaughan");
36MODULE_LICENSE("GPL"); 36MODULE_LICENSE("GPL");
37 37
38static int debug; 38static bool debug;
39 39
40module_param(debug, bool, 0644); 40module_param(debug, bool, 0644);
41 41
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c
index c6ff32a6137c..349bd9c2aff5 100644
--- a/drivers/media/video/cx18/cx18-driver.c
+++ b/drivers/media/video/cx18/cx18-driver.c
@@ -75,7 +75,7 @@ static int radio[CX18_MAX_CARDS] = { -1, -1, -1, -1, -1, -1, -1, -1,
75 -1, -1, -1, -1, -1, -1, -1, -1 }; 75 -1, -1, -1, -1, -1, -1, -1, -1 };
76static unsigned cardtype_c = 1; 76static unsigned cardtype_c = 1;
77static unsigned tuner_c = 1; 77static unsigned tuner_c = 1;
78static unsigned radio_c = 1; 78static bool radio_c = 1;
79static char pal[] = "--"; 79static char pal[] = "--";
80static char secam[] = "--"; 80static char secam[] = "--";
81static char ntsc[] = "-"; 81static char ntsc[] = "-";
diff --git a/drivers/media/video/cx25821/cx25821-alsa.c b/drivers/media/video/cx25821/cx25821-alsa.c
index 09e99de5fd21..58be4f3bb3cb 100644
--- a/drivers/media/video/cx25821/cx25821-alsa.c
+++ b/drivers/media/video/cx25821/cx25821-alsa.c
@@ -102,7 +102,7 @@ struct cx25821_audio_dev {
102 102
103static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 103static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
104static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ 104static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
105static int enable[SNDRV_CARDS] = { 1, [1 ... (SNDRV_CARDS - 1)] = 1 }; 105static bool enable[SNDRV_CARDS] = { 1, [1 ... (SNDRV_CARDS - 1)] = 1 };
106 106
107module_param_array(enable, bool, NULL, 0444); 107module_param_array(enable, bool, NULL, 0444);
108MODULE_PARM_DESC(enable, "Enable cx25821 soundcard. default enabled."); 108MODULE_PARM_DESC(enable, "Enable cx25821 soundcard. default enabled.");
diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
index 68d1240f493c..04bf6627d362 100644
--- a/drivers/media/video/cx88/cx88-alsa.c
+++ b/drivers/media/video/cx88/cx88-alsa.c
@@ -96,7 +96,7 @@ typedef struct cx88_audio_dev snd_cx88_card_t;
96 96
97static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 97static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
98static const char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ 98static const char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
99static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1}; 99static bool enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1};
100 100
101module_param_array(enable, bool, NULL, 0444); 101module_param_array(enable, bool, NULL, 0444);
102MODULE_PARM_DESC(enable, "Enable cx88x soundcard. default enabled."); 102MODULE_PARM_DESC(enable, "Enable cx88x soundcard. default enabled.");
diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c
index 40f214ab924f..5539f09440ac 100644
--- a/drivers/media/video/et61x251/et61x251_core.c
+++ b/drivers/media/video/et61x251/et61x251_core.c
@@ -76,8 +76,8 @@ MODULE_PARM_DESC(video_nr,
76 "\none and for every other camera." 76 "\none and for every other camera."
77 "\n"); 77 "\n");
78 78
79static short force_munmap[] = {[0 ... ET61X251_MAX_DEVICES-1] = 79static bool force_munmap[] = {[0 ... ET61X251_MAX_DEVICES-1] =
80 ET61X251_FORCE_MUNMAP}; 80 ET61X251_FORCE_MUNMAP};
81module_param_array(force_munmap, bool, NULL, 0444); 81module_param_array(force_munmap, bool, NULL, 0444);
82MODULE_PARM_DESC(force_munmap, 82MODULE_PARM_DESC(force_munmap,
83 "\n<0|1[,...]> Force the application to unmap previously" 83 "\n<0|1[,...]> Force the application to unmap previously"
diff --git a/drivers/media/video/gspca/m5602/m5602_core.c b/drivers/media/video/gspca/m5602/m5602_core.c
index 9fe3816b2aa0..0c4493675438 100644
--- a/drivers/media/video/gspca/m5602/m5602_core.c
+++ b/drivers/media/video/gspca/m5602/m5602_core.c
@@ -27,8 +27,8 @@
27 27
28/* Kernel module parameters */ 28/* Kernel module parameters */
29int force_sensor; 29int force_sensor;
30static int dump_bridge; 30static bool dump_bridge;
31int dump_sensor; 31bool dump_sensor;
32 32
33static const struct usb_device_id m5602_table[] = { 33static const struct usb_device_id m5602_table[] = {
34 {USB_DEVICE(0x0402, 0x5602)}, 34 {USB_DEVICE(0x0402, 0x5602)},
diff --git a/drivers/media/video/gspca/m5602/m5602_mt9m111.h b/drivers/media/video/gspca/m5602/m5602_mt9m111.h
index b1f0c492036a..8c672b5c8c6a 100644
--- a/drivers/media/video/gspca/m5602/m5602_mt9m111.h
+++ b/drivers/media/video/gspca/m5602/m5602_mt9m111.h
@@ -106,7 +106,7 @@
106 106
107/* Kernel module parameters */ 107/* Kernel module parameters */
108extern int force_sensor; 108extern int force_sensor;
109extern int dump_sensor; 109extern bool dump_sensor;
110 110
111int mt9m111_probe(struct sd *sd); 111int mt9m111_probe(struct sd *sd);
112int mt9m111_init(struct sd *sd); 112int mt9m111_init(struct sd *sd);
diff --git a/drivers/media/video/gspca/m5602/m5602_ov7660.h b/drivers/media/video/gspca/m5602/m5602_ov7660.h
index 2efd607987ec..2b6a13b508f7 100644
--- a/drivers/media/video/gspca/m5602/m5602_ov7660.h
+++ b/drivers/media/video/gspca/m5602/m5602_ov7660.h
@@ -86,7 +86,7 @@
86 86
87/* Kernel module parameters */ 87/* Kernel module parameters */
88extern int force_sensor; 88extern int force_sensor;
89extern int dump_sensor; 89extern bool dump_sensor;
90 90
91int ov7660_probe(struct sd *sd); 91int ov7660_probe(struct sd *sd);
92int ov7660_init(struct sd *sd); 92int ov7660_init(struct sd *sd);
diff --git a/drivers/media/video/gspca/m5602/m5602_ov9650.h b/drivers/media/video/gspca/m5602/m5602_ov9650.h
index da9a129b739d..f7aa5bf68983 100644
--- a/drivers/media/video/gspca/m5602/m5602_ov9650.h
+++ b/drivers/media/video/gspca/m5602/m5602_ov9650.h
@@ -135,7 +135,7 @@
135 135
136/* Kernel module parameters */ 136/* Kernel module parameters */
137extern int force_sensor; 137extern int force_sensor;
138extern int dump_sensor; 138extern bool dump_sensor;
139 139
140int ov9650_probe(struct sd *sd); 140int ov9650_probe(struct sd *sd);
141int ov9650_init(struct sd *sd); 141int ov9650_init(struct sd *sd);
diff --git a/drivers/media/video/gspca/m5602/m5602_po1030.h b/drivers/media/video/gspca/m5602/m5602_po1030.h
index 338359596398..81a2bcb88fe3 100644
--- a/drivers/media/video/gspca/m5602/m5602_po1030.h
+++ b/drivers/media/video/gspca/m5602/m5602_po1030.h
@@ -147,7 +147,7 @@
147 147
148/* Kernel module parameters */ 148/* Kernel module parameters */
149extern int force_sensor; 149extern int force_sensor;
150extern int dump_sensor; 150extern bool dump_sensor;
151 151
152int po1030_probe(struct sd *sd); 152int po1030_probe(struct sd *sd);
153int po1030_init(struct sd *sd); 153int po1030_init(struct sd *sd);
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k4aa.h b/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
index 8cc7a3f6da72..8e0035e731c7 100644
--- a/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
+++ b/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
@@ -65,7 +65,7 @@
65 65
66/* Kernel module parameters */ 66/* Kernel module parameters */
67extern int force_sensor; 67extern int force_sensor;
68extern int dump_sensor; 68extern bool dump_sensor;
69 69
70int s5k4aa_probe(struct sd *sd); 70int s5k4aa_probe(struct sd *sd);
71int s5k4aa_init(struct sd *sd); 71int s5k4aa_init(struct sd *sd);
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k83a.h b/drivers/media/video/gspca/m5602/m5602_s5k83a.h
index 80a63a236e24..79952247b534 100644
--- a/drivers/media/video/gspca/m5602/m5602_s5k83a.h
+++ b/drivers/media/video/gspca/m5602/m5602_s5k83a.h
@@ -41,7 +41,7 @@
41 41
42/* Kernel module parameters */ 42/* Kernel module parameters */
43extern int force_sensor; 43extern int force_sensor;
44extern int dump_sensor; 44extern bool dump_sensor;
45 45
46int s5k83a_probe(struct sd *sd); 46int s5k83a_probe(struct sd *sd);
47int s5k83a_init(struct sd *sd); 47int s5k83a_init(struct sd *sd);
diff --git a/drivers/media/video/gspca/stv06xx/stv06xx.c b/drivers/media/video/gspca/stv06xx/stv06xx.c
index 0ab425fbea9a..6f878f6c6e99 100644
--- a/drivers/media/video/gspca/stv06xx/stv06xx.c
+++ b/drivers/media/video/gspca/stv06xx/stv06xx.c
@@ -36,8 +36,8 @@ MODULE_AUTHOR("Erik Andrén");
36MODULE_DESCRIPTION("STV06XX USB Camera Driver"); 36MODULE_DESCRIPTION("STV06XX USB Camera Driver");
37MODULE_LICENSE("GPL"); 37MODULE_LICENSE("GPL");
38 38
39static int dump_bridge; 39static bool dump_bridge;
40static int dump_sensor; 40static bool dump_sensor;
41 41
42int stv06xx_write_bridge(struct sd *sd, u16 address, u16 i2c_data) 42int stv06xx_write_bridge(struct sd *sd, u16 address, u16 i2c_data)
43{ 43{
diff --git a/drivers/media/video/hdpvr/hdpvr-core.c b/drivers/media/video/hdpvr/hdpvr-core.c
index 3f1a5b1beeba..e5eb56a5b618 100644
--- a/drivers/media/video/hdpvr/hdpvr-core.c
+++ b/drivers/media/video/hdpvr/hdpvr-core.c
@@ -49,7 +49,7 @@ module_param(default_audio_input, uint, S_IRUGO|S_IWUSR);
49MODULE_PARM_DESC(default_audio_input, "default audio input: 0=RCA back / " 49MODULE_PARM_DESC(default_audio_input, "default audio input: 0=RCA back / "
50 "1=RCA front / 2=S/PDIF"); 50 "1=RCA front / 2=S/PDIF");
51 51
52static int boost_audio; 52static bool boost_audio;
53module_param(boost_audio, bool, S_IRUGO|S_IWUSR); 53module_param(boost_audio, bool, S_IRUGO|S_IWUSR);
54MODULE_PARM_DESC(boost_audio, "boost the audio signal"); 54MODULE_PARM_DESC(boost_audio, "boost the audio signal");
55 55
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c
index 41108a9a195e..544af91cbdc1 100644
--- a/drivers/media/video/ivtv/ivtv-driver.c
+++ b/drivers/media/video/ivtv/ivtv-driver.c
@@ -99,7 +99,7 @@ static int i2c_clock_period[IVTV_MAX_CARDS] = { -1, -1, -1, -1, -1, -1, -1, -1,
99 99
100static unsigned int cardtype_c = 1; 100static unsigned int cardtype_c = 1;
101static unsigned int tuner_c = 1; 101static unsigned int tuner_c = 1;
102static unsigned int radio_c = 1; 102static bool radio_c = 1;
103static unsigned int i2c_clock_period_c = 1; 103static unsigned int i2c_clock_period_c = 1;
104static char pal[] = "---"; 104static char pal[] = "---";
105static char secam[] = "--"; 105static char secam[] = "--";
diff --git a/drivers/media/video/ivtv/ivtvfb.c b/drivers/media/video/ivtv/ivtvfb.c
index 6b7c9c823330..d0fbfcf7133d 100644
--- a/drivers/media/video/ivtv/ivtvfb.c
+++ b/drivers/media/video/ivtv/ivtvfb.c
@@ -58,7 +58,7 @@
58/* card parameters */ 58/* card parameters */
59static int ivtvfb_card_id = -1; 59static int ivtvfb_card_id = -1;
60static int ivtvfb_debug = 0; 60static int ivtvfb_debug = 0;
61static int osd_laced; 61static bool osd_laced;
62static int osd_depth; 62static int osd_depth;
63static int osd_upper; 63static int osd_upper;
64static int osd_left; 64static int osd_left;
diff --git a/drivers/media/video/marvell-ccic/mcam-core.c b/drivers/media/video/marvell-ccic/mcam-core.c
index 80ec64d2d6d8..2c8fc0f6d690 100644
--- a/drivers/media/video/marvell-ccic/mcam-core.c
+++ b/drivers/media/video/marvell-ccic/mcam-core.c
@@ -51,7 +51,7 @@ static int delivered;
51 * sense. 51 * sense.
52 */ 52 */
53 53
54static int alloc_bufs_at_read; 54static bool alloc_bufs_at_read;
55module_param(alloc_bufs_at_read, bool, 0444); 55module_param(alloc_bufs_at_read, bool, 0444);
56MODULE_PARM_DESC(alloc_bufs_at_read, 56MODULE_PARM_DESC(alloc_bufs_at_read,
57 "Non-zero value causes DMA buffers to be allocated when the " 57 "Non-zero value causes DMA buffers to be allocated when the "
@@ -73,11 +73,11 @@ MODULE_PARM_DESC(dma_buf_size,
73 "parameters require larger buffers, an attempt to reallocate " 73 "parameters require larger buffers, an attempt to reallocate "
74 "will be made."); 74 "will be made.");
75#else /* MCAM_MODE_VMALLOC */ 75#else /* MCAM_MODE_VMALLOC */
76static const int alloc_bufs_at_read = 0; 76static const bool alloc_bufs_at_read = 0;
77static const int n_dma_bufs = 3; /* Used by S/G_PARM */ 77static const int n_dma_bufs = 3; /* Used by S/G_PARM */
78#endif /* MCAM_MODE_VMALLOC */ 78#endif /* MCAM_MODE_VMALLOC */
79 79
80static int flip; 80static bool flip;
81module_param(flip, bool, 0444); 81module_param(flip, bool, 0444);
82MODULE_PARM_DESC(flip, 82MODULE_PARM_DESC(flip,
83 "If set, the sensor will be instructed to flip the image " 83 "If set, the sensor will be instructed to flip the image "
diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c
index d0f538857285..d7cd0f633f63 100644
--- a/drivers/media/video/msp3400-driver.c
+++ b/drivers/media/video/msp3400-driver.c
@@ -69,12 +69,12 @@ MODULE_LICENSE("GPL");
69/* module parameters */ 69/* module parameters */
70static int opmode = OPMODE_AUTO; 70static int opmode = OPMODE_AUTO;
71int msp_debug; /* msp_debug output */ 71int msp_debug; /* msp_debug output */
72int msp_once; /* no continuous stereo monitoring */ 72bool msp_once; /* no continuous stereo monitoring */
73int msp_amsound; /* hard-wire AM sound at 6.5 Hz (france), 73bool msp_amsound; /* hard-wire AM sound at 6.5 Hz (france),
74 the autoscan seems work well only with FM... */ 74 the autoscan seems work well only with FM... */
75int msp_standard = 1; /* Override auto detect of audio msp_standard, 75int msp_standard = 1; /* Override auto detect of audio msp_standard,
76 if needed. */ 76 if needed. */
77int msp_dolby; 77bool msp_dolby;
78 78
79int msp_stereo_thresh = 0x190; /* a2 threshold for stereo/bilingual 79int msp_stereo_thresh = 0x190; /* a2 threshold for stereo/bilingual
80 (msp34xxg only) 0x00a0-0x03c0 */ 80 (msp34xxg only) 0x00a0-0x03c0 */
diff --git a/drivers/media/video/msp3400-driver.h b/drivers/media/video/msp3400-driver.h
index 831e8db4368c..fbe5e0715f93 100644
--- a/drivers/media/video/msp3400-driver.h
+++ b/drivers/media/video/msp3400-driver.h
@@ -44,10 +44,10 @@
44 44
45/* module parameters */ 45/* module parameters */
46extern int msp_debug; 46extern int msp_debug;
47extern int msp_once; 47extern bool msp_once;
48extern int msp_amsound; 48extern bool msp_amsound;
49extern int msp_standard; 49extern int msp_standard;
50extern int msp_dolby; 50extern bool msp_dolby;
51extern int msp_stereo_thresh; 51extern int msp_stereo_thresh;
52 52
53struct msp_state { 53struct msp_state {
diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
index ee0d0b39cd17..0de598bf66bb 100644
--- a/drivers/media/video/omap/omap_vout.c
+++ b/drivers/media/video/omap/omap_vout.c
@@ -70,9 +70,9 @@ static u32 video1_numbuffers = 3;
70static u32 video2_numbuffers = 3; 70static u32 video2_numbuffers = 3;
71static u32 video1_bufsize = OMAP_VOUT_MAX_BUF_SIZE; 71static u32 video1_bufsize = OMAP_VOUT_MAX_BUF_SIZE;
72static u32 video2_bufsize = OMAP_VOUT_MAX_BUF_SIZE; 72static u32 video2_bufsize = OMAP_VOUT_MAX_BUF_SIZE;
73static u32 vid1_static_vrfb_alloc; 73static bool vid1_static_vrfb_alloc;
74static u32 vid2_static_vrfb_alloc; 74static bool vid2_static_vrfb_alloc;
75static int debug; 75static bool debug;
76 76
77/* Module parameters */ 77/* Module parameters */
78module_param(video1_numbuffers, uint, S_IRUGO); 78module_param(video1_numbuffers, uint, S_IRUGO);
diff --git a/drivers/media/video/omap/omap_vout_vrfb.c b/drivers/media/video/omap/omap_vout_vrfb.c
index ebebcac49225..4be26abf6cea 100644
--- a/drivers/media/video/omap/omap_vout_vrfb.c
+++ b/drivers/media/video/omap/omap_vout_vrfb.c
@@ -84,7 +84,7 @@ void omap_vout_free_vrfb_buffers(struct omap_vout_device *vout)
84} 84}
85 85
86int omap_vout_setup_vrfb_bufs(struct platform_device *pdev, int vid_num, 86int omap_vout_setup_vrfb_bufs(struct platform_device *pdev, int vid_num,
87 u32 static_vrfb_allocation) 87 bool static_vrfb_allocation)
88{ 88{
89 int ret = 0, i, j; 89 int ret = 0, i, j;
90 struct omap_vout_device *vout; 90 struct omap_vout_device *vout;
diff --git a/drivers/media/video/ov7670.c b/drivers/media/video/ov7670.c
index 8aa058531280..6a564964853a 100644
--- a/drivers/media/video/ov7670.c
+++ b/drivers/media/video/ov7670.c
@@ -25,7 +25,7 @@ MODULE_AUTHOR("Jonathan Corbet <corbet@lwn.net>");
25MODULE_DESCRIPTION("A low-level driver for OmniVision ov7670 sensors"); 25MODULE_DESCRIPTION("A low-level driver for OmniVision ov7670 sensors");
26MODULE_LICENSE("GPL"); 26MODULE_LICENSE("GPL");
27 27
28static int debug; 28static bool debug;
29module_param(debug, bool, 0644); 29module_param(debug, bool, 0644);
30MODULE_PARM_DESC(debug, "Debug level (0-1)"); 30MODULE_PARM_DESC(debug, "Debug level (0-1)");
31 31
diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c
index 5cfdbc78b918..0ef5484696b6 100644
--- a/drivers/media/video/saa7115.c
+++ b/drivers/media/video/saa7115.c
@@ -57,7 +57,7 @@ MODULE_AUTHOR( "Maxim Yevtyushkin, Kevin Thayer, Chris Kennedy, "
57 "Hans Verkuil, Mauro Carvalho Chehab"); 57 "Hans Verkuil, Mauro Carvalho Chehab");
58MODULE_LICENSE("GPL"); 58MODULE_LICENSE("GPL");
59 59
60static int debug; 60static bool debug;
61module_param(debug, bool, 0644); 61module_param(debug, bool, 0644);
62 62
63MODULE_PARM_DESC(debug, "Debug level (0-1)"); 63MODULE_PARM_DESC(debug, "Debug level (0-1)");
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
index 7025be129286..c2882fa5be85 100644
--- a/drivers/media/video/sn9c102/sn9c102_core.c
+++ b/drivers/media/video/sn9c102/sn9c102_core.c
@@ -75,8 +75,8 @@ MODULE_PARM_DESC(video_nr,
75 "\none and for every other camera." 75 "\none and for every other camera."
76 "\n"); 76 "\n");
77 77
78static short force_munmap[] = {[0 ... SN9C102_MAX_DEVICES-1] = 78static bool force_munmap[] = {[0 ... SN9C102_MAX_DEVICES-1] =
79 SN9C102_FORCE_MUNMAP}; 79 SN9C102_FORCE_MUNMAP};
80module_param_array(force_munmap, bool, NULL, 0444); 80module_param_array(force_munmap, bool, NULL, 0444);
81MODULE_PARM_DESC(force_munmap, 81MODULE_PARM_DESC(force_munmap,
82 " <0|1[,...]>" 82 " <0|1[,...]>"
diff --git a/drivers/media/video/stk-webcam.c b/drivers/media/video/stk-webcam.c
index b7fb5a5cad7e..3c61aec517ac 100644
--- a/drivers/media/video/stk-webcam.c
+++ b/drivers/media/video/stk-webcam.c
@@ -38,11 +38,11 @@
38#include "stk-webcam.h" 38#include "stk-webcam.h"
39 39
40 40
41static int hflip = 1; 41static bool hflip = 1;
42module_param(hflip, bool, 0444); 42module_param(hflip, bool, 0444);
43MODULE_PARM_DESC(hflip, "Horizontal image flip (mirror). Defaults to 1"); 43MODULE_PARM_DESC(hflip, "Horizontal image flip (mirror). Defaults to 1");
44 44
45static int vflip = 1; 45static bool vflip = 1;
46module_param(vflip, bool, 0444); 46module_param(vflip, bool, 0444);
47MODULE_PARM_DESC(vflip, "Vertical image flip. Defaults to 1"); 47MODULE_PARM_DESC(vflip, "Vertical image flip. Defaults to 1");
48 48
diff --git a/drivers/media/video/tm6000/tm6000-alsa.c b/drivers/media/video/tm6000/tm6000-alsa.c
index 7d675c72fd47..bb2047c10358 100644
--- a/drivers/media/video/tm6000/tm6000-alsa.c
+++ b/drivers/media/video/tm6000/tm6000-alsa.c
@@ -42,7 +42,7 @@
42 42
43static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 43static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
44 44
45static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1}; 45static bool enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 1};
46 46
47module_param_array(enable, bool, NULL, 0444); 47module_param_array(enable, bool, NULL, 0444);
48MODULE_PARM_DESC(enable, "Enable tm6000x soundcard. default enabled."); 48MODULE_PARM_DESC(enable, "Enable tm6000x soundcard. default enabled.");
diff --git a/drivers/media/video/tvp514x.c b/drivers/media/video/tvp514x.c
index 926f03931156..dd26cacd0556 100644
--- a/drivers/media/video/tvp514x.c
+++ b/drivers/media/video/tvp514x.c
@@ -52,7 +52,7 @@
52#define LOCK_RETRY_DELAY (200) 52#define LOCK_RETRY_DELAY (200)
53 53
54/* Debug functions */ 54/* Debug functions */
55static int debug; 55static bool debug;
56module_param(debug, bool, 0644); 56module_param(debug, bool, 0644);
57MODULE_PARM_DESC(debug, "Debug level (0-1)"); 57MODULE_PARM_DESC(debug, "Debug level (0-1)");
58 58
diff --git a/drivers/media/video/tvp7002.c b/drivers/media/video/tvp7002.c
index 7875e80cb2ff..236c559d5f51 100644
--- a/drivers/media/video/tvp7002.c
+++ b/drivers/media/video/tvp7002.c
@@ -63,7 +63,7 @@ MODULE_LICENSE("GPL");
63#define TVP7002_CL_MASK 0x0f 63#define TVP7002_CL_MASK 0x0f
64 64
65/* Debug functions */ 65/* Debug functions */
66static int debug; 66static bool debug;
67module_param(debug, bool, 0644); 67module_param(debug, bool, 0644);
68MODULE_PARM_DESC(debug, "Debug level (0-2)"); 68MODULE_PARM_DESC(debug, "Debug level (0-2)");
69 69
diff --git a/drivers/media/video/upd64083.c b/drivers/media/video/upd64083.c
index 9bbe61700fd5..65d065aa6091 100644
--- a/drivers/media/video/upd64083.c
+++ b/drivers/media/video/upd64083.c
@@ -34,7 +34,7 @@ MODULE_DESCRIPTION("uPD64083 driver");
34MODULE_AUTHOR("T. Adachi, Takeru KOMORIYA, Hans Verkuil"); 34MODULE_AUTHOR("T. Adachi, Takeru KOMORIYA, Hans Verkuil");
35MODULE_LICENSE("GPL"); 35MODULE_LICENSE("GPL");
36 36
37static int debug; 37static bool debug;
38module_param(debug, bool, 0644); 38module_param(debug, bool, 0644);
39 39
40MODULE_PARM_DESC(debug, "Debug level (0-1)"); 40MODULE_PARM_DESC(debug, "Debug level (0-1)");
diff --git a/drivers/media/video/via-camera.c b/drivers/media/video/via-camera.c
index cbf13d09b4ac..bfae41ba53c3 100644
--- a/drivers/media/video/via-camera.c
+++ b/drivers/media/video/via-camera.c
@@ -34,13 +34,13 @@ MODULE_AUTHOR("Jonathan Corbet <corbet@lwn.net>");
34MODULE_DESCRIPTION("VIA framebuffer-based camera controller driver"); 34MODULE_DESCRIPTION("VIA framebuffer-based camera controller driver");
35MODULE_LICENSE("GPL"); 35MODULE_LICENSE("GPL");
36 36
37static int flip_image; 37static bool flip_image;
38module_param(flip_image, bool, 0444); 38module_param(flip_image, bool, 0444);
39MODULE_PARM_DESC(flip_image, 39MODULE_PARM_DESC(flip_image,
40 "If set, the sensor will be instructed to flip the image " 40 "If set, the sensor will be instructed to flip the image "
41 "vertically."); 41 "vertically.");
42 42
43static int override_serial; 43static bool override_serial;
44module_param(override_serial, bool, 0444); 44module_param(override_serial, bool, 0444);
45MODULE_PARM_DESC(override_serial, 45MODULE_PARM_DESC(override_serial,
46 "The camera driver will normally refuse to load if " 46 "The camera driver will normally refuse to load if "
diff --git a/drivers/media/video/zoran/zoran_device.c b/drivers/media/video/zoran/zoran_device.c
index e8a27844bf39..e86173bd1327 100644
--- a/drivers/media/video/zoran/zoran_device.c
+++ b/drivers/media/video/zoran/zoran_device.c
@@ -57,7 +57,7 @@
57 ZR36057_ISR_GIRQ1 | \ 57 ZR36057_ISR_GIRQ1 | \
58 ZR36057_ISR_JPEGRepIRQ ) 58 ZR36057_ISR_JPEGRepIRQ )
59 59
60static int lml33dpath; /* default = 0 60static bool lml33dpath; /* default = 0
61 * 1 will use digital path in capture 61 * 1 will use digital path in capture
62 * mode instead of analog. It can be 62 * mode instead of analog. It can be
63 * used for picture adjustments using 63 * used for picture adjustments using
diff --git a/drivers/media/video/zoran/zr36060.c b/drivers/media/video/zoran/zr36060.c
index 5e4f57cbf314..f08546fe2234 100644
--- a/drivers/media/video/zoran/zr36060.c
+++ b/drivers/media/video/zoran/zr36060.c
@@ -50,7 +50,7 @@
50/* amount of chips attached via this driver */ 50/* amount of chips attached via this driver */
51static int zr36060_codecs; 51static int zr36060_codecs;
52 52
53static int low_bitrate; 53static bool low_bitrate;
54module_param(low_bitrate, bool, 0); 54module_param(low_bitrate, bool, 0);
55MODULE_PARM_DESC(low_bitrate, "Buz compatibility option, halves bitrate"); 55MODULE_PARM_DESC(low_bitrate, "Buz compatibility option, halves bitrate");
56 56
diff --git a/drivers/memstick/host/jmb38x_ms.c b/drivers/memstick/host/jmb38x_ms.c
index 6ce70e9615d3..5319e9b65847 100644
--- a/drivers/memstick/host/jmb38x_ms.c
+++ b/drivers/memstick/host/jmb38x_ms.c
@@ -21,7 +21,7 @@
21 21
22#define DRIVER_NAME "jmb38x_ms" 22#define DRIVER_NAME "jmb38x_ms"
23 23
24static int no_dma; 24static bool no_dma;
25module_param(no_dma, bool, 0644); 25module_param(no_dma, bool, 0644);
26 26
27enum { 27enum {
diff --git a/drivers/memstick/host/r592.c b/drivers/memstick/host/r592.c
index 668f5c6a0399..29b2172ae18f 100644
--- a/drivers/memstick/host/r592.c
+++ b/drivers/memstick/host/r592.c
@@ -23,7 +23,7 @@
23#include <linux/swab.h> 23#include <linux/swab.h>
24#include "r592.h" 24#include "r592.h"
25 25
26static int r592_enable_dma = 1; 26static bool r592_enable_dma = 1;
27static int debug; 27static int debug;
28 28
29static const char *tpc_names[] = { 29static const char *tpc_names[] = {
diff --git a/drivers/memstick/host/tifm_ms.c b/drivers/memstick/host/tifm_ms.c
index b7aacf47703a..6902b83eb1b4 100644
--- a/drivers/memstick/host/tifm_ms.c
+++ b/drivers/memstick/host/tifm_ms.c
@@ -22,7 +22,7 @@
22 22
23#define DRIVER_NAME "tifm_ms" 23#define DRIVER_NAME "tifm_ms"
24 24
25static int no_dma; 25static bool no_dma;
26module_param(no_dma, bool, 0644); 26module_param(no_dma, bool, 0644);
27 27
28/* 28/*
diff --git a/drivers/mfd/janz-cmodio.c b/drivers/mfd/janz-cmodio.c
index 5c2a06acb77f..a9223ed1b7c5 100644
--- a/drivers/mfd/janz-cmodio.c
+++ b/drivers/mfd/janz-cmodio.c
@@ -33,7 +33,7 @@
33 33
34/* Module Parameters */ 34/* Module Parameters */
35static unsigned int num_modules = CMODIO_MAX_MODULES; 35static unsigned int num_modules = CMODIO_MAX_MODULES;
36static unsigned char *modules[CMODIO_MAX_MODULES] = { 36static char *modules[CMODIO_MAX_MODULES] = {
37 "empty", "empty", "empty", "empty", 37 "empty", "empty", "empty", "empty",
38}; 38};
39 39
diff --git a/drivers/misc/iwmc3200top/main.c b/drivers/misc/iwmc3200top/main.c
index b1f4563be9ae..701eb600b127 100644
--- a/drivers/misc/iwmc3200top/main.c
+++ b/drivers/misc/iwmc3200top/main.c
@@ -376,20 +376,20 @@ static int blocks;
376module_param(blocks, int, 0604); 376module_param(blocks, int, 0604);
377MODULE_PARM_DESC(blocks, "max_blocks_to_send"); 377MODULE_PARM_DESC(blocks, "max_blocks_to_send");
378 378
379static int dump; 379static bool dump;
380module_param(dump, bool, 0604); 380module_param(dump, bool, 0604);
381MODULE_PARM_DESC(dump, "dump_hex_content"); 381MODULE_PARM_DESC(dump, "dump_hex_content");
382 382
383static int jump = 1; 383static bool jump = 1;
384module_param(jump, bool, 0604); 384module_param(jump, bool, 0604);
385 385
386static int direct = 1; 386static bool direct = 1;
387module_param(direct, bool, 0604); 387module_param(direct, bool, 0604);
388 388
389static int checksum = 1; 389static bool checksum = 1;
390module_param(checksum, bool, 0604); 390module_param(checksum, bool, 0604);
391 391
392static int fw_download = 1; 392static bool fw_download = 1;
393module_param(fw_download, bool, 0604); 393module_param(fw_download, bool, 0604);
394 394
395static int block_size = IWMC_SDIO_BLK_SIZE; 395static int block_size = IWMC_SDIO_BLK_SIZE;
@@ -398,7 +398,7 @@ module_param(block_size, int, 0404);
398static int download_trans_blks = IWMC_DEFAULT_TR_BLK; 398static int download_trans_blks = IWMC_DEFAULT_TR_BLK;
399module_param(download_trans_blks, int, 0604); 399module_param(download_trans_blks, int, 0604);
400 400
401static int rubbish_barker; 401static bool rubbish_barker;
402module_param(rubbish_barker, bool, 0604); 402module_param(rubbish_barker, bool, 0604);
403 403
404#ifdef CONFIG_IWMC3200TOP_DEBUG 404#ifdef CONFIG_IWMC3200TOP_DEBUG
diff --git a/drivers/misc/lis3lv02d/lis3lv02d.c b/drivers/misc/lis3lv02d/lis3lv02d.c
index 29d12a70eb1b..a981e2a42f92 100644
--- a/drivers/misc/lis3lv02d/lis3lv02d.c
+++ b/drivers/misc/lis3lv02d/lis3lv02d.c
@@ -111,6 +111,8 @@ static struct kernel_param_ops param_ops_axis = {
111 .get = param_get_int, 111 .get = param_get_int,
112}; 112};
113 113
114#define param_check_axis(name, p) param_check_int(name, p)
115
114module_param_array_named(axes, lis3_dev.ac.as_array, axis, NULL, 0644); 116module_param_array_named(axes, lis3_dev.ac.as_array, axis, NULL, 0644);
115MODULE_PARM_DESC(axes, "Axis-mapping for x,y,z directions"); 117MODULE_PARM_DESC(axes, "Axis-mapping for x,y,z directions");
116 118
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index bec0bf21c879..f545a3e6eb80 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -48,7 +48,7 @@ static struct workqueue_struct *workqueue;
48 * performance cost, and for other reasons may not always be desired. 48 * performance cost, and for other reasons may not always be desired.
49 * So we allow it it to be disabled. 49 * So we allow it it to be disabled.
50 */ 50 */
51int use_spi_crc = 1; 51bool use_spi_crc = 1;
52module_param(use_spi_crc, bool, 0); 52module_param(use_spi_crc, bool, 0);
53 53
54/* 54/*
@@ -58,9 +58,9 @@ module_param(use_spi_crc, bool, 0);
58 * overridden if necessary. 58 * overridden if necessary.
59 */ 59 */
60#ifdef CONFIG_MMC_UNSAFE_RESUME 60#ifdef CONFIG_MMC_UNSAFE_RESUME
61int mmc_assume_removable; 61bool mmc_assume_removable;
62#else 62#else
63int mmc_assume_removable = 1; 63bool mmc_assume_removable = 1;
64#endif 64#endif
65EXPORT_SYMBOL(mmc_assume_removable); 65EXPORT_SYMBOL(mmc_assume_removable);
66module_param_named(removable, mmc_assume_removable, bool, 0644); 66module_param_named(removable, mmc_assume_removable, bool, 0644);
diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
index 34009241213c..3bdafbca354f 100644
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
@@ -67,7 +67,7 @@ int mmc_attach_sd(struct mmc_host *host);
67int mmc_attach_sdio(struct mmc_host *host); 67int mmc_attach_sdio(struct mmc_host *host);
68 68
69/* Module parameters */ 69/* Module parameters */
70extern int use_spi_crc; 70extern bool use_spi_crc;
71 71
72/* Debugfs information for hosts and cards */ 72/* Debugfs information for hosts and cards */
73void mmc_add_host_debugfs(struct mmc_host *host); 73void mmc_add_host_debugfs(struct mmc_host *host);
diff --git a/drivers/mmc/host/tifm_sd.c b/drivers/mmc/host/tifm_sd.c
index fc00081687b9..43d962829f8e 100644
--- a/drivers/mmc/host/tifm_sd.c
+++ b/drivers/mmc/host/tifm_sd.c
@@ -22,8 +22,8 @@
22#define DRIVER_NAME "tifm_sd" 22#define DRIVER_NAME "tifm_sd"
23#define DRIVER_VERSION "0.8" 23#define DRIVER_VERSION "0.8"
24 24
25static int no_dma = 0; 25static bool no_dma = 0;
26static int fixed_timeout = 0; 26static bool fixed_timeout = 0;
27module_param(no_dma, bool, 0644); 27module_param(no_dma, bool, 0644);
28module_param(fixed_timeout, bool, 0644); 28module_param(fixed_timeout, bool, 0644);
29 29
diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c
index 2ec978bc32ba..3135a1a5d75d 100644
--- a/drivers/mmc/host/vub300.c
+++ b/drivers/mmc/host/vub300.c
@@ -223,25 +223,25 @@ enum SD_RESPONSE_TYPE {
223#define FUN(c) (0x000007 & (c->arg>>28)) 223#define FUN(c) (0x000007 & (c->arg>>28))
224#define REG(c) (0x01FFFF & (c->arg>>9)) 224#define REG(c) (0x01FFFF & (c->arg>>9))
225 225
226static int limit_speed_to_24_MHz; 226static bool limit_speed_to_24_MHz;
227module_param(limit_speed_to_24_MHz, bool, 0644); 227module_param(limit_speed_to_24_MHz, bool, 0644);
228MODULE_PARM_DESC(limit_speed_to_24_MHz, "Limit Max SDIO Clock Speed to 24 MHz"); 228MODULE_PARM_DESC(limit_speed_to_24_MHz, "Limit Max SDIO Clock Speed to 24 MHz");
229 229
230static int pad_input_to_usb_pkt; 230static bool pad_input_to_usb_pkt;
231module_param(pad_input_to_usb_pkt, bool, 0644); 231module_param(pad_input_to_usb_pkt, bool, 0644);
232MODULE_PARM_DESC(pad_input_to_usb_pkt, 232MODULE_PARM_DESC(pad_input_to_usb_pkt,
233 "Pad USB data input transfers to whole USB Packet"); 233 "Pad USB data input transfers to whole USB Packet");
234 234
235static int disable_offload_processing; 235static bool disable_offload_processing;
236module_param(disable_offload_processing, bool, 0644); 236module_param(disable_offload_processing, bool, 0644);
237MODULE_PARM_DESC(disable_offload_processing, "Disable Offload Processing"); 237MODULE_PARM_DESC(disable_offload_processing, "Disable Offload Processing");
238 238
239static int force_1_bit_data_xfers; 239static bool force_1_bit_data_xfers;
240module_param(force_1_bit_data_xfers, bool, 0644); 240module_param(force_1_bit_data_xfers, bool, 0644);
241MODULE_PARM_DESC(force_1_bit_data_xfers, 241MODULE_PARM_DESC(force_1_bit_data_xfers,
242 "Force SDIO Data Transfers to 1-bit Mode"); 242 "Force SDIO Data Transfers to 1-bit Mode");
243 243
244static int force_polling_for_irqs; 244static bool force_polling_for_irqs;
245module_param(force_polling_for_irqs, bool, 0644); 245module_param(force_polling_for_irqs, bool, 0644);
246MODULE_PARM_DESC(force_polling_for_irqs, "Force Polling for SDIO interrupts"); 246MODULE_PARM_DESC(force_polling_for_irqs, "Force Polling for SDIO interrupts");
247 247
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 8544d6bf50a0..5c3d719c37e6 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -185,7 +185,7 @@ struct pxa3xx_nand_info {
185 uint32_t ndcb2; 185 uint32_t ndcb2;
186}; 186};
187 187
188static int use_dma = 1; 188static bool use_dma = 1;
189module_param(use_dma, bool, 0444); 189module_param(use_dma, bool, 0444);
190MODULE_PARM_DESC(use_dma, "enable DMA for data transferring to/from NAND HW"); 190MODULE_PARM_DESC(use_dma, "enable DMA for data transferring to/from NAND HW");
191 191
diff --git a/drivers/mtd/nand/r852.c b/drivers/mtd/nand/r852.c
index f20f393bfda6..769a4e096b3c 100644
--- a/drivers/mtd/nand/r852.c
+++ b/drivers/mtd/nand/r852.c
@@ -22,7 +22,7 @@
22#include "r852.h" 22#include "r852.h"
23 23
24 24
25static int r852_enable_dma = 1; 25static bool r852_enable_dma = 1;
26module_param(r852_enable_dma, bool, S_IRUGO); 26module_param(r852_enable_dma, bool, S_IRUGO);
27MODULE_PARM_DESC(r852_enable_dma, "Enable usage of the DMA (default)"); 27MODULE_PARM_DESC(r852_enable_dma, "Enable usage of the DMA (default)");
28 28
diff --git a/drivers/parport/parport_ip32.c b/drivers/parport/parport_ip32.c
index 0dc34f12f92e..d4716273651e 100644
--- a/drivers/parport/parport_ip32.c
+++ b/drivers/parport/parport_ip32.c
@@ -135,7 +135,7 @@
135#define PARPORT_IP32_ENABLE_EPP (1U << 3) 135#define PARPORT_IP32_ENABLE_EPP (1U << 3)
136#define PARPORT_IP32_ENABLE_ECP (1U << 4) 136#define PARPORT_IP32_ENABLE_ECP (1U << 4)
137static unsigned int features = ~0U; 137static unsigned int features = ~0U;
138static int verbose_probing = DEFAULT_VERBOSE_PROBING; 138static bool verbose_probing = DEFAULT_VERBOSE_PROBING;
139 139
140/* We do not support more than one port. */ 140/* We do not support more than one port. */
141static struct parport *this_port = NULL; 141static struct parport *this_port = NULL;
diff --git a/drivers/pci/hotplug/acpi_pcihp.c b/drivers/pci/hotplug/acpi_pcihp.c
index 095f29e13734..2a47e82821da 100644
--- a/drivers/pci/hotplug/acpi_pcihp.c
+++ b/drivers/pci/hotplug/acpi_pcihp.c
@@ -44,7 +44,7 @@
44#define METHOD_NAME__SUN "_SUN" 44#define METHOD_NAME__SUN "_SUN"
45#define METHOD_NAME_OSHP "OSHP" 45#define METHOD_NAME_OSHP "OSHP"
46 46
47static int debug_acpi; 47static bool debug_acpi;
48 48
49static acpi_status 49static acpi_status
50decode_type0_hpx_record(union acpi_object *record, struct hotplug_params *hpx) 50decode_type0_hpx_record(union acpi_object *record, struct hotplug_params *hpx)
diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c
index efa9f2de51c1..aa41631e9e02 100644
--- a/drivers/pci/hotplug/acpiphp_core.c
+++ b/drivers/pci/hotplug/acpiphp_core.c
@@ -47,7 +47,7 @@
47/* name size which is used for entries in pcihpfs */ 47/* name size which is used for entries in pcihpfs */
48#define SLOT_NAME_SIZE 21 /* {_SUN} */ 48#define SLOT_NAME_SIZE 21 /* {_SUN} */
49 49
50static int debug; 50static bool debug;
51int acpiphp_debug; 51int acpiphp_debug;
52 52
53/* local variables */ 53/* local variables */
diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
index e525263210ee..c35e8ad6db01 100644
--- a/drivers/pci/hotplug/acpiphp_ibm.c
+++ b/drivers/pci/hotplug/acpiphp_ibm.c
@@ -43,7 +43,7 @@
43#define DRIVER_AUTHOR "Irene Zubarev <zubarev@us.ibm.com>, Vernon Mauery <vernux@us.ibm.com>" 43#define DRIVER_AUTHOR "Irene Zubarev <zubarev@us.ibm.com>, Vernon Mauery <vernux@us.ibm.com>"
44#define DRIVER_DESC "ACPI Hot Plug PCI Controller Driver IBM extension" 44#define DRIVER_DESC "ACPI Hot Plug PCI Controller Driver IBM extension"
45 45
46static int debug; 46static bool debug;
47 47
48MODULE_AUTHOR(DRIVER_AUTHOR); 48MODULE_AUTHOR(DRIVER_AUTHOR);
49MODULE_DESCRIPTION(DRIVER_DESC); 49MODULE_DESCRIPTION(DRIVER_DESC);
diff --git a/drivers/pci/hotplug/cpcihp_zt5550.c b/drivers/pci/hotplug/cpcihp_zt5550.c
index 41f6a8d79c81..6bf8d2ab164f 100644
--- a/drivers/pci/hotplug/cpcihp_zt5550.c
+++ b/drivers/pci/hotplug/cpcihp_zt5550.c
@@ -57,8 +57,8 @@
57#define warn(format, arg...) printk(KERN_WARNING "%s: " format "\n", MY_NAME , ## arg) 57#define warn(format, arg...) printk(KERN_WARNING "%s: " format "\n", MY_NAME , ## arg)
58 58
59/* local variables */ 59/* local variables */
60static int debug; 60static bool debug;
61static int poll; 61static bool poll;
62static struct cpci_hp_controller_ops zt5550_hpc_ops; 62static struct cpci_hp_controller_ops zt5550_hpc_ops;
63static struct cpci_hp_controller zt5550_hpc; 63static struct cpci_hp_controller zt5550_hpc;
64 64
diff --git a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c
index f1ce99cceac6..187a199da93c 100644
--- a/drivers/pci/hotplug/cpqphp_core.c
+++ b/drivers/pci/hotplug/cpqphp_core.c
@@ -57,8 +57,8 @@ struct irq_routing_table *cpqhp_routing_table;
57static void __iomem *smbios_table; 57static void __iomem *smbios_table;
58static void __iomem *smbios_start; 58static void __iomem *smbios_start;
59static void __iomem *cpqhp_rom_start; 59static void __iomem *cpqhp_rom_start;
60static int power_mode; 60static bool power_mode;
61static int debug; 61static bool debug;
62static int initialized; 62static int initialized;
63 63
64#define DRIVER_VERSION "0.9.8" 64#define DRIVER_VERSION "0.9.8"
diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c
index d934dd4fa873..5506e0e8fbc0 100644
--- a/drivers/pci/hotplug/ibmphp_core.c
+++ b/drivers/pci/hotplug/ibmphp_core.c
@@ -49,7 +49,7 @@
49 49
50int ibmphp_debug; 50int ibmphp_debug;
51 51
52static int debug; 52static bool debug;
53module_param(debug, bool, S_IRUGO | S_IWUSR); 53module_param(debug, bool, S_IRUGO | S_IWUSR);
54MODULE_PARM_DESC (debug, "Debugging mode enabled or not"); 54MODULE_PARM_DESC (debug, "Debugging mode enabled or not");
55MODULE_LICENSE ("GPL"); 55MODULE_LICENSE ("GPL");
diff --git a/drivers/pci/hotplug/pci_hotplug_core.c b/drivers/pci/hotplug/pci_hotplug_core.c
index 6d2eea93298f..202f4a969eb5 100644
--- a/drivers/pci/hotplug/pci_hotplug_core.c
+++ b/drivers/pci/hotplug/pci_hotplug_core.c
@@ -51,7 +51,7 @@
51 51
52 52
53/* local variables */ 53/* local variables */
54static int debug; 54static bool debug;
55 55
56#define DRIVER_VERSION "0.5" 56#define DRIVER_VERSION "0.5"
57#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Scott Murray <scottm@somanetworks.com>" 57#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Scott Murray <scottm@somanetworks.com>"
diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h
index 9a33fdde2d16..4b7cce1de6ec 100644
--- a/drivers/pci/hotplug/pciehp.h
+++ b/drivers/pci/hotplug/pciehp.h
@@ -40,10 +40,10 @@
40 40
41#define MY_NAME "pciehp" 41#define MY_NAME "pciehp"
42 42
43extern int pciehp_poll_mode; 43extern bool pciehp_poll_mode;
44extern int pciehp_poll_time; 44extern int pciehp_poll_time;
45extern int pciehp_debug; 45extern bool pciehp_debug;
46extern int pciehp_force; 46extern bool pciehp_force;
47extern struct workqueue_struct *pciehp_wq; 47extern struct workqueue_struct *pciehp_wq;
48 48
49#define dbg(format, arg...) \ 49#define dbg(format, arg...) \
diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c
index b8c99d35ac97..365c6b96c642 100644
--- a/drivers/pci/hotplug/pciehp_core.c
+++ b/drivers/pci/hotplug/pciehp_core.c
@@ -38,10 +38,10 @@
38#include <linux/time.h> 38#include <linux/time.h>
39 39
40/* Global variables */ 40/* Global variables */
41int pciehp_debug; 41bool pciehp_debug;
42int pciehp_poll_mode; 42bool pciehp_poll_mode;
43int pciehp_poll_time; 43int pciehp_poll_time;
44int pciehp_force; 44bool pciehp_force;
45struct workqueue_struct *pciehp_wq; 45struct workqueue_struct *pciehp_wq;
46 46
47#define DRIVER_VERSION "0.4" 47#define DRIVER_VERSION "0.4"
diff --git a/drivers/pci/hotplug/pcihp_skeleton.c b/drivers/pci/hotplug/pcihp_skeleton.c
index 5175d9b26f0b..b20ceaaa31f4 100644
--- a/drivers/pci/hotplug/pcihp_skeleton.c
+++ b/drivers/pci/hotplug/pcihp_skeleton.c
@@ -59,7 +59,7 @@ static LIST_HEAD(slot_list);
59#define warn(format, arg...) printk(KERN_WARNING "%s: " format "\n", MY_NAME , ## arg) 59#define warn(format, arg...) printk(KERN_WARNING "%s: " format "\n", MY_NAME , ## arg)
60 60
61/* local variables */ 61/* local variables */
62static int debug; 62static bool debug;
63static int num_slots; 63static int num_slots;
64 64
65#define DRIVER_VERSION "0.3" 65#define DRIVER_VERSION "0.3"
diff --git a/drivers/pci/hotplug/rpaphp.h b/drivers/pci/hotplug/rpaphp.h
index 419919a87b0f..df5677440a08 100644
--- a/drivers/pci/hotplug/rpaphp.h
+++ b/drivers/pci/hotplug/rpaphp.h
@@ -46,7 +46,7 @@
46#define PRESENT 1 /* Card in slot */ 46#define PRESENT 1 /* Card in slot */
47 47
48#define MY_NAME "rpaphp" 48#define MY_NAME "rpaphp"
49extern int rpaphp_debug; 49extern bool rpaphp_debug;
50#define dbg(format, arg...) \ 50#define dbg(format, arg...) \
51 do { \ 51 do { \
52 if (rpaphp_debug) \ 52 if (rpaphp_debug) \
diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c
index 758adb5f47fd..127d6e600185 100644
--- a/drivers/pci/hotplug/rpaphp_core.c
+++ b/drivers/pci/hotplug/rpaphp_core.c
@@ -37,7 +37,7 @@
37 /* and pci_do_scan_bus */ 37 /* and pci_do_scan_bus */
38#include "rpaphp.h" 38#include "rpaphp.h"
39 39
40int rpaphp_debug; 40bool rpaphp_debug;
41LIST_HEAD(rpaphp_slot_head); 41LIST_HEAD(rpaphp_slot_head);
42 42
43#define DRIVER_VERSION "0.1" 43#define DRIVER_VERSION "0.1"
diff --git a/drivers/pci/hotplug/shpchp.h b/drivers/pci/hotplug/shpchp.h
index e0c90e643b5f..ca64932e658b 100644
--- a/drivers/pci/hotplug/shpchp.h
+++ b/drivers/pci/hotplug/shpchp.h
@@ -43,9 +43,9 @@
43 #define MY_NAME THIS_MODULE->name 43 #define MY_NAME THIS_MODULE->name
44#endif 44#endif
45 45
46extern int shpchp_poll_mode; 46extern bool shpchp_poll_mode;
47extern int shpchp_poll_time; 47extern int shpchp_poll_time;
48extern int shpchp_debug; 48extern bool shpchp_debug;
49extern struct workqueue_struct *shpchp_wq; 49extern struct workqueue_struct *shpchp_wq;
50extern struct workqueue_struct *shpchp_ordered_wq; 50extern struct workqueue_struct *shpchp_ordered_wq;
51 51
diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c
index dd7e0c51a33e..7414fd9ad1d2 100644
--- a/drivers/pci/hotplug/shpchp_core.c
+++ b/drivers/pci/hotplug/shpchp_core.c
@@ -36,8 +36,8 @@
36#include "shpchp.h" 36#include "shpchp.h"
37 37
38/* Global variables */ 38/* Global variables */
39int shpchp_debug; 39bool shpchp_debug;
40int shpchp_poll_mode; 40bool shpchp_poll_mode;
41int shpchp_poll_time; 41int shpchp_poll_time;
42struct workqueue_struct *shpchp_wq; 42struct workqueue_struct *shpchp_wq;
43struct workqueue_struct *shpchp_ordered_wq; 43struct workqueue_struct *shpchp_ordered_wq;
diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c
index 95489cd9a555..52229863e9fe 100644
--- a/drivers/pci/pcie/aer/aer_inject.c
+++ b/drivers/pci/pcie/aer/aer_inject.c
@@ -28,7 +28,7 @@
28#include "aerdrv.h" 28#include "aerdrv.h"
29 29
30/* Override the existing corrected and uncorrected error masks */ 30/* Override the existing corrected and uncorrected error masks */
31static int aer_mask_override; 31static bool aer_mask_override;
32module_param(aer_mask_override, bool, 0); 32module_param(aer_mask_override, bool, 0);
33 33
34struct aer_error_inj { 34struct aer_error_inj {
diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c
index 9674e9f30d49..0ca053538146 100644
--- a/drivers/pci/pcie/aer/aerdrv_core.c
+++ b/drivers/pci/pcie/aer/aerdrv_core.c
@@ -27,8 +27,8 @@
27#include <linux/kfifo.h> 27#include <linux/kfifo.h>
28#include "aerdrv.h" 28#include "aerdrv.h"
29 29
30static int forceload; 30static bool forceload;
31static int nosourceid; 31static bool nosourceid;
32module_param(forceload, bool, 0); 32module_param(forceload, bool, 0);
33module_param(nosourceid, bool, 0); 33module_param(nosourceid, bool, 0);
34 34
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 9dc565c615bd..849c0c11d2af 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -24,15 +24,15 @@
24#include "yenta_socket.h" 24#include "yenta_socket.h"
25#include "i82365.h" 25#include "i82365.h"
26 26
27static int disable_clkrun; 27static bool disable_clkrun;
28module_param(disable_clkrun, bool, 0444); 28module_param(disable_clkrun, bool, 0444);
29MODULE_PARM_DESC(disable_clkrun, "If PC card doesn't function properly, please try this option"); 29MODULE_PARM_DESC(disable_clkrun, "If PC card doesn't function properly, please try this option");
30 30
31static int isa_probe = 1; 31static bool isa_probe = 1;
32module_param(isa_probe, bool, 0444); 32module_param(isa_probe, bool, 0444);
33MODULE_PARM_DESC(isa_probe, "If set ISA interrupts are probed (default). Set to N to disable probing"); 33MODULE_PARM_DESC(isa_probe, "If set ISA interrupts are probed (default). Set to N to disable probing");
34 34
35static int pwr_irqs_off; 35static bool pwr_irqs_off;
36module_param(pwr_irqs_off, bool, 0644); 36module_param(pwr_irqs_off, bool, 0644);
37MODULE_PARM_DESC(pwr_irqs_off, "Force IRQs off during power-on of slot. Use only when seeing IRQ storms!"); 37MODULE_PARM_DESC(pwr_irqs_off, "Force IRQs off during power-on of slot. Use only when seeing IRQ storms!");
38 38
diff --git a/drivers/platform/x86/compal-laptop.c b/drivers/platform/x86/compal-laptop.c
index 8877b836d27c..d96734478324 100644
--- a/drivers/platform/x86/compal-laptop.c
+++ b/drivers/platform/x86/compal-laptop.c
@@ -189,7 +189,7 @@ struct compal_data{
189/* =============== */ 189/* =============== */
190/* General globals */ 190/* General globals */
191/* =============== */ 191/* =============== */
192static int force; 192static bool force;
193module_param(force, bool, 0); 193module_param(force, bool, 0);
194MODULE_PARM_DESC(force, "Force driver load, ignore DMI data"); 194MODULE_PARM_DESC(force, "Force driver load, ignore DMI data");
195 195
diff --git a/drivers/platform/x86/intel_oaktrail.c b/drivers/platform/x86/intel_oaktrail.c
index 7f88c7923fc6..6ee0b5c90933 100644
--- a/drivers/platform/x86/intel_oaktrail.c
+++ b/drivers/platform/x86/intel_oaktrail.c
@@ -95,7 +95,7 @@
95#define OT_EC_BL_CONTROL_ON_DATA 0x1A 95#define OT_EC_BL_CONTROL_ON_DATA 0x1A
96 96
97 97
98static int force; 98static bool force;
99module_param(force, bool, 0); 99module_param(force, bool, 0);
100MODULE_PARM_DESC(force, "Force driver load, ignore DMI data"); 100MODULE_PARM_DESC(force, "Force driver load, ignore DMI data");
101 101
diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c
index f204643c5052..bb5132128b33 100644
--- a/drivers/platform/x86/msi-laptop.c
+++ b/drivers/platform/x86/msi-laptop.c
@@ -89,7 +89,7 @@ static int msi_laptop_resume(struct platform_device *device);
89 89
90#define MSI_STANDARD_EC_DEVICES_EXISTS_ADDRESS 0x2f 90#define MSI_STANDARD_EC_DEVICES_EXISTS_ADDRESS 0x2f
91 91
92static int force; 92static bool force;
93module_param(force, bool, 0); 93module_param(force, bool, 0);
94MODULE_PARM_DESC(force, "Force driver load, ignore DMI data"); 94MODULE_PARM_DESC(force, "Force driver load, ignore DMI data");
95 95
diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
index 09e26bfd4643..fd73ea89b857 100644
--- a/drivers/platform/x86/samsung-laptop.c
+++ b/drivers/platform/x86/samsung-laptop.c
@@ -228,12 +228,12 @@ static struct platform_device *sdev;
228static struct rfkill *rfk; 228static struct rfkill *rfk;
229static bool has_stepping_quirk; 229static bool has_stepping_quirk;
230 230
231static int force; 231static bool force;
232module_param(force, bool, 0); 232module_param(force, bool, 0);
233MODULE_PARM_DESC(force, 233MODULE_PARM_DESC(force,
234 "Disable the DMI check and forces the driver to be loaded"); 234 "Disable the DMI check and forces the driver to be loaded");
235 235
236static int debug; 236static bool debug;
237module_param(debug, bool, S_IRUGO | S_IWUSR); 237module_param(debug, bool, S_IRUGO | S_IWUSR);
238MODULE_PARM_DESC(debug, "Debug enabled or not"); 238MODULE_PARM_DESC(debug, "Debug enabled or not");
239 239
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 62533c105da4..ea0c6075b720 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -378,13 +378,13 @@ static unsigned int bright_maxlvl; /* 0 = unknown */
378 378
379#ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES 379#ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES
380static int dbg_wlswemul; 380static int dbg_wlswemul;
381static int tpacpi_wlsw_emulstate; 381static bool tpacpi_wlsw_emulstate;
382static int dbg_bluetoothemul; 382static int dbg_bluetoothemul;
383static int tpacpi_bluetooth_emulstate; 383static bool tpacpi_bluetooth_emulstate;
384static int dbg_wwanemul; 384static int dbg_wwanemul;
385static int tpacpi_wwan_emulstate; 385static bool tpacpi_wwan_emulstate;
386static int dbg_uwbemul; 386static int dbg_uwbemul;
387static int tpacpi_uwb_emulstate; 387static bool tpacpi_uwb_emulstate;
388#endif 388#endif
389 389
390 390
@@ -6444,7 +6444,7 @@ static struct ibm_struct brightness_driver_data = {
6444 6444
6445static int alsa_index = ~((1 << (SNDRV_CARDS - 3)) - 1); /* last three slots */ 6445static int alsa_index = ~((1 << (SNDRV_CARDS - 3)) - 1); /* last three slots */
6446static char *alsa_id = "ThinkPadEC"; 6446static char *alsa_id = "ThinkPadEC";
6447static int alsa_enable = SNDRV_DEFAULT_ENABLE1; 6447static bool alsa_enable = SNDRV_DEFAULT_ENABLE1;
6448 6448
6449struct tpacpi_alsa_data { 6449struct tpacpi_alsa_data {
6450 struct snd_card *card; 6450 struct snd_card *card;
@@ -6487,7 +6487,7 @@ static enum tpacpi_volume_access_mode volume_mode =
6487 TPACPI_VOL_MODE_MAX; 6487 TPACPI_VOL_MODE_MAX;
6488 6488
6489static enum tpacpi_volume_capabilities volume_capabilities; 6489static enum tpacpi_volume_capabilities volume_capabilities;
6490static int volume_control_allowed; 6490static bool volume_control_allowed;
6491 6491
6492/* 6492/*
6493 * Used to syncronize writers to TP_EC_AUDIO and 6493 * Used to syncronize writers to TP_EC_AUDIO and
@@ -7265,7 +7265,7 @@ enum fan_control_commands {
7265 * and also watchdog cmd */ 7265 * and also watchdog cmd */
7266}; 7266};
7267 7267
7268static int fan_control_allowed; 7268static bool fan_control_allowed;
7269 7269
7270static enum fan_status_access_mode fan_status_access_mode; 7270static enum fan_status_access_mode fan_status_access_mode;
7271static enum fan_control_access_mode fan_control_access_mode; 7271static enum fan_control_access_mode fan_control_access_mode;
@@ -8437,7 +8437,7 @@ static struct proc_dir_entry *proc_dir;
8437 * Module and infrastructure proble, init and exit handling 8437 * Module and infrastructure proble, init and exit handling
8438 */ 8438 */
8439 8439
8440static int force_load; 8440static bool force_load;
8441 8441
8442#ifdef CONFIG_THINKPAD_ACPI_DEBUG 8442#ifdef CONFIG_THINKPAD_ACPI_DEBUG
8443static const char * __init str_supported(int is_supported) 8443static const char * __init str_supported(int is_supported)
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index a134c26870b0..42a4dcc25f92 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -82,12 +82,12 @@ struct wmi_block {
82#define ACPI_WMI_STRING 0x4 /* GUID takes & returns a string */ 82#define ACPI_WMI_STRING 0x4 /* GUID takes & returns a string */
83#define ACPI_WMI_EVENT 0x8 /* GUID is an event */ 83#define ACPI_WMI_EVENT 0x8 /* GUID is an event */
84 84
85static int debug_event; 85static bool debug_event;
86module_param(debug_event, bool, 0444); 86module_param(debug_event, bool, 0444);
87MODULE_PARM_DESC(debug_event, 87MODULE_PARM_DESC(debug_event,
88 "Log WMI Events [0/1]"); 88 "Log WMI Events [0/1]");
89 89
90static int debug_dump_wdg; 90static bool debug_dump_wdg;
91module_param(debug_dump_wdg, bool, 0444); 91module_param(debug_dump_wdg, bool, 0444);
92MODULE_PARM_DESC(debug_dump_wdg, 92MODULE_PARM_DESC(debug_dump_wdg,
93 "Dump available WMI interfaces [0/1]"); 93 "Dump available WMI interfaces [0/1]");
diff --git a/drivers/power/ds2760_battery.c b/drivers/power/ds2760_battery.c
index 545874b1df9e..076e211a40b7 100644
--- a/drivers/power/ds2760_battery.c
+++ b/drivers/power/ds2760_battery.c
@@ -64,7 +64,7 @@ static unsigned int cache_time = 1000;
64module_param(cache_time, uint, 0644); 64module_param(cache_time, uint, 0644);
65MODULE_PARM_DESC(cache_time, "cache time in milliseconds"); 65MODULE_PARM_DESC(cache_time, "cache time in milliseconds");
66 66
67static unsigned int pmod_enabled; 67static bool pmod_enabled;
68module_param(pmod_enabled, bool, 0644); 68module_param(pmod_enabled, bool, 0644);
69MODULE_PARM_DESC(pmod_enabled, "PMOD enable bit"); 69MODULE_PARM_DESC(pmod_enabled, "PMOD enable bit");
70 70
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index e5cb9248a442..f3b8bb84faf2 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -75,7 +75,7 @@ static LIST_HEAD(raw3270_devices);
75static int raw3270_registered; 75static int raw3270_registered;
76 76
77/* Module parameters */ 77/* Module parameters */
78static int tubxcorrect = 0; 78static bool tubxcorrect = 0;
79module_param(tubxcorrect, bool, 0); 79module_param(tubxcorrect, bool, 0);
80 80
81/* 81/*
diff --git a/drivers/s390/char/vmwatchdog.c b/drivers/s390/char/vmwatchdog.c
index 11312f401c70..2211277a1079 100644
--- a/drivers/s390/char/vmwatchdog.c
+++ b/drivers/s390/char/vmwatchdog.c
@@ -28,9 +28,9 @@
28#define MAX_CMDLEN 240 28#define MAX_CMDLEN 240
29#define MIN_INTERVAL 15 29#define MIN_INTERVAL 15
30static char vmwdt_cmd[MAX_CMDLEN] = "IPL"; 30static char vmwdt_cmd[MAX_CMDLEN] = "IPL";
31static int vmwdt_conceal; 31static bool vmwdt_conceal;
32 32
33static int vmwdt_nowayout = WATCHDOG_NOWAYOUT; 33static bool vmwdt_nowayout = WATCHDOG_NOWAYOUT;
34 34
35MODULE_LICENSE("GPL"); 35MODULE_LICENSE("GPL");
36MODULE_AUTHOR("Arnd Bergmann <arndb@de.ibm.com>"); 36MODULE_AUTHOR("Arnd Bergmann <arndb@de.ibm.com>");
diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c
index 2985eb439485..204ca728e7fd 100644
--- a/drivers/s390/cio/cmf.c
+++ b/drivers/s390/cio/cmf.c
@@ -98,7 +98,7 @@ enum cmb_format {
98 * enum cmb_format. 98 * enum cmb_format.
99 */ 99 */
100static int format = CMF_AUTODETECT; 100static int format = CMF_AUTODETECT;
101module_param(format, bool, 0444); 101module_param(format, bint, 0444);
102 102
103/** 103/**
104 * struct cmb_operations - functions to use depending on cmb_format 104 * struct cmb_operations - functions to use depending on cmb_format
diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c
index 195823a51aab..ed119cedaae0 100644
--- a/drivers/scsi/aha1542.c
+++ b/drivers/scsi/aha1542.c
@@ -102,7 +102,7 @@ static int setup_dmaspeed[MAXBOARDS] __initdata = { -1, -1, -1, -1 };
102 */ 102 */
103 103
104#if defined(MODULE) 104#if defined(MODULE)
105static int isapnp = 0; 105static bool isapnp = 0;
106static int aha1542[] = {0x330, 11, 4, -1}; 106static int aha1542[] = {0x330, 11, 4, -1};
107module_param_array(aha1542, int, NULL, 0); 107module_param_array(aha1542, int, NULL, 0);
108module_param(isapnp, bool, 0); 108module_param(isapnp, bool, 0);
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
index f5b718d3c31b..13aeca3d51f2 100644
--- a/drivers/scsi/dc395x.c
+++ b/drivers/scsi/dc395x.c
@@ -546,7 +546,7 @@ static struct ParameterData __devinitdata cfg_data[] = {
546 * command line overrides will be used. If set to 1 then safe and 546 * command line overrides will be used. If set to 1 then safe and
547 * slow settings will be used. 547 * slow settings will be used.
548 */ 548 */
549static int use_safe_settings = 0; 549static bool use_safe_settings = 0;
550module_param_named(safe, use_safe_settings, bool, 0); 550module_param_named(safe, use_safe_settings, bool, 0);
551MODULE_PARM_DESC(safe, "Use safe and slow settings only. Default: false"); 551MODULE_PARM_DESC(safe, "Use safe and slow settings only. Default: false");
552 552
diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index f6a50c98c36f..002924963cd8 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -59,11 +59,11 @@ MODULE_PARM_DESC(trans_mode, "transfer mode (0: BIOS(default) 1: Async 2: Ultra2
59#define ASYNC_MODE 1 59#define ASYNC_MODE 1
60#define ULTRA20M_MODE 2 60#define ULTRA20M_MODE 2
61 61
62static int auto_param = 0; /* default: ON */ 62static bool auto_param = 0; /* default: ON */
63module_param (auto_param, bool, 0); 63module_param (auto_param, bool, 0);
64MODULE_PARM_DESC(auto_param, "AutoParameter mode (0: ON(default) 1: OFF)"); 64MODULE_PARM_DESC(auto_param, "AutoParameter mode (0: ON(default) 1: OFF)");
65 65
66static int disc_priv = 1; /* default: OFF */ 66static bool disc_priv = 1; /* default: OFF */
67module_param (disc_priv, bool, 0); 67module_param (disc_priv, bool, 0);
68MODULE_PARM_DESC(disc_priv, "disconnection privilege mode (0: ON 1: OFF(default))"); 68MODULE_PARM_DESC(disc_priv, "disconnection privilege mode (0: ON 1: OFF(default))");
69 69
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index ca86721a71b9..b61a753eb896 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -70,7 +70,7 @@ module_param(nsp_burst_mode, int, 0);
70MODULE_PARM_DESC(nsp_burst_mode, "Burst transfer mode (0=io8, 1=io32, 2=mem32(default))"); 70MODULE_PARM_DESC(nsp_burst_mode, "Burst transfer mode (0=io8, 1=io32, 2=mem32(default))");
71 71
72/* Release IO ports after configuration? */ 72/* Release IO ports after configuration? */
73static int free_ports = 0; 73static bool free_ports = 0;
74module_param(free_ports, bool, 0); 74module_param(free_ports, bool, 0);
75MODULE_PARM_DESC(free_ports, "Release IO ports after configuration? (default: 0 (=no))"); 75MODULE_PARM_DESC(free_ports, "Release IO ports after configuration? (default: 0 (=no))");
76 76
diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
index 0d18d80bcd25..9bcf87ae4c00 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -61,7 +61,7 @@ EXPORT_SYMBOL(comedi_debug);
61module_param(comedi_debug, int, 0644); 61module_param(comedi_debug, int, 0644);
62#endif 62#endif
63 63
64int comedi_autoconfig = 1; 64bool comedi_autoconfig = 1;
65module_param(comedi_autoconfig, bool, 0444); 65module_param(comedi_autoconfig, bool, 0444);
66 66
67static int comedi_num_legacy_minors; 67static int comedi_num_legacy_minors;
diff --git a/drivers/staging/comedi/comedi_fops.h b/drivers/staging/comedi/comedi_fops.h
index da4b4f5553f5..006cf14c577a 100644
--- a/drivers/staging/comedi/comedi_fops.h
+++ b/drivers/staging/comedi/comedi_fops.h
@@ -1,10 +1,11 @@
1 1
2#ifndef _COMEDI_FOPS_H 2#ifndef _COMEDI_FOPS_H
3#define _COMEDI_FOPS_H 3#define _COMEDI_FOPS_H
4#include <linux/types.h>
4 5
5extern struct class *comedi_class; 6extern struct class *comedi_class;
6extern const struct file_operations comedi_fops; 7extern const struct file_operations comedi_fops;
7extern int comedi_autoconfig; 8extern bool comedi_autoconfig;
8extern struct comedi_driver *comedi_drivers; 9extern struct comedi_driver *comedi_drivers;
9 10
10#endif /* _COMEDI_FOPS_H */ 11#endif /* _COMEDI_FOPS_H */
diff --git a/drivers/staging/media/go7007/snd-go7007.c b/drivers/staging/media/go7007/snd-go7007.c
index deac938d8505..d071c838ac2a 100644
--- a/drivers/staging/media/go7007/snd-go7007.c
+++ b/drivers/staging/media/go7007/snd-go7007.c
@@ -38,7 +38,7 @@
38 38
39static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; 39static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;
40static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; 40static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;
41static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; 41static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;
42 42
43module_param_array(index, int, NULL, 0444); 43module_param_array(index, int, NULL, 0444);
44module_param_array(id, charp, NULL, 0444); 44module_param_array(id, charp, NULL, 0444);
diff --git a/drivers/staging/media/lirc/lirc_bt829.c b/drivers/staging/media/lirc/lirc_bt829.c
index c5a0d27a02dc..4d20e9f74118 100644
--- a/drivers/staging/media/lirc/lirc_bt829.c
+++ b/drivers/staging/media/lirc/lirc_bt829.c
@@ -53,7 +53,7 @@ static unsigned char do_get_bits(void);
53 53
54#define DRIVER_NAME "lirc_bt829" 54#define DRIVER_NAME "lirc_bt829"
55 55
56static int debug; 56static bool debug;
57#define dprintk(fmt, args...) \ 57#define dprintk(fmt, args...) \
58 do { \ 58 do { \
59 if (debug) \ 59 if (debug) \
diff --git a/drivers/staging/media/lirc/lirc_igorplugusb.c b/drivers/staging/media/lirc/lirc_igorplugusb.c
index 6cd4cd67a1dd..7a2501776679 100644
--- a/drivers/staging/media/lirc/lirc_igorplugusb.c
+++ b/drivers/staging/media/lirc/lirc_igorplugusb.c
@@ -62,9 +62,9 @@
62 62
63/* debugging support */ 63/* debugging support */
64#ifdef CONFIG_USB_DEBUG 64#ifdef CONFIG_USB_DEBUG
65static int debug = 1; 65static bool debug = 1;
66#else 66#else
67static int debug; 67static bool debug;
68#endif 68#endif
69 69
70#define dprintk(fmt, args...) \ 70#define dprintk(fmt, args...) \
diff --git a/drivers/staging/media/lirc/lirc_parallel.c b/drivers/staging/media/lirc/lirc_parallel.c
index 792aac0a8e7b..dd2bca7b56fa 100644
--- a/drivers/staging/media/lirc/lirc_parallel.c
+++ b/drivers/staging/media/lirc/lirc_parallel.c
@@ -63,8 +63,8 @@
63 63
64/*** Global Variables ***/ 64/*** Global Variables ***/
65 65
66static int debug; 66static bool debug;
67static int check_pselecd; 67static bool check_pselecd;
68 68
69unsigned int irq = LIRC_IRQ; 69unsigned int irq = LIRC_IRQ;
70unsigned int io = LIRC_PORT; 70unsigned int io = LIRC_PORT;
@@ -752,4 +752,4 @@ module_param(debug, bool, S_IRUGO | S_IWUSR);
752MODULE_PARM_DESC(debug, "Enable debugging messages"); 752MODULE_PARM_DESC(debug, "Enable debugging messages");
753 753
754module_param(check_pselecd, bool, S_IRUGO | S_IWUSR); 754module_param(check_pselecd, bool, S_IRUGO | S_IWUSR);
755MODULE_PARM_DESC(debug, "Check for printer (default: 0)"); 755MODULE_PARM_DESC(check_pselecd, "Check for printer (default: 0)");
diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c
index 8a060a8a7224..2aac67c98283 100644
--- a/drivers/staging/media/lirc/lirc_serial.c
+++ b/drivers/staging/media/lirc/lirc_serial.c
@@ -107,13 +107,13 @@ struct lirc_serial {
107static int type; 107static int type;
108static int io; 108static int io;
109static int irq; 109static int irq;
110static int iommap; 110static bool iommap;
111static int ioshift; 111static int ioshift;
112static int softcarrier = 1; 112static bool softcarrier = 1;
113static int share_irq; 113static bool share_irq;
114static int debug; 114static bool debug;
115static int sense = -1; /* -1 = auto, 0 = active high, 1 = active low */ 115static int sense = -1; /* -1 = auto, 0 = active high, 1 = active low */
116static int txsense; /* 0 = active high, 1 = active low */ 116static bool txsense; /* 0 = active high, 1 = active low */
117 117
118#define dprintk(fmt, args...) \ 118#define dprintk(fmt, args...) \
119 do { \ 119 do { \
diff --git a/drivers/staging/media/lirc/lirc_sir.c b/drivers/staging/media/lirc/lirc_sir.c
index 6903d3992eca..c94382b917ac 100644
--- a/drivers/staging/media/lirc/lirc_sir.c
+++ b/drivers/staging/media/lirc/lirc_sir.c
@@ -173,7 +173,7 @@ static DEFINE_SPINLOCK(hardware_lock);
173static int rx_buf[RBUF_LEN]; 173static int rx_buf[RBUF_LEN];
174static unsigned int rx_tail, rx_head; 174static unsigned int rx_tail, rx_head;
175 175
176static int debug; 176static bool debug;
177#define dprintk(fmt, args...) \ 177#define dprintk(fmt, args...) \
178 do { \ 178 do { \
179 if (debug) \ 179 if (debug) \
diff --git a/drivers/staging/media/lirc/lirc_zilog.c b/drivers/staging/media/lirc/lirc_zilog.c
index 0302d82a12f7..76ea4a8f2c75 100644
--- a/drivers/staging/media/lirc/lirc_zilog.c
+++ b/drivers/staging/media/lirc/lirc_zilog.c
@@ -155,8 +155,8 @@ static struct mutex tx_data_lock;
155#define zilog_info(s, args...) printk(KERN_INFO KBUILD_MODNAME ": " s, ## args) 155#define zilog_info(s, args...) printk(KERN_INFO KBUILD_MODNAME ": " s, ## args)
156 156
157/* module parameters */ 157/* module parameters */
158static int debug; /* debug output */ 158static bool debug; /* debug output */
159static int tx_only; /* only handle the IR Tx function */ 159static bool tx_only; /* only handle the IR Tx function */
160static int minor = -1; /* minor number */ 160static int minor = -1; /* minor number */
161 161
162#define dprintk(fmt, args...) \ 162#define dprintk(fmt, args...) \
diff --git a/drivers/staging/quatech_usb2/quatech_usb2.c b/drivers/staging/quatech_usb2/quatech_usb2.c
index 02fafecd4773..897a3a99c794 100644
--- a/drivers/staging/quatech_usb2/quatech_usb2.c
+++ b/drivers/staging/quatech_usb2/quatech_usb2.c
@@ -16,7 +16,7 @@
16#include <linux/usb/serial.h> 16#include <linux/usb/serial.h>
17#include <linux/uaccess.h> 17#include <linux/uaccess.h>
18 18
19static int debug; 19static bool debug;
20 20
21/* Version Information */ 21/* Version Information */
22#define DRIVER_VERSION "v2.00" 22#define DRIVER_VERSION "v2.00"
diff --git a/drivers/staging/serqt_usb2/serqt_usb2.c b/drivers/staging/serqt_usb2/serqt_usb2.c
index c44e41af2880..1c5780f1571b 100644
--- a/drivers/staging/serqt_usb2/serqt_usb2.c
+++ b/drivers/staging/serqt_usb2/serqt_usb2.c
@@ -16,7 +16,7 @@
16#include <linux/usb/serial.h> 16#include <linux/usb/serial.h>
17#include <linux/uaccess.h> 17#include <linux/uaccess.h>
18 18
19static int debug; 19static bool debug;
20 20
21/* Version Information */ 21/* Version Information */
22#define DRIVER_VERSION "v2.14" 22#define DRIVER_VERSION "v2.14"
diff --git a/drivers/staging/speakup/speakup.h b/drivers/staging/speakup/speakup.h
index 412b87947f66..e66579e6147a 100644
--- a/drivers/staging/speakup/speakup.h
+++ b/drivers/staging/speakup/speakup.h
@@ -116,7 +116,7 @@ extern int bleep_time, bell_pos;
116extern int spell_delay, key_echo; 116extern int spell_delay, key_echo;
117extern short punc_mask; 117extern short punc_mask;
118extern short pitch_shift, synth_flags; 118extern short pitch_shift, synth_flags;
119extern int quiet_boot; 119extern bool quiet_boot;
120extern char *synth_name; 120extern char *synth_name;
121extern struct bleep unprocessed_sound; 121extern struct bleep unprocessed_sound;
122 122
diff --git a/drivers/staging/speakup/synth.c b/drivers/staging/speakup/synth.c
index c241074a4b5e..2222d6919ef5 100644
--- a/drivers/staging/speakup/synth.c
+++ b/drivers/staging/speakup/synth.c
@@ -22,7 +22,7 @@ static struct spk_synth *synths[MAXSYNTHS];
22struct spk_synth *synth; 22struct spk_synth *synth;
23char pitch_buff[32] = ""; 23char pitch_buff[32] = "";
24static int module_status; 24static int module_status;
25int quiet_boot; 25bool quiet_boot;
26 26
27struct speakup_info_t speakup_info = { 27struct speakup_info_t speakup_info = {
28 .spinlock = __SPIN_LOCK_UNLOCKED(speakup_info.spinlock), 28 .spinlock = __SPIN_LOCK_UNLOCKED(speakup_info.spinlock),
diff --git a/drivers/staging/vme/bridges/vme_tsi148.c b/drivers/staging/vme/bridges/vme_tsi148.c
index 08a449b4abf9..f50582169b24 100644
--- a/drivers/staging/vme/bridges/vme_tsi148.c
+++ b/drivers/staging/vme/bridges/vme_tsi148.c
@@ -41,7 +41,7 @@ static void __exit tsi148_exit(void);
41 41
42 42
43/* Module parameter */ 43/* Module parameter */
44static int err_chk; 44static bool err_chk;
45static int geoid; 45static int geoid;
46 46
47static const char driver_name[] = "vme_tsi148"; 47static const char driver_name[] = "vme_tsi148";
diff --git a/drivers/tty/rocket.c b/drivers/tty/rocket.c
index 6a1241c7f841..de88aa5566e5 100644
--- a/drivers/tty/rocket.c
+++ b/drivers/tty/rocket.c
@@ -118,7 +118,7 @@ static unsigned long board2;
118static unsigned long board3; 118static unsigned long board3;
119static unsigned long board4; 119static unsigned long board4;
120static unsigned long controller; 120static unsigned long controller;
121static int support_low_speed; 121static bool support_low_speed;
122static unsigned long modem1; 122static unsigned long modem1;
123static unsigned long modem2; 123static unsigned long modem2;
124static unsigned long modem3; 124static unsigned long modem3;
diff --git a/drivers/tty/synclink.c b/drivers/tty/synclink.c
index e67fb20490d2..ff8017f87914 100644
--- a/drivers/tty/synclink.c
+++ b/drivers/tty/synclink.c
@@ -850,7 +850,7 @@ static int mgsl_device_count;
850 * .text section address and breakpoint on module load. 850 * .text section address and breakpoint on module load.
851 * This is useful for use with gdb and add-symbol-file command. 851 * This is useful for use with gdb and add-symbol-file command.
852 */ 852 */
853static int break_on_load; 853static bool break_on_load;
854 854
855/* 855/*
856 * Driver major number, defaults to zero to get auto 856 * Driver major number, defaults to zero to get auto
diff --git a/drivers/tty/synclinkmp.c b/drivers/tty/synclinkmp.c
index 0f6b796c95c5..a7efe538df00 100644
--- a/drivers/tty/synclinkmp.c
+++ b/drivers/tty/synclinkmp.c
@@ -456,7 +456,7 @@ static int synclinkmp_device_count = 0;
456 * .text section address and breakpoint on module load. 456 * .text section address and breakpoint on module load.
457 * This is useful for use with gdb and add-symbol-file command. 457 * This is useful for use with gdb and add-symbol-file command.
458 */ 458 */
459static int break_on_load = 0; 459static bool break_on_load = 0;
460 460
461/* 461/*
462 * Driver major number, defaults to zero to get auto 462 * Driver major number, defaults to zero to get auto
diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c
index b42092e1f164..98dd9e49b684 100644
--- a/drivers/usb/atm/speedtch.c
+++ b/drivers/usb/atm/speedtch.c
@@ -73,9 +73,9 @@ static const char speedtch_driver_name[] = "speedtch";
73#define DEFAULT_SW_BUFFERING 0 73#define DEFAULT_SW_BUFFERING 0
74 74
75static unsigned int altsetting = 0; /* zero means: use the default */ 75static unsigned int altsetting = 0; /* zero means: use the default */
76static int dl_512_first = DEFAULT_DL_512_FIRST; 76static bool dl_512_first = DEFAULT_DL_512_FIRST;
77static int enable_isoc = DEFAULT_ENABLE_ISOC; 77static bool enable_isoc = DEFAULT_ENABLE_ISOC;
78static int sw_buffering = DEFAULT_SW_BUFFERING; 78static bool sw_buffering = DEFAULT_SW_BUFFERING;
79 79
80#define DEFAULT_B_MAX_DSL 8128 80#define DEFAULT_B_MAX_DSL 8128
81#define DEFAULT_MODEM_MODE 11 81#define DEFAULT_MODEM_MODE 11
diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
index 00f171a7a8a0..01ea5d7421d4 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
@@ -542,7 +542,7 @@ static int modem_index;
542static unsigned int debug; 542static unsigned int debug;
543static unsigned int altsetting[NB_MODEM] = { 543static unsigned int altsetting[NB_MODEM] = {
544 [0 ... (NB_MODEM - 1)] = FASTEST_ISO_INTF}; 544 [0 ... (NB_MODEM - 1)] = FASTEST_ISO_INTF};
545static int sync_wait[NB_MODEM]; 545static bool sync_wait[NB_MODEM];
546static char *cmv_file[NB_MODEM]; 546static char *cmv_file[NB_MODEM];
547static int annex[NB_MODEM]; 547static int annex[NB_MODEM];
548 548
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
index 3af5e2dd1d82..8df4b76465ac 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -93,7 +93,7 @@ struct async {
93 u8 bulk_status; 93 u8 bulk_status;
94}; 94};
95 95
96static int usbfs_snoop; 96static bool usbfs_snoop;
97module_param(usbfs_snoop, bool, S_IRUGO | S_IWUSR); 97module_param(usbfs_snoop, bool, S_IRUGO | S_IWUSR);
98MODULE_PARM_DESC(usbfs_snoop, "true to log all usbfs traffic"); 98MODULE_PARM_DESC(usbfs_snoop, "true to log all usbfs traffic");
99 99
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 79d339e2e700..a0613d8f9be7 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -102,7 +102,7 @@ static DECLARE_WAIT_QUEUE_HEAD(khubd_wait);
102static struct task_struct *khubd_task; 102static struct task_struct *khubd_task;
103 103
104/* cycle leds on hubs that aren't blinking for attention */ 104/* cycle leds on hubs that aren't blinking for attention */
105static int blinkenlights = 0; 105static bool blinkenlights = 0;
106module_param (blinkenlights, bool, S_IRUGO); 106module_param (blinkenlights, bool, S_IRUGO);
107MODULE_PARM_DESC (blinkenlights, "true to cycle leds on hubs"); 107MODULE_PARM_DESC (blinkenlights, "true to cycle leds on hubs");
108 108
@@ -131,12 +131,12 @@ MODULE_PARM_DESC(initial_descriptor_timeout,
131 * otherwise the new scheme is used. If that fails and "use_both_schemes" 131 * otherwise the new scheme is used. If that fails and "use_both_schemes"
132 * is set, then the driver will make another attempt, using the other scheme. 132 * is set, then the driver will make another attempt, using the other scheme.
133 */ 133 */
134static int old_scheme_first = 0; 134static bool old_scheme_first = 0;
135module_param(old_scheme_first, bool, S_IRUGO | S_IWUSR); 135module_param(old_scheme_first, bool, S_IRUGO | S_IWUSR);
136MODULE_PARM_DESC(old_scheme_first, 136MODULE_PARM_DESC(old_scheme_first,
137 "start with the old device initialization scheme"); 137 "start with the old device initialization scheme");
138 138
139static int use_both_schemes = 1; 139static bool use_both_schemes = 1;
140module_param(use_both_schemes, bool, S_IRUGO | S_IWUSR); 140module_param(use_both_schemes, bool, S_IRUGO | S_IWUSR);
141MODULE_PARM_DESC(use_both_schemes, 141MODULE_PARM_DESC(use_both_schemes,
142 "try the other device initialization scheme if the " 142 "try the other device initialization scheme if the "
@@ -2026,7 +2026,7 @@ static unsigned hub_is_wusb(struct usb_hub *hub)
2026#define SET_ADDRESS_TRIES 2 2026#define SET_ADDRESS_TRIES 2
2027#define GET_DESCRIPTOR_TRIES 2 2027#define GET_DESCRIPTOR_TRIES 2
2028#define SET_CONFIG_TRIES (2 * (use_both_schemes + 1)) 2028#define SET_CONFIG_TRIES (2 * (use_both_schemes + 1))
2029#define USE_NEW_SCHEME(i) ((i) / 2 == old_scheme_first) 2029#define USE_NEW_SCHEME(i) ((i) / 2 == (int)old_scheme_first)
2030 2030
2031#define HUB_ROOT_RESET_TIME 50 /* times are in msec */ 2031#define HUB_ROOT_RESET_TIME 50 /* times are in msec */
2032#define HUB_SHORT_RESET_TIME 10 2032#define HUB_SHORT_RESET_TIME 10
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 1382c90d0834..8ca9f994a280 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -47,7 +47,7 @@
47 47
48const char *usbcore_name = "usbcore"; 48const char *usbcore_name = "usbcore";
49 49
50static int nousb; /* Disable USB when built into kernel image */ 50static bool nousb; /* Disable USB when built into kernel image */
51 51
52#ifdef CONFIG_USB_SUSPEND 52#ifdef CONFIG_USB_SUSPEND
53static int usb_autosuspend_delay = 2; /* Default delay value, 53static int usb_autosuspend_delay = 2; /* Default delay value,
diff --git a/drivers/usb/gadget/amd5536udc.c b/drivers/usb/gadget/amd5536udc.c
index e9a2c5c44454..c16ff55a74e8 100644
--- a/drivers/usb/gadget/amd5536udc.c
+++ b/drivers/usb/gadget/amd5536udc.c
@@ -152,15 +152,15 @@ static const char *ep_string[] = {
152}; 152};
153 153
154/* DMA usage flag */ 154/* DMA usage flag */
155static int use_dma = 1; 155static bool use_dma = 1;
156/* packet per buffer dma */ 156/* packet per buffer dma */
157static int use_dma_ppb = 1; 157static bool use_dma_ppb = 1;
158/* with per descr. update */ 158/* with per descr. update */
159static int use_dma_ppb_du; 159static bool use_dma_ppb_du;
160/* buffer fill mode */ 160/* buffer fill mode */
161static int use_dma_bufferfill_mode; 161static int use_dma_bufferfill_mode;
162/* full speed only mode */ 162/* full speed only mode */
163static int use_fullspeed; 163static bool use_fullspeed;
164/* tx buffer size for high speed */ 164/* tx buffer size for high speed */
165static unsigned long hs_tx_buf = UDC_EPIN_BUFF_SIZE; 165static unsigned long hs_tx_buf = UDC_EPIN_BUFF_SIZE;
166 166
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index 0cd764d59351..a28f6ffcd0f3 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -250,9 +250,9 @@ static struct usb_configuration rndis_config_driver = {
250/*-------------------------------------------------------------------------*/ 250/*-------------------------------------------------------------------------*/
251 251
252#ifdef CONFIG_USB_ETH_EEM 252#ifdef CONFIG_USB_ETH_EEM
253static int use_eem = 1; 253static bool use_eem = 1;
254#else 254#else
255static int use_eem; 255static bool use_eem;
256#endif 256#endif
257module_param(use_eem, bool, 0); 257module_param(use_eem, bool, 0);
258MODULE_PARM_DESC(use_eem, "use CDC EEM mode"); 258MODULE_PARM_DESC(use_eem, "use CDC EEM mode");
diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
index e0f30fc70e45..47766f0e7caa 100644
--- a/drivers/usb/gadget/file_storage.c
+++ b/drivers/usb/gadget/file_storage.c
@@ -303,16 +303,16 @@ MODULE_LICENSE("Dual BSD/GPL");
303static struct { 303static struct {
304 char *file[FSG_MAX_LUNS]; 304 char *file[FSG_MAX_LUNS];
305 char *serial; 305 char *serial;
306 int ro[FSG_MAX_LUNS]; 306 bool ro[FSG_MAX_LUNS];
307 int nofua[FSG_MAX_LUNS]; 307 bool nofua[FSG_MAX_LUNS];
308 unsigned int num_filenames; 308 unsigned int num_filenames;
309 unsigned int num_ros; 309 unsigned int num_ros;
310 unsigned int num_nofuas; 310 unsigned int num_nofuas;
311 unsigned int nluns; 311 unsigned int nluns;
312 312
313 int removable; 313 bool removable;
314 int can_stall; 314 bool can_stall;
315 int cdrom; 315 bool cdrom;
316 316
317 char *transport_parm; 317 char *transport_parm;
318 char *protocol_parm; 318 char *protocol_parm;
diff --git a/drivers/usb/gadget/net2272.c b/drivers/usb/gadget/net2272.c
index 4c81d540bc26..7322d293213e 100644
--- a/drivers/usb/gadget/net2272.c
+++ b/drivers/usb/gadget/net2272.c
@@ -69,7 +69,7 @@ static const char * const ep_name[] = {
69 * 69 *
70 * If use_dma is disabled, pio will be used instead. 70 * If use_dma is disabled, pio will be used instead.
71 */ 71 */
72static int use_dma = 0; 72static bool use_dma = 0;
73module_param(use_dma, bool, 0644); 73module_param(use_dma, bool, 0644);
74 74
75/* 75/*
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index cf1f36454d08..cdedd1336745 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -90,8 +90,8 @@ static const char *const ep_name [] = {
90 * Some gadget drivers work better with the dma support here than others. 90 * Some gadget drivers work better with the dma support here than others.
91 * These two parameters let you use PIO or more aggressive DMA. 91 * These two parameters let you use PIO or more aggressive DMA.
92 */ 92 */
93static int use_dma = 1; 93static bool use_dma = 1;
94static int use_dma_chaining = 0; 94static bool use_dma_chaining = 0;
95 95
96/* "modprobe net2280 use_dma=n" etc */ 96/* "modprobe net2280 use_dma=n" etc */
97module_param (use_dma, bool, S_IRUGO); 97module_param (use_dma, bool, S_IRUGO);
@@ -112,7 +112,7 @@ module_param (fifo_mode, ushort, 0644);
112 * USB suspend requests will be ignored. This is acceptable for 112 * USB suspend requests will be ignored. This is acceptable for
113 * self-powered devices 113 * self-powered devices
114 */ 114 */
115static int enable_suspend = 0; 115static bool enable_suspend = 0;
116 116
117/* "modprobe net2280 enable_suspend=1" etc */ 117/* "modprobe net2280 enable_suspend=1" etc */
118module_param (enable_suspend, bool, S_IRUGO); 118module_param (enable_suspend, bool, S_IRUGO);
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index 7db5bbe6251b..576cd8578b45 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -98,7 +98,7 @@ module_param (fifo_mode, uint, 0);
98MODULE_PARM_DESC (fifo_mode, "endpoint configuration"); 98MODULE_PARM_DESC (fifo_mode, "endpoint configuration");
99 99
100#ifdef USE_DMA 100#ifdef USE_DMA
101static unsigned use_dma = 1; 101static bool use_dma = 1;
102 102
103/* "modprobe omap_udc use_dma=y", or else as a kernel 103/* "modprobe omap_udc use_dma=y", or else as a kernel
104 * boot parameter "omap_udc:use_dma=y" 104 * boot parameter "omap_udc:use_dma=y"
diff --git a/drivers/usb/gadget/pch_udc.c b/drivers/usb/gadget/pch_udc.c
index dd2313cce1d3..a3fcaae4bc2a 100644
--- a/drivers/usb/gadget/pch_udc.c
+++ b/drivers/usb/gadget/pch_udc.c
@@ -359,7 +359,7 @@ struct pch_udc_dev {
359static const char ep0_string[] = "ep0in"; 359static const char ep0_string[] = "ep0in";
360static DEFINE_SPINLOCK(udc_stall_spinlock); /* stall spin lock */ 360static DEFINE_SPINLOCK(udc_stall_spinlock); /* stall spin lock */
361struct pch_udc_dev *pch_udc; /* pointer to device object */ 361struct pch_udc_dev *pch_udc; /* pointer to device object */
362static int speed_fs; 362static bool speed_fs;
363module_param_named(speed_fs, speed_fs, bool, S_IRUGO); 363module_param_named(speed_fs, speed_fs, bool, S_IRUGO);
364MODULE_PARM_DESC(speed_fs, "true for Full speed operation"); 364MODULE_PARM_DESC(speed_fs, "true for Full speed operation");
365 365
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c
index ed1b816e58d8..ad9e5b2df642 100644
--- a/drivers/usb/gadget/serial.c
+++ b/drivers/usb/gadget/serial.c
@@ -123,11 +123,11 @@ MODULE_AUTHOR("Al Borchers");
123MODULE_AUTHOR("David Brownell"); 123MODULE_AUTHOR("David Brownell");
124MODULE_LICENSE("GPL"); 124MODULE_LICENSE("GPL");
125 125
126static int use_acm = true; 126static bool use_acm = true;
127module_param(use_acm, bool, 0); 127module_param(use_acm, bool, 0);
128MODULE_PARM_DESC(use_acm, "Use CDC ACM, default=yes"); 128MODULE_PARM_DESC(use_acm, "Use CDC ACM, default=yes");
129 129
130static int use_obex = false; 130static bool use_obex = false;
131module_param(use_obex, bool, 0); 131module_param(use_obex, bool, 0);
132MODULE_PARM_DESC(use_obex, "Use CDC OBEX, default=no"); 132MODULE_PARM_DESC(use_obex, "Use CDC OBEX, default=no");
133 133
diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c
index 20697cc132d1..31d34832907e 100644
--- a/drivers/usb/gadget/zero.c
+++ b/drivers/usb/gadget/zero.c
@@ -81,7 +81,7 @@ module_param(buflen, uint, 0);
81 * work better with hosts where config changes are problematic or 81 * work better with hosts where config changes are problematic or
82 * controllers (like original superh) that only support one config. 82 * controllers (like original superh) that only support one config.
83 */ 83 */
84static int loopdefault = 0; 84static bool loopdefault = 0;
85module_param(loopdefault, bool, S_IRUGO|S_IWUSR); 85module_param(loopdefault, bool, S_IRUGO|S_IWUSR);
86 86
87/*-------------------------------------------------------------------------*/ 87/*-------------------------------------------------------------------------*/
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index e311a511529b..a007a9fe0f87 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -112,7 +112,7 @@ module_param (park, uint, S_IRUGO);
112MODULE_PARM_DESC (park, "park setting; 1-3 back-to-back async packets"); 112MODULE_PARM_DESC (park, "park setting; 1-3 back-to-back async packets");
113 113
114/* for flakey hardware, ignore overcurrent indicators */ 114/* for flakey hardware, ignore overcurrent indicators */
115static int ignore_oc = 0; 115static bool ignore_oc = 0;
116module_param (ignore_oc, bool, S_IRUGO); 116module_param (ignore_oc, bool, S_IRUGO);
117MODULE_PARM_DESC (ignore_oc, "ignore bogus hardware overcurrent indications"); 117MODULE_PARM_DESC (ignore_oc, "ignore bogus hardware overcurrent indications");
118 118
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 5f5a63241436..34b9edd86651 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -115,13 +115,13 @@ static inline void sb800_prefetch(struct ohci_hcd *ohci, int on)
115 115
116 116
117/* Some boards misreport power switching/overcurrent */ 117/* Some boards misreport power switching/overcurrent */
118static int distrust_firmware = 1; 118static bool distrust_firmware = 1;
119module_param (distrust_firmware, bool, 0); 119module_param (distrust_firmware, bool, 0);
120MODULE_PARM_DESC (distrust_firmware, 120MODULE_PARM_DESC (distrust_firmware,
121 "true to distrust firmware power/overcurrent setup"); 121 "true to distrust firmware power/overcurrent setup");
122 122
123/* Some boards leave IR set wrongly, since they fail BIOS/SMM handshakes */ 123/* Some boards leave IR set wrongly, since they fail BIOS/SMM handshakes */
124static int no_handshake = 0; 124static bool no_handshake = 0;
125module_param (no_handshake, bool, 0); 125module_param (no_handshake, bool, 0);
126MODULE_PARM_DESC (no_handshake, "true (not default) disables BIOS handshake"); 126MODULE_PARM_DESC (no_handshake, "true (not default) disables BIOS handshake");
127 127
diff --git a/drivers/usb/host/oxu210hp-hcd.c b/drivers/usb/host/oxu210hp-hcd.c
index 6f62de5c6e35..015c7c62ed49 100644
--- a/drivers/usb/host/oxu210hp-hcd.c
+++ b/drivers/usb/host/oxu210hp-hcd.c
@@ -233,7 +233,7 @@ module_param(park, uint, S_IRUGO);
233MODULE_PARM_DESC(park, "park setting; 1-3 back-to-back async packets"); 233MODULE_PARM_DESC(park, "park setting; 1-3 back-to-back async packets");
234 234
235/* For flakey hardware, ignore overcurrent indicators */ 235/* For flakey hardware, ignore overcurrent indicators */
236static int ignore_oc; 236static bool ignore_oc;
237module_param(ignore_oc, bool, S_IRUGO); 237module_param(ignore_oc, bool, S_IRUGO);
238MODULE_PARM_DESC(ignore_oc, "ignore bogus hardware overcurrent indications"); 238MODULE_PARM_DESC(ignore_oc, "ignore bogus hardware overcurrent indications");
239 239
diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
index 533d12cca371..16dd6a6abf00 100644
--- a/drivers/usb/host/u132-hcd.c
+++ b/drivers/usb/host/u132-hcd.c
@@ -74,7 +74,7 @@ MODULE_LICENSE("GPL");
74#define INT_MODULE_PARM(n, v) static int n = v;module_param(n, int, 0444) 74#define INT_MODULE_PARM(n, v) static int n = v;module_param(n, int, 0444)
75INT_MODULE_PARM(testing, 0); 75INT_MODULE_PARM(testing, 0);
76/* Some boards misreport power switching/overcurrent*/ 76/* Some boards misreport power switching/overcurrent*/
77static int distrust_firmware = 1; 77static bool distrust_firmware = 1;
78module_param(distrust_firmware, bool, 0); 78module_param(distrust_firmware, bool, 0);
79MODULE_PARM_DESC(distrust_firmware, "true to distrust firmware power/overcurren" 79MODULE_PARM_DESC(distrust_firmware, "true to distrust firmware power/overcurren"
80 "t setup"); 80 "t setup");
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
index c8ae199cfbb8..6b5eb1017e2c 100644
--- a/drivers/usb/host/uhci-hcd.c
+++ b/drivers/usb/host/uhci-hcd.c
@@ -59,7 +59,7 @@
59#define DRIVER_DESC "USB Universal Host Controller Interface driver" 59#define DRIVER_DESC "USB Universal Host Controller Interface driver"
60 60
61/* for flakey hardware, ignore overcurrent indicators */ 61/* for flakey hardware, ignore overcurrent indicators */
62static int ignore_oc; 62static bool ignore_oc;
63module_param(ignore_oc, bool, S_IRUGO); 63module_param(ignore_oc, bool, S_IRUGO);
64MODULE_PARM_DESC(ignore_oc, "ignore hardware overcurrent indications"); 64MODULE_PARM_DESC(ignore_oc, "ignore hardware overcurrent indications");
65 65
diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
index 2dbe600fbc11..a4a3c7cd4a11 100644
--- a/drivers/usb/misc/ftdi-elan.c
+++ b/drivers/usb/misc/ftdi-elan.c
@@ -53,7 +53,7 @@ MODULE_AUTHOR("Tony Olech");
53MODULE_DESCRIPTION("FTDI ELAN driver"); 53MODULE_DESCRIPTION("FTDI ELAN driver");
54MODULE_LICENSE("GPL"); 54MODULE_LICENSE("GPL");
55#define INT_MODULE_PARM(n, v) static int n = v;module_param(n, int, 0444) 55#define INT_MODULE_PARM(n, v) static int n = v;module_param(n, int, 0444)
56static int distrust_firmware = 1; 56static bool distrust_firmware = 1;
57module_param(distrust_firmware, bool, 0); 57module_param(distrust_firmware, bool, 0);
58MODULE_PARM_DESC(distrust_firmware, "true to distrust firmware power/overcurren" 58MODULE_PARM_DESC(distrust_firmware, "true to distrust firmware power/overcurren"
59 "t setup"); 59 "t setup");
diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c
index 2453a39b4794..4fd0dc835ae5 100644
--- a/drivers/usb/misc/iowarrior.c
+++ b/drivers/usb/misc/iowarrior.c
@@ -62,7 +62,7 @@ MODULE_LICENSE("GPL");
62 62
63/* Module parameters */ 63/* Module parameters */
64static DEFINE_MUTEX(iowarrior_mutex); 64static DEFINE_MUTEX(iowarrior_mutex);
65static int debug = 0; 65static bool debug = 0;
66module_param(debug, bool, 0644); 66module_param(debug, bool, 0644);
67MODULE_PARM_DESC(debug, "debug=1 enables debugging messages"); 67MODULE_PARM_DESC(debug, "debug=1 enables debugging messages");
68 68
diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
index 53be7aef6308..66bc376005d2 100644
--- a/drivers/usb/musb/cppi_dma.c
+++ b/drivers/usb/musb/cppi_dma.c
@@ -750,7 +750,7 @@ cppi_next_tx_segment(struct musb *musb, struct cppi_channel *tx)
750 * So this module parameter lets the heuristic be disabled. When using 750 * So this module parameter lets the heuristic be disabled. When using
751 * gadgetfs, the heuristic will probably need to be disabled. 751 * gadgetfs, the heuristic will probably need to be disabled.
752 */ 752 */
753static int cppi_rx_rndis = 1; 753static bool cppi_rx_rndis = 1;
754 754
755module_param(cppi_rx_rndis, bool, 0); 755module_param(cppi_rx_rndis, bool, 0);
756MODULE_PARM_DESC(cppi_rx_rndis, "enable/disable RX RNDIS heuristic"); 756MODULE_PARM_DESC(cppi_rx_rndis, "enable/disable RX RNDIS heuristic");
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index f6ff7923048b..56cf0243979e 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -1586,7 +1586,7 @@ irqreturn_t musb_interrupt(struct musb *musb)
1586EXPORT_SYMBOL_GPL(musb_interrupt); 1586EXPORT_SYMBOL_GPL(musb_interrupt);
1587 1587
1588#ifndef CONFIG_MUSB_PIO_ONLY 1588#ifndef CONFIG_MUSB_PIO_ONLY
1589static int __initdata use_dma = 1; 1589static bool __initdata use_dma = 1;
1590 1590
1591/* "modprobe ... use_dma=0" etc */ 1591/* "modprobe ... use_dma=0" etc */
1592module_param(use_dma, bool, 0); 1592module_param(use_dma, bool, 0);
diff --git a/drivers/usb/serial/aircable.c b/drivers/usb/serial/aircable.c
index b43d07df4c44..123bf9155339 100644
--- a/drivers/usb/serial/aircable.c
+++ b/drivers/usb/serial/aircable.c
@@ -52,7 +52,7 @@
52#include <linux/usb.h> 52#include <linux/usb.h>
53#include <linux/usb/serial.h> 53#include <linux/usb/serial.h>
54 54
55static int debug; 55static bool debug;
56 56
57/* Vendor and Product ID */ 57/* Vendor and Product ID */
58#define AIRCABLE_VID 0x16CA 58#define AIRCABLE_VID 0x16CA
diff --git a/drivers/usb/serial/ark3116.c b/drivers/usb/serial/ark3116.c
index 18e875b92e00..69328dcfd91a 100644
--- a/drivers/usb/serial/ark3116.c
+++ b/drivers/usb/serial/ark3116.c
@@ -37,7 +37,7 @@
37#include <linux/mutex.h> 37#include <linux/mutex.h>
38#include <linux/spinlock.h> 38#include <linux/spinlock.h>
39 39
40static int debug; 40static bool debug;
41/* 41/*
42 * Version information 42 * Version information
43 */ 43 */
diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c
index f9f29b289f2f..29ffeb6279c7 100644
--- a/drivers/usb/serial/belkin_sa.c
+++ b/drivers/usb/serial/belkin_sa.c
@@ -37,7 +37,7 @@
37#include <linux/usb/serial.h> 37#include <linux/usb/serial.h>
38#include "belkin_sa.h" 38#include "belkin_sa.h"
39 39
40static int debug; 40static bool debug;
41 41
42/* 42/*
43 * Version Information 43 * Version Information
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
index 0e77511060c0..5e53cc59e652 100644
--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -70,7 +70,7 @@
70#define CH341_NBREAK_BITS_REG2 0x40 70#define CH341_NBREAK_BITS_REG2 0x40
71 71
72 72
73static int debug; 73static bool debug;
74 74
75static const struct usb_device_id id_table[] = { 75static const struct usb_device_id id_table[] = {
76 { USB_DEVICE(0x4348, 0x5523) }, 76 { USB_DEVICE(0x4348, 0x5523) },
diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index adfe660ed008..fba1147ed916 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -49,7 +49,7 @@ static void cp210x_break_ctl(struct tty_struct *, int);
49static int cp210x_startup(struct usb_serial *); 49static int cp210x_startup(struct usb_serial *);
50static void cp210x_dtr_rts(struct usb_serial_port *p, int on); 50static void cp210x_dtr_rts(struct usb_serial_port *p, int on);
51 51
52static int debug; 52static bool debug;
53 53
54static const struct usb_device_id id_table[] = { 54static const struct usb_device_id id_table[] = {
55 { USB_DEVICE(0x045B, 0x0053) }, /* Renesas RX610 RX-Stick */ 55 { USB_DEVICE(0x045B, 0x0053) }, /* Renesas RX610 RX-Stick */
diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c
index 98bf83349838..6bc3802a581a 100644
--- a/drivers/usb/serial/cyberjack.c
+++ b/drivers/usb/serial/cyberjack.c
@@ -43,7 +43,7 @@
43 43
44#define CYBERJACK_LOCAL_BUF_SIZE 32 44#define CYBERJACK_LOCAL_BUF_SIZE 32
45 45
46static int debug; 46static bool debug;
47 47
48/* 48/*
49 * Version Information 49 * Version Information
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index 07680d6b792b..3bdeafa29c24 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -46,10 +46,10 @@
46#include "cypress_m8.h" 46#include "cypress_m8.h"
47 47
48 48
49static int debug; 49static bool debug;
50static int stats; 50static bool stats;
51static int interval; 51static int interval;
52static int unstable_bauds; 52static bool unstable_bauds;
53 53
54/* 54/*
55 * Version Information 55 * Version Information
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
index 6d26a77d0f2a..b23bebd721a1 100644
--- a/drivers/usb/serial/digi_acceleport.c
+++ b/drivers/usb/serial/digi_acceleport.c
@@ -251,7 +251,7 @@ static int digi_read_oob_callback(struct urb *urb);
251 251
252/* Statics */ 252/* Statics */
253 253
254static int debug; 254static bool debug;
255 255
256static const struct usb_device_id id_table_combined[] = { 256static const struct usb_device_id id_table_combined[] = {
257 { USB_DEVICE(DIGI_VENDOR_ID, DIGI_2_ID) }, 257 { USB_DEVICE(DIGI_VENDOR_ID, DIGI_2_ID) },
diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c
index 504b5585ea45..aced6817bf95 100644
--- a/drivers/usb/serial/empeg.c
+++ b/drivers/usb/serial/empeg.c
@@ -28,7 +28,7 @@
28#include <linux/usb.h> 28#include <linux/usb.h>
29#include <linux/usb/serial.h> 29#include <linux/usb/serial.h>
30 30
31static int debug; 31static bool debug;
32 32
33/* 33/*
34 * Version Information 34 * Version Information
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index c290df97108e..01b6404df395 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -55,7 +55,7 @@
55#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Bill Ryder <bryder@sgi.com>, Kuba Ober <kuba@mareimbrium.org>, Andreas Mohr, Johan Hovold <jhovold@gmail.com>" 55#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Bill Ryder <bryder@sgi.com>, Kuba Ober <kuba@mareimbrium.org>, Andreas Mohr, Johan Hovold <jhovold@gmail.com>"
56#define DRIVER_DESC "USB FTDI Serial Converters Driver" 56#define DRIVER_DESC "USB FTDI Serial Converters Driver"
57 57
58static int debug; 58static bool debug;
59static __u16 vendor = FTDI_VID; 59static __u16 vendor = FTDI_VID;
60static __u16 product; 60static __u16 product;
61 61
diff --git a/drivers/usb/serial/funsoft.c b/drivers/usb/serial/funsoft.c
index e21ce9ddfc63..5d4b099dcf8b 100644
--- a/drivers/usb/serial/funsoft.c
+++ b/drivers/usb/serial/funsoft.c
@@ -16,7 +16,7 @@
16#include <linux/usb/serial.h> 16#include <linux/usb/serial.h>
17#include <linux/uaccess.h> 17#include <linux/uaccess.h>
18 18
19static int debug; 19static bool debug;
20 20
21static const struct usb_device_id id_table[] = { 21static const struct usb_device_id id_table[] = {
22 { USB_DEVICE(0x1404, 0xcddc) }, 22 { USB_DEVICE(0x1404, 0xcddc) },
diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
index bf12565f8e87..21343378c322 100644
--- a/drivers/usb/serial/garmin_gps.c
+++ b/drivers/usb/serial/garmin_gps.c
@@ -42,7 +42,7 @@
42static int initial_mode = 1; 42static int initial_mode = 1;
43 43
44/* debug flag */ 44/* debug flag */
45static int debug; 45static bool debug;
46 46
47#define GARMIN_VENDOR_ID 0x091E 47#define GARMIN_VENDOR_ID 0x091E
48 48
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
index abd2ee2b2f99..0497575e4799 100644
--- a/drivers/usb/serial/io_edgeport.c
+++ b/drivers/usb/serial/io_edgeport.c
@@ -191,7 +191,7 @@ static const struct divisor_table_entry divisor_table[] = {
191}; 191};
192 192
193/* local variables */ 193/* local variables */
194static int debug; 194static bool debug;
195 195
196static atomic_t CmdUrbs; /* Number of outstanding Command Write Urbs */ 196static atomic_t CmdUrbs; /* Number of outstanding Command Write Urbs */
197 197
diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
index e44d375edaad..65bf06aa591a 100644
--- a/drivers/usb/serial/io_ti.c
+++ b/drivers/usb/serial/io_ti.c
@@ -210,10 +210,10 @@ static unsigned char OperationalMajorVersion;
210static unsigned char OperationalMinorVersion; 210static unsigned char OperationalMinorVersion;
211static unsigned short OperationalBuildNumber; 211static unsigned short OperationalBuildNumber;
212 212
213static int debug; 213static bool debug;
214 214
215static int closing_wait = EDGE_CLOSING_WAIT; 215static int closing_wait = EDGE_CLOSING_WAIT;
216static int ignore_cpu_rev; 216static bool ignore_cpu_rev;
217static int default_uart_mode; /* RS232 */ 217static int default_uart_mode; /* RS232 */
218 218
219static void edge_tty_recv(struct device *dev, struct tty_struct *tty, 219static void edge_tty_recv(struct device *dev, struct tty_struct *tty,
diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c
index 36f5cbe90485..06053a920dd8 100644
--- a/drivers/usb/serial/ipaq.c
+++ b/drivers/usb/serial/ipaq.c
@@ -34,7 +34,7 @@
34#define DRIVER_DESC "USB PocketPC PDA driver" 34#define DRIVER_DESC "USB PocketPC PDA driver"
35 35
36static __u16 product, vendor; 36static __u16 product, vendor;
37static int debug; 37static bool debug;
38static int connect_retries = KP_RETRIES; 38static int connect_retries = KP_RETRIES;
39static int initial_wait; 39static int initial_wait;
40 40
diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c
index 5170799d6e94..6f9356f3f99e 100644
--- a/drivers/usb/serial/ipw.c
+++ b/drivers/usb/serial/ipw.c
@@ -147,7 +147,7 @@ static struct usb_driver usb_ipw_driver = {
147 .no_dynamic_id = 1, 147 .no_dynamic_id = 1,
148}; 148};
149 149
150static int debug; 150static bool debug;
151 151
152static int ipw_open(struct tty_struct *tty, struct usb_serial_port *port) 152static int ipw_open(struct tty_struct *tty, struct usb_serial_port *port)
153{ 153{
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
index 0c537da0d3cd..84a396e83671 100644
--- a/drivers/usb/serial/ir-usb.c
+++ b/drivers/usb/serial/ir-usb.c
@@ -45,7 +45,7 @@
45#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Johan Hovold <jhovold@gmail.com>" 45#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>, Johan Hovold <jhovold@gmail.com>"
46#define DRIVER_DESC "USB IR Dongle driver" 46#define DRIVER_DESC "USB IR Dongle driver"
47 47
48static int debug; 48static bool debug;
49 49
50/* if overridden by the user, then use their value for the size of the read and 50/* if overridden by the user, then use their value for the size of the read and
51 * write urbs */ 51 * write urbs */
diff --git a/drivers/usb/serial/iuu_phoenix.c b/drivers/usb/serial/iuu_phoenix.c
index 64d0ffd4440b..3077a4436976 100644
--- a/drivers/usb/serial/iuu_phoenix.c
+++ b/drivers/usb/serial/iuu_phoenix.c
@@ -34,9 +34,9 @@
34 34
35 35
36#ifdef CONFIG_USB_SERIAL_DEBUG 36#ifdef CONFIG_USB_SERIAL_DEBUG
37static int debug = 1; 37static bool debug = 1;
38#else 38#else
39static int debug; 39static bool debug;
40#endif 40#endif
41 41
42/* 42/*
@@ -65,7 +65,7 @@ static int clockmode = 1;
65static int cdmode = 1; 65static int cdmode = 1;
66static int iuu_cardin; 66static int iuu_cardin;
67static int iuu_cardout; 67static int iuu_cardout;
68static int xmas; 68static bool xmas;
69static int vcc_default = 5; 69static int vcc_default = 5;
70 70
71static void read_rxcmd_callback(struct urb *urb); 71static void read_rxcmd_callback(struct urb *urb);
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
index bc8dc203e818..4cc36c761801 100644
--- a/drivers/usb/serial/keyspan.c
+++ b/drivers/usb/serial/keyspan.c
@@ -45,7 +45,7 @@
45#include <linux/usb/serial.h> 45#include <linux/usb/serial.h>
46#include "keyspan.h" 46#include "keyspan.h"
47 47
48static int debug; 48static bool debug;
49 49
50/* 50/*
51 * Version Information 51 * Version Information
diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c
index a40615674a68..7c62a7048302 100644
--- a/drivers/usb/serial/keyspan_pda.c
+++ b/drivers/usb/serial/keyspan_pda.c
@@ -31,7 +31,7 @@
31#include <linux/usb.h> 31#include <linux/usb.h>
32#include <linux/usb/serial.h> 32#include <linux/usb/serial.h>
33 33
34static int debug; 34static bool debug;
35 35
36/* make a simple define to handle if we are compiling keyspan_pda or xircom support */ 36/* make a simple define to handle if we are compiling keyspan_pda or xircom support */
37#if defined(CONFIG_USB_SERIAL_KEYSPAN_PDA) || defined(CONFIG_USB_SERIAL_KEYSPAN_PDA_MODULE) 37#if defined(CONFIG_USB_SERIAL_KEYSPAN_PDA) || defined(CONFIG_USB_SERIAL_KEYSPAN_PDA_MODULE)
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c
index 19373cb7c5bf..fc064e1442ca 100644
--- a/drivers/usb/serial/kl5kusb105.c
+++ b/drivers/usb/serial/kl5kusb105.c
@@ -49,7 +49,7 @@
49#include <linux/usb/serial.h> 49#include <linux/usb/serial.h>
50#include "kl5kusb105.h" 50#include "kl5kusb105.h"
51 51
52static int debug; 52static bool debug;
53 53
54/* 54/*
55 * Version Information 55 * Version Information
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
index a975bb80303f..27fa9c8a77b0 100644
--- a/drivers/usb/serial/mct_u232.c
+++ b/drivers/usb/serial/mct_u232.c
@@ -45,7 +45,7 @@
45#define DRIVER_AUTHOR "Wolfgang Grandegger <wolfgang@ces.ch>" 45#define DRIVER_AUTHOR "Wolfgang Grandegger <wolfgang@ces.ch>"
46#define DRIVER_DESC "Magic Control Technology USB-RS232 converter driver" 46#define DRIVER_DESC "Magic Control Technology USB-RS232 converter driver"
47 47
48static int debug; 48static bool debug;
49 49
50/* 50/*
51 * Function prototypes 51 * Function prototypes
diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c
index 19d112f51b97..4554ee49e635 100644
--- a/drivers/usb/serial/mos7720.c
+++ b/drivers/usb/serial/mos7720.c
@@ -71,7 +71,7 @@ struct moschip_port {
71 struct urb *write_urb_pool[NUM_URBS]; 71 struct urb *write_urb_pool[NUM_URBS];
72}; 72};
73 73
74static int debug; 74static bool debug;
75 75
76static struct usb_serial_driver moschip7720_2port_driver; 76static struct usb_serial_driver moschip7720_2port_driver;
77 77
diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
index 55cfd6265b98..03b5e249e95e 100644
--- a/drivers/usb/serial/mos7840.c
+++ b/drivers/usb/serial/mos7840.c
@@ -263,7 +263,7 @@ struct moschip_port {
263}; 263};
264 264
265 265
266static int debug; 266static bool debug;
267 267
268/* 268/*
269 * mos7840_set_reg_sync 269 * mos7840_set_reg_sync
diff --git a/drivers/usb/serial/navman.c b/drivers/usb/serial/navman.c
index 1f00f243c26c..b28f1db0195f 100644
--- a/drivers/usb/serial/navman.c
+++ b/drivers/usb/serial/navman.c
@@ -21,7 +21,7 @@
21#include <linux/usb.h> 21#include <linux/usb.h>
22#include <linux/usb/serial.h> 22#include <linux/usb/serial.h>
23 23
24static int debug; 24static bool debug;
25 25
26static const struct usb_device_id id_table[] = { 26static const struct usb_device_id id_table[] = {
27 { USB_DEVICE(0x0a99, 0x0001) }, /* Talon Technology device */ 27 { USB_DEVICE(0x0a99, 0x0001) }, /* Talon Technology device */
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c
index 45a8c55881d3..8b8d58a2ac12 100644
--- a/drivers/usb/serial/omninet.c
+++ b/drivers/usb/serial/omninet.c
@@ -23,7 +23,7 @@
23#include <linux/usb.h> 23#include <linux/usb.h>
24#include <linux/usb/serial.h> 24#include <linux/usb/serial.h>
25 25
26static int debug; 26static bool debug;
27 27
28/* 28/*
29 * Version Information 29 * Version Information
diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c
index 691f57a9d712..262ded9e076b 100644
--- a/drivers/usb/serial/opticon.c
+++ b/drivers/usb/serial/opticon.c
@@ -32,7 +32,7 @@
32 * an examples of 1D barcode types are EAN, UPC, Code39, IATA etc.. */ 32 * an examples of 1D barcode types are EAN, UPC, Code39, IATA etc.. */
33#define DRIVER_DESC "Opticon USB barcode to serial driver (1D)" 33#define DRIVER_DESC "Opticon USB barcode to serial driver (1D)"
34 34
35static int debug; 35static bool debug;
36 36
37static const struct usb_device_id id_table[] = { 37static const struct usb_device_id id_table[] = {
38 { USB_DEVICE(0x065a, 0x0009) }, 38 { USB_DEVICE(0x065a, 0x0009) },
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index c96b6b6509fb..420d9857394a 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1234,7 +1234,7 @@ static struct usb_serial_driver option_1port_device = {
1234#endif 1234#endif
1235}; 1235};
1236 1236
1237static int debug; 1237static bool debug;
1238 1238
1239/* per port private data */ 1239/* per port private data */
1240 1240
diff --git a/drivers/usb/serial/oti6858.c b/drivers/usb/serial/oti6858.c
index 2161d1c3c089..e287fd32682c 100644
--- a/drivers/usb/serial/oti6858.c
+++ b/drivers/usb/serial/oti6858.c
@@ -74,7 +74,7 @@ static struct usb_driver oti6858_driver = {
74 .no_dynamic_id = 1, 74 .no_dynamic_id = 1,
75}; 75};
76 76
77static int debug; 77static bool debug;
78 78
79/* requests */ 79/* requests */
80#define OTI6858_REQ_GET_STATUS (USB_DIR_IN | USB_TYPE_VENDOR | 0x00) 80#define OTI6858_REQ_GET_STATUS (USB_DIR_IN | USB_TYPE_VENDOR | 0x00)
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 329295615d06..3d8cda57ce7a 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -36,7 +36,7 @@
36 */ 36 */
37#define DRIVER_DESC "Prolific PL2303 USB to serial adaptor driver" 37#define DRIVER_DESC "Prolific PL2303 USB to serial adaptor driver"
38 38
39static int debug; 39static bool debug;
40 40
41#define PL2303_CLOSING_WAIT (30*HZ) 41#define PL2303_CLOSING_WAIT (30*HZ)
42 42
diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
index aa9367f5b421..1d5deee3be52 100644
--- a/drivers/usb/serial/qcserial.c
+++ b/drivers/usb/serial/qcserial.c
@@ -22,7 +22,7 @@
22#define DRIVER_AUTHOR "Qualcomm Inc" 22#define DRIVER_AUTHOR "Qualcomm Inc"
23#define DRIVER_DESC "Qualcomm USB Serial driver" 23#define DRIVER_DESC "Qualcomm USB Serial driver"
24 24
25static int debug; 25static bool debug;
26 26
27static const struct usb_device_id id_table[] = { 27static const struct usb_device_id id_table[] = {
28 {USB_DEVICE(0x05c6, 0x9211)}, /* Acer Gobi QDL device */ 28 {USB_DEVICE(0x05c6, 0x9211)}, /* Acer Gobi QDL device */
diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c
index a36e2313eed0..d074b3740dcb 100644
--- a/drivers/usb/serial/safe_serial.c
+++ b/drivers/usb/serial/safe_serial.c
@@ -81,9 +81,9 @@
81#define CONFIG_USB_SERIAL_SAFE_PADDED 0 81#define CONFIG_USB_SERIAL_SAFE_PADDED 0
82#endif 82#endif
83 83
84static int debug; 84static bool debug;
85static int safe = 1; 85static bool safe = 1;
86static int padded = CONFIG_USB_SERIAL_SAFE_PADDED; 86static bool padded = CONFIG_USB_SERIAL_SAFE_PADDED;
87 87
88#define DRIVER_VERSION "v0.1" 88#define DRIVER_VERSION "v0.1"
89#define DRIVER_AUTHOR "sl@lineo.com, tbr@lineo.com, Johan Hovold <jhovold@gmail.com>" 89#define DRIVER_AUTHOR "sl@lineo.com, tbr@lineo.com, Johan Hovold <jhovold@gmail.com>"
diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
index f2485429172f..fdae0a4407cb 100644
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
@@ -46,8 +46,8 @@
46 allocations > PAGE_SIZE and the number of packets in a page 46 allocations > PAGE_SIZE and the number of packets in a page
47 is an integer 512 is the largest possible packet on EHCI */ 47 is an integer 512 is the largest possible packet on EHCI */
48 48
49static int debug; 49static bool debug;
50static int nmea; 50static bool nmea;
51 51
52/* Used in interface blacklisting */ 52/* Used in interface blacklisting */
53struct sierra_iface_info { 53struct sierra_iface_info {
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
index 180ea6c7911c..d7f5eee18f00 100644
--- a/drivers/usb/serial/spcp8x5.c
+++ b/drivers/usb/serial/spcp8x5.c
@@ -33,7 +33,7 @@
33#define DRIVER_VERSION "v0.10" 33#define DRIVER_VERSION "v0.10"
34#define DRIVER_DESC "SPCP8x5 USB to serial adaptor driver" 34#define DRIVER_DESC "SPCP8x5 USB to serial adaptor driver"
35 35
36static int debug; 36static bool debug;
37 37
38#define SPCP8x5_007_VID 0x04FC 38#define SPCP8x5_007_VID 0x04FC
39#define SPCP8x5_007_PID 0x0201 39#define SPCP8x5_007_PID 0x0201
diff --git a/drivers/usb/serial/ssu100.c b/drivers/usb/serial/ssu100.c
index 87362e48796e..7697858d8858 100644
--- a/drivers/usb/serial/ssu100.c
+++ b/drivers/usb/serial/ssu100.c
@@ -46,7 +46,7 @@
46#define FULLPWRBIT 0x00000080 46#define FULLPWRBIT 0x00000080
47#define NEXT_BOARD_POWER_BIT 0x00000004 47#define NEXT_BOARD_POWER_BIT 0x00000004
48 48
49static int debug; 49static bool debug;
50 50
51/* Version Information */ 51/* Version Information */
52#define DRIVER_VERSION "v0.1" 52#define DRIVER_VERSION "v0.1"
diff --git a/drivers/usb/serial/symbolserial.c b/drivers/usb/serial/symbolserial.c
index c70cc012d03f..50651cf4fc61 100644
--- a/drivers/usb/serial/symbolserial.c
+++ b/drivers/usb/serial/symbolserial.c
@@ -20,7 +20,7 @@
20#include <linux/usb/serial.h> 20#include <linux/usb/serial.h>
21#include <linux/uaccess.h> 21#include <linux/uaccess.h>
22 22
23static int debug; 23static bool debug;
24 24
25static const struct usb_device_id id_table[] = { 25static const struct usb_device_id id_table[] = {
26 { USB_DEVICE(0x05e0, 0x0600) }, 26 { USB_DEVICE(0x05e0, 0x0600) },
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index 4af21f46096e..8468eb769a29 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -150,7 +150,7 @@ static int ti_download_firmware(struct ti_device *tdev);
150/* Data */ 150/* Data */
151 151
152/* module parameters */ 152/* module parameters */
153static int debug; 153static bool debug;
154static int closing_wait = TI_DEFAULT_CLOSING_WAIT; 154static int closing_wait = TI_DEFAULT_CLOSING_WAIT;
155static ushort vendor_3410[TI_EXTRA_VID_PID_COUNT]; 155static ushort vendor_3410[TI_EXTRA_VID_PID_COUNT];
156static unsigned int vendor_3410_count; 156static unsigned int vendor_3410_count;
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index ce6c1a65a544..611b206591cb 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -61,7 +61,7 @@ static struct usb_driver usb_serial_driver = {
61 drivers depend on it. 61 drivers depend on it.
62*/ 62*/
63 63
64static int debug; 64static bool debug;
65/* initially all NULL */ 65/* initially all NULL */
66static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; 66static struct usb_serial *serial_table[SERIAL_TTY_MINORS];
67static DEFINE_MUTEX(table_lock); 67static DEFINE_MUTEX(table_lock);
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
index d555ca9567b8..c88657dd31c8 100644
--- a/drivers/usb/serial/usb_wwan.c
+++ b/drivers/usb/serial/usb_wwan.c
@@ -37,7 +37,7 @@
37#include <linux/serial.h> 37#include <linux/serial.h>
38#include "usb-wwan.h" 38#include "usb-wwan.h"
39 39
40static int debug; 40static bool debug;
41 41
42void usb_wwan_dtr_rts(struct usb_serial_port *port, int on) 42void usb_wwan_dtr_rts(struct usb_serial_port *port, int on)
43{ 43{
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index 1c11959a7d58..210e4b10dc11 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -52,7 +52,7 @@ static int palm_os_4_probe(struct usb_serial *serial,
52 const struct usb_device_id *id); 52 const struct usb_device_id *id);
53 53
54/* Parameters that may be passed into the module. */ 54/* Parameters that may be passed into the module. */
55static int debug; 55static bool debug;
56static __u16 vendor; 56static __u16 vendor;
57static __u16 product; 57static __u16 product;
58 58
diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c
index 11af903cb09f..7e0acf5c8e38 100644
--- a/drivers/usb/serial/whiteheat.c
+++ b/drivers/usb/serial/whiteheat.c
@@ -36,7 +36,7 @@
36#include <linux/ihex.h> 36#include <linux/ihex.h>
37#include "whiteheat.h" /* WhiteHEAT specific commands */ 37#include "whiteheat.h" /* WhiteHEAT specific commands */
38 38
39static int debug; 39static bool debug;
40 40
41#ifndef CMSPAR 41#ifndef CMSPAR
42#define CMSPAR 0 42#define CMSPAR 0
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
index 44bdce4242ad..622f12b62a47 100644
--- a/drivers/video/aty/atyfb_base.c
+++ b/drivers/video/aty/atyfb_base.c
@@ -301,9 +301,9 @@ static struct fb_ops atyfb_ops = {
301 .fb_sync = atyfb_sync, 301 .fb_sync = atyfb_sync,
302}; 302};
303 303
304static int noaccel; 304static bool noaccel;
305#ifdef CONFIG_MTRR 305#ifdef CONFIG_MTRR
306static int nomtrr; 306static bool nomtrr;
307#endif 307#endif
308static int vram; 308static int vram;
309static int pll; 309static int pll;
diff --git a/drivers/video/aty/radeon_base.c b/drivers/video/aty/radeon_base.c
index 150684882ef7..ce1506b75adf 100644
--- a/drivers/video/aty/radeon_base.c
+++ b/drivers/video/aty/radeon_base.c
@@ -263,19 +263,19 @@ static reg_val common_regs[] = {
263 263
264static char *mode_option; 264static char *mode_option;
265static char *monitor_layout; 265static char *monitor_layout;
266static int noaccel = 0; 266static bool noaccel = 0;
267static int default_dynclk = -2; 267static int default_dynclk = -2;
268static int nomodeset = 0; 268static bool nomodeset = 0;
269static int ignore_edid = 0; 269static bool ignore_edid = 0;
270static int mirror = 0; 270static bool mirror = 0;
271static int panel_yres = 0; 271static int panel_yres = 0;
272static int force_dfp = 0; 272static bool force_dfp = 0;
273static int force_measure_pll = 0; 273static bool force_measure_pll = 0;
274#ifdef CONFIG_MTRR 274#ifdef CONFIG_MTRR
275static int nomtrr = 0; 275static bool nomtrr = 0;
276#endif 276#endif
277static int force_sleep; 277static bool force_sleep;
278static int ignore_devlist; 278static bool ignore_devlist;
279#ifdef CONFIG_PMAC_BACKLIGHT 279#ifdef CONFIG_PMAC_BACKLIGHT
280static int backlight = 1; 280static int backlight = 1;
281#else 281#else
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index 6df7c54db0a3..6fb499e7678f 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -350,7 +350,7 @@ struct cirrusfb_info {
350 void (*unmap)(struct fb_info *info); 350 void (*unmap)(struct fb_info *info);
351}; 351};
352 352
353static int noaccel __devinitdata; 353static bool noaccel __devinitdata;
354static char *mode_option __devinitdata = "640x480@60"; 354static char *mode_option __devinitdata = "640x480@60";
355 355
356/****************************************************************************/ 356/****************************************************************************/
diff --git a/drivers/video/hgafb.c b/drivers/video/hgafb.c
index 4394389caf68..c645f9282650 100644
--- a/drivers/video/hgafb.c
+++ b/drivers/video/hgafb.c
@@ -133,7 +133,7 @@ static struct fb_fix_screeninfo hga_fix __devinitdata = {
133/* Don't assume that tty1 will be the initial current console. */ 133/* Don't assume that tty1 will be the initial current console. */
134static int release_io_port = 0; 134static int release_io_port = 0;
135static int release_io_ports = 0; 135static int release_io_ports = 0;
136static int nologo = 0; 136static bool nologo = 0;
137 137
138/* ------------------------------------------------------------------------- 138/* -------------------------------------------------------------------------
139 * 139 *
diff --git a/drivers/video/intelfb/intelfbdrv.c b/drivers/video/intelfb/intelfbdrv.c
index 5ba399991050..c6afa33a4532 100644
--- a/drivers/video/intelfb/intelfbdrv.c
+++ b/drivers/video/intelfb/intelfbdrv.c
@@ -230,15 +230,15 @@ MODULE_DESCRIPTION("Framebuffer driver for Intel(R) " SUPPORTED_CHIPSETS
230MODULE_LICENSE("Dual BSD/GPL"); 230MODULE_LICENSE("Dual BSD/GPL");
231MODULE_DEVICE_TABLE(pci, intelfb_pci_table); 231MODULE_DEVICE_TABLE(pci, intelfb_pci_table);
232 232
233static int accel = 1; 233static bool accel = 1;
234static int vram = 4; 234static int vram = 4;
235static int hwcursor = 0; 235static bool hwcursor = 0;
236static int mtrr = 1; 236static bool mtrr = 1;
237static int fixed = 0; 237static bool fixed = 0;
238static int noinit = 0; 238static bool noinit = 0;
239static int noregister = 0; 239static bool noregister = 0;
240static int probeonly = 0; 240static bool probeonly = 0;
241static int idonly = 0; 241static bool idonly = 0;
242static int bailearly = 0; 242static int bailearly = 0;
243static int voffset = 48; 243static int voffset = 48;
244static char *mode = NULL; 244static char *mode = NULL;
@@ -263,7 +263,7 @@ module_param(probeonly, bool, 0);
263MODULE_PARM_DESC(probeonly, "Do a minimal probe (debug)"); 263MODULE_PARM_DESC(probeonly, "Do a minimal probe (debug)");
264module_param(idonly, bool, 0); 264module_param(idonly, bool, 0);
265MODULE_PARM_DESC(idonly, "Just identify without doing anything else (debug)"); 265MODULE_PARM_DESC(idonly, "Just identify without doing anything else (debug)");
266module_param(bailearly, bool, 0); 266module_param(bailearly, int, 0);
267MODULE_PARM_DESC(bailearly, "Bail out early, depending on value (debug)"); 267MODULE_PARM_DESC(bailearly, "Bail out early, depending on value (debug)");
268module_param(mode, charp, S_IRUGO); 268module_param(mode, charp, S_IRUGO);
269MODULE_PARM_DESC(mode, 269MODULE_PARM_DESC(mode,
diff --git a/drivers/video/logo/logo.c b/drivers/video/logo/logo.c
index ea7a8ccc830c..080c35b34bbb 100644
--- a/drivers/video/logo/logo.c
+++ b/drivers/video/logo/logo.c
@@ -21,7 +21,7 @@
21#include <asm/bootinfo.h> 21#include <asm/bootinfo.h>
22#endif 22#endif
23 23
24static int nologo; 24static bool nologo;
25module_param(nologo, bool, 0); 25module_param(nologo, bool, 0);
26MODULE_PARM_DESC(nologo, "Disables startup logo"); 26MODULE_PARM_DESC(nologo, "Disables startup logo");
27 27
diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c
index feea7b1dc386..fb3f67391105 100644
--- a/drivers/video/neofb.c
+++ b/drivers/video/neofb.c
@@ -84,11 +84,11 @@
84 84
85/* --------------------------------------------------------------------- */ 85/* --------------------------------------------------------------------- */
86 86
87static int internal; 87static bool internal;
88static int external; 88static bool external;
89static int libretto; 89static bool libretto;
90static int nostretch; 90static bool nostretch;
91static int nopciburst; 91static bool nopciburst;
92static char *mode_option __devinitdata = NULL; 92static char *mode_option __devinitdata = NULL;
93 93
94#ifdef MODULE 94#ifdef MODULE
diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
index 25d8e5103193..b291bfaac80e 100644
--- a/drivers/video/omap/omapfb_main.c
+++ b/drivers/video/omap/omapfb_main.c
@@ -47,9 +47,9 @@ static unsigned int def_rotate;
47static unsigned int def_mirror; 47static unsigned int def_mirror;
48 48
49#ifdef CONFIG_FB_OMAP_MANUAL_UPDATE 49#ifdef CONFIG_FB_OMAP_MANUAL_UPDATE
50static int manual_update = 1; 50static bool manual_update = 1;
51#else 51#else
52static int manual_update; 52static bool manual_update;
53#endif 53#endif
54 54
55static struct platform_device *fbdev_pdev; 55static struct platform_device *fbdev_pdev;
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index 86ec12e16c7c..da7b18576549 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -50,7 +50,7 @@ module_param_named(def_disp, def_disp_name, charp, 0);
50MODULE_PARM_DESC(def_disp, "default display name"); 50MODULE_PARM_DESC(def_disp, "default display name");
51 51
52#ifdef DEBUG 52#ifdef DEBUG
53unsigned int dss_debug; 53bool dss_debug;
54module_param_named(debug, dss_debug, bool, 0644); 54module_param_named(debug, dss_debug, bool, 0644);
55#endif 55#endif
56 56
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 5abf8e7e7456..46f37883e499 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -340,8 +340,8 @@ struct dsi_packet_sent_handler_data {
340static struct platform_device *dsi_pdev_map[MAX_NUM_DSI]; 340static struct platform_device *dsi_pdev_map[MAX_NUM_DSI];
341 341
342#ifdef DEBUG 342#ifdef DEBUG
343static unsigned int dsi_perf; 343static bool dsi_perf;
344module_param_named(dsi_perf, dsi_perf, bool, 0644); 344module_param(dsi_perf, bool, 0644);
345#endif 345#endif
346 346
347static inline struct dsi_data *dsi_get_dsidrv_data(struct platform_device *dsidev) 347static inline struct dsi_data *dsi_get_dsidrv_data(struct platform_device *dsidev)
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 6308fc59fc9e..57a52eecee91 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -28,7 +28,7 @@
28#endif 28#endif
29 29
30#ifdef DEBUG 30#ifdef DEBUG
31extern unsigned int dss_debug; 31extern bool dss_debug;
32#ifdef DSS_SUBSYS_NAME 32#ifdef DSS_SUBSYS_NAME
33#define DSSDBG(format, ...) \ 33#define DSSDBG(format, ...) \
34 if (dss_debug) \ 34 if (dss_debug) \
diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
index 70aa47de7146..68ba1f800082 100644
--- a/drivers/video/omap2/omapfb/omapfb-main.c
+++ b/drivers/video/omap2/omapfb/omapfb-main.c
@@ -43,18 +43,18 @@
43 43
44static char *def_mode; 44static char *def_mode;
45static char *def_vram; 45static char *def_vram;
46static int def_vrfb; 46static bool def_vrfb;
47static int def_rotate; 47static int def_rotate;
48static int def_mirror; 48static bool def_mirror;
49static bool auto_update; 49static bool auto_update;
50static unsigned int auto_update_freq; 50static unsigned int auto_update_freq;
51module_param(auto_update, bool, 0); 51module_param(auto_update, bool, 0);
52module_param(auto_update_freq, uint, 0644); 52module_param(auto_update_freq, uint, 0644);
53 53
54#ifdef DEBUG 54#ifdef DEBUG
55unsigned int omapfb_debug; 55bool omapfb_debug;
56module_param_named(debug, omapfb_debug, bool, 0644); 56module_param_named(debug, omapfb_debug, bool, 0644);
57static unsigned int omapfb_test_pattern; 57static bool omapfb_test_pattern;
58module_param_named(test, omapfb_test_pattern, bool, 0644); 58module_param_named(test, omapfb_test_pattern, bool, 0644);
59#endif 59#endif
60 60
diff --git a/drivers/video/omap2/omapfb/omapfb.h b/drivers/video/omap2/omapfb/omapfb.h
index fdf0edeccf4e..e12d384ea520 100644
--- a/drivers/video/omap2/omapfb/omapfb.h
+++ b/drivers/video/omap2/omapfb/omapfb.h
@@ -32,7 +32,7 @@
32#include <video/omapdss.h> 32#include <video/omapdss.h>
33 33
34#ifdef DEBUG 34#ifdef DEBUG
35extern unsigned int omapfb_debug; 35extern bool omapfb_debug;
36#define DBG(format, ...) \ 36#define DBG(format, ...) \
37 do { \ 37 do { \
38 if (omapfb_debug) \ 38 if (omapfb_debug) \
diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c
index dc7bfa91e57a..df31a24a5026 100644
--- a/drivers/video/pm2fb.c
+++ b/drivers/video/pm2fb.c
@@ -78,12 +78,12 @@ static char *mode_option __devinitdata;
78 * these flags allow the user to specify that requests for +ve sync 78 * these flags allow the user to specify that requests for +ve sync
79 * should be silently turned in -ve sync. 79 * should be silently turned in -ve sync.
80 */ 80 */
81static int lowhsync; 81static bool lowhsync;
82static int lowvsync; 82static bool lowvsync;
83static int noaccel __devinitdata; 83static bool noaccel __devinitdata;
84/* mtrr option */ 84/* mtrr option */
85#ifdef CONFIG_MTRR 85#ifdef CONFIG_MTRR
86static int nomtrr __devinitdata; 86static bool nomtrr __devinitdata;
87#endif 87#endif
88 88
89/* 89/*
diff --git a/drivers/video/pm3fb.c b/drivers/video/pm3fb.c
index 6632ee5ecb7e..055e527a8e45 100644
--- a/drivers/video/pm3fb.c
+++ b/drivers/video/pm3fb.c
@@ -57,11 +57,11 @@
57 */ 57 */
58static int hwcursor = 1; 58static int hwcursor = 1;
59static char *mode_option __devinitdata; 59static char *mode_option __devinitdata;
60static int noaccel __devinitdata; 60static bool noaccel __devinitdata;
61 61
62/* mtrr option */ 62/* mtrr option */
63#ifdef CONFIG_MTRR 63#ifdef CONFIG_MTRR
64static int nomtrr __devinitdata; 64static bool nomtrr __devinitdata;
65#endif 65#endif
66 66
67/* 67/*
diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c
index d8ab7be4fd6b..2f58cf9c813b 100644
--- a/drivers/video/riva/fbdev.c
+++ b/drivers/video/riva/fbdev.c
@@ -207,9 +207,9 @@ MODULE_DEVICE_TABLE(pci, rivafb_pci_tbl);
207/* command line data, set in rivafb_setup() */ 207/* command line data, set in rivafb_setup() */
208static int flatpanel __devinitdata = -1; /* Autodetect later */ 208static int flatpanel __devinitdata = -1; /* Autodetect later */
209static int forceCRTC __devinitdata = -1; 209static int forceCRTC __devinitdata = -1;
210static int noaccel __devinitdata = 0; 210static bool noaccel __devinitdata = 0;
211#ifdef CONFIG_MTRR 211#ifdef CONFIG_MTRR
212static int nomtrr __devinitdata = 0; 212static bool nomtrr __devinitdata = 0;
213#endif 213#endif
214#ifdef CONFIG_PMAC_BACKLIGHT 214#ifdef CONFIG_PMAC_BACKLIGHT
215static int backlight __devinitdata = 1; 215static int backlight __devinitdata = 1;
@@ -218,7 +218,7 @@ static int backlight __devinitdata = 0;
218#endif 218#endif
219 219
220static char *mode_option __devinitdata = NULL; 220static char *mode_option __devinitdata = NULL;
221static int strictmode = 0; 221static bool strictmode = 0;
222 222
223static struct fb_fix_screeninfo __devinitdata rivafb_fix = { 223static struct fb_fix_screeninfo __devinitdata rivafb_fix = {
224 .type = FB_TYPE_PACKED_PIXELS, 224 .type = FB_TYPE_PACKED_PIXELS,
diff --git a/drivers/video/smscufx.c b/drivers/video/smscufx.c
index 3c22994ea31a..ccbfef5e828f 100644
--- a/drivers/video/smscufx.c
+++ b/drivers/video/smscufx.c
@@ -130,8 +130,8 @@ static struct usb_device_id id_table[] = {
130MODULE_DEVICE_TABLE(usb, id_table); 130MODULE_DEVICE_TABLE(usb, id_table);
131 131
132/* module options */ 132/* module options */
133static int console; /* Optionally allow fbcon to consume first framebuffer */ 133static bool console; /* Optionally allow fbcon to consume first framebuffer */
134static int fb_defio = true; /* Optionally enable fb_defio mmap support */ 134static bool fb_defio = true; /* Optionally enable fb_defio mmap support */
135 135
136/* ufx keeps a list of urbs for efficient bulk transfers */ 136/* ufx keeps a list of urbs for efficient bulk transfers */
137static void ufx_urb_completion(struct urb *urb); 137static void ufx_urb_completion(struct urb *urb);
diff --git a/drivers/video/sstfb.c b/drivers/video/sstfb.c
index 2301c275d63a..111fb32e8769 100644
--- a/drivers/video/sstfb.c
+++ b/drivers/video/sstfb.c
@@ -93,11 +93,11 @@
93 93
94/* initialized by setup */ 94/* initialized by setup */
95 95
96static int vgapass; /* enable VGA passthrough cable */ 96static bool vgapass; /* enable VGA passthrough cable */
97static int mem; /* mem size in MB, 0 = autodetect */ 97static int mem; /* mem size in MB, 0 = autodetect */
98static int clipping = 1; /* use clipping (slower, safer) */ 98static bool clipping = 1; /* use clipping (slower, safer) */
99static int gfxclk; /* force FBI freq in Mhz . Dangerous */ 99static int gfxclk; /* force FBI freq in Mhz . Dangerous */
100static int slowpci; /* slow PCI settings */ 100static bool slowpci; /* slow PCI settings */
101 101
102/* 102/*
103 Possible default video modes: 800x600@60, 640x480@75, 1024x768@76, 640x480@60 103 Possible default video modes: 800x600@60, 640x480@75, 1024x768@76, 640x480@60
diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c
index a99b994c9b6b..e026724a3a56 100644
--- a/drivers/video/tdfxfb.c
+++ b/drivers/video/tdfxfb.c
@@ -169,7 +169,7 @@ static int nowrap = 1; /* not implemented (yet) */
169static int hwcursor = 1; 169static int hwcursor = 1;
170static char *mode_option __devinitdata; 170static char *mode_option __devinitdata;
171/* mtrr option */ 171/* mtrr option */
172static int nomtrr __devinitdata; 172static bool nomtrr __devinitdata;
173 173
174/* ------------------------------------------------------------------------- 174/* -------------------------------------------------------------------------
175 * Hardware-specific funcions 175 * Hardware-specific funcions
diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
index 1f868d0187a2..a19773149bd7 100644
--- a/drivers/video/udlfb.c
+++ b/drivers/video/udlfb.c
@@ -69,9 +69,9 @@ static struct usb_device_id id_table[] = {
69MODULE_DEVICE_TABLE(usb, id_table); 69MODULE_DEVICE_TABLE(usb, id_table);
70 70
71/* module options */ 71/* module options */
72static int console = 1; /* Allow fbcon to open framebuffer */ 72static bool console = 1; /* Allow fbcon to open framebuffer */
73static int fb_defio = 1; /* Detect mmap writes using page faults */ 73static bool fb_defio = 1; /* Detect mmap writes using page faults */
74static int shadow = 1; /* Optionally disable shadow framebuffer */ 74static bool shadow = 1; /* Optionally disable shadow framebuffer */
75 75
76/* dlfb keeps a list of urbs for efficient bulk transfers */ 76/* dlfb keeps a list of urbs for efficient bulk transfers */
77static void dlfb_urb_completion(struct urb *urb); 77static void dlfb_urb_completion(struct urb *urb);
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index 7f8472cc993b..e7f69ef572dc 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -44,11 +44,11 @@ static struct fb_fix_screeninfo uvesafb_fix __devinitdata = {
44}; 44};
45 45
46static int mtrr __devinitdata = 3; /* enable mtrr by default */ 46static int mtrr __devinitdata = 3; /* enable mtrr by default */
47static int blank = 1; /* enable blanking by default */ 47static bool blank = 1; /* enable blanking by default */
48static int ypan = 1; /* 0: scroll, 1: ypan, 2: ywrap */ 48static int ypan = 1; /* 0: scroll, 1: ypan, 2: ywrap */
49static bool pmi_setpal __devinitdata = true; /* use PMI for palette changes */ 49static bool pmi_setpal __devinitdata = true; /* use PMI for palette changes */
50static int nocrtc __devinitdata; /* ignore CRTC settings */ 50static bool nocrtc __devinitdata; /* ignore CRTC settings */
51static int noedid __devinitdata; /* don't try DDC transfers */ 51static bool noedid __devinitdata; /* don't try DDC transfers */
52static int vram_remap __devinitdata; /* set amt. of memory to be used */ 52static int vram_remap __devinitdata; /* set amt. of memory to be used */
53static int vram_total __devinitdata; /* set total amount of memory */ 53static int vram_total __devinitdata; /* set total amount of memory */
54static u16 maxclk __devinitdata; /* maximum pixel clock */ 54static u16 maxclk __devinitdata; /* maximum pixel clock */
diff --git a/drivers/video/vfb.c b/drivers/video/vfb.c
index bf2f78065cf9..501a922aa9dc 100644
--- a/drivers/video/vfb.c
+++ b/drivers/video/vfb.c
@@ -110,7 +110,7 @@ static struct fb_fix_screeninfo vfb_fix __devinitdata = {
110 .accel = FB_ACCEL_NONE, 110 .accel = FB_ACCEL_NONE,
111}; 111};
112 112
113static int vfb_enable __initdata = 0; /* disabled by default */ 113static bool vfb_enable __initdata = 0; /* disabled by default */
114module_param(vfb_enable, bool, 0); 114module_param(vfb_enable, bool, 0);
115 115
116static int vfb_check_var(struct fb_var_screeninfo *var, 116static int vfb_check_var(struct fb_var_screeninfo *var,
diff --git a/drivers/watchdog/f71808e_wdt.c b/drivers/watchdog/f71808e_wdt.c
index d4d8d1fdccc4..e45ca2b4bfbe 100644
--- a/drivers/watchdog/f71808e_wdt.c
+++ b/drivers/watchdog/f71808e_wdt.c
@@ -100,7 +100,7 @@ MODULE_PARM_DESC(f71862fg_pin,
100 "Watchdog f71862fg reset output pin configuration. Choose pin 56 or 63" 100 "Watchdog f71862fg reset output pin configuration. Choose pin 56 or 63"
101 " (default=" __MODULE_STRING(WATCHDOG_F71862FG_PIN)")"); 101 " (default=" __MODULE_STRING(WATCHDOG_F71862FG_PIN)")");
102 102
103static int nowayout = WATCHDOG_NOWAYOUT; 103static bool nowayout = WATCHDOG_NOWAYOUT;
104module_param(nowayout, bool, 0444); 104module_param(nowayout, bool, 0444);
105MODULE_PARM_DESC(nowayout, "Disable watchdog shutdown on close"); 105MODULE_PARM_DESC(nowayout, "Disable watchdog shutdown on close");
106 106
diff --git a/drivers/watchdog/mpc8xxx_wdt.c b/drivers/watchdog/mpc8xxx_wdt.c
index eed5436ffb51..20feb4d3d791 100644
--- a/drivers/watchdog/mpc8xxx_wdt.c
+++ b/drivers/watchdog/mpc8xxx_wdt.c
@@ -55,7 +55,7 @@ module_param(timeout, ushort, 0);
55MODULE_PARM_DESC(timeout, 55MODULE_PARM_DESC(timeout,
56 "Watchdog timeout in ticks. (0<timeout<65536, default=65535)"); 56 "Watchdog timeout in ticks. (0<timeout<65536, default=65535)");
57 57
58static int reset = 1; 58static bool reset = 1;
59module_param(reset, bool, 0); 59module_param(reset, bool, 0);
60MODULE_PARM_DESC(reset, 60MODULE_PARM_DESC(reset,
61 "Watchdog Interrupt/Reset Mode. 0 = interrupt, 1 = reset"); 61 "Watchdog Interrupt/Reset Mode. 0 = interrupt, 1 = reset");
diff --git a/drivers/xen/xen-pciback/conf_space.c b/drivers/xen/xen-pciback/conf_space.c
index 52fed16d8701..30d7be026c18 100644
--- a/drivers/xen/xen-pciback/conf_space.c
+++ b/drivers/xen/xen-pciback/conf_space.c
@@ -16,7 +16,7 @@
16#include "conf_space.h" 16#include "conf_space.h"
17#include "conf_space_quirks.h" 17#include "conf_space_quirks.h"
18 18
19static int permissive; 19static bool permissive;
20module_param(permissive, bool, 0644); 20module_param(permissive, bool, 0644);
21 21
22/* This is where xen_pcibk_read_config_byte, xen_pcibk_read_config_word, 22/* This is where xen_pcibk_read_config_byte, xen_pcibk_read_config_word,
diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c
index 8e1c44d8ab46..d5dcf8d5d3d9 100644
--- a/drivers/xen/xen-pciback/xenbus.c
+++ b/drivers/xen/xen-pciback/xenbus.c
@@ -16,7 +16,7 @@
16#define INVALID_EVTCHN_IRQ (-1) 16#define INVALID_EVTCHN_IRQ (-1)
17struct workqueue_struct *xen_pcibk_wq; 17struct workqueue_struct *xen_pcibk_wq;
18 18
19static int __read_mostly passthrough; 19static bool __read_mostly passthrough;
20module_param(passthrough, bool, S_IRUGO); 20module_param(passthrough, bool, S_IRUGO);
21MODULE_PARM_DESC(passthrough, 21MODULE_PARM_DESC(passthrough,
22 "Option to specify how to export PCI topology to guest:\n"\ 22 "Option to specify how to export PCI topology to guest:\n"\
diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c
index 23d7451b2938..65ba36b80a9e 100644
--- a/fs/lockd/mon.c
+++ b/fs/lockd/mon.c
@@ -55,7 +55,7 @@ static DEFINE_SPINLOCK(nsm_lock);
55 * Local NSM state 55 * Local NSM state
56 */ 56 */
57u32 __read_mostly nsm_local_state; 57u32 __read_mostly nsm_local_state;
58int __read_mostly nsm_use_hostnames; 58bool __read_mostly nsm_use_hostnames;
59 59
60static inline struct sockaddr *nsm_addr(const struct nsm_handle *nsm) 60static inline struct sockaddr *nsm_addr(const struct nsm_handle *nsm)
61{ 61{
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 277dfaf2e99a..31778f74357d 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -84,7 +84,7 @@ retry:
84/* 84/*
85 * Turn off NFSv4 uid/gid mapping when using AUTH_SYS 85 * Turn off NFSv4 uid/gid mapping when using AUTH_SYS
86 */ 86 */
87static int nfs4_disable_idmapping = 1; 87static bool nfs4_disable_idmapping = true;
88 88
89/* 89/*
90 * RPC cruft for NFS 90 * RPC cruft for NFS
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 25c3bfad7953..f649fba8c384 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -57,7 +57,7 @@
57#define NFS_64_BIT_INODE_NUMBERS_ENABLED 1 57#define NFS_64_BIT_INODE_NUMBERS_ENABLED 1
58 58
59/* Default is to see 64-bit inode numbers */ 59/* Default is to see 64-bit inode numbers */
60static int enable_ino64 = NFS_64_BIT_INODE_NUMBERS_ENABLED; 60static bool enable_ino64 = NFS_64_BIT_INODE_NUMBERS_ENABLED;
61 61
62static void nfs_invalidate_inode(struct inode *); 62static void nfs_invalidate_inode(struct inode *);
63static int nfs_update_inode(struct inode *, struct nfs_fattr *); 63static int nfs_update_inode(struct inode *, struct nfs_fattr *);
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c
index 608be4516091..5a4a8af5c406 100644
--- a/fs/ntfs/super.c
+++ b/fs/ntfs/super.c
@@ -3198,7 +3198,7 @@ MODULE_DESCRIPTION("NTFS 1.2/3.x driver - Copyright (c) 2001-2011 Anton Altaparm
3198MODULE_VERSION(NTFS_VERSION); 3198MODULE_VERSION(NTFS_VERSION);
3199MODULE_LICENSE("GPL"); 3199MODULE_LICENSE("GPL");
3200#ifdef DEBUG 3200#ifdef DEBUG
3201module_param(debug_msgs, bool, 0); 3201module_param(debug_msgs, bint, 0);
3202MODULE_PARM_DESC(debug_msgs, "Enable debug messages."); 3202MODULE_PARM_DESC(debug_msgs, "Enable debug messages.");
3203#endif 3203#endif
3204 3204
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index f554a9313b43..7762bc2d8404 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -66,7 +66,7 @@ extern u8 acpi_gbl_create_osi_method;
66extern u8 acpi_gbl_use_default_register_widths; 66extern u8 acpi_gbl_use_default_register_widths;
67extern acpi_name acpi_gbl_trace_method_name; 67extern acpi_name acpi_gbl_trace_method_name;
68extern u32 acpi_gbl_trace_flags; 68extern u32 acpi_gbl_trace_flags;
69extern u32 acpi_gbl_enable_aml_debug_object; 69extern bool acpi_gbl_enable_aml_debug_object;
70extern u8 acpi_gbl_copy_dsdt_locally; 70extern u8 acpi_gbl_copy_dsdt_locally;
71extern u8 acpi_gbl_truncate_io_addresses; 71extern u8 acpi_gbl_truncate_io_addresses;
72extern u8 acpi_gbl_disable_auto_repair; 72extern u8 acpi_gbl_disable_auto_repair;
diff --git a/include/acpi/apei.h b/include/acpi/apei.h
index 51a527d24a8a..04f349d8da73 100644
--- a/include/acpi/apei.h
+++ b/include/acpi/apei.h
@@ -16,10 +16,10 @@
16 16
17#ifdef __KERNEL__ 17#ifdef __KERNEL__
18 18
19extern int hest_disable; 19extern bool hest_disable;
20extern int erst_disable; 20extern int erst_disable;
21#ifdef CONFIG_ACPI_APEI_GHES 21#ifdef CONFIG_ACPI_APEI_GHES
22extern int ghes_disable; 22extern bool ghes_disable;
23#else 23#else
24#define ghes_disable 1 24#define ghes_disable 1
25#endif 25#endif
diff --git a/include/linux/console.h b/include/linux/console.h
index 7453cfd593c8..7201ce4280ca 100644
--- a/include/linux/console.h
+++ b/include/linux/console.h
@@ -152,7 +152,7 @@ extern int braille_register_console(struct console *, int index,
152 char *console_options, char *braille_options); 152 char *console_options, char *braille_options);
153extern int braille_unregister_console(struct console *); 153extern int braille_unregister_console(struct console *);
154extern void console_sysfs_notify(void); 154extern void console_sysfs_notify(void);
155extern int console_suspend_enabled; 155extern bool console_suspend_enabled;
156 156
157/* Suspend and resume console messages over PM events */ 157/* Suspend and resume console messages over PM events */
158extern void suspend_console(void); 158extern void suspend_console(void);
diff --git a/include/linux/init.h b/include/linux/init.h
index 9146f39cdddf..6b951095a42f 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -2,6 +2,7 @@
2#define _LINUX_INIT_H 2#define _LINUX_INIT_H
3 3
4#include <linux/compiler.h> 4#include <linux/compiler.h>
5#include <linux/types.h>
5 6
6/* These macros are used to mark some functions or 7/* These macros are used to mark some functions or
7 * initialized data (doesn't apply to uninitialized data) 8 * initialized data (doesn't apply to uninitialized data)
@@ -156,7 +157,7 @@ void prepare_namespace(void);
156 157
157extern void (*late_time_init)(void); 158extern void (*late_time_init)(void);
158 159
159extern int initcall_debug; 160extern bool initcall_debug;
160 161
161#endif 162#endif
162 163
diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h
index 90b0656a869e..88a114fce477 100644
--- a/include/linux/lockd/lockd.h
+++ b/include/linux/lockd/lockd.h
@@ -195,7 +195,7 @@ extern struct svc_procedure nlmsvc_procedures4[];
195#endif 195#endif
196extern int nlmsvc_grace_period; 196extern int nlmsvc_grace_period;
197extern unsigned long nlmsvc_timeout; 197extern unsigned long nlmsvc_timeout;
198extern int nsm_use_hostnames; 198extern bool nsm_use_hostnames;
199extern u32 nsm_local_state; 199extern u32 nsm_local_state;
200 200
201/* 201/*
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index dd13e0539092..0beba1e5e1ed 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -417,7 +417,7 @@ static inline void mmc_set_disable_delay(struct mmc_host *host,
417} 417}
418 418
419/* Module parameter */ 419/* Module parameter */
420extern int mmc_assume_removable; 420extern bool mmc_assume_removable;
421 421
422static inline int mmc_card_is_removable(struct mmc_host *host) 422static inline int mmc_card_is_removable(struct mmc_host *host)
423{ 423{
diff --git a/include/linux/module.h b/include/linux/module.h
index 3cb7839a60b9..4598bf03e98b 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -205,6 +205,20 @@ enum module_state
205 MODULE_STATE_GOING, 205 MODULE_STATE_GOING,
206}; 206};
207 207
208/**
209 * struct module_ref - per cpu module reference counts
210 * @incs: number of module get on this cpu
211 * @decs: number of module put on this cpu
212 *
213 * We force an alignment on 8 or 16 bytes, so that alloc_percpu()
214 * put @incs/@decs in same cache line, with no extra memory cost,
215 * since alloc_percpu() is fine grained.
216 */
217struct module_ref {
218 unsigned long incs;
219 unsigned long decs;
220} __attribute((aligned(2 * sizeof(unsigned long))));
221
208struct module 222struct module
209{ 223{
210 enum module_state state; 224 enum module_state state;
@@ -347,10 +361,7 @@ struct module
347 /* Destruction function. */ 361 /* Destruction function. */
348 void (*exit)(void); 362 void (*exit)(void);
349 363
350 struct module_ref { 364 struct module_ref __percpu *refptr;
351 unsigned int incs;
352 unsigned int decs;
353 } __percpu *refptr;
354#endif 365#endif
355 366
356#ifdef CONFIG_CONSTRUCTORS 367#ifdef CONFIG_CONSTRUCTORS
@@ -434,7 +445,7 @@ extern void __module_put_and_exit(struct module *mod, long code)
434#define module_put_and_exit(code) __module_put_and_exit(THIS_MODULE, code); 445#define module_put_and_exit(code) __module_put_and_exit(THIS_MODULE, code);
435 446
436#ifdef CONFIG_MODULE_UNLOAD 447#ifdef CONFIG_MODULE_UNLOAD
437unsigned int module_refcount(struct module *mod); 448unsigned long module_refcount(struct module *mod);
438void __symbol_put(const char *symbol); 449void __symbol_put(const char *symbol);
439#define symbol_put(x) __symbol_put(MODULE_SYMBOL_PREFIX #x) 450#define symbol_put(x) __symbol_put(MODULE_SYMBOL_PREFIX #x)
440void symbol_put_addr(void *addr); 451void symbol_put_addr(void *addr);
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
index 7939f636c8ba..c47f4d60db0b 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -350,23 +350,23 @@ extern int param_set_charp(const char *val, const struct kernel_param *kp);
350extern int param_get_charp(char *buffer, const struct kernel_param *kp); 350extern int param_get_charp(char *buffer, const struct kernel_param *kp);
351#define param_check_charp(name, p) __param_check(name, p, char *) 351#define param_check_charp(name, p) __param_check(name, p, char *)
352 352
353/* For historical reasons "bool" parameters can be (unsigned) "int". */ 353/* We used to allow int as well as bool. We're taking that away! */
354extern struct kernel_param_ops param_ops_bool; 354extern struct kernel_param_ops param_ops_bool;
355extern int param_set_bool(const char *val, const struct kernel_param *kp); 355extern int param_set_bool(const char *val, const struct kernel_param *kp);
356extern int param_get_bool(char *buffer, const struct kernel_param *kp); 356extern int param_get_bool(char *buffer, const struct kernel_param *kp);
357#define param_check_bool(name, p) \ 357#define param_check_bool(name, p) __param_check(name, p, bool)
358 static inline void __check_##name(void) \
359 { \
360 BUILD_BUG_ON(!__same_type((p), bool *) && \
361 !__same_type((p), unsigned int *) && \
362 !__same_type((p), int *)); \
363 }
364 358
365extern struct kernel_param_ops param_ops_invbool; 359extern struct kernel_param_ops param_ops_invbool;
366extern int param_set_invbool(const char *val, const struct kernel_param *kp); 360extern int param_set_invbool(const char *val, const struct kernel_param *kp);
367extern int param_get_invbool(char *buffer, const struct kernel_param *kp); 361extern int param_get_invbool(char *buffer, const struct kernel_param *kp);
368#define param_check_invbool(name, p) __param_check(name, p, bool) 362#define param_check_invbool(name, p) __param_check(name, p, bool)
369 363
364/* An int, which can only be set like a bool (though it shows as an int). */
365extern struct kernel_param_ops param_ops_bint;
366extern int param_set_bint(const char *val, const struct kernel_param *kp);
367#define param_get_bint param_get_int
368#define param_check_bint param_check_int
369
370/** 370/**
371 * module_param_array - a parameter which is an array of some type 371 * module_param_array - a parameter which is an array of some type
372 * @name: the name of the array variable 372 * @name: the name of the array variable
@@ -395,6 +395,7 @@ extern int param_get_invbool(char *buffer, const struct kernel_param *kp);
395 * module_param_named() for why this might be necessary. 395 * module_param_named() for why this might be necessary.
396 */ 396 */
397#define module_param_array_named(name, array, type, nump, perm) \ 397#define module_param_array_named(name, array, type, nump, perm) \
398 param_check_##type(name, &(array)[0]); \
398 static const struct kparam_array __param_arr_##name \ 399 static const struct kparam_array __param_arr_##name \
399 = { .max = ARRAY_SIZE(array), .num = nump, \ 400 = { .max = ARRAY_SIZE(array), .num = nump, \
400 .ops = &param_ops_##type, \ 401 .ops = &param_ops_##type, \
diff --git a/init/main.c b/init/main.c
index 415548e808d2..ff49a6dacfbb 100644
--- a/init/main.c
+++ b/init/main.c
@@ -648,7 +648,7 @@ static void __init do_ctors(void)
648#endif 648#endif
649} 649}
650 650
651int initcall_debug; 651bool initcall_debug;
652core_param(initcall_debug, initcall_debug, bool, 0644); 652core_param(initcall_debug, initcall_debug, bool, 0644);
653 653
654static char msgbuf[64]; 654static char msgbuf[64];
diff --git a/kernel/async.c b/kernel/async.c
index 80b74b88fefe..bd0c168a3bbe 100644
--- a/kernel/async.c
+++ b/kernel/async.c
@@ -78,8 +78,6 @@ static DECLARE_WAIT_QUEUE_HEAD(async_done);
78 78
79static atomic_t entry_count; 79static atomic_t entry_count;
80 80
81extern int initcall_debug;
82
83 81
84/* 82/*
85 * MUST be called with the lock held! 83 * MUST be called with the lock held!
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index 63786e71a3cd..e2ae7349437f 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -1982,7 +1982,7 @@ static int kdb_lsmod(int argc, const char **argv)
1982 kdb_printf("%-20s%8u 0x%p ", mod->name, 1982 kdb_printf("%-20s%8u 0x%p ", mod->name,
1983 mod->core_size, (void *)mod); 1983 mod->core_size, (void *)mod);
1984#ifdef CONFIG_MODULE_UNLOAD 1984#ifdef CONFIG_MODULE_UNLOAD
1985 kdb_printf("%4d ", module_refcount(mod)); 1985 kdb_printf("%4ld ", module_refcount(mod));
1986#endif 1986#endif
1987 if (mod->state == MODULE_STATE_GOING) 1987 if (mod->state == MODULE_STATE_GOING)
1988 kdb_printf(" (Unloading)"); 1988 kdb_printf(" (Unloading)");
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
index a73dd6c7372d..b7952316016a 100644
--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
@@ -15,7 +15,7 @@
15 15
16#define istate core_internal_state__do_not_mess_with_it 16#define istate core_internal_state__do_not_mess_with_it
17 17
18extern int noirqdebug; 18extern bool noirqdebug;
19 19
20/* 20/*
21 * Bits used by threaded handlers: 21 * Bits used by threaded handlers:
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index dc813a948be2..611cd6003c45 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -325,7 +325,7 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc,
325 desc->irqs_unhandled = 0; 325 desc->irqs_unhandled = 0;
326} 326}
327 327
328int noirqdebug __read_mostly; 328bool noirqdebug __read_mostly;
329 329
330int noirqdebug_setup(char *str) 330int noirqdebug_setup(char *str)
331{ 331{
diff --git a/kernel/module.c b/kernel/module.c
index 178333c48d1e..acf6ed3ebe81 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -62,12 +62,6 @@
62#define CREATE_TRACE_POINTS 62#define CREATE_TRACE_POINTS
63#include <trace/events/module.h> 63#include <trace/events/module.h>
64 64
65#if 0
66#define DEBUGP printk
67#else
68#define DEBUGP(fmt , a...)
69#endif
70
71#ifndef ARCH_SHF_SMALL 65#ifndef ARCH_SHF_SMALL
72#define ARCH_SHF_SMALL 0 66#define ARCH_SHF_SMALL 0
73#endif 67#endif
@@ -138,7 +132,6 @@ struct load_info {
138 unsigned long len; 132 unsigned long len;
139 Elf_Shdr *sechdrs; 133 Elf_Shdr *sechdrs;
140 char *secstrings, *strtab; 134 char *secstrings, *strtab;
141 unsigned long *strmap;
142 unsigned long symoffs, stroffs; 135 unsigned long symoffs, stroffs;
143 struct _ddebug *debug; 136 struct _ddebug *debug;
144 unsigned int num_debug; 137 unsigned int num_debug;
@@ -410,7 +403,7 @@ const struct kernel_symbol *find_symbol(const char *name,
410 return fsa.sym; 403 return fsa.sym;
411 } 404 }
412 405
413 DEBUGP("Failed to find symbol %s\n", name); 406 pr_debug("Failed to find symbol %s\n", name);
414 return NULL; 407 return NULL;
415} 408}
416EXPORT_SYMBOL_GPL(find_symbol); 409EXPORT_SYMBOL_GPL(find_symbol);
@@ -600,11 +593,11 @@ static int already_uses(struct module *a, struct module *b)
600 593
601 list_for_each_entry(use, &b->source_list, source_list) { 594 list_for_each_entry(use, &b->source_list, source_list) {
602 if (use->source == a) { 595 if (use->source == a) {
603 DEBUGP("%s uses %s!\n", a->name, b->name); 596 pr_debug("%s uses %s!\n", a->name, b->name);
604 return 1; 597 return 1;
605 } 598 }
606 } 599 }
607 DEBUGP("%s does not use %s!\n", a->name, b->name); 600 pr_debug("%s does not use %s!\n", a->name, b->name);
608 return 0; 601 return 0;
609} 602}
610 603
@@ -619,7 +612,7 @@ static int add_module_usage(struct module *a, struct module *b)
619{ 612{
620 struct module_use *use; 613 struct module_use *use;
621 614
622 DEBUGP("Allocating new usage for %s.\n", a->name); 615 pr_debug("Allocating new usage for %s.\n", a->name);
623 use = kmalloc(sizeof(*use), GFP_ATOMIC); 616 use = kmalloc(sizeof(*use), GFP_ATOMIC);
624 if (!use) { 617 if (!use) {
625 printk(KERN_WARNING "%s: out of memory loading\n", a->name); 618 printk(KERN_WARNING "%s: out of memory loading\n", a->name);
@@ -663,7 +656,7 @@ static void module_unload_free(struct module *mod)
663 mutex_lock(&module_mutex); 656 mutex_lock(&module_mutex);
664 list_for_each_entry_safe(use, tmp, &mod->target_list, target_list) { 657 list_for_each_entry_safe(use, tmp, &mod->target_list, target_list) {
665 struct module *i = use->target; 658 struct module *i = use->target;
666 DEBUGP("%s unusing %s\n", mod->name, i->name); 659 pr_debug("%s unusing %s\n", mod->name, i->name);
667 module_put(i); 660 module_put(i);
668 list_del(&use->source_list); 661 list_del(&use->source_list);
669 list_del(&use->target_list); 662 list_del(&use->target_list);
@@ -726,9 +719,9 @@ static int try_stop_module(struct module *mod, int flags, int *forced)
726 } 719 }
727} 720}
728 721
729unsigned int module_refcount(struct module *mod) 722unsigned long module_refcount(struct module *mod)
730{ 723{
731 unsigned int incs = 0, decs = 0; 724 unsigned long incs = 0, decs = 0;
732 int cpu; 725 int cpu;
733 726
734 for_each_possible_cpu(cpu) 727 for_each_possible_cpu(cpu)
@@ -761,7 +754,7 @@ static void wait_for_zero_refcount(struct module *mod)
761 /* Since we might sleep for some time, release the mutex first */ 754 /* Since we might sleep for some time, release the mutex first */
762 mutex_unlock(&module_mutex); 755 mutex_unlock(&module_mutex);
763 for (;;) { 756 for (;;) {
764 DEBUGP("Looking at refcount...\n"); 757 pr_debug("Looking at refcount...\n");
765 set_current_state(TASK_UNINTERRUPTIBLE); 758 set_current_state(TASK_UNINTERRUPTIBLE);
766 if (module_refcount(mod) == 0) 759 if (module_refcount(mod) == 0)
767 break; 760 break;
@@ -804,7 +797,7 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
804 if (mod->state != MODULE_STATE_LIVE) { 797 if (mod->state != MODULE_STATE_LIVE) {
805 /* FIXME: if (force), slam module count and wake up 798 /* FIXME: if (force), slam module count and wake up
806 waiter --RR */ 799 waiter --RR */
807 DEBUGP("%s already dying\n", mod->name); 800 pr_debug("%s already dying\n", mod->name);
808 ret = -EBUSY; 801 ret = -EBUSY;
809 goto out; 802 goto out;
810 } 803 }
@@ -849,12 +842,32 @@ out:
849 return ret; 842 return ret;
850} 843}
851 844
845static size_t module_flags_taint(struct module *mod, char *buf)
846{
847 size_t l = 0;
848
849 if (mod->taints & (1 << TAINT_PROPRIETARY_MODULE))
850 buf[l++] = 'P';
851 if (mod->taints & (1 << TAINT_OOT_MODULE))
852 buf[l++] = 'O';
853 if (mod->taints & (1 << TAINT_FORCED_MODULE))
854 buf[l++] = 'F';
855 if (mod->taints & (1 << TAINT_CRAP))
856 buf[l++] = 'C';
857 /*
858 * TAINT_FORCED_RMMOD: could be added.
859 * TAINT_UNSAFE_SMP, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
860 * apply to modules.
861 */
862 return l;
863}
864
852static inline void print_unload_info(struct seq_file *m, struct module *mod) 865static inline void print_unload_info(struct seq_file *m, struct module *mod)
853{ 866{
854 struct module_use *use; 867 struct module_use *use;
855 int printed_something = 0; 868 int printed_something = 0;
856 869
857 seq_printf(m, " %u ", module_refcount(mod)); 870 seq_printf(m, " %lu ", module_refcount(mod));
858 871
859 /* Always include a trailing , so userspace can differentiate 872 /* Always include a trailing , so userspace can differentiate
860 between this and the old multi-field proc format. */ 873 between this and the old multi-field proc format. */
@@ -904,13 +917,11 @@ EXPORT_SYMBOL_GPL(symbol_put_addr);
904static ssize_t show_refcnt(struct module_attribute *mattr, 917static ssize_t show_refcnt(struct module_attribute *mattr,
905 struct module_kobject *mk, char *buffer) 918 struct module_kobject *mk, char *buffer)
906{ 919{
907 return sprintf(buffer, "%u\n", module_refcount(mk->mod)); 920 return sprintf(buffer, "%lu\n", module_refcount(mk->mod));
908} 921}
909 922
910static struct module_attribute refcnt = { 923static struct module_attribute modinfo_refcnt =
911 .attr = { .name = "refcnt", .mode = 0444 }, 924 __ATTR(refcnt, 0444, show_refcnt, NULL);
912 .show = show_refcnt,
913};
914 925
915void module_put(struct module *module) 926void module_put(struct module *module)
916{ 927{
@@ -970,10 +981,8 @@ static ssize_t show_initstate(struct module_attribute *mattr,
970 return sprintf(buffer, "%s\n", state); 981 return sprintf(buffer, "%s\n", state);
971} 982}
972 983
973static struct module_attribute initstate = { 984static struct module_attribute modinfo_initstate =
974 .attr = { .name = "initstate", .mode = 0444 }, 985 __ATTR(initstate, 0444, show_initstate, NULL);
975 .show = show_initstate,
976};
977 986
978static ssize_t store_uevent(struct module_attribute *mattr, 987static ssize_t store_uevent(struct module_attribute *mattr,
979 struct module_kobject *mk, 988 struct module_kobject *mk,
@@ -986,18 +995,50 @@ static ssize_t store_uevent(struct module_attribute *mattr,
986 return count; 995 return count;
987} 996}
988 997
989struct module_attribute module_uevent = { 998struct module_attribute module_uevent =
990 .attr = { .name = "uevent", .mode = 0200 }, 999 __ATTR(uevent, 0200, NULL, store_uevent);
991 .store = store_uevent, 1000
992}; 1001static ssize_t show_coresize(struct module_attribute *mattr,
1002 struct module_kobject *mk, char *buffer)
1003{
1004 return sprintf(buffer, "%u\n", mk->mod->core_size);
1005}
1006
1007static struct module_attribute modinfo_coresize =
1008 __ATTR(coresize, 0444, show_coresize, NULL);
1009
1010static ssize_t show_initsize(struct module_attribute *mattr,
1011 struct module_kobject *mk, char *buffer)
1012{
1013 return sprintf(buffer, "%u\n", mk->mod->init_size);
1014}
1015
1016static struct module_attribute modinfo_initsize =
1017 __ATTR(initsize, 0444, show_initsize, NULL);
1018
1019static ssize_t show_taint(struct module_attribute *mattr,
1020 struct module_kobject *mk, char *buffer)
1021{
1022 size_t l;
1023
1024 l = module_flags_taint(mk->mod, buffer);
1025 buffer[l++] = '\n';
1026 return l;
1027}
1028
1029static struct module_attribute modinfo_taint =
1030 __ATTR(taint, 0444, show_taint, NULL);
993 1031
994static struct module_attribute *modinfo_attrs[] = { 1032static struct module_attribute *modinfo_attrs[] = {
1033 &module_uevent,
995 &modinfo_version, 1034 &modinfo_version,
996 &modinfo_srcversion, 1035 &modinfo_srcversion,
997 &initstate, 1036 &modinfo_initstate,
998 &module_uevent, 1037 &modinfo_coresize,
1038 &modinfo_initsize,
1039 &modinfo_taint,
999#ifdef CONFIG_MODULE_UNLOAD 1040#ifdef CONFIG_MODULE_UNLOAD
1000 &refcnt, 1041 &modinfo_refcnt,
1001#endif 1042#endif
1002 NULL, 1043 NULL,
1003}; 1044};
@@ -1057,7 +1098,7 @@ static int check_version(Elf_Shdr *sechdrs,
1057 1098
1058 if (versions[i].crc == maybe_relocated(*crc, crc_owner)) 1099 if (versions[i].crc == maybe_relocated(*crc, crc_owner))
1059 return 1; 1100 return 1;
1060 DEBUGP("Found checksum %lX vs module %lX\n", 1101 pr_debug("Found checksum %lX vs module %lX\n",
1061 maybe_relocated(*crc, crc_owner), versions[i].crc); 1102 maybe_relocated(*crc, crc_owner), versions[i].crc);
1062 goto bad_version; 1103 goto bad_version;
1063 } 1104 }
@@ -1834,7 +1875,7 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
1834 case SHN_COMMON: 1875 case SHN_COMMON:
1835 /* We compiled with -fno-common. These are not 1876 /* We compiled with -fno-common. These are not
1836 supposed to happen. */ 1877 supposed to happen. */
1837 DEBUGP("Common symbol: %s\n", name); 1878 pr_debug("Common symbol: %s\n", name);
1838 printk("%s: please compile with -fno-common\n", 1879 printk("%s: please compile with -fno-common\n",
1839 mod->name); 1880 mod->name);
1840 ret = -ENOEXEC; 1881 ret = -ENOEXEC;
@@ -1842,7 +1883,7 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
1842 1883
1843 case SHN_ABS: 1884 case SHN_ABS:
1844 /* Don't need to do anything */ 1885 /* Don't need to do anything */
1845 DEBUGP("Absolute symbol: 0x%08lx\n", 1886 pr_debug("Absolute symbol: 0x%08lx\n",
1846 (long)sym[i].st_value); 1887 (long)sym[i].st_value);
1847 break; 1888 break;
1848 1889
@@ -1966,7 +2007,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
1966 for (i = 0; i < info->hdr->e_shnum; i++) 2007 for (i = 0; i < info->hdr->e_shnum; i++)
1967 info->sechdrs[i].sh_entsize = ~0UL; 2008 info->sechdrs[i].sh_entsize = ~0UL;
1968 2009
1969 DEBUGP("Core section allocation order:\n"); 2010 pr_debug("Core section allocation order:\n");
1970 for (m = 0; m < ARRAY_SIZE(masks); ++m) { 2011 for (m = 0; m < ARRAY_SIZE(masks); ++m) {
1971 for (i = 0; i < info->hdr->e_shnum; ++i) { 2012 for (i = 0; i < info->hdr->e_shnum; ++i) {
1972 Elf_Shdr *s = &info->sechdrs[i]; 2013 Elf_Shdr *s = &info->sechdrs[i];
@@ -1978,7 +2019,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
1978 || strstarts(sname, ".init")) 2019 || strstarts(sname, ".init"))
1979 continue; 2020 continue;
1980 s->sh_entsize = get_offset(mod, &mod->core_size, s, i); 2021 s->sh_entsize = get_offset(mod, &mod->core_size, s, i);
1981 DEBUGP("\t%s\n", name); 2022 pr_debug("\t%s\n", sname);
1982 } 2023 }
1983 switch (m) { 2024 switch (m) {
1984 case 0: /* executable */ 2025 case 0: /* executable */
@@ -1995,7 +2036,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
1995 } 2036 }
1996 } 2037 }
1997 2038
1998 DEBUGP("Init section allocation order:\n"); 2039 pr_debug("Init section allocation order:\n");
1999 for (m = 0; m < ARRAY_SIZE(masks); ++m) { 2040 for (m = 0; m < ARRAY_SIZE(masks); ++m) {
2000 for (i = 0; i < info->hdr->e_shnum; ++i) { 2041 for (i = 0; i < info->hdr->e_shnum; ++i) {
2001 Elf_Shdr *s = &info->sechdrs[i]; 2042 Elf_Shdr *s = &info->sechdrs[i];
@@ -2008,7 +2049,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
2008 continue; 2049 continue;
2009 s->sh_entsize = (get_offset(mod, &mod->init_size, s, i) 2050 s->sh_entsize = (get_offset(mod, &mod->init_size, s, i)
2010 | INIT_OFFSET_MASK); 2051 | INIT_OFFSET_MASK);
2011 DEBUGP("\t%s\n", sname); 2052 pr_debug("\t%s\n", sname);
2012 } 2053 }
2013 switch (m) { 2054 switch (m) {
2014 case 0: /* executable */ 2055 case 0: /* executable */
@@ -2178,45 +2219,46 @@ static bool is_core_symbol(const Elf_Sym *src, const Elf_Shdr *sechdrs,
2178 return true; 2219 return true;
2179} 2220}
2180 2221
2222/*
2223 * We only allocate and copy the strings needed by the parts of symtab
2224 * we keep. This is simple, but has the effect of making multiple
2225 * copies of duplicates. We could be more sophisticated, see
2226 * linux-kernel thread starting with
2227 * <73defb5e4bca04a6431392cc341112b1@localhost>.
2228 */
2181static void layout_symtab(struct module *mod, struct load_info *info) 2229static void layout_symtab(struct module *mod, struct load_info *info)
2182{ 2230{
2183 Elf_Shdr *symsect = info->sechdrs + info->index.sym; 2231 Elf_Shdr *symsect = info->sechdrs + info->index.sym;
2184 Elf_Shdr *strsect = info->sechdrs + info->index.str; 2232 Elf_Shdr *strsect = info->sechdrs + info->index.str;
2185 const Elf_Sym *src; 2233 const Elf_Sym *src;
2186 unsigned int i, nsrc, ndst; 2234 unsigned int i, nsrc, ndst, strtab_size;
2187 2235
2188 /* Put symbol section at end of init part of module. */ 2236 /* Put symbol section at end of init part of module. */
2189 symsect->sh_flags |= SHF_ALLOC; 2237 symsect->sh_flags |= SHF_ALLOC;
2190 symsect->sh_entsize = get_offset(mod, &mod->init_size, symsect, 2238 symsect->sh_entsize = get_offset(mod, &mod->init_size, symsect,
2191 info->index.sym) | INIT_OFFSET_MASK; 2239 info->index.sym) | INIT_OFFSET_MASK;
2192 DEBUGP("\t%s\n", info->secstrings + symsect->sh_name); 2240 pr_debug("\t%s\n", info->secstrings + symsect->sh_name);
2193 2241
2194 src = (void *)info->hdr + symsect->sh_offset; 2242 src = (void *)info->hdr + symsect->sh_offset;
2195 nsrc = symsect->sh_size / sizeof(*src); 2243 nsrc = symsect->sh_size / sizeof(*src);
2196 for (ndst = i = 1; i < nsrc; ++i, ++src)
2197 if (is_core_symbol(src, info->sechdrs, info->hdr->e_shnum)) {
2198 unsigned int j = src->st_name;
2199 2244
2200 while (!__test_and_set_bit(j, info->strmap) 2245 /* Compute total space required for the core symbols' strtab. */
2201 && info->strtab[j]) 2246 for (ndst = i = strtab_size = 1; i < nsrc; ++i, ++src)
2202 ++j; 2247 if (is_core_symbol(src, info->sechdrs, info->hdr->e_shnum)) {
2203 ++ndst; 2248 strtab_size += strlen(&info->strtab[src->st_name]) + 1;
2249 ndst++;
2204 } 2250 }
2205 2251
2206 /* Append room for core symbols at end of core part. */ 2252 /* Append room for core symbols at end of core part. */
2207 info->symoffs = ALIGN(mod->core_size, symsect->sh_addralign ?: 1); 2253 info->symoffs = ALIGN(mod->core_size, symsect->sh_addralign ?: 1);
2208 mod->core_size = info->symoffs + ndst * sizeof(Elf_Sym); 2254 info->stroffs = mod->core_size = info->symoffs + ndst * sizeof(Elf_Sym);
2255 mod->core_size += strtab_size;
2209 2256
2210 /* Put string table section at end of init part of module. */ 2257 /* Put string table section at end of init part of module. */
2211 strsect->sh_flags |= SHF_ALLOC; 2258 strsect->sh_flags |= SHF_ALLOC;
2212 strsect->sh_entsize = get_offset(mod, &mod->init_size, strsect, 2259 strsect->sh_entsize = get_offset(mod, &mod->init_size, strsect,
2213 info->index.str) | INIT_OFFSET_MASK; 2260 info->index.str) | INIT_OFFSET_MASK;
2214 DEBUGP("\t%s\n", info->secstrings + strsect->sh_name); 2261 pr_debug("\t%s\n", info->secstrings + strsect->sh_name);
2215
2216 /* Append room for core symbols' strings at end of core part. */
2217 info->stroffs = mod->core_size;
2218 __set_bit(0, info->strmap);
2219 mod->core_size += bitmap_weight(info->strmap, strsect->sh_size);
2220} 2262}
2221 2263
2222static void add_kallsyms(struct module *mod, const struct load_info *info) 2264static void add_kallsyms(struct module *mod, const struct load_info *info)
@@ -2237,22 +2279,19 @@ static void add_kallsyms(struct module *mod, const struct load_info *info)
2237 mod->symtab[i].st_info = elf_type(&mod->symtab[i], info); 2279 mod->symtab[i].st_info = elf_type(&mod->symtab[i], info);
2238 2280
2239 mod->core_symtab = dst = mod->module_core + info->symoffs; 2281 mod->core_symtab = dst = mod->module_core + info->symoffs;
2282 mod->core_strtab = s = mod->module_core + info->stroffs;
2240 src = mod->symtab; 2283 src = mod->symtab;
2241 *dst = *src; 2284 *dst = *src;
2285 *s++ = 0;
2242 for (ndst = i = 1; i < mod->num_symtab; ++i, ++src) { 2286 for (ndst = i = 1; i < mod->num_symtab; ++i, ++src) {
2243 if (!is_core_symbol(src, info->sechdrs, info->hdr->e_shnum)) 2287 if (!is_core_symbol(src, info->sechdrs, info->hdr->e_shnum))
2244 continue; 2288 continue;
2289
2245 dst[ndst] = *src; 2290 dst[ndst] = *src;
2246 dst[ndst].st_name = bitmap_weight(info->strmap, 2291 dst[ndst++].st_name = s - mod->core_strtab;
2247 dst[ndst].st_name); 2292 s += strlcpy(s, &mod->strtab[src->st_name], KSYM_NAME_LEN) + 1;
2248 ++ndst;
2249 } 2293 }
2250 mod->core_num_syms = ndst; 2294 mod->core_num_syms = ndst;
2251
2252 mod->core_strtab = s = mod->module_core + info->stroffs;
2253 for (*s = 0, i = 1; i < info->sechdrs[info->index.str].sh_size; ++i)
2254 if (test_bit(i, info->strmap))
2255 *++s = mod->strtab[i];
2256} 2295}
2257#else 2296#else
2258static inline void layout_symtab(struct module *mod, struct load_info *info) 2297static inline void layout_symtab(struct module *mod, struct load_info *info)
@@ -2621,7 +2660,7 @@ static int move_module(struct module *mod, struct load_info *info)
2621 mod->module_init = ptr; 2660 mod->module_init = ptr;
2622 2661
2623 /* Transfer each section which specifies SHF_ALLOC */ 2662 /* Transfer each section which specifies SHF_ALLOC */
2624 DEBUGP("final section addresses:\n"); 2663 pr_debug("final section addresses:\n");
2625 for (i = 0; i < info->hdr->e_shnum; i++) { 2664 for (i = 0; i < info->hdr->e_shnum; i++) {
2626 void *dest; 2665 void *dest;
2627 Elf_Shdr *shdr = &info->sechdrs[i]; 2666 Elf_Shdr *shdr = &info->sechdrs[i];
@@ -2639,8 +2678,8 @@ static int move_module(struct module *mod, struct load_info *info)
2639 memcpy(dest, (void *)shdr->sh_addr, shdr->sh_size); 2678 memcpy(dest, (void *)shdr->sh_addr, shdr->sh_size);
2640 /* Update sh_addr to point to copy in image. */ 2679 /* Update sh_addr to point to copy in image. */
2641 shdr->sh_addr = (unsigned long)dest; 2680 shdr->sh_addr = (unsigned long)dest;
2642 DEBUGP("\t0x%lx %s\n", 2681 pr_debug("\t0x%lx %s\n",
2643 shdr->sh_addr, info->secstrings + shdr->sh_name); 2682 (long)shdr->sh_addr, info->secstrings + shdr->sh_name);
2644 } 2683 }
2645 2684
2646 return 0; 2685 return 0;
@@ -2742,27 +2781,18 @@ static struct module *layout_and_allocate(struct load_info *info)
2742 this is done generically; there doesn't appear to be any 2781 this is done generically; there doesn't appear to be any
2743 special cases for the architectures. */ 2782 special cases for the architectures. */
2744 layout_sections(mod, info); 2783 layout_sections(mod, info);
2745
2746 info->strmap = kzalloc(BITS_TO_LONGS(info->sechdrs[info->index.str].sh_size)
2747 * sizeof(long), GFP_KERNEL);
2748 if (!info->strmap) {
2749 err = -ENOMEM;
2750 goto free_percpu;
2751 }
2752 layout_symtab(mod, info); 2784 layout_symtab(mod, info);
2753 2785
2754 /* Allocate and move to the final place */ 2786 /* Allocate and move to the final place */
2755 err = move_module(mod, info); 2787 err = move_module(mod, info);
2756 if (err) 2788 if (err)
2757 goto free_strmap; 2789 goto free_percpu;
2758 2790
2759 /* Module has been copied to its final place now: return it. */ 2791 /* Module has been copied to its final place now: return it. */
2760 mod = (void *)info->sechdrs[info->index.mod].sh_addr; 2792 mod = (void *)info->sechdrs[info->index.mod].sh_addr;
2761 kmemleak_load_module(mod, info); 2793 kmemleak_load_module(mod, info);
2762 return mod; 2794 return mod;
2763 2795
2764free_strmap:
2765 kfree(info->strmap);
2766free_percpu: 2796free_percpu:
2767 percpu_modfree(mod); 2797 percpu_modfree(mod);
2768out: 2798out:
@@ -2772,7 +2802,6 @@ out:
2772/* mod is no longer valid after this! */ 2802/* mod is no longer valid after this! */
2773static void module_deallocate(struct module *mod, struct load_info *info) 2803static void module_deallocate(struct module *mod, struct load_info *info)
2774{ 2804{
2775 kfree(info->strmap);
2776 percpu_modfree(mod); 2805 percpu_modfree(mod);
2777 module_free(mod, mod->module_init); 2806 module_free(mod, mod->module_init);
2778 module_free(mod, mod->module_core); 2807 module_free(mod, mod->module_core);
@@ -2811,7 +2840,7 @@ static struct module *load_module(void __user *umod,
2811 struct module *mod; 2840 struct module *mod;
2812 long err; 2841 long err;
2813 2842
2814 DEBUGP("load_module: umod=%p, len=%lu, uargs=%p\n", 2843 pr_debug("load_module: umod=%p, len=%lu, uargs=%p\n",
2815 umod, len, uargs); 2844 umod, len, uargs);
2816 2845
2817 /* Copy in the blobs from userspace, check they are vaguely sane. */ 2846 /* Copy in the blobs from userspace, check they are vaguely sane. */
@@ -2902,8 +2931,7 @@ static struct module *load_module(void __user *umod,
2902 if (err < 0) 2931 if (err < 0)
2903 goto unlink; 2932 goto unlink;
2904 2933
2905 /* Get rid of temporary copy and strmap. */ 2934 /* Get rid of temporary copy. */
2906 kfree(info.strmap);
2907 free_copy(&info); 2935 free_copy(&info);
2908 2936
2909 /* Done! */ 2937 /* Done! */
@@ -3256,20 +3284,7 @@ static char *module_flags(struct module *mod, char *buf)
3256 mod->state == MODULE_STATE_GOING || 3284 mod->state == MODULE_STATE_GOING ||
3257 mod->state == MODULE_STATE_COMING) { 3285 mod->state == MODULE_STATE_COMING) {
3258 buf[bx++] = '('; 3286 buf[bx++] = '(';
3259 if (mod->taints & (1 << TAINT_PROPRIETARY_MODULE)) 3287 bx += module_flags_taint(mod, buf + bx);
3260 buf[bx++] = 'P';
3261 else if (mod->taints & (1 << TAINT_OOT_MODULE))
3262 buf[bx++] = 'O';
3263 if (mod->taints & (1 << TAINT_FORCED_MODULE))
3264 buf[bx++] = 'F';
3265 if (mod->taints & (1 << TAINT_CRAP))
3266 buf[bx++] = 'C';
3267 /*
3268 * TAINT_FORCED_RMMOD: could be added.
3269 * TAINT_UNSAFE_SMP, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
3270 * apply to modules.
3271 */
3272
3273 /* Show a - for module-is-being-unloaded */ 3288 /* Show a - for module-is-being-unloaded */
3274 if (mod->state == MODULE_STATE_GOING) 3289 if (mod->state == MODULE_STATE_GOING)
3275 buf[bx++] = '-'; 3290 buf[bx++] = '-';
diff --git a/kernel/params.c b/kernel/params.c
index 65aae11eb93f..32ee04308285 100644
--- a/kernel/params.c
+++ b/kernel/params.c
@@ -25,12 +25,6 @@
25#include <linux/slab.h> 25#include <linux/slab.h>
26#include <linux/ctype.h> 26#include <linux/ctype.h>
27 27
28#if 0
29#define DEBUGP printk
30#else
31#define DEBUGP(fmt, a...)
32#endif
33
34/* Protects all parameters, and incidentally kmalloced_param list. */ 28/* Protects all parameters, and incidentally kmalloced_param list. */
35static DEFINE_MUTEX(param_lock); 29static DEFINE_MUTEX(param_lock);
36 30
@@ -105,7 +99,7 @@ static int parse_one(char *param,
105 /* No one handled NULL, so do it here. */ 99 /* No one handled NULL, so do it here. */
106 if (!val && params[i].ops->set != param_set_bool) 100 if (!val && params[i].ops->set != param_set_bool)
107 return -EINVAL; 101 return -EINVAL;
108 DEBUGP("They are equal! Calling %p\n", 102 pr_debug("They are equal! Calling %p\n",
109 params[i].ops->set); 103 params[i].ops->set);
110 mutex_lock(&param_lock); 104 mutex_lock(&param_lock);
111 err = params[i].ops->set(val, &params[i]); 105 err = params[i].ops->set(val, &params[i]);
@@ -115,11 +109,11 @@ static int parse_one(char *param,
115 } 109 }
116 110
117 if (handle_unknown) { 111 if (handle_unknown) {
118 DEBUGP("Unknown argument: calling %p\n", handle_unknown); 112 pr_debug("Unknown argument: calling %p\n", handle_unknown);
119 return handle_unknown(param, val); 113 return handle_unknown(param, val);
120 } 114 }
121 115
122 DEBUGP("Unknown argument `%s'\n", param); 116 pr_debug("Unknown argument `%s'\n", param);
123 return -ENOENT; 117 return -ENOENT;
124} 118}
125 119
@@ -184,7 +178,7 @@ int parse_args(const char *name,
184{ 178{
185 char *param, *val; 179 char *param, *val;
186 180
187 DEBUGP("Parsing ARGS: %s\n", args); 181 pr_debug("Parsing ARGS: %s\n", args);
188 182
189 /* Chew leading spaces */ 183 /* Chew leading spaces */
190 args = skip_spaces(args); 184 args = skip_spaces(args);
@@ -369,6 +363,30 @@ struct kernel_param_ops param_ops_invbool = {
369}; 363};
370EXPORT_SYMBOL(param_ops_invbool); 364EXPORT_SYMBOL(param_ops_invbool);
371 365
366int param_set_bint(const char *val, const struct kernel_param *kp)
367{
368 struct kernel_param boolkp;
369 bool v;
370 int ret;
371
372 /* Match bool exactly, by re-using it. */
373 boolkp = *kp;
374 boolkp.arg = &v;
375 boolkp.flags |= KPARAM_ISBOOL;
376
377 ret = param_set_bool(val, &boolkp);
378 if (ret == 0)
379 *(int *)kp->arg = v;
380 return ret;
381}
382EXPORT_SYMBOL(param_set_bint);
383
384struct kernel_param_ops param_ops_bint = {
385 .set = param_set_bint,
386 .get = param_get_int,
387};
388EXPORT_SYMBOL(param_ops_bint);
389
372/* We break the rule and mangle the string. */ 390/* We break the rule and mangle the string. */
373static int param_array(const char *name, 391static int param_array(const char *name,
374 const char *val, 392 const char *val,
diff --git a/kernel/printk.c b/kernel/printk.c
index 989e4a52da76..13c0a1143f49 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -521,7 +521,7 @@ static void __call_console_drivers(unsigned start, unsigned end)
521 } 521 }
522} 522}
523 523
524static int __read_mostly ignore_loglevel; 524static bool __read_mostly ignore_loglevel;
525 525
526static int __init ignore_loglevel_setup(char *str) 526static int __init ignore_loglevel_setup(char *str)
527{ 527{
@@ -532,7 +532,7 @@ static int __init ignore_loglevel_setup(char *str)
532} 532}
533 533
534early_param("ignore_loglevel", ignore_loglevel_setup); 534early_param("ignore_loglevel", ignore_loglevel_setup);
535module_param_named(ignore_loglevel, ignore_loglevel, bool, S_IRUGO | S_IWUSR); 535module_param(ignore_loglevel, bool, S_IRUGO | S_IWUSR);
536MODULE_PARM_DESC(ignore_loglevel, "ignore loglevel setting, to" 536MODULE_PARM_DESC(ignore_loglevel, "ignore loglevel setting, to"
537 "print all kernel messages to the console."); 537 "print all kernel messages to the console.");
538 538
@@ -696,9 +696,9 @@ static void zap_locks(void)
696} 696}
697 697
698#if defined(CONFIG_PRINTK_TIME) 698#if defined(CONFIG_PRINTK_TIME)
699static int printk_time = 1; 699static bool printk_time = 1;
700#else 700#else
701static int printk_time = 0; 701static bool printk_time = 0;
702#endif 702#endif
703module_param_named(time, printk_time, bool, S_IRUGO | S_IWUSR); 703module_param_named(time, printk_time, bool, S_IRUGO | S_IWUSR);
704 704
@@ -1098,7 +1098,7 @@ int update_console_cmdline(char *name, int idx, char *name_new, int idx_new, cha
1098 return -1; 1098 return -1;
1099} 1099}
1100 1100
1101int console_suspend_enabled = 1; 1101bool console_suspend_enabled = 1;
1102EXPORT_SYMBOL(console_suspend_enabled); 1102EXPORT_SYMBOL(console_suspend_enabled);
1103 1103
1104static int __init console_suspend_disable(char *str) 1104static int __init console_suspend_disable(char *str)
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 296f17ff751b..c0e14b3f2306 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -28,6 +28,7 @@ typedef Elf64_Addr kernel_ulong_t;
28#endif 28#endif
29 29
30#include <ctype.h> 30#include <ctype.h>
31#include <stdbool.h>
31 32
32typedef uint32_t __u32; 33typedef uint32_t __u32;
33typedef uint16_t __u16; 34typedef uint16_t __u16;
@@ -38,6 +39,35 @@ typedef unsigned char __u8;
38 * we handle those differences explicitly below */ 39 * we handle those differences explicitly below */
39#include "../../include/linux/mod_devicetable.h" 40#include "../../include/linux/mod_devicetable.h"
40 41
42/* This array collects all instances that use the generic do_table */
43struct devtable {
44 const char *device_id; /* name of table, __mod_<name>_device_table. */
45 unsigned long id_size;
46 void *function;
47};
48
49/* We construct a table of pointers in an ELF section (pointers generally
50 * go unpadded by gcc). ld creates boundary syms for us. */
51extern struct devtable *__start___devtable[], *__stop___devtable[];
52#define ___cat(a,b) a ## b
53#define __cat(a,b) ___cat(a,b)
54
55#if __GNUC__ == 3 && __GNUC_MINOR__ < 3
56# define __used __attribute__((__unused__))
57#else
58# define __used __attribute__((__used__))
59#endif
60
61/* Add a table entry. We test function type matches while we're here. */
62#define ADD_TO_DEVTABLE(device_id, type, function) \
63 static struct devtable __cat(devtable,__LINE__) = { \
64 device_id + 0*sizeof((function)((const char *)NULL, \
65 (type *)NULL, \
66 (char *)NULL)), \
67 sizeof(type), (function) }; \
68 static struct devtable *__attribute__((section("__devtable"))) \
69 __used __cat(devtable_ptr,__LINE__) = &__cat(devtable,__LINE__)
70
41#define ADD(str, sep, cond, field) \ 71#define ADD(str, sep, cond, field) \
42do { \ 72do { \
43 strcat(str, sep); \ 73 strcat(str, sep); \
@@ -289,6 +319,7 @@ static int do_hid_entry(const char *filename,
289 319
290 return 1; 320 return 1;
291} 321}
322ADD_TO_DEVTABLE("hid", struct hid_device_id, do_hid_entry);
292 323
293/* Looks like: ieee1394:venNmoNspNverN */ 324/* Looks like: ieee1394:venNmoNspNverN */
294static int do_ieee1394_entry(const char *filename, 325static int do_ieee1394_entry(const char *filename,
@@ -313,6 +344,7 @@ static int do_ieee1394_entry(const char *filename,
313 add_wildcard(alias); 344 add_wildcard(alias);
314 return 1; 345 return 1;
315} 346}
347ADD_TO_DEVTABLE("ieee1394", struct ieee1394_device_id, do_ieee1394_entry);
316 348
317/* Looks like: pci:vNdNsvNsdNbcNscNiN. */ 349/* Looks like: pci:vNdNsvNsdNbcNscNiN. */
318static int do_pci_entry(const char *filename, 350static int do_pci_entry(const char *filename,
@@ -356,6 +388,7 @@ static int do_pci_entry(const char *filename,
356 add_wildcard(alias); 388 add_wildcard(alias);
357 return 1; 389 return 1;
358} 390}
391ADD_TO_DEVTABLE("pci", struct pci_device_id, do_pci_entry);
359 392
360/* looks like: "ccw:tNmNdtNdmN" */ 393/* looks like: "ccw:tNmNdtNdmN" */
361static int do_ccw_entry(const char *filename, 394static int do_ccw_entry(const char *filename,
@@ -379,6 +412,7 @@ static int do_ccw_entry(const char *filename,
379 add_wildcard(alias); 412 add_wildcard(alias);
380 return 1; 413 return 1;
381} 414}
415ADD_TO_DEVTABLE("ccw", struct ccw_device_id, do_ccw_entry);
382 416
383/* looks like: "ap:tN" */ 417/* looks like: "ap:tN" */
384static int do_ap_entry(const char *filename, 418static int do_ap_entry(const char *filename,
@@ -387,6 +421,7 @@ static int do_ap_entry(const char *filename,
387 sprintf(alias, "ap:t%02X*", id->dev_type); 421 sprintf(alias, "ap:t%02X*", id->dev_type);
388 return 1; 422 return 1;
389} 423}
424ADD_TO_DEVTABLE("ap", struct ap_device_id, do_ap_entry);
390 425
391/* looks like: "css:tN" */ 426/* looks like: "css:tN" */
392static int do_css_entry(const char *filename, 427static int do_css_entry(const char *filename,
@@ -395,6 +430,7 @@ static int do_css_entry(const char *filename,
395 sprintf(alias, "css:t%01X", id->type); 430 sprintf(alias, "css:t%01X", id->type);
396 return 1; 431 return 1;
397} 432}
433ADD_TO_DEVTABLE("css", struct css_device_id, do_css_entry);
398 434
399/* Looks like: "serio:tyNprNidNexN" */ 435/* Looks like: "serio:tyNprNidNexN" */
400static int do_serio_entry(const char *filename, 436static int do_serio_entry(const char *filename,
@@ -414,6 +450,7 @@ static int do_serio_entry(const char *filename,
414 add_wildcard(alias); 450 add_wildcard(alias);
415 return 1; 451 return 1;
416} 452}
453ADD_TO_DEVTABLE("serio", struct serio_device_id, do_serio_entry);
417 454
418/* looks like: "acpi:ACPI0003 or acpi:PNP0C0B" or "acpi:LNXVIDEO" */ 455/* looks like: "acpi:ACPI0003 or acpi:PNP0C0B" or "acpi:LNXVIDEO" */
419static int do_acpi_entry(const char *filename, 456static int do_acpi_entry(const char *filename,
@@ -422,6 +459,7 @@ static int do_acpi_entry(const char *filename,
422 sprintf(alias, "acpi*:%s:*", id->id); 459 sprintf(alias, "acpi*:%s:*", id->id);
423 return 1; 460 return 1;
424} 461}
462ADD_TO_DEVTABLE("acpi", struct acpi_device_id, do_acpi_entry);
425 463
426/* looks like: "pnp:dD" */ 464/* looks like: "pnp:dD" */
427static void do_pnp_device_entry(void *symval, unsigned long size, 465static void do_pnp_device_entry(void *symval, unsigned long size,
@@ -544,8 +582,7 @@ static int do_pcmcia_entry(const char *filename,
544 add_wildcard(alias); 582 add_wildcard(alias);
545 return 1; 583 return 1;
546} 584}
547 585ADD_TO_DEVTABLE("pcmcia", struct pcmcia_device_id, do_pcmcia_entry);
548
549 586
550static int do_of_entry (const char *filename, struct of_device_id *of, char *alias) 587static int do_of_entry (const char *filename, struct of_device_id *of, char *alias)
551{ 588{
@@ -568,6 +605,7 @@ static int do_of_entry (const char *filename, struct of_device_id *of, char *ali
568 add_wildcard(alias); 605 add_wildcard(alias);
569 return 1; 606 return 1;
570} 607}
608ADD_TO_DEVTABLE("of", struct of_device_id, do_of_entry);
571 609
572static int do_vio_entry(const char *filename, struct vio_device_id *vio, 610static int do_vio_entry(const char *filename, struct vio_device_id *vio,
573 char *alias) 611 char *alias)
@@ -585,6 +623,7 @@ static int do_vio_entry(const char *filename, struct vio_device_id *vio,
585 add_wildcard(alias); 623 add_wildcard(alias);
586 return 1; 624 return 1;
587} 625}
626ADD_TO_DEVTABLE("vio", struct vio_device_id, do_vio_entry);
588 627
589#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 628#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
590 629
@@ -640,6 +679,7 @@ static int do_input_entry(const char *filename, struct input_device_id *id,
640 do_input(alias, id->swbit, 0, INPUT_DEVICE_ID_SW_MAX); 679 do_input(alias, id->swbit, 0, INPUT_DEVICE_ID_SW_MAX);
641 return 1; 680 return 1;
642} 681}
682ADD_TO_DEVTABLE("input", struct input_device_id, do_input_entry);
643 683
644static int do_eisa_entry(const char *filename, struct eisa_device_id *eisa, 684static int do_eisa_entry(const char *filename, struct eisa_device_id *eisa,
645 char *alias) 685 char *alias)
@@ -650,6 +690,7 @@ static int do_eisa_entry(const char *filename, struct eisa_device_id *eisa,
650 strcat(alias, "*"); 690 strcat(alias, "*");
651 return 1; 691 return 1;
652} 692}
693ADD_TO_DEVTABLE("eisa", struct eisa_device_id, do_eisa_entry);
653 694
654/* Looks like: parisc:tNhvNrevNsvN */ 695/* Looks like: parisc:tNhvNrevNsvN */
655static int do_parisc_entry(const char *filename, struct parisc_device_id *id, 696static int do_parisc_entry(const char *filename, struct parisc_device_id *id,
@@ -669,6 +710,7 @@ static int do_parisc_entry(const char *filename, struct parisc_device_id *id,
669 add_wildcard(alias); 710 add_wildcard(alias);
670 return 1; 711 return 1;
671} 712}
713ADD_TO_DEVTABLE("parisc", struct parisc_device_id, do_parisc_entry);
672 714
673/* Looks like: sdio:cNvNdN. */ 715/* Looks like: sdio:cNvNdN. */
674static int do_sdio_entry(const char *filename, 716static int do_sdio_entry(const char *filename,
@@ -685,6 +727,7 @@ static int do_sdio_entry(const char *filename,
685 add_wildcard(alias); 727 add_wildcard(alias);
686 return 1; 728 return 1;
687} 729}
730ADD_TO_DEVTABLE("sdio", struct sdio_device_id, do_sdio_entry);
688 731
689/* Looks like: ssb:vNidNrevN. */ 732/* Looks like: ssb:vNidNrevN. */
690static int do_ssb_entry(const char *filename, 733static int do_ssb_entry(const char *filename,
@@ -701,6 +744,7 @@ static int do_ssb_entry(const char *filename,
701 add_wildcard(alias); 744 add_wildcard(alias);
702 return 1; 745 return 1;
703} 746}
747ADD_TO_DEVTABLE("ssb", struct ssb_device_id, do_ssb_entry);
704 748
705/* Looks like: bcma:mNidNrevNclN. */ 749/* Looks like: bcma:mNidNrevNclN. */
706static int do_bcma_entry(const char *filename, 750static int do_bcma_entry(const char *filename,
@@ -719,6 +763,7 @@ static int do_bcma_entry(const char *filename,
719 add_wildcard(alias); 763 add_wildcard(alias);
720 return 1; 764 return 1;
721} 765}
766ADD_TO_DEVTABLE("bcma", struct bcma_device_id, do_bcma_entry);
722 767
723/* Looks like: virtio:dNvN */ 768/* Looks like: virtio:dNvN */
724static int do_virtio_entry(const char *filename, struct virtio_device_id *id, 769static int do_virtio_entry(const char *filename, struct virtio_device_id *id,
@@ -734,6 +779,7 @@ static int do_virtio_entry(const char *filename, struct virtio_device_id *id,
734 add_wildcard(alias); 779 add_wildcard(alias);
735 return 1; 780 return 1;
736} 781}
782ADD_TO_DEVTABLE("virtio", struct virtio_device_id, do_virtio_entry);
737 783
738/* 784/*
739 * Looks like: vmbus:guid 785 * Looks like: vmbus:guid
@@ -755,6 +801,7 @@ static int do_vmbus_entry(const char *filename, struct hv_vmbus_device_id *id,
755 801
756 return 1; 802 return 1;
757} 803}
804ADD_TO_DEVTABLE("vmbus", struct hv_vmbus_device_id, do_vmbus_entry);
758 805
759/* Looks like: i2c:S */ 806/* Looks like: i2c:S */
760static int do_i2c_entry(const char *filename, struct i2c_device_id *id, 807static int do_i2c_entry(const char *filename, struct i2c_device_id *id,
@@ -764,6 +811,7 @@ static int do_i2c_entry(const char *filename, struct i2c_device_id *id,
764 811
765 return 1; 812 return 1;
766} 813}
814ADD_TO_DEVTABLE("i2c", struct i2c_device_id, do_i2c_entry);
767 815
768/* Looks like: spi:S */ 816/* Looks like: spi:S */
769static int do_spi_entry(const char *filename, struct spi_device_id *id, 817static int do_spi_entry(const char *filename, struct spi_device_id *id,
@@ -773,6 +821,7 @@ static int do_spi_entry(const char *filename, struct spi_device_id *id,
773 821
774 return 1; 822 return 1;
775} 823}
824ADD_TO_DEVTABLE("spi", struct spi_device_id, do_spi_entry);
776 825
777/* Looks like: mcp:S */ 826/* Looks like: mcp:S */
778static int do_mcp_entry(const char *filename, struct mcp_device_id *id, 827static int do_mcp_entry(const char *filename, struct mcp_device_id *id,
@@ -782,6 +831,7 @@ static int do_mcp_entry(const char *filename, struct mcp_device_id *id,
782 831
783 return 1; 832 return 1;
784} 833}
834ADD_TO_DEVTABLE("mcp", struct mcp_device_id, do_mcp_entry);
785 835
786static const struct dmifield { 836static const struct dmifield {
787 const char *prefix; 837 const char *prefix;
@@ -836,6 +886,7 @@ static int do_dmi_entry(const char *filename, struct dmi_system_id *id,
836 strcat(alias, ":"); 886 strcat(alias, ":");
837 return 1; 887 return 1;
838} 888}
889ADD_TO_DEVTABLE("dmi", struct dmi_system_id, do_dmi_entry);
839 890
840static int do_platform_entry(const char *filename, 891static int do_platform_entry(const char *filename,
841 struct platform_device_id *id, char *alias) 892 struct platform_device_id *id, char *alias)
@@ -843,6 +894,7 @@ static int do_platform_entry(const char *filename,
843 sprintf(alias, PLATFORM_MODULE_PREFIX "%s", id->name); 894 sprintf(alias, PLATFORM_MODULE_PREFIX "%s", id->name);
844 return 1; 895 return 1;
845} 896}
897ADD_TO_DEVTABLE("platform", struct platform_device_id, do_platform_entry);
846 898
847static int do_mdio_entry(const char *filename, 899static int do_mdio_entry(const char *filename,
848 struct mdio_device_id *id, char *alias) 900 struct mdio_device_id *id, char *alias)
@@ -865,6 +917,7 @@ static int do_mdio_entry(const char *filename,
865 917
866 return 1; 918 return 1;
867} 919}
920ADD_TO_DEVTABLE("mdio", struct mdio_device_id, do_mdio_entry);
868 921
869/* Looks like: zorro:iN. */ 922/* Looks like: zorro:iN. */
870static int do_zorro_entry(const char *filename, struct zorro_device_id *id, 923static int do_zorro_entry(const char *filename, struct zorro_device_id *id,
@@ -875,6 +928,7 @@ static int do_zorro_entry(const char *filename, struct zorro_device_id *id,
875 ADD(alias, "i", id->id != ZORRO_WILDCARD, id->id); 928 ADD(alias, "i", id->id != ZORRO_WILDCARD, id->id);
876 return 1; 929 return 1;
877} 930}
931ADD_TO_DEVTABLE("zorro", struct zorro_device_id, do_zorro_entry);
878 932
879/* looks like: "pnp:dD" */ 933/* looks like: "pnp:dD" */
880static int do_isapnp_entry(const char *filename, 934static int do_isapnp_entry(const char *filename,
@@ -888,6 +942,7 @@ static int do_isapnp_entry(const char *filename,
888 (id->function >> 12) & 0x0f, (id->function >> 8) & 0x0f); 942 (id->function >> 12) & 0x0f, (id->function >> 8) & 0x0f);
889 return 1; 943 return 1;
890} 944}
945ADD_TO_DEVTABLE("isa", struct isapnp_device_id, do_isapnp_entry);
891 946
892/* 947/*
893 * Append a match expression for a single masked hex digit. 948 * Append a match expression for a single masked hex digit.
@@ -956,16 +1011,15 @@ static int do_amba_entry(const char *filename,
956 1011
957 return 1; 1012 return 1;
958} 1013}
1014ADD_TO_DEVTABLE("amba", struct amba_id, do_amba_entry);
959 1015
960/* Ignore any prefix, eg. some architectures prepend _ */ 1016/* Does namelen bytes of name exactly match the symbol? */
961static inline int sym_is(const char *symbol, const char *name) 1017static bool sym_is(const char *name, unsigned namelen, const char *symbol)
962{ 1018{
963 const char *match; 1019 if (namelen != strlen(symbol))
1020 return false;
964 1021
965 match = strstr(symbol, name); 1022 return memcmp(name, symbol, namelen) == 0;
966 if (!match)
967 return 0;
968 return match[strlen(name)] == '\0';
969} 1023}
970 1024
971static void do_table(void *symval, unsigned long size, 1025static void do_table(void *symval, unsigned long size,
@@ -998,11 +1052,25 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
998{ 1052{
999 void *symval; 1053 void *symval;
1000 char *zeros = NULL; 1054 char *zeros = NULL;
1055 const char *name;
1056 unsigned int namelen;
1001 1057
1002 /* We're looking for a section relative symbol */ 1058 /* We're looking for a section relative symbol */
1003 if (!sym->st_shndx || get_secindex(info, sym) >= info->num_sections) 1059 if (!sym->st_shndx || get_secindex(info, sym) >= info->num_sections)
1004 return; 1060 return;
1005 1061
1062 /* All our symbols are of form <prefix>__mod_XXX_device_table. */
1063 name = strstr(symname, "__mod_");
1064 if (!name)
1065 return;
1066 name += strlen("__mod_");
1067 namelen = strlen(name);
1068 if (namelen < strlen("_device_table"))
1069 return;
1070 if (strcmp(name + namelen - strlen("_device_table"), "_device_table"))
1071 return;
1072 namelen -= strlen("_device_table");
1073
1006 /* Handle all-NULL symbols allocated into .bss */ 1074 /* Handle all-NULL symbols allocated into .bss */
1007 if (info->sechdrs[get_secindex(info, sym)].sh_type & SHT_NOBITS) { 1075 if (info->sechdrs[get_secindex(info, sym)].sh_type & SHT_NOBITS) {
1008 zeros = calloc(1, sym->st_size); 1076 zeros = calloc(1, sym->st_size);
@@ -1013,125 +1081,24 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
1013 + sym->st_value; 1081 + sym->st_value;
1014 } 1082 }
1015 1083
1016 if (sym_is(symname, "__mod_pci_device_table")) 1084 /* First handle the "special" cases */
1017 do_table(symval, sym->st_size, 1085 if (sym_is(name, namelen, "usb"))
1018 sizeof(struct pci_device_id), "pci",
1019 do_pci_entry, mod);
1020 else if (sym_is(symname, "__mod_usb_device_table"))
1021 /* special case to handle bcdDevice ranges */
1022 do_usb_table(symval, sym->st_size, mod); 1086 do_usb_table(symval, sym->st_size, mod);
1023 else if (sym_is(symname, "__mod_hid_device_table")) 1087 else if (sym_is(name, namelen, "pnp"))
1024 do_table(symval, sym->st_size,
1025 sizeof(struct hid_device_id), "hid",
1026 do_hid_entry, mod);
1027 else if (sym_is(symname, "__mod_ieee1394_device_table"))
1028 do_table(symval, sym->st_size,
1029 sizeof(struct ieee1394_device_id), "ieee1394",
1030 do_ieee1394_entry, mod);
1031 else if (sym_is(symname, "__mod_ccw_device_table"))
1032 do_table(symval, sym->st_size,
1033 sizeof(struct ccw_device_id), "ccw",
1034 do_ccw_entry, mod);
1035 else if (sym_is(symname, "__mod_ap_device_table"))
1036 do_table(symval, sym->st_size,
1037 sizeof(struct ap_device_id), "ap",
1038 do_ap_entry, mod);
1039 else if (sym_is(symname, "__mod_css_device_table"))
1040 do_table(symval, sym->st_size,
1041 sizeof(struct css_device_id), "css",
1042 do_css_entry, mod);
1043 else if (sym_is(symname, "__mod_serio_device_table"))
1044 do_table(symval, sym->st_size,
1045 sizeof(struct serio_device_id), "serio",
1046 do_serio_entry, mod);
1047 else if (sym_is(symname, "__mod_acpi_device_table"))
1048 do_table(symval, sym->st_size,
1049 sizeof(struct acpi_device_id), "acpi",
1050 do_acpi_entry, mod);
1051 else if (sym_is(symname, "__mod_pnp_device_table"))
1052 do_pnp_device_entry(symval, sym->st_size, mod); 1088 do_pnp_device_entry(symval, sym->st_size, mod);
1053 else if (sym_is(symname, "__mod_pnp_card_device_table")) 1089 else if (sym_is(name, namelen, "pnp_card"))
1054 do_pnp_card_entries(symval, sym->st_size, mod); 1090 do_pnp_card_entries(symval, sym->st_size, mod);
1055 else if (sym_is(symname, "__mod_pcmcia_device_table")) 1091 else {
1056 do_table(symval, sym->st_size, 1092 struct devtable **p;
1057 sizeof(struct pcmcia_device_id), "pcmcia", 1093
1058 do_pcmcia_entry, mod); 1094 for (p = __start___devtable; p < __stop___devtable; p++) {
1059 else if (sym_is(symname, "__mod_of_device_table")) 1095 if (sym_is(name, namelen, (*p)->device_id)) {
1060 do_table(symval, sym->st_size, 1096 do_table(symval, sym->st_size, (*p)->id_size,
1061 sizeof(struct of_device_id), "of", 1097 (*p)->device_id, (*p)->function, mod);
1062 do_of_entry, mod); 1098 break;
1063 else if (sym_is(symname, "__mod_vio_device_table")) 1099 }
1064 do_table(symval, sym->st_size, 1100 }
1065 sizeof(struct vio_device_id), "vio", 1101 }
1066 do_vio_entry, mod);
1067 else if (sym_is(symname, "__mod_input_device_table"))
1068 do_table(symval, sym->st_size,
1069 sizeof(struct input_device_id), "input",
1070 do_input_entry, mod);
1071 else if (sym_is(symname, "__mod_eisa_device_table"))
1072 do_table(symval, sym->st_size,
1073 sizeof(struct eisa_device_id), "eisa",
1074 do_eisa_entry, mod);
1075 else if (sym_is(symname, "__mod_parisc_device_table"))
1076 do_table(symval, sym->st_size,
1077 sizeof(struct parisc_device_id), "parisc",
1078 do_parisc_entry, mod);
1079 else if (sym_is(symname, "__mod_sdio_device_table"))
1080 do_table(symval, sym->st_size,
1081 sizeof(struct sdio_device_id), "sdio",
1082 do_sdio_entry, mod);
1083 else if (sym_is(symname, "__mod_ssb_device_table"))
1084 do_table(symval, sym->st_size,
1085 sizeof(struct ssb_device_id), "ssb",
1086 do_ssb_entry, mod);
1087 else if (sym_is(symname, "__mod_bcma_device_table"))
1088 do_table(symval, sym->st_size,
1089 sizeof(struct bcma_device_id), "bcma",
1090 do_bcma_entry, mod);
1091 else if (sym_is(symname, "__mod_virtio_device_table"))
1092 do_table(symval, sym->st_size,
1093 sizeof(struct virtio_device_id), "virtio",
1094 do_virtio_entry, mod);
1095 else if (sym_is(symname, "__mod_vmbus_device_table"))
1096 do_table(symval, sym->st_size,
1097 sizeof(struct hv_vmbus_device_id), "vmbus",
1098 do_vmbus_entry, mod);
1099 else if (sym_is(symname, "__mod_i2c_device_table"))
1100 do_table(symval, sym->st_size,
1101 sizeof(struct i2c_device_id), "i2c",
1102 do_i2c_entry, mod);
1103 else if (sym_is(symname, "__mod_spi_device_table"))
1104 do_table(symval, sym->st_size,
1105 sizeof(struct spi_device_id), "spi",
1106 do_spi_entry, mod);
1107 else if (sym_is(symname, "__mod_mcp_device_table"))
1108 do_table(symval, sym->st_size,
1109 sizeof(struct mcp_device_id), "mcp",
1110 do_mcp_entry, mod);
1111 else if (sym_is(symname, "__mod_dmi_device_table"))
1112 do_table(symval, sym->st_size,
1113 sizeof(struct dmi_system_id), "dmi",
1114 do_dmi_entry, mod);
1115 else if (sym_is(symname, "__mod_platform_device_table"))
1116 do_table(symval, sym->st_size,
1117 sizeof(struct platform_device_id), "platform",
1118 do_platform_entry, mod);
1119 else if (sym_is(symname, "__mod_mdio_device_table"))
1120 do_table(symval, sym->st_size,
1121 sizeof(struct mdio_device_id), "mdio",
1122 do_mdio_entry, mod);
1123 else if (sym_is(symname, "__mod_zorro_device_table"))
1124 do_table(symval, sym->st_size,
1125 sizeof(struct zorro_device_id), "zorro",
1126 do_zorro_entry, mod);
1127 else if (sym_is(symname, "__mod_isapnp_device_table"))
1128 do_table(symval, sym->st_size,
1129 sizeof(struct isapnp_device_id), "isa",
1130 do_isapnp_entry, mod);
1131 else if (sym_is(symname, "__mod_amba_device_table"))
1132 do_table(symval, sym->st_size,
1133 sizeof(struct amba_id), "amba",
1134 do_amba_entry, mod);
1135 free(zeros); 1102 free(zeros);
1136} 1103}
1137 1104
diff --git a/security/apparmor/include/apparmor.h b/security/apparmor/include/apparmor.h
index 38ccaea08204..df3649560818 100644
--- a/security/apparmor/include/apparmor.h
+++ b/security/apparmor/include/apparmor.h
@@ -21,11 +21,11 @@
21 21
22/* Control parameters settable through module/boot flags */ 22/* Control parameters settable through module/boot flags */
23extern enum audit_mode aa_g_audit; 23extern enum audit_mode aa_g_audit;
24extern int aa_g_audit_header; 24extern bool aa_g_audit_header;
25extern int aa_g_debug; 25extern bool aa_g_debug;
26extern int aa_g_lock_policy; 26extern bool aa_g_lock_policy;
27extern int aa_g_logsyscall; 27extern bool aa_g_logsyscall;
28extern int aa_g_paranoid_load; 28extern bool aa_g_paranoid_load;
29extern unsigned int aa_g_path_max; 29extern unsigned int aa_g_path_max;
30 30
31/* 31/*
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index d7f06f8b2837..68d50c54e431 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -708,7 +708,7 @@ module_param_call(mode, param_set_mode, param_get_mode,
708 &aa_g_profile_mode, S_IRUSR | S_IWUSR); 708 &aa_g_profile_mode, S_IRUSR | S_IWUSR);
709 709
710/* Debug mode */ 710/* Debug mode */
711int aa_g_debug; 711bool aa_g_debug;
712module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR); 712module_param_named(debug, aa_g_debug, aabool, S_IRUSR | S_IWUSR);
713 713
714/* Audit mode */ 714/* Audit mode */
@@ -719,7 +719,7 @@ module_param_call(audit, param_set_audit, param_get_audit,
719/* Determines if audit header is included in audited messages. This 719/* Determines if audit header is included in audited messages. This
720 * provides more context if the audit daemon is not running 720 * provides more context if the audit daemon is not running
721 */ 721 */
722int aa_g_audit_header = 1; 722bool aa_g_audit_header = 1;
723module_param_named(audit_header, aa_g_audit_header, aabool, 723module_param_named(audit_header, aa_g_audit_header, aabool,
724 S_IRUSR | S_IWUSR); 724 S_IRUSR | S_IWUSR);
725 725
@@ -727,12 +727,12 @@ module_param_named(audit_header, aa_g_audit_header, aabool,
727 * TODO: add in at boot loading of policy, which is the only way to 727 * TODO: add in at boot loading of policy, which is the only way to
728 * load policy, if lock_policy is set 728 * load policy, if lock_policy is set
729 */ 729 */
730int aa_g_lock_policy; 730bool aa_g_lock_policy;
731module_param_named(lock_policy, aa_g_lock_policy, aalockpolicy, 731module_param_named(lock_policy, aa_g_lock_policy, aalockpolicy,
732 S_IRUSR | S_IWUSR); 732 S_IRUSR | S_IWUSR);
733 733
734/* Syscall logging mode */ 734/* Syscall logging mode */
735int aa_g_logsyscall; 735bool aa_g_logsyscall;
736module_param_named(logsyscall, aa_g_logsyscall, aabool, S_IRUSR | S_IWUSR); 736module_param_named(logsyscall, aa_g_logsyscall, aabool, S_IRUSR | S_IWUSR);
737 737
738/* Maximum pathname length before accesses will start getting rejected */ 738/* Maximum pathname length before accesses will start getting rejected */
@@ -742,12 +742,12 @@ module_param_named(path_max, aa_g_path_max, aauint, S_IRUSR | S_IWUSR);
742/* Determines how paranoid loading of policy is and how much verification 742/* Determines how paranoid loading of policy is and how much verification
743 * on the loaded policy is done. 743 * on the loaded policy is done.
744 */ 744 */
745int aa_g_paranoid_load = 1; 745bool aa_g_paranoid_load = 1;
746module_param_named(paranoid_load, aa_g_paranoid_load, aabool, 746module_param_named(paranoid_load, aa_g_paranoid_load, aabool,
747 S_IRUSR | S_IWUSR); 747 S_IRUSR | S_IWUSR);
748 748
749/* Boot time disable flag */ 749/* Boot time disable flag */
750static unsigned int apparmor_enabled = CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE; 750static bool apparmor_enabled = CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE;
751module_param_named(enabled, apparmor_enabled, aabool, S_IRUSR); 751module_param_named(enabled, apparmor_enabled, aabool, S_IRUSR);
752 752
753static int __init apparmor_enabled_setup(char *str) 753static int __init apparmor_enabled_setup(char *str)
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index 40b181bab930..9f3b01bb72c8 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -95,13 +95,13 @@ module_param(ac97_quirk, charp, 0444);
95MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); 95MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware.");
96module_param(buggy_semaphore, bool, 0444); 96module_param(buggy_semaphore, bool, 0444);
97MODULE_PARM_DESC(buggy_semaphore, "Enable workaround for hardwares with problematic codec semaphores."); 97MODULE_PARM_DESC(buggy_semaphore, "Enable workaround for hardwares with problematic codec semaphores.");
98module_param(buggy_irq, bool, 0444); 98module_param(buggy_irq, bint, 0444);
99MODULE_PARM_DESC(buggy_irq, "Enable workaround for buggy interrupts on some motherboards."); 99MODULE_PARM_DESC(buggy_irq, "Enable workaround for buggy interrupts on some motherboards.");
100module_param(xbox, bool, 0444); 100module_param(xbox, bool, 0444);
101MODULE_PARM_DESC(xbox, "Set to 1 for Xbox, if you have problems with the AC'97 codec detection."); 101MODULE_PARM_DESC(xbox, "Set to 1 for Xbox, if you have problems with the AC'97 codec detection.");
102module_param(spdif_aclink, int, 0444); 102module_param(spdif_aclink, int, 0444);
103MODULE_PARM_DESC(spdif_aclink, "S/PDIF over AC-link."); 103MODULE_PARM_DESC(spdif_aclink, "S/PDIF over AC-link.");
104module_param(inside_vm, bool, 0444); 104module_param(inside_vm, bint, 0444);
105MODULE_PARM_DESC(inside_vm, "KVM/Parallels optimization."); 105MODULE_PARM_DESC(inside_vm, "KVM/Parallels optimization.");
106 106
107/* just for backward compatibility */ 107/* just for backward compatibility */
diff --git a/virt/kvm/iommu.c b/virt/kvm/iommu.c
index 0fb448e6a1a3..a457d2138f49 100644
--- a/virt/kvm/iommu.c
+++ b/virt/kvm/iommu.c
@@ -32,7 +32,7 @@
32#include <linux/iommu.h> 32#include <linux/iommu.h>
33#include <linux/intel-iommu.h> 33#include <linux/intel-iommu.h>
34 34
35static int allow_unsafe_assigned_interrupts; 35static bool allow_unsafe_assigned_interrupts;
36module_param_named(allow_unsafe_assigned_interrupts, 36module_param_named(allow_unsafe_assigned_interrupts,
37 allow_unsafe_assigned_interrupts, bool, S_IRUGO | S_IWUSR); 37 allow_unsafe_assigned_interrupts, bool, S_IRUGO | S_IWUSR);
38MODULE_PARM_DESC(allow_unsafe_assigned_interrupts, 38MODULE_PARM_DESC(allow_unsafe_assigned_interrupts,