aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/button.c6
-rw-r--r--drivers/block/nbd.c2
-rw-r--r--drivers/cdrom/cdrom.c2
-rw-r--r--drivers/char/drm/drm_bufs.c2
-rw-r--r--drivers/char/drm/drm_drv.c2
-rw-r--r--drivers/char/drm/drm_fops.c7
-rw-r--r--drivers/char/drm/drm_lock.c6
-rw-r--r--drivers/char/drm/drm_os_linux.h2
-rw-r--r--drivers/char/drm/i810_dma.c2
-rw-r--r--drivers/char/drm/i830_dma.c2
-rw-r--r--drivers/char/esp.c2
-rw-r--r--drivers/char/keyboard.c48
-rw-r--r--drivers/char/mxser.c2
-rw-r--r--drivers/char/mxser_new.c2
-rw-r--r--drivers/char/sonypi.c8
-rw-r--r--drivers/char/sx.c2
-rw-r--r--drivers/char/sysrq.c2
-rw-r--r--drivers/char/tty_io.c17
-rw-r--r--drivers/char/vt.c45
-rw-r--r--drivers/edac/edac_core.h2
-rw-r--r--drivers/edac/pasemi_edac.c1
-rw-r--r--drivers/firmware/dcdbas.h1
-rw-r--r--drivers/hid/hidraw.c4
-rw-r--r--drivers/hid/usbhid/usbkbd.c7
-rw-r--r--drivers/hid/usbhid/usbmouse.c12
-rw-r--r--drivers/hwmon/applesmc.c2
-rw-r--r--drivers/hwmon/hdaps.c2
-rw-r--r--drivers/i2c/busses/i2c-pxa.c54
-rw-r--r--drivers/ide/ide-io.c2
-rw-r--r--drivers/infiniband/core/cma.c5
-rw-r--r--drivers/input/evdev.c12
-rw-r--r--drivers/input/input.c10
-rw-r--r--drivers/input/joydev.c16
-rw-r--r--drivers/input/joystick/a3d.c28
-rw-r--r--drivers/input/joystick/adi.c2
-rw-r--r--drivers/input/joystick/amijoy.c7
-rw-r--r--drivers/input/joystick/analog.c2
-rw-r--r--drivers/input/joystick/cobra.c2
-rw-r--r--drivers/input/joystick/db9.c2
-rw-r--r--drivers/input/joystick/gamecon.c4
-rw-r--r--drivers/input/joystick/gf2k.c2
-rw-r--r--drivers/input/joystick/grip.c2
-rw-r--r--drivers/input/joystick/grip_mp.c2
-rw-r--r--drivers/input/joystick/guillemot.c2
-rw-r--r--drivers/input/joystick/iforce/iforce-main.c3
-rw-r--r--drivers/input/joystick/iforce/iforce.h4
-rw-r--r--drivers/input/joystick/interact.c2
-rw-r--r--drivers/input/joystick/magellan.c2
-rw-r--r--drivers/input/joystick/sidewinder.c2
-rw-r--r--drivers/input/joystick/spaceball.c17
-rw-r--r--drivers/input/joystick/spaceorb.c2
-rw-r--r--drivers/input/joystick/stinger.c9
-rw-r--r--drivers/input/joystick/tmdc.c2
-rw-r--r--drivers/input/joystick/turbografx.c2
-rw-r--r--drivers/input/joystick/twidjoy.c2
-rw-r--r--drivers/input/joystick/warrior.c8
-rw-r--r--drivers/input/joystick/xpad.c2
-rw-r--r--drivers/input/keyboard/aaed2000_kbd.c2
-rw-r--r--drivers/input/keyboard/amikbd.c2
-rw-r--r--drivers/input/keyboard/atakbd.c2
-rw-r--r--drivers/input/keyboard/atkbd.c21
-rw-r--r--drivers/input/keyboard/corgikbd.c3
-rw-r--r--drivers/input/keyboard/gpio_keys.c2
-rw-r--r--drivers/input/keyboard/hil_kbd.c5
-rw-r--r--drivers/input/keyboard/hilkbd.c5
-rw-r--r--drivers/input/keyboard/locomokbd.c2
-rw-r--r--drivers/input/keyboard/newtonkbd.c2
-rw-r--r--drivers/input/keyboard/pxa27x_keyboard.c5
-rw-r--r--drivers/input/keyboard/spitzkbd.c3
-rw-r--r--drivers/input/keyboard/stowaway.c2
-rw-r--r--drivers/input/keyboard/sunkbd.c8
-rw-r--r--drivers/input/keyboard/xtkbd.c2
-rw-r--r--drivers/input/misc/ati_remote.c8
-rw-r--r--drivers/input/misc/ati_remote2.c7
-rw-r--r--drivers/input/misc/atlas_btns.c2
-rw-r--r--drivers/input/misc/cobalt_btns.c2
-rw-r--r--drivers/input/misc/ixp4xx-beeper.c4
-rw-r--r--drivers/input/misc/keyspan_remote.c2
-rw-r--r--drivers/input/misc/m68kspkr.c4
-rw-r--r--drivers/input/misc/pcspkr.c4
-rw-r--r--drivers/input/misc/powermate.c9
-rw-r--r--drivers/input/misc/sparcspkr.c4
-rw-r--r--drivers/input/misc/yealink.c2
-rw-r--r--drivers/input/mouse/alps.c26
-rw-r--r--drivers/input/mouse/amimouse.c7
-rw-r--r--drivers/input/mouse/atarimouse.c7
-rw-r--r--drivers/input/mouse/hil_ptr.c6
-rw-r--r--drivers/input/mouse/inport.c7
-rw-r--r--drivers/input/mouse/lifebook.c11
-rw-r--r--drivers/input/mouse/logibm.c7
-rw-r--r--drivers/input/mouse/pc110pad.c6
-rw-r--r--drivers/input/mouse/psmouse-base.c7
-rw-r--r--drivers/input/mouse/rpcmouse.c7
-rw-r--r--drivers/input/mouse/sermouse.c7
-rw-r--r--drivers/input/mouse/touchkit_ps2.c2
-rw-r--r--drivers/input/mousedev.c26
-rw-r--r--drivers/input/tablet/acecad.c12
-rw-r--r--drivers/input/tablet/gtco.c6
-rw-r--r--drivers/input/tablet/kbtab.c11
-rw-r--r--drivers/input/tablet/wacom_sys.c58
-rw-r--r--drivers/input/touchscreen/ads7846.c4
-rw-r--r--drivers/input/touchscreen/corgi_ts.c4
-rw-r--r--drivers/input/touchscreen/elo.c4
-rw-r--r--drivers/input/touchscreen/fujitsu_ts.c4
-rw-r--r--drivers/input/touchscreen/gunze.c4
-rw-r--r--drivers/input/touchscreen/h3600_ts_input.c5
-rw-r--r--drivers/input/touchscreen/hp680_ts_input.c4
-rw-r--r--drivers/input/touchscreen/mk712.c4
-rw-r--r--drivers/input/touchscreen/mtouch.c4
-rw-r--r--drivers/input/touchscreen/penmount.c4
-rw-r--r--drivers/input/touchscreen/touchright.c4
-rw-r--r--drivers/input/touchscreen/touchwin.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.c28
-rw-r--r--drivers/isdn/hardware/avm/c4.c2
-rw-r--r--drivers/isdn/hardware/avm/t1isa.c28
-rw-r--r--drivers/isdn/sc/debug.h19
-rw-r--r--drivers/isdn/sc/includes.h1
-rw-r--r--drivers/isdn/sc/init.c2
-rw-r--r--drivers/macintosh/adbhid.c19
-rw-r--r--drivers/macintosh/mac_hid.c7
-rw-r--r--drivers/md/md.c2
-rw-r--r--drivers/media/dvb/cinergyT2/cinergyT2.c2
-rw-r--r--drivers/media/dvb/dvb-usb/dvb-usb-remote.c2
-rw-r--r--drivers/media/dvb/ttpci/av7110_ir.c2
-rw-r--r--drivers/media/dvb/ttusb-dec/ttusb_dec.c2
-rw-r--r--drivers/media/video/usbvideo/konicawc.c4
-rw-r--r--drivers/media/video/usbvideo/quickcam_messenger.c4
-rw-r--r--drivers/media/video/zoran_driver.c4
-rw-r--r--drivers/misc/ibmasm/remote.c8
-rw-r--r--drivers/misc/phantom.c97
-rw-r--r--drivers/misc/sony-laptop.c6
-rw-r--r--drivers/mtd/ubi/wl.c2
-rw-r--r--drivers/net/bnx2.c2
-rw-r--r--drivers/net/bonding/bond_3ad.c32
-rw-r--r--drivers/net/bonding/bond_3ad.h12
-rw-r--r--drivers/net/cris/eth_v10.c2
-rw-r--r--drivers/net/cxgb3/adapter.h2
-rw-r--r--drivers/net/eth16i.c1
-rw-r--r--drivers/net/hamradio/dmascc.c2
-rw-r--r--drivers/net/mac89x0.c2
-rw-r--r--drivers/net/meth.h3
-rw-r--r--drivers/net/s2io-regs.h632
-rw-r--r--drivers/net/s2io.c16
-rw-r--r--drivers/net/s2io.h84
-rw-r--r--drivers/net/spider_net.c2
-rw-r--r--drivers/net/tulip/uli526x.c2
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_leds.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_common.h3
-rw-r--r--drivers/net/wireless/hostap/hostap_ioctl.c2
-rw-r--r--drivers/pcmcia/m32r_pcc.c2
-rw-r--r--drivers/pcmcia/m8xx_pcmcia.c2
-rw-r--r--drivers/ps3/ps3av.c6
-rw-r--r--drivers/ps3/vuart.c2
-rw-r--r--drivers/rtc/rtc-pl031.c2
-rw-r--r--drivers/rtc/rtc-sa1100.c2
-rw-r--r--drivers/s390/cio/idset.c2
-rw-r--r--drivers/s390/net/claw.c2
-rw-r--r--drivers/scsi/FlashPoint.c83
-rw-r--r--drivers/scsi/Kconfig2
-rw-r--r--drivers/scsi/ide-scsi.c2
-rw-r--r--drivers/scsi/libsas/sas_discover.c8
-rw-r--r--drivers/scsi/nsp32.h5
-rw-r--r--drivers/scsi/pcmcia/nsp_cs.h1
-rw-r--r--drivers/scsi/qla4xxx/ql4_fw.h2
-rw-r--r--drivers/scsi/qla4xxx/ql4_iocb.c2
-rw-r--r--drivers/serial/amba-pl011.c26
-rw-r--r--drivers/serial/crisv10.c2
-rw-r--r--drivers/usb/core/devio.c2
-rw-r--r--drivers/usb/gadget/file_storage.c2
-rw-r--r--drivers/video/cyber2000fb.c236
-rw-r--r--drivers/video/pnx4008/sdum.h3
-rw-r--r--drivers/watchdog/at91rm9200_wdt.c2
-rw-r--r--drivers/watchdog/ks8695_wdt.c2
-rw-r--r--drivers/watchdog/omap_wdt.c2
-rw-r--r--drivers/watchdog/sa1100_wdt.c2
177 files changed, 1205 insertions, 1026 deletions
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 2e79a3395e..301e832e69 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -434,18 +434,18 @@ static int acpi_button_add(struct acpi_device *device)
434 switch (button->type) { 434 switch (button->type) {
435 case ACPI_BUTTON_TYPE_POWER: 435 case ACPI_BUTTON_TYPE_POWER:
436 case ACPI_BUTTON_TYPE_POWERF: 436 case ACPI_BUTTON_TYPE_POWERF:
437 input->evbit[0] = BIT(EV_KEY); 437 input->evbit[0] = BIT_MASK(EV_KEY);
438 set_bit(KEY_POWER, input->keybit); 438 set_bit(KEY_POWER, input->keybit);
439 break; 439 break;
440 440
441 case ACPI_BUTTON_TYPE_SLEEP: 441 case ACPI_BUTTON_TYPE_SLEEP:
442 case ACPI_BUTTON_TYPE_SLEEPF: 442 case ACPI_BUTTON_TYPE_SLEEPF:
443 input->evbit[0] = BIT(EV_KEY); 443 input->evbit[0] = BIT_MASK(EV_KEY);
444 set_bit(KEY_SLEEP, input->keybit); 444 set_bit(KEY_SLEEP, input->keybit);
445 break; 445 break;
446 446
447 case ACPI_BUTTON_TYPE_LID: 447 case ACPI_BUTTON_TYPE_LID:
448 input->evbit[0] = BIT(EV_SW); 448 input->evbit[0] = BIT_MASK(EV_SW);
449 set_bit(SW_LID, input->swbit); 449 set_bit(SW_LID, input->swbit);
450 break; 450 break;
451 } 451 }
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index cb136a919f..ac4a0cb217 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -188,7 +188,7 @@ static int sock_xmit(struct nbd_device *lo, int send, void *buf, int size,
188 if (signal_pending(current)) { 188 if (signal_pending(current)) {
189 siginfo_t info; 189 siginfo_t info;
190 printk(KERN_WARNING "nbd (pid %d: %s) got signal %d\n", 190 printk(KERN_WARNING "nbd (pid %d: %s) got signal %d\n",
191 current->pid, current->comm, 191 task_pid_nr(current), current->comm,
192 dequeue_signal_lock(current, &current->blocked, &info)); 192 dequeue_signal_lock(current, &current->blocked, &info));
193 result = -EINTR; 193 result = -EINTR;
194 sock_shutdown(lo, !send); 194 sock_shutdown(lo, !send);
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index d70745c842..af05610531 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -1107,7 +1107,7 @@ int open_for_data(struct cdrom_device_info * cdi)
1107 is the default case! */ 1107 is the default case! */
1108 cdinfo(CD_OPEN, "bummer. wrong media type.\n"); 1108 cdinfo(CD_OPEN, "bummer. wrong media type.\n");
1109 cdinfo(CD_WARNING, "pid %d must open device O_NONBLOCK!\n", 1109 cdinfo(CD_WARNING, "pid %d must open device O_NONBLOCK!\n",
1110 (unsigned int)current->pid); 1110 (unsigned int)task_pid_nr(current));
1111 ret=-EMEDIUMTYPE; 1111 ret=-EMEDIUMTYPE;
1112 goto clean_up_and_return; 1112 goto clean_up_and_return;
1113 } 1113 }
diff --git a/drivers/char/drm/drm_bufs.c b/drivers/char/drm/drm_bufs.c
index 856774fbe0..d24a6c2c2c 100644
--- a/drivers/char/drm/drm_bufs.c
+++ b/drivers/char/drm/drm_bufs.c
@@ -1456,7 +1456,7 @@ int drm_freebufs(struct drm_device *dev, void *data,
1456 buf = dma->buflist[idx]; 1456 buf = dma->buflist[idx];
1457 if (buf->file_priv != file_priv) { 1457 if (buf->file_priv != file_priv) {
1458 DRM_ERROR("Process %d freeing buffer not owned\n", 1458 DRM_ERROR("Process %d freeing buffer not owned\n",
1459 current->pid); 1459 task_pid_nr(current));
1460 return -EINVAL; 1460 return -EINVAL;
1461 } 1461 }
1462 drm_free_buffer(dev, buf); 1462 drm_free_buffer(dev, buf);
diff --git a/drivers/char/drm/drm_drv.c b/drivers/char/drm/drm_drv.c
index 72668b15e5..44a46268b0 100644
--- a/drivers/char/drm/drm_drv.c
+++ b/drivers/char/drm/drm_drv.c
@@ -463,7 +463,7 @@ int drm_ioctl(struct inode *inode, struct file *filp,
463 ++file_priv->ioctl_count; 463 ++file_priv->ioctl_count;
464 464
465 DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n", 465 DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
466 current->pid, cmd, nr, 466 task_pid_nr(current), cmd, nr,
467 (long)old_encode_dev(file_priv->head->device), 467 (long)old_encode_dev(file_priv->head->device),
468 file_priv->authenticated); 468 file_priv->authenticated);
469 469
diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c
index f383fc3719..3992f73299 100644
--- a/drivers/char/drm/drm_fops.c
+++ b/drivers/char/drm/drm_fops.c
@@ -234,7 +234,7 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
234 if (!drm_cpu_valid()) 234 if (!drm_cpu_valid())
235 return -EINVAL; 235 return -EINVAL;
236 236
237 DRM_DEBUG("pid = %d, minor = %d\n", current->pid, minor); 237 DRM_DEBUG("pid = %d, minor = %d\n", task_pid_nr(current), minor);
238 238
239 priv = drm_alloc(sizeof(*priv), DRM_MEM_FILES); 239 priv = drm_alloc(sizeof(*priv), DRM_MEM_FILES);
240 if (!priv) 240 if (!priv)
@@ -244,7 +244,7 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
244 filp->private_data = priv; 244 filp->private_data = priv;
245 priv->filp = filp; 245 priv->filp = filp;
246 priv->uid = current->euid; 246 priv->uid = current->euid;
247 priv->pid = current->pid; 247 priv->pid = task_pid_nr(current);
248 priv->minor = minor; 248 priv->minor = minor;
249 priv->head = drm_heads[minor]; 249 priv->head = drm_heads[minor];
250 priv->ioctl_count = 0; 250 priv->ioctl_count = 0;
@@ -339,7 +339,8 @@ int drm_release(struct inode *inode, struct file *filp)
339 */ 339 */
340 340
341 DRM_DEBUG("pid = %d, device = 0x%lx, open_count = %d\n", 341 DRM_DEBUG("pid = %d, device = 0x%lx, open_count = %d\n",
342 current->pid, (long)old_encode_dev(file_priv->head->device), 342 task_pid_nr(current),
343 (long)old_encode_dev(file_priv->head->device),
343 dev->open_count); 344 dev->open_count);
344 345
345 if (dev->driver->reclaim_buffers_locked && dev->lock.hw_lock) { 346 if (dev->driver->reclaim_buffers_locked && dev->lock.hw_lock) {
diff --git a/drivers/char/drm/drm_lock.c b/drivers/char/drm/drm_lock.c
index c6b73e744d..bea2a7d5b2 100644
--- a/drivers/char/drm/drm_lock.c
+++ b/drivers/char/drm/drm_lock.c
@@ -58,12 +58,12 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
58 58
59 if (lock->context == DRM_KERNEL_CONTEXT) { 59 if (lock->context == DRM_KERNEL_CONTEXT) {
60 DRM_ERROR("Process %d using kernel context %d\n", 60 DRM_ERROR("Process %d using kernel context %d\n",
61 current->pid, lock->context); 61 task_pid_nr(current), lock->context);
62 return -EINVAL; 62 return -EINVAL;
63 } 63 }
64 64
65 DRM_DEBUG("%d (pid %d) requests lock (0x%08x), flags = 0x%08x\n", 65 DRM_DEBUG("%d (pid %d) requests lock (0x%08x), flags = 0x%08x\n",
66 lock->context, current->pid, 66 lock->context, task_pid_nr(current),
67 dev->lock.hw_lock->lock, lock->flags); 67 dev->lock.hw_lock->lock, lock->flags);
68 68
69 if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE)) 69 if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE))
@@ -153,7 +153,7 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
153 153
154 if (lock->context == DRM_KERNEL_CONTEXT) { 154 if (lock->context == DRM_KERNEL_CONTEXT) {
155 DRM_ERROR("Process %d using kernel context %d\n", 155 DRM_ERROR("Process %d using kernel context %d\n",
156 current->pid, lock->context); 156 task_pid_nr(current), lock->context);
157 return -EINVAL; 157 return -EINVAL;
158 } 158 }
159 159
diff --git a/drivers/char/drm/drm_os_linux.h b/drivers/char/drm/drm_os_linux.h
index 114e54e0f6..76e44ac94f 100644
--- a/drivers/char/drm/drm_os_linux.h
+++ b/drivers/char/drm/drm_os_linux.h
@@ -7,7 +7,7 @@
7#include <linux/delay.h> 7#include <linux/delay.h>
8 8
9/** Current process ID */ 9/** Current process ID */
10#define DRM_CURRENTPID current->pid 10#define DRM_CURRENTPID task_pid_nr(current)
11#define DRM_SUSER(p) capable(CAP_SYS_ADMIN) 11#define DRM_SUSER(p) capable(CAP_SYS_ADMIN)
12#define DRM_UDELAY(d) udelay(d) 12#define DRM_UDELAY(d) udelay(d)
13/** Read a byte from a MMIO region */ 13/** Read a byte from a MMIO region */
diff --git a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c
index 8e841bdee6..eb381a7c5b 100644
--- a/drivers/char/drm/i810_dma.c
+++ b/drivers/char/drm/i810_dma.c
@@ -1024,7 +1024,7 @@ static int i810_getbuf(struct drm_device *dev, void *data,
1024 retcode = i810_dma_get_buffer(dev, d, file_priv); 1024 retcode = i810_dma_get_buffer(dev, d, file_priv);
1025 1025
1026 DRM_DEBUG("i810_dma: %d returning %d, granted = %d\n", 1026 DRM_DEBUG("i810_dma: %d returning %d, granted = %d\n",
1027 current->pid, retcode, d->granted); 1027 task_pid_nr(current), retcode, d->granted);
1028 1028
1029 sarea_priv->last_dispatch = (int)hw_status[5]; 1029 sarea_priv->last_dispatch = (int)hw_status[5];
1030 1030
diff --git a/drivers/char/drm/i830_dma.c b/drivers/char/drm/i830_dma.c
index 43a1f78712..69a363edb0 100644
--- a/drivers/char/drm/i830_dma.c
+++ b/drivers/char/drm/i830_dma.c
@@ -1409,7 +1409,7 @@ static int i830_getbuf(struct drm_device *dev, void *data,
1409 retcode = i830_dma_get_buffer(dev, d, file_priv); 1409 retcode = i830_dma_get_buffer(dev, d, file_priv);
1410 1410
1411 DRM_DEBUG("i830_dma: %d returning %d, granted = %d\n", 1411 DRM_DEBUG("i830_dma: %d returning %d, granted = %d\n",
1412 current->pid, retcode, d->granted); 1412 task_pid_nr(current), retcode, d->granted);
1413 1413
1414 sarea_priv->last_dispatch = (int)hw_status[5]; 1414 sarea_priv->last_dispatch = (int)hw_status[5];
1415 1415
diff --git a/drivers/char/esp.c b/drivers/char/esp.c
index 2e7ae42a55..0f8fb135da 100644
--- a/drivers/char/esp.c
+++ b/drivers/char/esp.c
@@ -58,10 +58,10 @@
58#include <linux/mm.h> 58#include <linux/mm.h>
59#include <linux/init.h> 59#include <linux/init.h>
60#include <linux/delay.h> 60#include <linux/delay.h>
61#include <linux/bitops.h>
61 62
62#include <asm/system.h> 63#include <asm/system.h>
63#include <asm/io.h> 64#include <asm/io.h>
64#include <asm/bitops.h>
65 65
66#include <asm/dma.h> 66#include <asm/dma.h>
67#include <linux/slab.h> 67#include <linux/slab.h>
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
index 212276affa..fc54d23450 100644
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -42,6 +42,7 @@
42#include <linux/sysrq.h> 42#include <linux/sysrq.h>
43#include <linux/input.h> 43#include <linux/input.h>
44#include <linux/reboot.h> 44#include <linux/reboot.h>
45#include <linux/notifier.h>
45 46
46extern void ctrl_alt_del(void); 47extern void ctrl_alt_del(void);
47 48
@@ -81,7 +82,8 @@ void compute_shiftstate(void);
81typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value, 82typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value,
82 char up_flag); 83 char up_flag);
83static k_handler_fn K_HANDLERS; 84static k_handler_fn K_HANDLERS;
84static k_handler_fn *k_handler[16] = { K_HANDLERS }; 85k_handler_fn *k_handler[16] = { K_HANDLERS };
86EXPORT_SYMBOL_GPL(k_handler);
85 87
86#define FN_HANDLERS\ 88#define FN_HANDLERS\
87 fn_null, fn_enter, fn_show_ptregs, fn_show_mem,\ 89 fn_null, fn_enter, fn_show_ptregs, fn_show_mem,\
@@ -127,7 +129,7 @@ int shift_state = 0;
127 */ 129 */
128 130
129static struct input_handler kbd_handler; 131static struct input_handler kbd_handler;
130static unsigned long key_down[NBITS(KEY_MAX)]; /* keyboard key bitmap */ 132static unsigned long key_down[BITS_TO_LONGS(KEY_CNT)]; /* keyboard key bitmap */
131static unsigned char shift_down[NR_SHIFT]; /* shift state counters.. */ 133static unsigned char shift_down[NR_SHIFT]; /* shift state counters.. */
132static int dead_key_next; 134static int dead_key_next;
133static int npadch = -1; /* -1 or number assembled on pad */ 135static int npadch = -1; /* -1 or number assembled on pad */
@@ -160,6 +162,23 @@ static int sysrq_alt_use;
160static int sysrq_alt; 162static int sysrq_alt;
161 163
162/* 164/*
165 * Notifier list for console keyboard events
166 */
167static ATOMIC_NOTIFIER_HEAD(keyboard_notifier_list);
168
169int register_keyboard_notifier(struct notifier_block *nb)
170{
171 return atomic_notifier_chain_register(&keyboard_notifier_list, nb);
172}
173EXPORT_SYMBOL_GPL(register_keyboard_notifier);
174
175int unregister_keyboard_notifier(struct notifier_block *nb)
176{
177 return atomic_notifier_chain_unregister(&keyboard_notifier_list, nb);
178}
179EXPORT_SYMBOL_GPL(unregister_keyboard_notifier);
180
181/*
163 * Translation of scancodes to keycodes. We set them on only the first 182 * Translation of scancodes to keycodes. We set them on only the first
164 * keyboard in the list that accepts the scancode and keycode. 183 * keyboard in the list that accepts the scancode and keycode.
165 * Explanation for not choosing the first attached keyboard anymore: 184 * Explanation for not choosing the first attached keyboard anymore:
@@ -1130,6 +1149,7 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
1130 unsigned char type, raw_mode; 1149 unsigned char type, raw_mode;
1131 struct tty_struct *tty; 1150 struct tty_struct *tty;
1132 int shift_final; 1151 int shift_final;
1152 struct keyboard_notifier_param param = { .vc = vc, .value = keycode, .down = down };
1133 1153
1134 tty = vc->vc_tty; 1154 tty = vc->vc_tty;
1135 1155
@@ -1217,10 +1237,11 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
1217 return; 1237 return;
1218 } 1238 }
1219 1239
1220 shift_final = (shift_state | kbd->slockstate) ^ kbd->lockstate; 1240 param.shift = shift_final = (shift_state | kbd->slockstate) ^ kbd->lockstate;
1221 key_map = key_maps[shift_final]; 1241 key_map = key_maps[shift_final];
1222 1242
1223 if (!key_map) { 1243 if (atomic_notifier_call_chain(&keyboard_notifier_list, KBD_KEYCODE, &param) == NOTIFY_STOP || !key_map) {
1244 atomic_notifier_call_chain(&keyboard_notifier_list, KBD_UNBOUND_KEYCODE, &param);
1224 compute_shiftstate(); 1245 compute_shiftstate();
1225 kbd->slockstate = 0; 1246 kbd->slockstate = 0;
1226 return; 1247 return;
@@ -1237,6 +1258,9 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
1237 type = KTYP(keysym); 1258 type = KTYP(keysym);
1238 1259
1239 if (type < 0xf0) { 1260 if (type < 0xf0) {
1261 param.value = keysym;
1262 if (atomic_notifier_call_chain(&keyboard_notifier_list, KBD_UNICODE, &param) == NOTIFY_STOP)
1263 return;
1240 if (down && !raw_mode) 1264 if (down && !raw_mode)
1241 to_utf8(vc, keysym); 1265 to_utf8(vc, keysym);
1242 return; 1266 return;
@@ -1244,9 +1268,6 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
1244 1268
1245 type -= 0xf0; 1269 type -= 0xf0;
1246 1270
1247 if (raw_mode && type != KT_SPEC && type != KT_SHIFT)
1248 return;
1249
1250 if (type == KT_LETTER) { 1271 if (type == KT_LETTER) {
1251 type = KT_LATIN; 1272 type = KT_LATIN;
1252 if (vc_kbd_led(kbd, VC_CAPSLOCK)) { 1273 if (vc_kbd_led(kbd, VC_CAPSLOCK)) {
@@ -1255,9 +1276,18 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
1255 keysym = key_map[keycode]; 1276 keysym = key_map[keycode];
1256 } 1277 }
1257 } 1278 }
1279 param.value = keysym;
1280
1281 if (atomic_notifier_call_chain(&keyboard_notifier_list, KBD_KEYSYM, &param) == NOTIFY_STOP)
1282 return;
1283
1284 if (raw_mode && type != KT_SPEC && type != KT_SHIFT)
1285 return;
1258 1286
1259 (*k_handler[type])(vc, keysym & 0xff, !down); 1287 (*k_handler[type])(vc, keysym & 0xff, !down);
1260 1288
1289 atomic_notifier_call_chain(&keyboard_notifier_list, KBD_POST_KEYSYM, &param);
1290
1261 if (type != KT_SLOCK) 1291 if (type != KT_SLOCK)
1262 kbd->slockstate = 0; 1292 kbd->slockstate = 0;
1263} 1293}
@@ -1347,12 +1377,12 @@ static void kbd_start(struct input_handle *handle)
1347static const struct input_device_id kbd_ids[] = { 1377static const struct input_device_id kbd_ids[] = {
1348 { 1378 {
1349 .flags = INPUT_DEVICE_ID_MATCH_EVBIT, 1379 .flags = INPUT_DEVICE_ID_MATCH_EVBIT,
1350 .evbit = { BIT(EV_KEY) }, 1380 .evbit = { BIT_MASK(EV_KEY) },
1351 }, 1381 },
1352 1382
1353 { 1383 {
1354 .flags = INPUT_DEVICE_ID_MATCH_EVBIT, 1384 .flags = INPUT_DEVICE_ID_MATCH_EVBIT,
1355 .evbit = { BIT(EV_SND) }, 1385 .evbit = { BIT_MASK(EV_SND) },
1356 }, 1386 },
1357 1387
1358 { }, /* Terminating entry */ 1388 { }, /* Terminating entry */
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 661aca0e15..fd0abef7ee 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -56,11 +56,11 @@
56#include <linux/mm.h> 56#include <linux/mm.h>
57#include <linux/delay.h> 57#include <linux/delay.h>
58#include <linux/pci.h> 58#include <linux/pci.h>
59#include <linux/bitops.h>
59 60
60#include <asm/system.h> 61#include <asm/system.h>
61#include <asm/io.h> 62#include <asm/io.h>
62#include <asm/irq.h> 63#include <asm/irq.h>
63#include <asm/bitops.h>
64#include <asm/uaccess.h> 64#include <asm/uaccess.h>
65 65
66#include "mxser.h" 66#include "mxser.h"
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c
index 854dbf59eb..081c84c7b5 100644
--- a/drivers/char/mxser_new.c
+++ b/drivers/char/mxser_new.c
@@ -39,11 +39,11 @@
39#include <linux/mm.h> 39#include <linux/mm.h>
40#include <linux/delay.h> 40#include <linux/delay.h>
41#include <linux/pci.h> 41#include <linux/pci.h>
42#include <linux/bitops.h>
42 43
43#include <asm/system.h> 44#include <asm/system.h>
44#include <asm/io.h> 45#include <asm/io.h>
45#include <asm/irq.h> 46#include <asm/irq.h>
46#include <asm/bitops.h>
47#include <asm/uaccess.h> 47#include <asm/uaccess.h>
48 48
49#include "mxser_new.h" 49#include "mxser_new.h"
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 859858561a..9782cb4d30 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -1178,9 +1178,9 @@ static int __devinit sonypi_create_input_devices(void)
1178 jog_dev->id.bustype = BUS_ISA; 1178 jog_dev->id.bustype = BUS_ISA;
1179 jog_dev->id.vendor = PCI_VENDOR_ID_SONY; 1179 jog_dev->id.vendor = PCI_VENDOR_ID_SONY;
1180 1180
1181 jog_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 1181 jog_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
1182 jog_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_MIDDLE); 1182 jog_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_MIDDLE);
1183 jog_dev->relbit[0] = BIT(REL_WHEEL); 1183 jog_dev->relbit[0] = BIT_MASK(REL_WHEEL);
1184 1184
1185 sonypi_device.input_key_dev = key_dev = input_allocate_device(); 1185 sonypi_device.input_key_dev = key_dev = input_allocate_device();
1186 if (!key_dev) { 1186 if (!key_dev) {
@@ -1193,7 +1193,7 @@ static int __devinit sonypi_create_input_devices(void)
1193 key_dev->id.vendor = PCI_VENDOR_ID_SONY; 1193 key_dev->id.vendor = PCI_VENDOR_ID_SONY;
1194 1194
1195 /* Initialize the Input Drivers: special keys */ 1195 /* Initialize the Input Drivers: special keys */
1196 key_dev->evbit[0] = BIT(EV_KEY); 1196 key_dev->evbit[0] = BIT_MASK(EV_KEY);
1197 for (i = 0; sonypi_inputkeys[i].sonypiev; i++) 1197 for (i = 0; sonypi_inputkeys[i].sonypiev; i++)
1198 if (sonypi_inputkeys[i].inputev) 1198 if (sonypi_inputkeys[i].inputev)
1199 set_bit(sonypi_inputkeys[i].inputev, key_dev->keybit); 1199 set_bit(sonypi_inputkeys[i].inputev, key_dev->keybit);
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index 85a23283df..a6e1c9ba12 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -1467,7 +1467,7 @@ static int sx_open(struct tty_struct *tty, struct file *filp)
1467 1467
1468 line = tty->index; 1468 line = tty->index;
1469 sx_dprintk(SX_DEBUG_OPEN, "%d: opening line %d. tty=%p ctty=%p, " 1469 sx_dprintk(SX_DEBUG_OPEN, "%d: opening line %d. tty=%p ctty=%p, "
1470 "np=%d)\n", current->pid, line, tty, 1470 "np=%d)\n", task_pid_nr(current), line, tty,
1471 current->signal->tty, sx_nports); 1471 current->signal->tty, sx_nports);
1472 1472
1473 if ((line < 0) || (line >= SX_NPORTS) || (line >= sx_nports)) 1473 if ((line < 0) || (line >= SX_NPORTS) || (line >= sx_nports))
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
index 78d14935f2..de60e1ea4f 100644
--- a/drivers/char/sysrq.c
+++ b/drivers/char/sysrq.c
@@ -251,7 +251,7 @@ static void send_sig_all(int sig)
251 struct task_struct *p; 251 struct task_struct *p;
252 252
253 for_each_process(p) { 253 for_each_process(p) {
254 if (p->mm && !is_init(p)) 254 if (p->mm && !is_global_init(p))
255 /* Not swapper, init nor kernel thread */ 255 /* Not swapper, init nor kernel thread */
256 force_sig(sig, p); 256 force_sig(sig, p);
257 } 257 }
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 9c867cf6de..13a53575a0 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -103,6 +103,7 @@
103#include <linux/selection.h> 103#include <linux/selection.h>
104 104
105#include <linux/kmod.h> 105#include <linux/kmod.h>
106#include <linux/nsproxy.h>
106 107
107#undef TTY_DEBUG_HANGUP 108#undef TTY_DEBUG_HANGUP
108 109
@@ -3107,7 +3108,7 @@ static int tiocgpgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t
3107 */ 3108 */
3108 if (tty == real_tty && current->signal->tty != real_tty) 3109 if (tty == real_tty && current->signal->tty != real_tty)
3109 return -ENOTTY; 3110 return -ENOTTY;
3110 return put_user(pid_nr(real_tty->pgrp), p); 3111 return put_user(pid_vnr(real_tty->pgrp), p);
3111} 3112}
3112 3113
3113/** 3114/**
@@ -3141,7 +3142,7 @@ static int tiocspgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t
3141 if (pgrp_nr < 0) 3142 if (pgrp_nr < 0)
3142 return -EINVAL; 3143 return -EINVAL;
3143 rcu_read_lock(); 3144 rcu_read_lock();
3144 pgrp = find_pid(pgrp_nr); 3145 pgrp = find_vpid(pgrp_nr);
3145 retval = -ESRCH; 3146 retval = -ESRCH;
3146 if (!pgrp) 3147 if (!pgrp)
3147 goto out_unlock; 3148 goto out_unlock;
@@ -3178,7 +3179,7 @@ static int tiocgsid(struct tty_struct *tty, struct tty_struct *real_tty, pid_t _
3178 return -ENOTTY; 3179 return -ENOTTY;
3179 if (!real_tty->session) 3180 if (!real_tty->session)
3180 return -ENOTTY; 3181 return -ENOTTY;
3181 return put_user(pid_nr(real_tty->session), p); 3182 return put_user(pid_vnr(real_tty->session), p);
3182} 3183}
3183 3184
3184/** 3185/**
@@ -3528,8 +3529,8 @@ void __do_SAK(struct tty_struct *tty)
3528 /* Kill the entire session */ 3529 /* Kill the entire session */
3529 do_each_pid_task(session, PIDTYPE_SID, p) { 3530 do_each_pid_task(session, PIDTYPE_SID, p) {
3530 printk(KERN_NOTICE "SAK: killed process %d" 3531 printk(KERN_NOTICE "SAK: killed process %d"
3531 " (%s): process_session(p)==tty->session\n", 3532 " (%s): task_session_nr(p)==tty->session\n",
3532 p->pid, p->comm); 3533 task_pid_nr(p), p->comm);
3533 send_sig(SIGKILL, p, 1); 3534 send_sig(SIGKILL, p, 1);
3534 } while_each_pid_task(session, PIDTYPE_SID, p); 3535 } while_each_pid_task(session, PIDTYPE_SID, p);
3535 /* Now kill any processes that happen to have the 3536 /* Now kill any processes that happen to have the
@@ -3538,8 +3539,8 @@ void __do_SAK(struct tty_struct *tty)
3538 do_each_thread(g, p) { 3539 do_each_thread(g, p) {
3539 if (p->signal->tty == tty) { 3540 if (p->signal->tty == tty) {
3540 printk(KERN_NOTICE "SAK: killed process %d" 3541 printk(KERN_NOTICE "SAK: killed process %d"
3541 " (%s): process_session(p)==tty->session\n", 3542 " (%s): task_session_nr(p)==tty->session\n",
3542 p->pid, p->comm); 3543 task_pid_nr(p), p->comm);
3543 send_sig(SIGKILL, p, 1); 3544 send_sig(SIGKILL, p, 1);
3544 continue; 3545 continue;
3545 } 3546 }
@@ -3559,7 +3560,7 @@ void __do_SAK(struct tty_struct *tty)
3559 filp->private_data == tty) { 3560 filp->private_data == tty) {
3560 printk(KERN_NOTICE "SAK: killed process %d" 3561 printk(KERN_NOTICE "SAK: killed process %d"
3561 " (%s): fd#%d opened to the tty\n", 3562 " (%s): fd#%d opened to the tty\n",
3562 p->pid, p->comm, i); 3563 task_pid_nr(p), p->comm, i);
3563 force_sig(SIGKILL, p); 3564 force_sig(SIGKILL, p);
3564 break; 3565 break;
3565 } 3566 }
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index 1764c67b58..7a5badfb7d 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -99,6 +99,7 @@
99#include <linux/pm.h> 99#include <linux/pm.h>
100#include <linux/font.h> 100#include <linux/font.h>
101#include <linux/bitops.h> 101#include <linux/bitops.h>
102#include <linux/notifier.h>
102 103
103#include <asm/io.h> 104#include <asm/io.h>
104#include <asm/system.h> 105#include <asm/system.h>
@@ -223,6 +224,35 @@ enum {
223}; 224};
224 225
225/* 226/*
227 * Notifier list for console events.
228 */
229static ATOMIC_NOTIFIER_HEAD(vt_notifier_list);
230
231int register_vt_notifier(struct notifier_block *nb)
232{
233 return atomic_notifier_chain_register(&vt_notifier_list, nb);
234}
235EXPORT_SYMBOL_GPL(register_vt_notifier);
236
237int unregister_vt_notifier(struct notifier_block *nb)
238{
239 return atomic_notifier_chain_unregister(&vt_notifier_list, nb);
240}
241EXPORT_SYMBOL_GPL(unregister_vt_notifier);
242
243static void notify_write(struct vc_data *vc, unsigned int unicode)
244{
245 struct vt_notifier_param param = { .vc = vc, unicode = unicode };
246 atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, &param);
247}
248
249static void notify_update(struct vc_data *vc)
250{
251 struct vt_notifier_param param = { .vc = vc };
252 atomic_notifier_call_chain(&vt_notifier_list, VT_UPDATE, &param);
253}
254
255/*
226 * Low-Level Functions 256 * Low-Level Functions
227 */ 257 */
228 258
@@ -718,6 +748,7 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */
718 return -ENXIO; 748 return -ENXIO;
719 if (!vc_cons[currcons].d) { 749 if (!vc_cons[currcons].d) {
720 struct vc_data *vc; 750 struct vc_data *vc;
751 struct vt_notifier_param param;
721 752
722 /* prevent users from taking too much memory */ 753 /* prevent users from taking too much memory */
723 if (currcons >= MAX_NR_USER_CONSOLES && !capable(CAP_SYS_RESOURCE)) 754 if (currcons >= MAX_NR_USER_CONSOLES && !capable(CAP_SYS_RESOURCE))
@@ -729,7 +760,7 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */
729 /* although the numbers above are not valid since long ago, the 760 /* although the numbers above are not valid since long ago, the
730 point is still up-to-date and the comment still has its value 761 point is still up-to-date and the comment still has its value
731 even if only as a historical artifact. --mj, July 1998 */ 762 even if only as a historical artifact. --mj, July 1998 */
732 vc = kzalloc(sizeof(struct vc_data), GFP_KERNEL); 763 param.vc = vc = kzalloc(sizeof(struct vc_data), GFP_KERNEL);
733 if (!vc) 764 if (!vc)
734 return -ENOMEM; 765 return -ENOMEM;
735 vc_cons[currcons].d = vc; 766 vc_cons[currcons].d = vc;
@@ -746,6 +777,7 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */
746 } 777 }
747 vc->vc_kmalloced = 1; 778 vc->vc_kmalloced = 1;
748 vc_init(vc, vc->vc_rows, vc->vc_cols, 1); 779 vc_init(vc, vc->vc_rows, vc->vc_cols, 1);
780 atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, &param);
749 } 781 }
750 return 0; 782 return 0;
751} 783}
@@ -907,6 +939,8 @@ void vc_deallocate(unsigned int currcons)
907 939
908 if (vc_cons_allocated(currcons)) { 940 if (vc_cons_allocated(currcons)) {
909 struct vc_data *vc = vc_cons[currcons].d; 941 struct vc_data *vc = vc_cons[currcons].d;
942 struct vt_notifier_param param = { .vc = vc };
943 atomic_notifier_call_chain(&vt_notifier_list, VT_DEALLOCATE, &param);
910 vc->vc_sw->con_deinit(vc); 944 vc->vc_sw->con_deinit(vc);
911 put_pid(vc->vt_pid); 945 put_pid(vc->vt_pid);
912 module_put(vc->vc_sw->owner); 946 module_put(vc->vc_sw->owner);
@@ -1019,6 +1053,7 @@ static void lf(struct vc_data *vc)
1019 vc->vc_pos += vc->vc_size_row; 1053 vc->vc_pos += vc->vc_size_row;
1020 } 1054 }
1021 vc->vc_need_wrap = 0; 1055 vc->vc_need_wrap = 0;
1056 notify_write(vc, '\n');
1022} 1057}
1023 1058
1024static void ri(struct vc_data *vc) 1059static void ri(struct vc_data *vc)
@@ -1039,6 +1074,7 @@ static inline void cr(struct vc_data *vc)
1039{ 1074{
1040 vc->vc_pos -= vc->vc_x << 1; 1075 vc->vc_pos -= vc->vc_x << 1;
1041 vc->vc_need_wrap = vc->vc_x = 0; 1076 vc->vc_need_wrap = vc->vc_x = 0;
1077 notify_write(vc, '\r');
1042} 1078}
1043 1079
1044static inline void bs(struct vc_data *vc) 1080static inline void bs(struct vc_data *vc)
@@ -1047,6 +1083,7 @@ static inline void bs(struct vc_data *vc)
1047 vc->vc_pos -= 2; 1083 vc->vc_pos -= 2;
1048 vc->vc_x--; 1084 vc->vc_x--;
1049 vc->vc_need_wrap = 0; 1085 vc->vc_need_wrap = 0;
1086 notify_write(vc, '\b');
1050 } 1087 }
1051} 1088}
1052 1089
@@ -1593,6 +1630,7 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c)
1593 break; 1630 break;
1594 } 1631 }
1595 vc->vc_pos += (vc->vc_x << 1); 1632 vc->vc_pos += (vc->vc_x << 1);
1633 notify_write(vc, '\t');
1596 return; 1634 return;
1597 case 10: case 11: case 12: 1635 case 10: case 11: case 12:
1598 lf(vc); 1636 lf(vc);
@@ -2252,6 +2290,7 @@ rescan_last_byte:
2252 tc = conv_uni_to_pc(vc, ' '); /* A space is printed in the second column */ 2290 tc = conv_uni_to_pc(vc, ' '); /* A space is printed in the second column */
2253 if (tc < 0) tc = ' '; 2291 if (tc < 0) tc = ' ';
2254 } 2292 }
2293 notify_write(vc, c);
2255 2294
2256 if (inverse) { 2295 if (inverse) {
2257 FLUSH 2296 FLUSH
@@ -2274,6 +2313,7 @@ rescan_last_byte:
2274 release_console_sem(); 2313 release_console_sem();
2275 2314
2276out: 2315out:
2316 notify_update(vc);
2277 return n; 2317 return n;
2278#undef FLUSH 2318#undef FLUSH
2279} 2319}
@@ -2317,6 +2357,7 @@ static void console_callback(struct work_struct *ignored)
2317 do_blank_screen(0); 2357 do_blank_screen(0);
2318 blank_timer_expired = 0; 2358 blank_timer_expired = 0;
2319 } 2359 }
2360 notify_update(vc_cons[fg_console].d);
2320 2361
2321 release_console_sem(); 2362 release_console_sem();
2322} 2363}
@@ -2418,6 +2459,7 @@ static void vt_console_print(struct console *co, const char *b, unsigned count)
2418 continue; 2459 continue;
2419 } 2460 }
2420 scr_writew((vc->vc_attr << 8) + c, (unsigned short *)vc->vc_pos); 2461 scr_writew((vc->vc_attr << 8) + c, (unsigned short *)vc->vc_pos);
2462 notify_write(vc, c);
2421 cnt++; 2463 cnt++;
2422 if (myx == vc->vc_cols - 1) { 2464 if (myx == vc->vc_cols - 1) {
2423 vc->vc_need_wrap = 1; 2465 vc->vc_need_wrap = 1;
@@ -2436,6 +2478,7 @@ static void vt_console_print(struct console *co, const char *b, unsigned count)
2436 } 2478 }
2437 } 2479 }
2438 set_cursor(vc); 2480 set_cursor(vc);
2481 notify_update(vc);
2439 2482
2440quit: 2483quit:
2441 clear_bit(0, &printing); 2484 clear_bit(0, &printing);
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index e80af67664..2d23e304f5 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -94,8 +94,6 @@ extern int edac_debug_level;
94 94
95#endif /* !CONFIG_EDAC_DEBUG */ 95#endif /* !CONFIG_EDAC_DEBUG */
96 96
97#define BIT(x) (1 << (x))
98
99#define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \ 97#define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \
100 PCI_DEVICE_ID_ ## vend ## _ ## dev 98 PCI_DEVICE_ID_ ## vend ## _ ## dev
101 99
diff --git a/drivers/edac/pasemi_edac.c b/drivers/edac/pasemi_edac.c
index e66cdd42a3..9007d06772 100644
--- a/drivers/edac/pasemi_edac.c
+++ b/drivers/edac/pasemi_edac.c
@@ -270,6 +270,7 @@ static void __devexit pasemi_edac_remove(struct pci_dev *pdev)
270 270
271static const struct pci_device_id pasemi_edac_pci_tbl[] = { 271static const struct pci_device_id pasemi_edac_pci_tbl[] = {
272 { PCI_DEVICE(PCI_VENDOR_ID_PASEMI, 0xa00a) }, 272 { PCI_DEVICE(PCI_VENDOR_ID_PASEMI, 0xa00a) },
273 { }
273}; 274};
274 275
275MODULE_DEVICE_TABLE(pci, pasemi_edac_pci_tbl); 276MODULE_DEVICE_TABLE(pci, pasemi_edac_pci_tbl);
diff --git a/drivers/firmware/dcdbas.h b/drivers/firmware/dcdbas.h
index dcdba0f1b3..87bc3417de 100644
--- a/drivers/firmware/dcdbas.h
+++ b/drivers/firmware/dcdbas.h
@@ -17,7 +17,6 @@
17#define _DCDBAS_H_ 17#define _DCDBAS_H_
18 18
19#include <linux/device.h> 19#include <linux/device.h>
20#include <linux/input.h>
21#include <linux/sysfs.h> 20#include <linux/sysfs.h>
22#include <linux/types.h> 21#include <linux/types.h>
23 22
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index a702e2f6da..1ca6f4635e 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -113,13 +113,13 @@ static ssize_t hidraw_write(struct file *file, const char __user *buffer, size_t
113 113
114 if (count > HID_MIN_BUFFER_SIZE) { 114 if (count > HID_MIN_BUFFER_SIZE) {
115 printk(KERN_WARNING "hidraw: pid %d passed too large report\n", 115 printk(KERN_WARNING "hidraw: pid %d passed too large report\n",
116 current->pid); 116 task_pid_nr(current));
117 return -EINVAL; 117 return -EINVAL;
118 } 118 }
119 119
120 if (count < 2) { 120 if (count < 2) {
121 printk(KERN_WARNING "hidraw: pid %d passed too short report\n", 121 printk(KERN_WARNING "hidraw: pid %d passed too short report\n",
122 current->pid); 122 task_pid_nr(current));
123 return -EINVAL; 123 return -EINVAL;
124 } 124 }
125 125
diff --git a/drivers/hid/usbhid/usbkbd.c b/drivers/hid/usbhid/usbkbd.c
index b76b02f7b5..775a1ef28a 100644
--- a/drivers/hid/usbhid/usbkbd.c
+++ b/drivers/hid/usbhid/usbkbd.c
@@ -274,8 +274,11 @@ static int usb_kbd_probe(struct usb_interface *iface,
274 274
275 input_set_drvdata(input_dev, kbd); 275 input_set_drvdata(input_dev, kbd);
276 276
277 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP); 277 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_LED) |
278 input_dev->ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL) | BIT(LED_COMPOSE) | BIT(LED_KANA); 278 BIT_MASK(EV_REP);
279 input_dev->ledbit[0] = BIT_MASK(LED_NUML) | BIT_MASK(LED_CAPSL) |
280 BIT_MASK(LED_SCROLLL) | BIT_MASK(LED_COMPOSE) |
281 BIT_MASK(LED_KANA);
279 282
280 for (i = 0; i < 255; i++) 283 for (i = 0; i < 255; i++)
281 set_bit(usb_kbd_keycode[i], input_dev->keybit); 284 set_bit(usb_kbd_keycode[i], input_dev->keybit);
diff --git a/drivers/hid/usbhid/usbmouse.c b/drivers/hid/usbhid/usbmouse.c
index 5345c73bcf..f8ad6910d3 100644
--- a/drivers/hid/usbhid/usbmouse.c
+++ b/drivers/hid/usbhid/usbmouse.c
@@ -173,11 +173,13 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
173 usb_to_input_id(dev, &input_dev->id); 173 usb_to_input_id(dev, &input_dev->id);
174 input_dev->dev.parent = &intf->dev; 174 input_dev->dev.parent = &intf->dev;
175 175
176 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 176 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
177 input_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); 177 input_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
178 input_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 178 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE);
179 input_dev->keybit[LONG(BTN_MOUSE)] |= BIT(BTN_SIDE) | BIT(BTN_EXTRA); 179 input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
180 input_dev->relbit[0] |= BIT(REL_WHEEL); 180 input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_SIDE) |
181 BIT_MASK(BTN_EXTRA);
182 input_dev->relbit[0] |= BIT_MASK(REL_WHEEL);
181 183
182 input_set_drvdata(input_dev, mouse); 184 input_set_drvdata(input_dev, mouse);
183 185
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 4879125b4c..1001d2e122 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -1099,7 +1099,7 @@ static int applesmc_create_accelerometer(void)
1099 idev->name = "applesmc"; 1099 idev->name = "applesmc";
1100 idev->id.bustype = BUS_HOST; 1100 idev->id.bustype = BUS_HOST;
1101 idev->dev.parent = &pdev->dev; 1101 idev->dev.parent = &pdev->dev;
1102 idev->evbit[0] = BIT(EV_ABS); 1102 idev->evbit[0] = BIT_MASK(EV_ABS);
1103 input_set_abs_params(idev, ABS_X, 1103 input_set_abs_params(idev, ABS_X,
1104 -256, 256, APPLESMC_INPUT_FUZZ, APPLESMC_INPUT_FLAT); 1104 -256, 256, APPLESMC_INPUT_FUZZ, APPLESMC_INPUT_FLAT);
1105 input_set_abs_params(idev, ABS_Y, 1105 input_set_abs_params(idev, ABS_Y,
diff --git a/drivers/hwmon/hdaps.c b/drivers/hwmon/hdaps.c
index 8a7ae03aee..bab5fd2e4d 100644
--- a/drivers/hwmon/hdaps.c
+++ b/drivers/hwmon/hdaps.c
@@ -574,7 +574,7 @@ static int __init hdaps_init(void)
574 idev = hdaps_idev->input; 574 idev = hdaps_idev->input;
575 idev->name = "hdaps"; 575 idev->name = "hdaps";
576 idev->dev.parent = &pdev->dev; 576 idev->dev.parent = &pdev->dev;
577 idev->evbit[0] = BIT(EV_ABS); 577 idev->evbit[0] = BIT_MASK(EV_ABS);
578 input_set_abs_params(idev, ABS_X, 578 input_set_abs_params(idev, ABS_X,
579 -256, 256, HDAPS_INPUT_FUZZ, HDAPS_INPUT_FLAT); 579 -256, 256, HDAPS_INPUT_FUZZ, HDAPS_INPUT_FLAT);
580 input_set_abs_params(idev, ABS_Y, 580 input_set_abs_params(idev, ABS_Y,
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index 00fad11733..6426a61f8d 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -85,7 +85,7 @@ struct bits {
85 const char *set; 85 const char *set;
86 const char *unset; 86 const char *unset;
87}; 87};
88#define BIT(m, s, u) { .mask = m, .set = s, .unset = u } 88#define PXA_BIT(m, s, u) { .mask = m, .set = s, .unset = u }
89 89
90static inline void 90static inline void
91decode_bits(const char *prefix, const struct bits *bits, int num, u32 val) 91decode_bits(const char *prefix, const struct bits *bits, int num, u32 val)
@@ -100,17 +100,17 @@ decode_bits(const char *prefix, const struct bits *bits, int num, u32 val)
100} 100}
101 101
102static const struct bits isr_bits[] = { 102static const struct bits isr_bits[] = {
103 BIT(ISR_RWM, "RX", "TX"), 103 PXA_BIT(ISR_RWM, "RX", "TX"),
104 BIT(ISR_ACKNAK, "NAK", "ACK"), 104 PXA_BIT(ISR_ACKNAK, "NAK", "ACK"),
105 BIT(ISR_UB, "Bsy", "Rdy"), 105 PXA_BIT(ISR_UB, "Bsy", "Rdy"),
106 BIT(ISR_IBB, "BusBsy", "BusRdy"), 106 PXA_BIT(ISR_IBB, "BusBsy", "BusRdy"),
107 BIT(ISR_SSD, "SlaveStop", NULL), 107 PXA_BIT(ISR_SSD, "SlaveStop", NULL),
108 BIT(ISR_ALD, "ALD", NULL), 108 PXA_BIT(ISR_ALD, "ALD", NULL),
109 BIT(ISR_ITE, "TxEmpty", NULL), 109 PXA_BIT(ISR_ITE, "TxEmpty", NULL),
110 BIT(ISR_IRF, "RxFull", NULL), 110 PXA_BIT(ISR_IRF, "RxFull", NULL),
111 BIT(ISR_GCAD, "GenCall", NULL), 111 PXA_BIT(ISR_GCAD, "GenCall", NULL),
112 BIT(ISR_SAD, "SlaveAddr", NULL), 112 PXA_BIT(ISR_SAD, "SlaveAddr", NULL),
113 BIT(ISR_BED, "BusErr", NULL), 113 PXA_BIT(ISR_BED, "BusErr", NULL),
114}; 114};
115 115
116static void decode_ISR(unsigned int val) 116static void decode_ISR(unsigned int val)
@@ -120,21 +120,21 @@ static void decode_ISR(unsigned int val)
120} 120}
121 121
122static const struct bits icr_bits[] = { 122static const struct bits icr_bits[] = {
123 BIT(ICR_START, "START", NULL), 123 PXA_BIT(ICR_START, "START", NULL),
124 BIT(ICR_STOP, "STOP", NULL), 124 PXA_BIT(ICR_STOP, "STOP", NULL),
125 BIT(ICR_ACKNAK, "ACKNAK", NULL), 125 PXA_BIT(ICR_ACKNAK, "ACKNAK", NULL),
126 BIT(ICR_TB, "TB", NULL), 126 PXA_BIT(ICR_TB, "TB", NULL),
127 BIT(ICR_MA, "MA", NULL), 127 PXA_BIT(ICR_MA, "MA", NULL),
128 BIT(ICR_SCLE, "SCLE", "scle"), 128 PXA_BIT(ICR_SCLE, "SCLE", "scle"),
129 BIT(ICR_IUE, "IUE", "iue"), 129 PXA_BIT(ICR_IUE, "IUE", "iue"),
130 BIT(ICR_GCD, "GCD", NULL), 130 PXA_BIT(ICR_GCD, "GCD", NULL),
131 BIT(ICR_ITEIE, "ITEIE", NULL), 131 PXA_BIT(ICR_ITEIE, "ITEIE", NULL),
132 BIT(ICR_IRFIE, "IRFIE", NULL), 132 PXA_BIT(ICR_IRFIE, "IRFIE", NULL),
133 BIT(ICR_BEIE, "BEIE", NULL), 133 PXA_BIT(ICR_BEIE, "BEIE", NULL),
134 BIT(ICR_SSDIE, "SSDIE", NULL), 134 PXA_BIT(ICR_SSDIE, "SSDIE", NULL),
135 BIT(ICR_ALDIE, "ALDIE", NULL), 135 PXA_BIT(ICR_ALDIE, "ALDIE", NULL),
136 BIT(ICR_SADIE, "SADIE", NULL), 136 PXA_BIT(ICR_SADIE, "SADIE", NULL),
137 BIT(ICR_UR, "UR", "ur"), 137 PXA_BIT(ICR_UR, "UR", "ur"),
138}; 138};
139 139
140static void decode_ICR(unsigned int val) 140static void decode_ICR(unsigned int val)
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 5c8b008676..32eaa3f805 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -47,12 +47,12 @@
47#include <linux/device.h> 47#include <linux/device.h>
48#include <linux/kmod.h> 48#include <linux/kmod.h>
49#include <linux/scatterlist.h> 49#include <linux/scatterlist.h>
50#include <linux/bitops.h>
50 51
51#include <asm/byteorder.h> 52#include <asm/byteorder.h>
52#include <asm/irq.h> 53#include <asm/irq.h>
53#include <asm/uaccess.h> 54#include <asm/uaccess.h>
54#include <asm/io.h> 55#include <asm/io.h>
55#include <asm/bitops.h>
56 56
57static int __ide_end_request(ide_drive_t *drive, struct request *rq, 57static int __ide_end_request(ide_drive_t *drive, struct request *rq,
58 int uptodate, unsigned int nr_bytes) 58 int uptodate, unsigned int nr_bytes)
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 93644f8259..d08fb30768 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -2797,11 +2797,12 @@ static void cma_remove_one(struct ib_device *device)
2797 2797
2798static int cma_init(void) 2798static int cma_init(void)
2799{ 2799{
2800 int ret, low, high; 2800 int ret, low, high, remaining;
2801 2801
2802 get_random_bytes(&next_port, sizeof next_port); 2802 get_random_bytes(&next_port, sizeof next_port);
2803 inet_get_local_port_range(&low, &high); 2803 inet_get_local_port_range(&low, &high);
2804 next_port = ((unsigned int) next_port % (high - low)) + low; 2804 remaining = (high - low) + 1;
2805 next_port = ((unsigned int) next_port % remaining) + low;
2805 2806
2806 cma_wq = create_singlethread_workqueue("rdma_cm"); 2807 cma_wq = create_singlethread_workqueue("rdma_cm");
2807 if (!cma_wq) 2808 if (!cma_wq)
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 1d62c8b88e..e5b4e9bfbd 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -495,7 +495,7 @@ static unsigned int evdev_poll(struct file *file, poll_table *wait)
495#ifdef CONFIG_COMPAT 495#ifdef CONFIG_COMPAT
496 496
497#define BITS_PER_LONG_COMPAT (sizeof(compat_long_t) * 8) 497#define BITS_PER_LONG_COMPAT (sizeof(compat_long_t) * 8)
498#define NBITS_COMPAT(x) ((((x) - 1) / BITS_PER_LONG_COMPAT) + 1) 498#define BITS_TO_LONGS_COMPAT(x) ((((x) - 1) / BITS_PER_LONG_COMPAT) + 1)
499 499
500#ifdef __BIG_ENDIAN 500#ifdef __BIG_ENDIAN
501static int bits_to_user(unsigned long *bits, unsigned int maxbit, 501static int bits_to_user(unsigned long *bits, unsigned int maxbit,
@@ -504,7 +504,7 @@ static int bits_to_user(unsigned long *bits, unsigned int maxbit,
504 int len, i; 504 int len, i;
505 505
506 if (compat) { 506 if (compat) {
507 len = NBITS_COMPAT(maxbit) * sizeof(compat_long_t); 507 len = BITS_TO_LONGS_COMPAT(maxbit) * sizeof(compat_long_t);
508 if (len > maxlen) 508 if (len > maxlen)
509 len = maxlen; 509 len = maxlen;
510 510
@@ -515,7 +515,7 @@ static int bits_to_user(unsigned long *bits, unsigned int maxbit,
515 sizeof(compat_long_t))) 515 sizeof(compat_long_t)))
516 return -EFAULT; 516 return -EFAULT;
517 } else { 517 } else {
518 len = NBITS(maxbit) * sizeof(long); 518 len = BITS_TO_LONGS(maxbit) * sizeof(long);
519 if (len > maxlen) 519 if (len > maxlen)
520 len = maxlen; 520 len = maxlen;
521 521
@@ -530,8 +530,8 @@ static int bits_to_user(unsigned long *bits, unsigned int maxbit,
530 unsigned int maxlen, void __user *p, int compat) 530 unsigned int maxlen, void __user *p, int compat)
531{ 531{
532 int len = compat ? 532 int len = compat ?
533 NBITS_COMPAT(maxbit) * sizeof(compat_long_t) : 533 BITS_TO_LONGS_COMPAT(maxbit) * sizeof(compat_long_t) :
534 NBITS(maxbit) * sizeof(long); 534 BITS_TO_LONGS(maxbit) * sizeof(long);
535 535
536 if (len > maxlen) 536 if (len > maxlen)
537 len = maxlen; 537 len = maxlen;
@@ -545,7 +545,7 @@ static int bits_to_user(unsigned long *bits, unsigned int maxbit,
545static int bits_to_user(unsigned long *bits, unsigned int maxbit, 545static int bits_to_user(unsigned long *bits, unsigned int maxbit,
546 unsigned int maxlen, void __user *p, int compat) 546 unsigned int maxlen, void __user *p, int compat)
547{ 547{
548 int len = NBITS(maxbit) * sizeof(long); 548 int len = BITS_TO_LONGS(maxbit) * sizeof(long);
549 549
550 if (len > maxlen) 550 if (len > maxlen)
551 len = maxlen; 551 len = maxlen;
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 2f2b020cd6..307c7b5c2b 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -584,10 +584,10 @@ static int input_default_setkeycode(struct input_dev *dev,
584 584
585 585
586#define MATCH_BIT(bit, max) \ 586#define MATCH_BIT(bit, max) \
587 for (i = 0; i < NBITS(max); i++) \ 587 for (i = 0; i < BITS_TO_LONGS(max); i++) \
588 if ((id->bit[i] & dev->bit[i]) != id->bit[i]) \ 588 if ((id->bit[i] & dev->bit[i]) != id->bit[i]) \
589 break; \ 589 break; \
590 if (i != NBITS(max)) \ 590 if (i != BITS_TO_LONGS(max)) \
591 continue; 591 continue;
592 592
593static const struct input_device_id *input_match_device(const struct input_device_id *id, 593static const struct input_device_id *input_match_device(const struct input_device_id *id,
@@ -698,7 +698,7 @@ static void input_seq_print_bitmap(struct seq_file *seq, const char *name,
698{ 698{
699 int i; 699 int i;
700 700
701 for (i = NBITS(max) - 1; i > 0; i--) 701 for (i = BITS_TO_LONGS(max) - 1; i > 0; i--)
702 if (bitmap[i]) 702 if (bitmap[i])
703 break; 703 break;
704 704
@@ -892,7 +892,7 @@ static int input_print_modalias_bits(char *buf, int size,
892 892
893 len += snprintf(buf, max(size, 0), "%c", name); 893 len += snprintf(buf, max(size, 0), "%c", name);
894 for (i = min_bit; i < max_bit; i++) 894 for (i = min_bit; i < max_bit; i++)
895 if (bm[LONG(i)] & BIT(i)) 895 if (bm[BIT_WORD(i)] & BIT_MASK(i))
896 len += snprintf(buf + len, max(size - len, 0), "%X,", i); 896 len += snprintf(buf + len, max(size - len, 0), "%X,", i);
897 return len; 897 return len;
898} 898}
@@ -991,7 +991,7 @@ static int input_print_bitmap(char *buf, int buf_size, unsigned long *bitmap,
991 int i; 991 int i;
992 int len = 0; 992 int len = 0;
993 993
994 for (i = NBITS(max) - 1; i > 0; i--) 994 for (i = BITS_TO_LONGS(max) - 1; i > 0; i--)
995 if (bitmap[i]) 995 if (bitmap[i])
996 break; 996 break;
997 997
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 2b201f9aa0..22b2789ef5 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -844,8 +844,8 @@ static const struct input_device_id joydev_blacklist[] = {
844 { 844 {
845 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 845 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
846 INPUT_DEVICE_ID_MATCH_KEYBIT, 846 INPUT_DEVICE_ID_MATCH_KEYBIT,
847 .evbit = { BIT(EV_KEY) }, 847 .evbit = { BIT_MASK(EV_KEY) },
848 .keybit = { [LONG(BTN_TOUCH)] = BIT(BTN_TOUCH) }, 848 .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
849 }, /* Avoid itouchpads, touchscreens and tablets */ 849 }, /* Avoid itouchpads, touchscreens and tablets */
850 { } /* Terminating entry */ 850 { } /* Terminating entry */
851}; 851};
@@ -854,20 +854,20 @@ static const struct input_device_id joydev_ids[] = {
854 { 854 {
855 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 855 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
856 INPUT_DEVICE_ID_MATCH_ABSBIT, 856 INPUT_DEVICE_ID_MATCH_ABSBIT,
857 .evbit = { BIT(EV_ABS) }, 857 .evbit = { BIT_MASK(EV_ABS) },
858 .absbit = { BIT(ABS_X) }, 858 .absbit = { BIT_MASK(ABS_X) },
859 }, 859 },
860 { 860 {
861 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 861 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
862 INPUT_DEVICE_ID_MATCH_ABSBIT, 862 INPUT_DEVICE_ID_MATCH_ABSBIT,
863 .evbit = { BIT(EV_ABS) }, 863 .evbit = { BIT_MASK(EV_ABS) },
864 .absbit = { BIT(ABS_WHEEL) }, 864 .absbit = { BIT_MASK(ABS_WHEEL) },
865 }, 865 },
866 { 866 {
867 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 867 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
868 INPUT_DEVICE_ID_MATCH_ABSBIT, 868 INPUT_DEVICE_ID_MATCH_ABSBIT,
869 .evbit = { BIT(EV_ABS) }, 869 .evbit = { BIT_MASK(EV_ABS) },
870 .absbit = { BIT(ABS_THROTTLE) }, 870 .absbit = { BIT_MASK(ABS_THROTTLE) },
871 }, 871 },
872 { } /* Terminating entry */ 872 { } /* Terminating entry */
873}; 873};
diff --git a/drivers/input/joystick/a3d.c b/drivers/input/joystick/a3d.c
index ff701ab10d..52ba16f487 100644
--- a/drivers/input/joystick/a3d.c
+++ b/drivers/input/joystick/a3d.c
@@ -326,14 +326,19 @@ static int a3d_connect(struct gameport *gameport, struct gameport_driver *drv)
326 326
327 a3d->length = 33; 327 a3d->length = 33;
328 328
329 input_dev->evbit[0] |= BIT(EV_ABS) | BIT(EV_KEY) | BIT(EV_REL); 329 input_dev->evbit[0] |= BIT_MASK(EV_ABS) | BIT_MASK(EV_KEY) |
330 input_dev->relbit[0] |= BIT(REL_X) | BIT(REL_Y); 330 BIT_MASK(EV_REL);
331 input_dev->absbit[0] |= BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_THROTTLE) | BIT(ABS_RUDDER) 331 input_dev->relbit[0] |= BIT_MASK(REL_X) | BIT_MASK(REL_Y);
332 | BIT(ABS_HAT0X) | BIT(ABS_HAT0Y) | BIT(ABS_HAT1X) | BIT(ABS_HAT1Y); 332 input_dev->absbit[0] |= BIT_MASK(ABS_X) | BIT_MASK(ABS_Y) |
333 input_dev->keybit[LONG(BTN_MOUSE)] |= BIT(BTN_RIGHT) | BIT(BTN_LEFT) | BIT(BTN_MIDDLE) 333 BIT_MASK(ABS_THROTTLE) | BIT_MASK(ABS_RUDDER) |
334 | BIT(BTN_SIDE) | BIT(BTN_EXTRA); 334 BIT_MASK(ABS_HAT0X) | BIT_MASK(ABS_HAT0Y) |
335 input_dev->keybit[LONG(BTN_JOYSTICK)] |= BIT(BTN_TRIGGER) | BIT(BTN_THUMB) | BIT(BTN_TOP) 335 BIT_MASK(ABS_HAT1X) | BIT_MASK(ABS_HAT1Y);
336 | BIT(BTN_PINKIE); 336 input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_RIGHT) |
337 BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_MIDDLE) |
338 BIT_MASK(BTN_SIDE) | BIT_MASK(BTN_EXTRA);
339 input_dev->keybit[BIT_WORD(BTN_JOYSTICK)] |=
340 BIT_MASK(BTN_TRIGGER) | BIT_MASK(BTN_THUMB) |
341 BIT_MASK(BTN_TOP) | BIT_MASK(BTN_PINKIE);
337 342
338 a3d_read(a3d, data); 343 a3d_read(a3d, data);
339 344
@@ -348,9 +353,10 @@ static int a3d_connect(struct gameport *gameport, struct gameport_driver *drv)
348 } else { 353 } else {
349 a3d->length = 29; 354 a3d->length = 29;
350 355
351 input_dev->evbit[0] |= BIT(EV_KEY) | BIT(EV_REL); 356 input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
352 input_dev->relbit[0] |= BIT(REL_X) | BIT(REL_Y); 357 input_dev->relbit[0] |= BIT_MASK(REL_X) | BIT_MASK(REL_Y);
353 input_dev->keybit[LONG(BTN_MOUSE)] |= BIT(BTN_RIGHT) | BIT(BTN_LEFT) | BIT(BTN_MIDDLE); 358 input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_RIGHT) |
359 BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_MIDDLE);
354 360
355 a3d_read(a3d, data); 361 a3d_read(a3d, data);
356 362
diff --git a/drivers/input/joystick/adi.c b/drivers/input/joystick/adi.c
index 28140c4a11..d1ca8a1495 100644
--- a/drivers/input/joystick/adi.c
+++ b/drivers/input/joystick/adi.c
@@ -431,7 +431,7 @@ static int adi_init_input(struct adi *adi, struct adi_port *port, int half)
431 input_dev->open = adi_open; 431 input_dev->open = adi_open;
432 input_dev->close = adi_close; 432 input_dev->close = adi_close;
433 433
434 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 434 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
435 435
436 for (i = 0; i < adi->axes10 + adi->axes8 + (adi->hats + (adi->pad != -1)) * 2; i++) 436 for (i = 0; i < adi->axes10 + adi->axes8 + (adi->hats + (adi->pad != -1)) * 2; i++)
437 set_bit(adi->abs[i], input_dev->absbit); 437 set_bit(adi->abs[i], input_dev->absbit);
diff --git a/drivers/input/joystick/amijoy.c b/drivers/input/joystick/amijoy.c
index b0f5541ec3..5cf9f3610e 100644
--- a/drivers/input/joystick/amijoy.c
+++ b/drivers/input/joystick/amijoy.c
@@ -137,9 +137,10 @@ static int __init amijoy_init(void)
137 amijoy_dev[i]->open = amijoy_open; 137 amijoy_dev[i]->open = amijoy_open;
138 amijoy_dev[i]->close = amijoy_close; 138 amijoy_dev[i]->close = amijoy_close;
139 139
140 amijoy_dev[i]->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 140 amijoy_dev[i]->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
141 amijoy_dev[i]->absbit[0] = BIT(ABS_X) | BIT(ABS_Y); 141 amijoy_dev[i]->absbit[0] = BIT_MASK(ABS_X) | BIT_MASK(ABS_Y);
142 amijoy_dev[i]->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 142 amijoy_dev[i]->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
143 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
143 for (j = 0; j < 2; j++) { 144 for (j = 0; j < 2; j++) {
144 amijoy_dev[i]->absmin[ABS_X + j] = -1; 145 amijoy_dev[i]->absmin[ABS_X + j] = -1;
145 amijoy_dev[i]->absmax[ABS_X + j] = 1; 146 amijoy_dev[i]->absmax[ABS_X + j] = 1;
diff --git a/drivers/input/joystick/analog.c b/drivers/input/joystick/analog.c
index bdd157c1eb..15739880af 100644
--- a/drivers/input/joystick/analog.c
+++ b/drivers/input/joystick/analog.c
@@ -456,7 +456,7 @@ static int analog_init_device(struct analog_port *port, struct analog *analog, i
456 input_dev->open = analog_open; 456 input_dev->open = analog_open;
457 input_dev->close = analog_close; 457 input_dev->close = analog_close;
458 458
459 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 459 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
460 460
461 for (i = j = 0; i < 4; i++) 461 for (i = j = 0; i < 4; i++)
462 if (analog->mask & (1 << i)) { 462 if (analog->mask & (1 << i)) {
diff --git a/drivers/input/joystick/cobra.c b/drivers/input/joystick/cobra.c
index d3352a849b..55646a6d89 100644
--- a/drivers/input/joystick/cobra.c
+++ b/drivers/input/joystick/cobra.c
@@ -218,7 +218,7 @@ static int cobra_connect(struct gameport *gameport, struct gameport_driver *drv)
218 input_dev->open = cobra_open; 218 input_dev->open = cobra_open;
219 input_dev->close = cobra_close; 219 input_dev->close = cobra_close;
220 220
221 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 221 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
222 input_set_abs_params(input_dev, ABS_X, -1, 1, 0, 0); 222 input_set_abs_params(input_dev, ABS_X, -1, 1, 0, 0);
223 input_set_abs_params(input_dev, ABS_Y, -1, 1, 0, 0); 223 input_set_abs_params(input_dev, ABS_Y, -1, 1, 0, 0);
224 for (j = 0; cobra_btn[j]; j++) 224 for (j = 0; cobra_btn[j]; j++)
diff --git a/drivers/input/joystick/db9.c b/drivers/input/joystick/db9.c
index b069ee18e3..27fc475bd3 100644
--- a/drivers/input/joystick/db9.c
+++ b/drivers/input/joystick/db9.c
@@ -631,7 +631,7 @@ static struct db9 __init *db9_probe(int parport, int mode)
631 input_dev->open = db9_open; 631 input_dev->open = db9_open;
632 input_dev->close = db9_close; 632 input_dev->close = db9_close;
633 633
634 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 634 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
635 for (j = 0; j < db9_mode->n_buttons; j++) 635 for (j = 0; j < db9_mode->n_buttons; j++)
636 set_bit(db9_mode->buttons[j], input_dev->keybit); 636 set_bit(db9_mode->buttons[j], input_dev->keybit);
637 for (j = 0; j < db9_mode->n_axis; j++) { 637 for (j = 0; j < db9_mode->n_axis; j++) {
diff --git a/drivers/input/joystick/gamecon.c b/drivers/input/joystick/gamecon.c
index 1a452e0e5f..df2a9d02ca 100644
--- a/drivers/input/joystick/gamecon.c
+++ b/drivers/input/joystick/gamecon.c
@@ -653,12 +653,12 @@ static int __init gc_setup_pad(struct gc *gc, int idx, int pad_type)
653 input_dev->close = gc_close; 653 input_dev->close = gc_close;
654 654
655 if (pad_type != GC_SNESMOUSE) { 655 if (pad_type != GC_SNESMOUSE) {
656 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 656 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
657 657
658 for (i = 0; i < 2; i++) 658 for (i = 0; i < 2; i++)
659 input_set_abs_params(input_dev, ABS_X + i, -1, 1, 0, 0); 659 input_set_abs_params(input_dev, ABS_X + i, -1, 1, 0, 0);
660 } else 660 } else
661 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 661 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
662 662
663 gc->pads[0] |= gc_status_bit[idx]; 663 gc->pads[0] |= gc_status_bit[idx];
664 gc->pads[pad_type] |= gc_status_bit[idx]; 664 gc->pads[pad_type] |= gc_status_bit[idx];
diff --git a/drivers/input/joystick/gf2k.c b/drivers/input/joystick/gf2k.c
index d514aebf75..1f6302c0eb 100644
--- a/drivers/input/joystick/gf2k.c
+++ b/drivers/input/joystick/gf2k.c
@@ -315,7 +315,7 @@ static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
315 input_dev->open = gf2k_open; 315 input_dev->open = gf2k_open;
316 input_dev->close = gf2k_close; 316 input_dev->close = gf2k_close;
317 317
318 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 318 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
319 319
320 for (i = 0; i < gf2k_axes[gf2k->id]; i++) 320 for (i = 0; i < gf2k_axes[gf2k->id]; i++)
321 set_bit(gf2k_abs[i], input_dev->absbit); 321 set_bit(gf2k_abs[i], input_dev->absbit);
diff --git a/drivers/input/joystick/grip.c b/drivers/input/joystick/grip.c
index 73eb5ab6f1..fd3853ab1a 100644
--- a/drivers/input/joystick/grip.c
+++ b/drivers/input/joystick/grip.c
@@ -370,7 +370,7 @@ static int grip_connect(struct gameport *gameport, struct gameport_driver *drv)
370 input_dev->open = grip_open; 370 input_dev->open = grip_open;
371 input_dev->close = grip_close; 371 input_dev->close = grip_close;
372 372
373 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 373 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
374 374
375 for (j = 0; (t = grip_abs[grip->mode[i]][j]) >= 0; j++) { 375 for (j = 0; (t = grip_abs[grip->mode[i]][j]) >= 0; j++) {
376 376
diff --git a/drivers/input/joystick/grip_mp.c b/drivers/input/joystick/grip_mp.c
index 4ed3a3eadf..c57e21d68c 100644
--- a/drivers/input/joystick/grip_mp.c
+++ b/drivers/input/joystick/grip_mp.c
@@ -606,7 +606,7 @@ static int register_slot(int slot, struct grip_mp *grip)
606 input_dev->open = grip_open; 606 input_dev->open = grip_open;
607 input_dev->close = grip_close; 607 input_dev->close = grip_close;
608 608
609 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 609 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
610 610
611 for (j = 0; (t = grip_abs[port->mode][j]) >= 0; j++) 611 for (j = 0; (t = grip_abs[port->mode][j]) >= 0; j++)
612 input_set_abs_params(input_dev, t, -1, 1, 0, 0); 612 input_set_abs_params(input_dev, t, -1, 1, 0, 0);
diff --git a/drivers/input/joystick/guillemot.c b/drivers/input/joystick/guillemot.c
index d4e8073caf..aa6bfb3fb8 100644
--- a/drivers/input/joystick/guillemot.c
+++ b/drivers/input/joystick/guillemot.c
@@ -238,7 +238,7 @@ static int guillemot_connect(struct gameport *gameport, struct gameport_driver *
238 input_dev->open = guillemot_open; 238 input_dev->open = guillemot_open;
239 input_dev->close = guillemot_close; 239 input_dev->close = guillemot_close;
240 240
241 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 241 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
242 242
243 for (i = 0; (t = guillemot->type->abs[i]) >= 0; i++) 243 for (i = 0; (t = guillemot->type->abs[i]) >= 0; i++)
244 input_set_abs_params(input_dev, t, 0, 255, 0, 0); 244 input_set_abs_params(input_dev, t, 0, 255, 0, 0);
diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c
index 682244b1c0..6f826b37d9 100644
--- a/drivers/input/joystick/iforce/iforce-main.c
+++ b/drivers/input/joystick/iforce/iforce-main.c
@@ -389,7 +389,8 @@ int iforce_init_device(struct iforce *iforce)
389 * Set input device bitfields and ranges. 389 * Set input device bitfields and ranges.
390 */ 390 */
391 391
392 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_FF_STATUS); 392 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) |
393 BIT_MASK(EV_FF_STATUS);
393 394
394 for (i = 0; iforce->type->btn[i] >= 0; i++) 395 for (i = 0; iforce->type->btn[i] >= 0; i++)
395 set_bit(iforce->type->btn[i], input_dev->keybit); 396 set_bit(iforce->type->btn[i], input_dev->keybit);
diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h
index 40a853ac21..a964a7cfd2 100644
--- a/drivers/input/joystick/iforce/iforce.h
+++ b/drivers/input/joystick/iforce/iforce.h
@@ -62,13 +62,13 @@
62#define FF_CORE_IS_PLAYED 3 /* Effect is currently being played */ 62#define FF_CORE_IS_PLAYED 3 /* Effect is currently being played */
63#define FF_CORE_SHOULD_PLAY 4 /* User wants the effect to be played */ 63#define FF_CORE_SHOULD_PLAY 4 /* User wants the effect to be played */
64#define FF_CORE_UPDATE 5 /* Effect is being updated */ 64#define FF_CORE_UPDATE 5 /* Effect is being updated */
65#define FF_MODCORE_MAX 5 65#define FF_MODCORE_CNT 6
66 66
67struct iforce_core_effect { 67struct iforce_core_effect {
68 /* Information about where modifiers are stored in the device's memory */ 68 /* Information about where modifiers are stored in the device's memory */
69 struct resource mod1_chunk; 69 struct resource mod1_chunk;
70 struct resource mod2_chunk; 70 struct resource mod2_chunk;
71 unsigned long flags[NBITS(FF_MODCORE_MAX)]; 71 unsigned long flags[BITS_TO_LONGS(FF_MODCORE_CNT)];
72}; 72};
73 73
74#define FF_CMD_EFFECT 0x010e 74#define FF_CMD_EFFECT 0x010e
diff --git a/drivers/input/joystick/interact.c b/drivers/input/joystick/interact.c
index 1aec1e9d7c..bc8ea95dfd 100644
--- a/drivers/input/joystick/interact.c
+++ b/drivers/input/joystick/interact.c
@@ -269,7 +269,7 @@ static int interact_connect(struct gameport *gameport, struct gameport_driver *d
269 input_dev->open = interact_open; 269 input_dev->open = interact_open;
270 input_dev->close = interact_close; 270 input_dev->close = interact_close;
271 271
272 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 272 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
273 273
274 for (i = 0; (t = interact_type[interact->type].abs[i]) >= 0; i++) { 274 for (i = 0; (t = interact_type[interact->type].abs[i]) >= 0; i++) {
275 set_bit(t, input_dev->absbit); 275 set_bit(t, input_dev->absbit);
diff --git a/drivers/input/joystick/magellan.c b/drivers/input/joystick/magellan.c
index b35604ee43..54e676948e 100644
--- a/drivers/input/joystick/magellan.c
+++ b/drivers/input/joystick/magellan.c
@@ -170,7 +170,7 @@ static int magellan_connect(struct serio *serio, struct serio_driver *drv)
170 input_dev->id.version = 0x0100; 170 input_dev->id.version = 0x0100;
171 input_dev->dev.parent = &serio->dev; 171 input_dev->dev.parent = &serio->dev;
172 172
173 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 173 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
174 174
175 for (i = 0; i < 9; i++) 175 for (i = 0; i < 9; i++)
176 set_bit(magellan_buttons[i], input_dev->keybit); 176 set_bit(magellan_buttons[i], input_dev->keybit);
diff --git a/drivers/input/joystick/sidewinder.c b/drivers/input/joystick/sidewinder.c
index 2adf73f63c..7b4865fdee 100644
--- a/drivers/input/joystick/sidewinder.c
+++ b/drivers/input/joystick/sidewinder.c
@@ -758,7 +758,7 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv)
758 input_dev->open = sw_open; 758 input_dev->open = sw_open;
759 input_dev->close = sw_close; 759 input_dev->close = sw_close;
760 760
761 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 761 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
762 762
763 for (j = 0; (bits = sw_bit[sw->type][j]); j++) { 763 for (j = 0; (bits = sw_bit[sw->type][j]); j++) {
764 code = sw_abs[sw->type][j]; 764 code = sw_abs[sw->type][j];
diff --git a/drivers/input/joystick/spaceball.c b/drivers/input/joystick/spaceball.c
index abb7c4cf54..d4087fd496 100644
--- a/drivers/input/joystick/spaceball.c
+++ b/drivers/input/joystick/spaceball.c
@@ -228,18 +228,23 @@ static int spaceball_connect(struct serio *serio, struct serio_driver *drv)
228 input_dev->id.version = 0x0100; 228 input_dev->id.version = 0x0100;
229 input_dev->dev.parent = &serio->dev; 229 input_dev->dev.parent = &serio->dev;
230 230
231 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 231 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
232 232
233 switch (id) { 233 switch (id) {
234 case SPACEBALL_4000FLX: 234 case SPACEBALL_4000FLX:
235 case SPACEBALL_4000FLX_L: 235 case SPACEBALL_4000FLX_L:
236 input_dev->keybit[LONG(BTN_0)] |= BIT(BTN_9); 236 input_dev->keybit[BIT_WORD(BTN_0)] |= BIT_MASK(BTN_9);
237 input_dev->keybit[LONG(BTN_A)] |= BIT(BTN_A) | BIT(BTN_B) | BIT(BTN_C) | BIT(BTN_MODE); 237 input_dev->keybit[BIT_WORD(BTN_A)] |= BIT_MASK(BTN_A) |
238 BIT_MASK(BTN_B) | BIT_MASK(BTN_C) |
239 BIT_MASK(BTN_MODE);
238 default: 240 default:
239 input_dev->keybit[LONG(BTN_0)] |= BIT(BTN_2) | BIT(BTN_3) | BIT(BTN_4) 241 input_dev->keybit[BIT_WORD(BTN_0)] |= BIT_MASK(BTN_2) |
240 | BIT(BTN_5) | BIT(BTN_6) | BIT(BTN_7) | BIT(BTN_8); 242 BIT_MASK(BTN_3) | BIT_MASK(BTN_4) |
243 BIT_MASK(BTN_5) | BIT_MASK(BTN_6) |
244 BIT_MASK(BTN_7) | BIT_MASK(BTN_8);
241 case SPACEBALL_3003C: 245 case SPACEBALL_3003C:
242 input_dev->keybit[LONG(BTN_0)] |= BIT(BTN_1) | BIT(BTN_8); 246 input_dev->keybit[BIT_WORD(BTN_0)] |= BIT_MASK(BTN_1) |
247 BIT_MASK(BTN_8);
243 } 248 }
244 249
245 for (i = 0; i < 3; i++) { 250 for (i = 0; i < 3; i++) {
diff --git a/drivers/input/joystick/spaceorb.c b/drivers/input/joystick/spaceorb.c
index c4937f1e83..f7ce4004f4 100644
--- a/drivers/input/joystick/spaceorb.c
+++ b/drivers/input/joystick/spaceorb.c
@@ -185,7 +185,7 @@ static int spaceorb_connect(struct serio *serio, struct serio_driver *drv)
185 input_dev->id.version = 0x0100; 185 input_dev->id.version = 0x0100;
186 input_dev->dev.parent = &serio->dev; 186 input_dev->dev.parent = &serio->dev;
187 187
188 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 188 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
189 189
190 for (i = 0; i < 6; i++) 190 for (i = 0; i < 6; i++)
191 set_bit(spaceorb_buttons[i], input_dev->keybit); 191 set_bit(spaceorb_buttons[i], input_dev->keybit);
diff --git a/drivers/input/joystick/stinger.c b/drivers/input/joystick/stinger.c
index 8581ee991d..baa10b2f7b 100644
--- a/drivers/input/joystick/stinger.c
+++ b/drivers/input/joystick/stinger.c
@@ -156,10 +156,11 @@ static int stinger_connect(struct serio *serio, struct serio_driver *drv)
156 input_dev->id.version = 0x0100; 156 input_dev->id.version = 0x0100;
157 input_dev->dev.parent = &serio->dev; 157 input_dev->dev.parent = &serio->dev;
158 158
159 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 159 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
160 input_dev->keybit[LONG(BTN_A)] = BIT(BTN_A) | BIT(BTN_B) | BIT(BTN_C) | BIT(BTN_X) | 160 input_dev->keybit[BIT_WORD(BTN_A)] = BIT_MASK(BTN_A) | BIT_MASK(BTN_B) |
161 BIT(BTN_Y) | BIT(BTN_Z) | BIT(BTN_TL) | BIT(BTN_TR) | 161 BIT_MASK(BTN_C) | BIT_MASK(BTN_X) | BIT_MASK(BTN_Y) |
162 BIT(BTN_START) | BIT(BTN_SELECT); 162 BIT_MASK(BTN_Z) | BIT_MASK(BTN_TL) | BIT_MASK(BTN_TR) |
163 BIT_MASK(BTN_START) | BIT_MASK(BTN_SELECT);
163 input_set_abs_params(input_dev, ABS_X, -64, 64, 0, 4); 164 input_set_abs_params(input_dev, ABS_X, -64, 64, 0, 4);
164 input_set_abs_params(input_dev, ABS_Y, -64, 64, 0, 4); 165 input_set_abs_params(input_dev, ABS_Y, -64, 64, 0, 4);
165 166
diff --git a/drivers/input/joystick/tmdc.c b/drivers/input/joystick/tmdc.c
index 3b36ee04f7..0feeb8acb5 100644
--- a/drivers/input/joystick/tmdc.c
+++ b/drivers/input/joystick/tmdc.c
@@ -333,7 +333,7 @@ static int tmdc_setup_port(struct tmdc *tmdc, int idx, unsigned char *data)
333 input_dev->open = tmdc_open; 333 input_dev->open = tmdc_open;
334 input_dev->close = tmdc_close; 334 input_dev->close = tmdc_close;
335 335
336 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 336 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
337 337
338 for (i = 0; i < port->absc && i < TMDC_ABS; i++) 338 for (i = 0; i < port->absc && i < TMDC_ABS; i++)
339 if (port->abs[i] >= 0) 339 if (port->abs[i] >= 0)
diff --git a/drivers/input/joystick/turbografx.c b/drivers/input/joystick/turbografx.c
index 8381c6f143..bbebd4e2ad 100644
--- a/drivers/input/joystick/turbografx.c
+++ b/drivers/input/joystick/turbografx.c
@@ -229,7 +229,7 @@ static struct tgfx __init *tgfx_probe(int parport, int *n_buttons, int n_devs)
229 input_dev->open = tgfx_open; 229 input_dev->open = tgfx_open;
230 input_dev->close = tgfx_close; 230 input_dev->close = tgfx_close;
231 231
232 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 232 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
233 input_set_abs_params(input_dev, ABS_X, -1, 1, 0, 0); 233 input_set_abs_params(input_dev, ABS_X, -1, 1, 0, 0);
234 input_set_abs_params(input_dev, ABS_Y, -1, 1, 0, 0); 234 input_set_abs_params(input_dev, ABS_Y, -1, 1, 0, 0);
235 235
diff --git a/drivers/input/joystick/twidjoy.c b/drivers/input/joystick/twidjoy.c
index c91504ec38..1085c841fe 100644
--- a/drivers/input/joystick/twidjoy.c
+++ b/drivers/input/joystick/twidjoy.c
@@ -207,7 +207,7 @@ static int twidjoy_connect(struct serio *serio, struct serio_driver *drv)
207 input_dev->id.version = 0x0100; 207 input_dev->id.version = 0x0100;
208 input_dev->dev.parent = &serio->dev; 208 input_dev->dev.parent = &serio->dev;
209 209
210 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 210 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
211 input_set_abs_params(input_dev, ABS_X, -50, 50, 4, 4); 211 input_set_abs_params(input_dev, ABS_X, -50, 50, 4, 4);
212 input_set_abs_params(input_dev, ABS_Y, -50, 50, 4, 4); 212 input_set_abs_params(input_dev, ABS_Y, -50, 50, 4, 4);
213 213
diff --git a/drivers/input/joystick/warrior.c b/drivers/input/joystick/warrior.c
index 4e85f72eef..e928b6e372 100644
--- a/drivers/input/joystick/warrior.c
+++ b/drivers/input/joystick/warrior.c
@@ -162,9 +162,11 @@ static int warrior_connect(struct serio *serio, struct serio_driver *drv)
162 input_dev->id.version = 0x0100; 162 input_dev->id.version = 0x0100;
163 input_dev->dev.parent = &serio->dev; 163 input_dev->dev.parent = &serio->dev;
164 164
165 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL) | BIT(EV_ABS); 165 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL) |
166 input_dev->keybit[LONG(BTN_TRIGGER)] = BIT(BTN_TRIGGER) | BIT(BTN_THUMB) | BIT(BTN_TOP) | BIT(BTN_TOP2); 166 BIT_MASK(EV_ABS);
167 input_dev->relbit[0] = BIT(REL_DIAL); 167 input_dev->keybit[BIT_WORD(BTN_TRIGGER)] = BIT_MASK(BTN_TRIGGER) |
168 BIT_MASK(BTN_THUMB) | BIT_MASK(BTN_TOP) | BIT_MASK(BTN_TOP2);
169 input_dev->relbit[0] = BIT_MASK(REL_DIAL);
168 input_set_abs_params(input_dev, ABS_X, -64, 64, 0, 8); 170 input_set_abs_params(input_dev, ABS_X, -64, 64, 0, 8);
169 input_set_abs_params(input_dev, ABS_Y, -64, 64, 0, 8); 171 input_set_abs_params(input_dev, ABS_Y, -64, 64, 0, 8);
170 input_set_abs_params(input_dev, ABS_THROTTLE, -112, 112, 0, 0); 172 input_set_abs_params(input_dev, ABS_THROTTLE, -112, 112, 0, 0);
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 623629a69b..6dd375825a 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -658,7 +658,7 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id
658 input_dev->open = xpad_open; 658 input_dev->open = xpad_open;
659 input_dev->close = xpad_close; 659 input_dev->close = xpad_close;
660 660
661 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 661 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
662 662
663 /* set up buttons */ 663 /* set up buttons */
664 for (i = 0; xpad_btn[i] >= 0; i++) 664 for (i = 0; xpad_btn[i] >= 0; i++)
diff --git a/drivers/input/keyboard/aaed2000_kbd.c b/drivers/input/keyboard/aaed2000_kbd.c
index 63d6ead6b8..72abc196ce 100644
--- a/drivers/input/keyboard/aaed2000_kbd.c
+++ b/drivers/input/keyboard/aaed2000_kbd.c
@@ -125,7 +125,7 @@ static int __devinit aaedkbd_probe(struct platform_device *pdev)
125 input_dev->id.version = 0x0100; 125 input_dev->id.version = 0x0100;
126 input_dev->dev.parent = &pdev->dev; 126 input_dev->dev.parent = &pdev->dev;
127 127
128 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 128 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
129 input_dev->keycode = aaedkbd->keycode; 129 input_dev->keycode = aaedkbd->keycode;
130 input_dev->keycodesize = sizeof(unsigned char); 130 input_dev->keycodesize = sizeof(unsigned char);
131 input_dev->keycodemax = ARRAY_SIZE(aaedkbd_keycode); 131 input_dev->keycodemax = ARRAY_SIZE(aaedkbd_keycode);
diff --git a/drivers/input/keyboard/amikbd.c b/drivers/input/keyboard/amikbd.c
index c67e84ec2d..81bf7562ac 100644
--- a/drivers/input/keyboard/amikbd.c
+++ b/drivers/input/keyboard/amikbd.c
@@ -209,7 +209,7 @@ static int __init amikbd_init(void)
209 amikbd_dev->id.product = 0x0001; 209 amikbd_dev->id.product = 0x0001;
210 amikbd_dev->id.version = 0x0100; 210 amikbd_dev->id.version = 0x0100;
211 211
212 amikbd_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 212 amikbd_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
213 213
214 for (i = 0; i < 0x78; i++) 214 for (i = 0; i < 0x78; i++)
215 set_bit(i, amikbd_dev->keybit); 215 set_bit(i, amikbd_dev->keybit);
diff --git a/drivers/input/keyboard/atakbd.c b/drivers/input/keyboard/atakbd.c
index a1800151b6..4e92100c56 100644
--- a/drivers/input/keyboard/atakbd.c
+++ b/drivers/input/keyboard/atakbd.c
@@ -237,7 +237,7 @@ static int __init atakbd_init(void)
237 atakbd_dev->id.product = 0x0001; 237 atakbd_dev->id.product = 0x0001;
238 atakbd_dev->id.version = 0x0100; 238 atakbd_dev->id.version = 0x0100;
239 239
240 atakbd_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 240 atakbd_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
241 atakbd_dev->keycode = atakbd_keycode; 241 atakbd_dev->keycode = atakbd_keycode;
242 atakbd_dev->keycodesize = sizeof(unsigned char); 242 atakbd_dev->keycodesize = sizeof(unsigned char);
243 atakbd_dev->keycodemax = ARRAY_SIZE(atakbd_keycode); 243 atakbd_dev->keycodemax = ARRAY_SIZE(atakbd_keycode);
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 41fc3d03b6..b39c5b31e6 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -900,27 +900,32 @@ static void atkbd_set_device_attrs(struct atkbd *atkbd)
900 900
901 input_set_drvdata(input_dev, atkbd); 901 input_set_drvdata(input_dev, atkbd);
902 902
903 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_MSC); 903 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) |
904 BIT_MASK(EV_MSC);
904 905
905 if (atkbd->write) { 906 if (atkbd->write) {
906 input_dev->evbit[0] |= BIT(EV_LED); 907 input_dev->evbit[0] |= BIT_MASK(EV_LED);
907 input_dev->ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL); 908 input_dev->ledbit[0] = BIT_MASK(LED_NUML) |
909 BIT_MASK(LED_CAPSL) | BIT_MASK(LED_SCROLLL);
908 } 910 }
909 911
910 if (atkbd->extra) 912 if (atkbd->extra)
911 input_dev->ledbit[0] |= BIT(LED_COMPOSE) | BIT(LED_SUSPEND) | 913 input_dev->ledbit[0] |= BIT_MASK(LED_COMPOSE) |
912 BIT(LED_SLEEP) | BIT(LED_MUTE) | BIT(LED_MISC); 914 BIT_MASK(LED_SUSPEND) | BIT_MASK(LED_SLEEP) |
915 BIT_MASK(LED_MUTE) | BIT_MASK(LED_MISC);
913 916
914 if (!atkbd->softrepeat) { 917 if (!atkbd->softrepeat) {
915 input_dev->rep[REP_DELAY] = 250; 918 input_dev->rep[REP_DELAY] = 250;
916 input_dev->rep[REP_PERIOD] = 33; 919 input_dev->rep[REP_PERIOD] = 33;
917 } 920 }
918 921
919 input_dev->mscbit[0] = atkbd->softraw ? BIT(MSC_SCAN) : BIT(MSC_RAW) | BIT(MSC_SCAN); 922 input_dev->mscbit[0] = atkbd->softraw ? BIT_MASK(MSC_SCAN) :
923 BIT_MASK(MSC_RAW) | BIT_MASK(MSC_SCAN);
920 924
921 if (atkbd->scroll) { 925 if (atkbd->scroll) {
922 input_dev->evbit[0] |= BIT(EV_REL); 926 input_dev->evbit[0] |= BIT_MASK(EV_REL);
923 input_dev->relbit[0] = BIT(REL_WHEEL) | BIT(REL_HWHEEL); 927 input_dev->relbit[0] = BIT_MASK(REL_WHEEL) |
928 BIT_MASK(REL_HWHEEL);
924 set_bit(BTN_MIDDLE, input_dev->keybit); 929 set_bit(BTN_MIDDLE, input_dev->keybit);
925 } 930 }
926 931
diff --git a/drivers/input/keyboard/corgikbd.c b/drivers/input/keyboard/corgikbd.c
index 6578bfff64..790fed368a 100644
--- a/drivers/input/keyboard/corgikbd.c
+++ b/drivers/input/keyboard/corgikbd.c
@@ -325,7 +325,8 @@ static int __init corgikbd_probe(struct platform_device *pdev)
325 input_dev->id.version = 0x0100; 325 input_dev->id.version = 0x0100;
326 input_dev->dev.parent = &pdev->dev; 326 input_dev->dev.parent = &pdev->dev;
327 327
328 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_PWR) | BIT(EV_SW); 328 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) |
329 BIT_MASK(EV_PWR) | BIT_MASK(EV_SW);
329 input_dev->keycode = corgikbd->keycode; 330 input_dev->keycode = corgikbd->keycode;
330 input_dev->keycodesize = sizeof(unsigned char); 331 input_dev->keycodesize = sizeof(unsigned char);
331 input_dev->keycodemax = ARRAY_SIZE(corgikbd_keycode); 332 input_dev->keycodemax = ARRAY_SIZE(corgikbd_keycode);
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index e2a3293bc6..3eddf52a0b 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -62,7 +62,7 @@ static int __devinit gpio_keys_probe(struct platform_device *pdev)
62 62
63 platform_set_drvdata(pdev, input); 63 platform_set_drvdata(pdev, input);
64 64
65 input->evbit[0] = BIT(EV_KEY); 65 input->evbit[0] = BIT_MASK(EV_KEY);
66 66
67 input->name = pdev->name; 67 input->name = pdev->name;
68 input->phys = "gpio-keys/input0"; 68 input->phys = "gpio-keys/input0";
diff --git a/drivers/input/keyboard/hil_kbd.c b/drivers/input/keyboard/hil_kbd.c
index cdd254f2e6..adbf29f016 100644
--- a/drivers/input/keyboard/hil_kbd.c
+++ b/drivers/input/keyboard/hil_kbd.c
@@ -323,8 +323,9 @@ static int hil_kbd_connect(struct serio *serio, struct serio_driver *drv)
323 goto bail2; 323 goto bail2;
324 } 324 }
325 325
326 kbd->dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 326 kbd->dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
327 kbd->dev->ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL); 327 kbd->dev->ledbit[0] = BIT_MASK(LED_NUML) | BIT_MASK(LED_CAPSL) |
328 BIT_MASK(LED_SCROLLL);
328 kbd->dev->keycodemax = HIL_KEYCODES_SET1_TBLSIZE; 329 kbd->dev->keycodemax = HIL_KEYCODES_SET1_TBLSIZE;
329 kbd->dev->keycodesize = sizeof(hil_kbd_set1[0]); 330 kbd->dev->keycodesize = sizeof(hil_kbd_set1[0]);
330 kbd->dev->keycode = hil_kbd_set1; 331 kbd->dev->keycode = hil_kbd_set1;
diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c
index 499b697445..50d80ecf0b 100644
--- a/drivers/input/keyboard/hilkbd.c
+++ b/drivers/input/keyboard/hilkbd.c
@@ -266,8 +266,9 @@ hil_keyb_init(void)
266 if (hphilkeyb_keycode[i] != KEY_RESERVED) 266 if (hphilkeyb_keycode[i] != KEY_RESERVED)
267 set_bit(hphilkeyb_keycode[i], hil_dev.dev->keybit); 267 set_bit(hphilkeyb_keycode[i], hil_dev.dev->keybit);
268 268
269 hil_dev.dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 269 hil_dev.dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
270 hil_dev.dev->ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL); 270 hil_dev.dev->ledbit[0] = BIT_MASK(LED_NUML) | BIT_MASK(LED_CAPSL) |
271 BIT_MASK(LED_SCROLLL);
271 hil_dev.dev->keycodemax = HIL_KEYCODES_SET1_TBLSIZE; 272 hil_dev.dev->keycodemax = HIL_KEYCODES_SET1_TBLSIZE;
272 hil_dev.dev->keycodesize= sizeof(hphilkeyb_keycode[0]); 273 hil_dev.dev->keycodesize= sizeof(hphilkeyb_keycode[0]);
273 hil_dev.dev->keycode = hphilkeyb_keycode; 274 hil_dev.dev->keycode = hphilkeyb_keycode;
diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
index 7a41b271f2..5a0ca18d67 100644
--- a/drivers/input/keyboard/locomokbd.c
+++ b/drivers/input/keyboard/locomokbd.c
@@ -233,7 +233,7 @@ static int locomokbd_probe(struct locomo_dev *dev)
233 input_dev->id.version = 0x0100; 233 input_dev->id.version = 0x0100;
234 input_dev->dev.parent = &dev->dev; 234 input_dev->dev.parent = &dev->dev;
235 235
236 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 236 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
237 input_dev->keycode = locomokbd->keycode; 237 input_dev->keycode = locomokbd->keycode;
238 input_dev->keycodesize = sizeof(unsigned char); 238 input_dev->keycodesize = sizeof(unsigned char);
239 input_dev->keycodemax = ARRAY_SIZE(locomokbd_keycode); 239 input_dev->keycodemax = ARRAY_SIZE(locomokbd_keycode);
diff --git a/drivers/input/keyboard/newtonkbd.c b/drivers/input/keyboard/newtonkbd.c
index b97a41e3ee..48d1cab0aa 100644
--- a/drivers/input/keyboard/newtonkbd.c
+++ b/drivers/input/keyboard/newtonkbd.c
@@ -106,7 +106,7 @@ static int nkbd_connect(struct serio *serio, struct serio_driver *drv)
106 input_dev->id.version = 0x0100; 106 input_dev->id.version = 0x0100;
107 input_dev->dev.parent = &serio->dev; 107 input_dev->dev.parent = &serio->dev;
108 108
109 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 109 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
110 input_dev->keycode = nkbd->keycode; 110 input_dev->keycode = nkbd->keycode;
111 input_dev->keycodesize = sizeof(unsigned char); 111 input_dev->keycodesize = sizeof(unsigned char);
112 input_dev->keycodemax = ARRAY_SIZE(nkbd_keycode); 112 input_dev->keycodemax = ARRAY_SIZE(nkbd_keycode);
diff --git a/drivers/input/keyboard/pxa27x_keyboard.c b/drivers/input/keyboard/pxa27x_keyboard.c
index b7061aa388..bdd64ee4c5 100644
--- a/drivers/input/keyboard/pxa27x_keyboard.c
+++ b/drivers/input/keyboard/pxa27x_keyboard.c
@@ -183,8 +183,9 @@ static int __devinit pxakbd_probe(struct platform_device *pdev)
183 input_dev->close = pxakbd_close; 183 input_dev->close = pxakbd_close;
184 input_dev->dev.parent = &pdev->dev; 184 input_dev->dev.parent = &pdev->dev;
185 185
186 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_REL); 186 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) |
187 input_dev->relbit[LONG(REL_WHEEL)] = BIT(REL_WHEEL); 187 BIT_MASK(EV_REL);
188 input_dev->relbit[BIT_WORD(REL_WHEEL)] = BIT_MASK(REL_WHEEL);
188 for (row = 0; row < pdata->nr_rows; row++) { 189 for (row = 0; row < pdata->nr_rows; row++) {
189 for (col = 0; col < pdata->nr_cols; col++) { 190 for (col = 0; col < pdata->nr_cols; col++) {
190 int code = pdata->keycodes[row][col]; 191 int code = pdata->keycodes[row][col];
diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c
index 41b8038547..410d78a774 100644
--- a/drivers/input/keyboard/spitzkbd.c
+++ b/drivers/input/keyboard/spitzkbd.c
@@ -381,7 +381,8 @@ static int __init spitzkbd_probe(struct platform_device *dev)
381 input_dev->id.product = 0x0001; 381 input_dev->id.product = 0x0001;
382 input_dev->id.version = 0x0100; 382 input_dev->id.version = 0x0100;
383 383
384 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_PWR) | BIT(EV_SW); 384 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) |
385 BIT_MASK(EV_PWR) | BIT_MASK(EV_SW);
385 input_dev->keycode = spitzkbd->keycode; 386 input_dev->keycode = spitzkbd->keycode;
386 input_dev->keycodesize = sizeof(unsigned char); 387 input_dev->keycodesize = sizeof(unsigned char);
387 input_dev->keycodemax = ARRAY_SIZE(spitzkbd_keycode); 388 input_dev->keycodemax = ARRAY_SIZE(spitzkbd_keycode);
diff --git a/drivers/input/keyboard/stowaway.c b/drivers/input/keyboard/stowaway.c
index b44b0684d5..7437219370 100644
--- a/drivers/input/keyboard/stowaway.c
+++ b/drivers/input/keyboard/stowaway.c
@@ -110,7 +110,7 @@ static int skbd_connect(struct serio *serio, struct serio_driver *drv)
110 input_dev->id.version = 0x0100; 110 input_dev->id.version = 0x0100;
111 input_dev->dev.parent = &serio->dev; 111 input_dev->dev.parent = &serio->dev;
112 112
113 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 113 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
114 input_dev->keycode = skbd->keycode; 114 input_dev->keycode = skbd->keycode;
115 input_dev->keycodesize = sizeof(unsigned char); 115 input_dev->keycodesize = sizeof(unsigned char);
116 input_dev->keycodemax = ARRAY_SIZE(skbd_keycode); 116 input_dev->keycodemax = ARRAY_SIZE(skbd_keycode);
diff --git a/drivers/input/keyboard/sunkbd.c b/drivers/input/keyboard/sunkbd.c
index 1d4e39624c..be0f5d19d0 100644
--- a/drivers/input/keyboard/sunkbd.c
+++ b/drivers/input/keyboard/sunkbd.c
@@ -277,9 +277,11 @@ static int sunkbd_connect(struct serio *serio, struct serio_driver *drv)
277 277
278 input_dev->event = sunkbd_event; 278 input_dev->event = sunkbd_event;
279 279
280 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_SND) | BIT(EV_REP); 280 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_LED) |
281 input_dev->ledbit[0] = BIT(LED_CAPSL) | BIT(LED_COMPOSE) | BIT(LED_SCROLLL) | BIT(LED_NUML); 281 BIT_MASK(EV_SND) | BIT_MASK(EV_REP);
282 input_dev->sndbit[0] = BIT(SND_CLICK) | BIT(SND_BELL); 282 input_dev->ledbit[0] = BIT_MASK(LED_CAPSL) | BIT_MASK(LED_COMPOSE) |
283 BIT_MASK(LED_SCROLLL) | BIT_MASK(LED_NUML);
284 input_dev->sndbit[0] = BIT_MASK(SND_CLICK) | BIT_MASK(SND_BELL);
283 285
284 input_dev->keycode = sunkbd->keycode; 286 input_dev->keycode = sunkbd->keycode;
285 input_dev->keycodesize = sizeof(unsigned char); 287 input_dev->keycodesize = sizeof(unsigned char);
diff --git a/drivers/input/keyboard/xtkbd.c b/drivers/input/keyboard/xtkbd.c
index f3a56eb58e..152a2c0705 100644
--- a/drivers/input/keyboard/xtkbd.c
+++ b/drivers/input/keyboard/xtkbd.c
@@ -110,7 +110,7 @@ static int xtkbd_connect(struct serio *serio, struct serio_driver *drv)
110 input_dev->id.version = 0x0100; 110 input_dev->id.version = 0x0100;
111 input_dev->dev.parent = &serio->dev; 111 input_dev->dev.parent = &serio->dev;
112 112
113 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 113 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
114 input_dev->keycode = xtkbd->keycode; 114 input_dev->keycode = xtkbd->keycode;
115 input_dev->keycodesize = sizeof(unsigned char); 115 input_dev->keycodesize = sizeof(unsigned char);
116 input_dev->keycodemax = ARRAY_SIZE(xtkbd_keycode); 116 input_dev->keycodemax = ARRAY_SIZE(xtkbd_keycode);
diff --git a/drivers/input/misc/ati_remote.c b/drivers/input/misc/ati_remote.c
index 471aab2064..3a7937481a 100644
--- a/drivers/input/misc/ati_remote.c
+++ b/drivers/input/misc/ati_remote.c
@@ -662,10 +662,10 @@ static void ati_remote_input_init(struct ati_remote *ati_remote)
662 struct input_dev *idev = ati_remote->idev; 662 struct input_dev *idev = ati_remote->idev;
663 int i; 663 int i;
664 664
665 idev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 665 idev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
666 idev->keybit[LONG(BTN_MOUSE)] = ( BIT(BTN_LEFT) | BIT(BTN_RIGHT) | 666 idev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
667 BIT(BTN_SIDE) | BIT(BTN_EXTRA) ); 667 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_SIDE) | BIT_MASK(BTN_EXTRA);
668 idev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 668 idev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
669 for (i = 0; ati_remote_tbl[i].kind != KIND_END; i++) 669 for (i = 0; ati_remote_tbl[i].kind != KIND_END; i++)
670 if (ati_remote_tbl[i].type == EV_KEY) 670 if (ati_remote_tbl[i].type == EV_KEY)
671 set_bit(ati_remote_tbl[i].code, idev->keybit); 671 set_bit(ati_remote_tbl[i].code, idev->keybit);
diff --git a/drivers/input/misc/ati_remote2.c b/drivers/input/misc/ati_remote2.c
index 1031543e5c..f2709b8248 100644
--- a/drivers/input/misc/ati_remote2.c
+++ b/drivers/input/misc/ati_remote2.c
@@ -346,9 +346,10 @@ static int ati_remote2_input_init(struct ati_remote2 *ar2)
346 ar2->idev = idev; 346 ar2->idev = idev;
347 input_set_drvdata(idev, ar2); 347 input_set_drvdata(idev, ar2);
348 348
349 idev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_REL); 349 idev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) | BIT_MASK(EV_REL);
350 idev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT); 350 idev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
351 idev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 351 BIT_MASK(BTN_RIGHT);
352 idev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
352 for (i = 0; ati_remote2_key_table[i].key_code != KEY_RESERVED; i++) 353 for (i = 0; ati_remote2_key_table[i].key_code != KEY_RESERVED; i++)
353 set_bit(ati_remote2_key_table[i].key_code, idev->keybit); 354 set_bit(ati_remote2_key_table[i].key_code, idev->keybit);
354 355
diff --git a/drivers/input/misc/atlas_btns.c b/drivers/input/misc/atlas_btns.c
index e43e92fd9e..4e3ad657ed 100644
--- a/drivers/input/misc/atlas_btns.c
+++ b/drivers/input/misc/atlas_btns.c
@@ -81,7 +81,7 @@ static int atlas_acpi_button_add(struct acpi_device *device)
81 input_dev->name = "Atlas ACPI button driver"; 81 input_dev->name = "Atlas ACPI button driver";
82 input_dev->phys = "ASIM0000/atlas/input0"; 82 input_dev->phys = "ASIM0000/atlas/input0";
83 input_dev->id.bustype = BUS_HOST; 83 input_dev->id.bustype = BUS_HOST;
84 input_dev->evbit[LONG(EV_KEY)] = BIT(EV_KEY); 84 input_dev->evbit[BIT_WORD(EV_KEY)] = BIT_MASK(EV_KEY);
85 85
86 set_bit(KEY_F1, input_dev->keybit); 86 set_bit(KEY_F1, input_dev->keybit);
87 set_bit(KEY_F2, input_dev->keybit); 87 set_bit(KEY_F2, input_dev->keybit);
diff --git a/drivers/input/misc/cobalt_btns.c b/drivers/input/misc/cobalt_btns.c
index 064b079360..1aef97ed5e 100644
--- a/drivers/input/misc/cobalt_btns.c
+++ b/drivers/input/misc/cobalt_btns.c
@@ -104,7 +104,7 @@ static int __devinit cobalt_buttons_probe(struct platform_device *pdev)
104 input->id.bustype = BUS_HOST; 104 input->id.bustype = BUS_HOST;
105 input->cdev.dev = &pdev->dev; 105 input->cdev.dev = &pdev->dev;
106 106
107 input->evbit[0] = BIT(EV_KEY); 107 input->evbit[0] = BIT_MASK(EV_KEY);
108 for (i = 0; i < ARRAY_SIZE(buttons_map); i++) { 108 for (i = 0; i < ARRAY_SIZE(buttons_map); i++) {
109 set_bit(buttons_map[i].keycode, input->keybit); 109 set_bit(buttons_map[i].keycode, input->keybit);
110 buttons_map[i].count = 0; 110 buttons_map[i].count = 0;
diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c
index e759944041..d2ade7443b 100644
--- a/drivers/input/misc/ixp4xx-beeper.c
+++ b/drivers/input/misc/ixp4xx-beeper.c
@@ -109,8 +109,8 @@ static int __devinit ixp4xx_spkr_probe(struct platform_device *dev)
109 input_dev->id.version = 0x0100; 109 input_dev->id.version = 0x0100;
110 input_dev->dev.parent = &dev->dev; 110 input_dev->dev.parent = &dev->dev;
111 111
112 input_dev->evbit[0] = BIT(EV_SND); 112 input_dev->evbit[0] = BIT_MASK(EV_SND);
113 input_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); 113 input_dev->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE);
114 input_dev->event = ixp4xx_spkr_event; 114 input_dev->event = ixp4xx_spkr_event;
115 115
116 err = request_irq(IRQ_IXP4XX_TIMER2, &ixp4xx_spkr_interrupt, 116 err = request_irq(IRQ_IXP4XX_TIMER2, &ixp4xx_spkr_interrupt,
diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c
index 1bffc9fa98..fd74347047 100644
--- a/drivers/input/misc/keyspan_remote.c
+++ b/drivers/input/misc/keyspan_remote.c
@@ -497,7 +497,7 @@ static int keyspan_probe(struct usb_interface *interface, const struct usb_devic
497 usb_to_input_id(udev, &input_dev->id); 497 usb_to_input_id(udev, &input_dev->id);
498 input_dev->dev.parent = &interface->dev; 498 input_dev->dev.parent = &interface->dev;
499 499
500 input_dev->evbit[0] = BIT(EV_KEY); /* We will only report KEY events. */ 500 input_dev->evbit[0] = BIT_MASK(EV_KEY); /* We will only report KEY events. */
501 for (i = 0; i < ARRAY_SIZE(keyspan_key_table); i++) 501 for (i = 0; i < ARRAY_SIZE(keyspan_key_table); i++)
502 if (keyspan_key_table[i] != KEY_RESERVED) 502 if (keyspan_key_table[i] != KEY_RESERVED)
503 set_bit(keyspan_key_table[i], input_dev->keybit); 503 set_bit(keyspan_key_table[i], input_dev->keybit);
diff --git a/drivers/input/misc/m68kspkr.c b/drivers/input/misc/m68kspkr.c
index e9f26e766b..0c64d9bb71 100644
--- a/drivers/input/misc/m68kspkr.c
+++ b/drivers/input/misc/m68kspkr.c
@@ -65,8 +65,8 @@ static int __devinit m68kspkr_probe(struct platform_device *dev)
65 input_dev->id.version = 0x0100; 65 input_dev->id.version = 0x0100;
66 input_dev->dev.parent = &dev->dev; 66 input_dev->dev.parent = &dev->dev;
67 67
68 input_dev->evbit[0] = BIT(EV_SND); 68 input_dev->evbit[0] = BIT_MASK(EV_SND);
69 input_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); 69 input_dev->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE);
70 input_dev->event = m68kspkr_event; 70 input_dev->event = m68kspkr_event;
71 71
72 err = input_register_device(input_dev); 72 err = input_register_device(input_dev);
diff --git a/drivers/input/misc/pcspkr.c b/drivers/input/misc/pcspkr.c
index c19f77fbaf..4941a9e61e 100644
--- a/drivers/input/misc/pcspkr.c
+++ b/drivers/input/misc/pcspkr.c
@@ -86,8 +86,8 @@ static int __devinit pcspkr_probe(struct platform_device *dev)
86 pcspkr_dev->id.version = 0x0100; 86 pcspkr_dev->id.version = 0x0100;
87 pcspkr_dev->dev.parent = &dev->dev; 87 pcspkr_dev->dev.parent = &dev->dev;
88 88
89 pcspkr_dev->evbit[0] = BIT(EV_SND); 89 pcspkr_dev->evbit[0] = BIT_MASK(EV_SND);
90 pcspkr_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); 90 pcspkr_dev->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE);
91 pcspkr_dev->event = pcspkr_event; 91 pcspkr_dev->event = pcspkr_event;
92 92
93 err = input_register_device(pcspkr_dev); 93 err = input_register_device(pcspkr_dev);
diff --git a/drivers/input/misc/powermate.c b/drivers/input/misc/powermate.c
index 448a470d28..7a7b8c7b96 100644
--- a/drivers/input/misc/powermate.c
+++ b/drivers/input/misc/powermate.c
@@ -363,10 +363,11 @@ static int powermate_probe(struct usb_interface *intf, const struct usb_device_i
363 363
364 input_dev->event = powermate_input_event; 364 input_dev->event = powermate_input_event;
365 365
366 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL) | BIT(EV_MSC); 366 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL) |
367 input_dev->keybit[LONG(BTN_0)] = BIT(BTN_0); 367 BIT_MASK(EV_MSC);
368 input_dev->relbit[LONG(REL_DIAL)] = BIT(REL_DIAL); 368 input_dev->keybit[BIT_WORD(BTN_0)] = BIT_MASK(BTN_0);
369 input_dev->mscbit[LONG(MSC_PULSELED)] = BIT(MSC_PULSELED); 369 input_dev->relbit[BIT_WORD(REL_DIAL)] = BIT_MASK(REL_DIAL);
370 input_dev->mscbit[BIT_WORD(MSC_PULSELED)] = BIT_MASK(MSC_PULSELED);
370 371
371 /* get a handle to the interrupt data pipe */ 372 /* get a handle to the interrupt data pipe */
372 pipe = usb_rcvintpipe(udev, endpoint->bEndpointAddress); 373 pipe = usb_rcvintpipe(udev, endpoint->bEndpointAddress);
diff --git a/drivers/input/misc/sparcspkr.c b/drivers/input/misc/sparcspkr.c
index e36ec1d92b..a3637d8708 100644
--- a/drivers/input/misc/sparcspkr.c
+++ b/drivers/input/misc/sparcspkr.c
@@ -115,8 +115,8 @@ static int __devinit sparcspkr_probe(struct device *dev)
115 input_dev->id.version = 0x0100; 115 input_dev->id.version = 0x0100;
116 input_dev->dev.parent = dev; 116 input_dev->dev.parent = dev;
117 117
118 input_dev->evbit[0] = BIT(EV_SND); 118 input_dev->evbit[0] = BIT_MASK(EV_SND);
119 input_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); 119 input_dev->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE);
120 120
121 input_dev->event = state->event; 121 input_dev->event = state->event;
122 122
diff --git a/drivers/input/misc/yealink.c b/drivers/input/misc/yealink.c
index ab15880fd5..46279ef2b6 100644
--- a/drivers/input/misc/yealink.c
+++ b/drivers/input/misc/yealink.c
@@ -945,7 +945,7 @@ static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
945 /* input_dev->event = input_ev; TODO */ 945 /* input_dev->event = input_ev; TODO */
946 946
947 /* register available key events */ 947 /* register available key events */
948 input_dev->evbit[0] = BIT(EV_KEY); 948 input_dev->evbit[0] = BIT_MASK(EV_KEY);
949 for (i = 0; i < 256; i++) { 949 for (i = 0; i < 256; i++) {
950 int k = map_p1k_to_key(i); 950 int k = map_p1k_to_key(i);
951 if (k >= 0) { 951 if (k >= 0) {
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index 64d70a9b71..2b5ed119c9 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -455,24 +455,25 @@ int alps_init(struct psmouse *psmouse)
455 if (alps_hw_init(psmouse, &version)) 455 if (alps_hw_init(psmouse, &version))
456 goto init_fail; 456 goto init_fail;
457 457
458 dev1->evbit[LONG(EV_KEY)] |= BIT(EV_KEY); 458 dev1->evbit[BIT_WORD(EV_KEY)] |= BIT_MASK(EV_KEY);
459 dev1->keybit[LONG(BTN_TOUCH)] |= BIT(BTN_TOUCH); 459 dev1->keybit[BIT_WORD(BTN_TOUCH)] |= BIT_MASK(BTN_TOUCH);
460 dev1->keybit[LONG(BTN_TOOL_FINGER)] |= BIT(BTN_TOOL_FINGER); 460 dev1->keybit[BIT_WORD(BTN_TOOL_FINGER)] |= BIT_MASK(BTN_TOOL_FINGER);
461 dev1->keybit[LONG(BTN_LEFT)] |= BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 461 dev1->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) |
462 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
462 463
463 dev1->evbit[LONG(EV_ABS)] |= BIT(EV_ABS); 464 dev1->evbit[BIT_WORD(EV_ABS)] |= BIT_MASK(EV_ABS);
464 input_set_abs_params(dev1, ABS_X, 0, 1023, 0, 0); 465 input_set_abs_params(dev1, ABS_X, 0, 1023, 0, 0);
465 input_set_abs_params(dev1, ABS_Y, 0, 767, 0, 0); 466 input_set_abs_params(dev1, ABS_Y, 0, 767, 0, 0);
466 input_set_abs_params(dev1, ABS_PRESSURE, 0, 127, 0, 0); 467 input_set_abs_params(dev1, ABS_PRESSURE, 0, 127, 0, 0);
467 468
468 if (priv->i->flags & ALPS_WHEEL) { 469 if (priv->i->flags & ALPS_WHEEL) {
469 dev1->evbit[LONG(EV_REL)] |= BIT(EV_REL); 470 dev1->evbit[BIT_WORD(EV_REL)] |= BIT_MASK(EV_REL);
470 dev1->relbit[LONG(REL_WHEEL)] |= BIT(REL_WHEEL); 471 dev1->relbit[BIT_WORD(REL_WHEEL)] |= BIT_MASK(REL_WHEEL);
471 } 472 }
472 473
473 if (priv->i->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { 474 if (priv->i->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) {
474 dev1->keybit[LONG(BTN_FORWARD)] |= BIT(BTN_FORWARD); 475 dev1->keybit[BIT_WORD(BTN_FORWARD)] |= BIT_MASK(BTN_FORWARD);
475 dev1->keybit[LONG(BTN_BACK)] |= BIT(BTN_BACK); 476 dev1->keybit[BIT_WORD(BTN_BACK)] |= BIT_MASK(BTN_BACK);
476 } 477 }
477 478
478 snprintf(priv->phys, sizeof(priv->phys), "%s/input1", psmouse->ps2dev.serio->phys); 479 snprintf(priv->phys, sizeof(priv->phys), "%s/input1", psmouse->ps2dev.serio->phys);
@@ -483,9 +484,10 @@ int alps_init(struct psmouse *psmouse)
483 dev2->id.product = PSMOUSE_ALPS; 484 dev2->id.product = PSMOUSE_ALPS;
484 dev2->id.version = 0x0000; 485 dev2->id.version = 0x0000;
485 486
486 dev2->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 487 dev2->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
487 dev2->relbit[LONG(REL_X)] |= BIT(REL_X) | BIT(REL_Y); 488 dev2->relbit[BIT_WORD(REL_X)] |= BIT_MASK(REL_X) | BIT_MASK(REL_Y);
488 dev2->keybit[LONG(BTN_LEFT)] |= BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 489 dev2->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) |
490 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
489 491
490 if (input_register_device(priv->dev2)) 492 if (input_register_device(priv->dev2))
491 goto init_fail; 493 goto init_fail;
diff --git a/drivers/input/mouse/amimouse.c b/drivers/input/mouse/amimouse.c
index 239a0e16d9..a185ac78a4 100644
--- a/drivers/input/mouse/amimouse.c
+++ b/drivers/input/mouse/amimouse.c
@@ -111,9 +111,10 @@ static int __init amimouse_init(void)
111 amimouse_dev->id.product = 0x0002; 111 amimouse_dev->id.product = 0x0002;
112 amimouse_dev->id.version = 0x0100; 112 amimouse_dev->id.version = 0x0100;
113 113
114 amimouse_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 114 amimouse_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
115 amimouse_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 115 amimouse_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
116 amimouse_dev->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 116 amimouse_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
117 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
117 amimouse_dev->open = amimouse_open; 118 amimouse_dev->open = amimouse_open;
118 amimouse_dev->close = amimouse_close; 119 amimouse_dev->close = amimouse_close;
119 120
diff --git a/drivers/input/mouse/atarimouse.c b/drivers/input/mouse/atarimouse.c
index c8c7244b48..98a3561d4b 100644
--- a/drivers/input/mouse/atarimouse.c
+++ b/drivers/input/mouse/atarimouse.c
@@ -137,9 +137,10 @@ static int __init atamouse_init(void)
137 atamouse_dev->id.product = 0x0002; 137 atamouse_dev->id.product = 0x0002;
138 atamouse_dev->id.version = 0x0100; 138 atamouse_dev->id.version = 0x0100;
139 139
140 atamouse_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 140 atamouse_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
141 atamouse_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 141 atamouse_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
142 atamouse_dev->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 142 atamouse_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
143 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
143 atamouse_dev->open = atamouse_open; 144 atamouse_dev->open = atamouse_open;
144 atamouse_dev->close = atamouse_close; 145 atamouse_dev->close = atamouse_close;
145 146
diff --git a/drivers/input/mouse/hil_ptr.c b/drivers/input/mouse/hil_ptr.c
index 449bf4dcbb..27f88fbb71 100644
--- a/drivers/input/mouse/hil_ptr.c
+++ b/drivers/input/mouse/hil_ptr.c
@@ -298,12 +298,12 @@ static int hil_ptr_connect(struct serio *serio, struct serio_driver *driver)
298 idd = ptr->idd + 1; 298 idd = ptr->idd + 1;
299 txt = "unknown"; 299 txt = "unknown";
300 if ((did & HIL_IDD_DID_TYPE_MASK) == HIL_IDD_DID_TYPE_REL) { 300 if ((did & HIL_IDD_DID_TYPE_MASK) == HIL_IDD_DID_TYPE_REL) {
301 ptr->dev->evbit[0] = BIT(EV_REL); 301 ptr->dev->evbit[0] = BIT_MASK(EV_REL);
302 txt = "relative"; 302 txt = "relative";
303 } 303 }
304 304
305 if ((did & HIL_IDD_DID_TYPE_MASK) == HIL_IDD_DID_TYPE_ABS) { 305 if ((did & HIL_IDD_DID_TYPE_MASK) == HIL_IDD_DID_TYPE_ABS) {
306 ptr->dev->evbit[0] = BIT(EV_ABS); 306 ptr->dev->evbit[0] = BIT_MASK(EV_ABS);
307 txt = "absolute"; 307 txt = "absolute";
308 } 308 }
309 if (!ptr->dev->evbit[0]) 309 if (!ptr->dev->evbit[0])
@@ -311,7 +311,7 @@ static int hil_ptr_connect(struct serio *serio, struct serio_driver *driver)
311 311
312 ptr->nbtn = HIL_IDD_NUM_BUTTONS(idd); 312 ptr->nbtn = HIL_IDD_NUM_BUTTONS(idd);
313 if (ptr->nbtn) 313 if (ptr->nbtn)
314 ptr->dev->evbit[0] |= BIT(EV_KEY); 314 ptr->dev->evbit[0] |= BIT_MASK(EV_KEY);
315 315
316 naxsets = HIL_IDD_NUM_AXSETS(*idd); 316 naxsets = HIL_IDD_NUM_AXSETS(*idd);
317 ptr->naxes = HIL_IDD_NUM_AXES_PER_SET(*idd); 317 ptr->naxes = HIL_IDD_NUM_AXES_PER_SET(*idd);
diff --git a/drivers/input/mouse/inport.c b/drivers/input/mouse/inport.c
index 79b624fe89..655a392174 100644
--- a/drivers/input/mouse/inport.c
+++ b/drivers/input/mouse/inport.c
@@ -163,9 +163,10 @@ static int __init inport_init(void)
163 inport_dev->id.product = 0x0001; 163 inport_dev->id.product = 0x0001;
164 inport_dev->id.version = 0x0100; 164 inport_dev->id.version = 0x0100;
165 165
166 inport_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 166 inport_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
167 inport_dev->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 167 inport_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
168 inport_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 168 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
169 inport_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
169 170
170 inport_dev->open = inport_open; 171 inport_dev->open = inport_open;
171 inport_dev->close = inport_close; 172 inport_dev->close = inport_close;
diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c
index d7de4c53b3..9ec57d8018 100644
--- a/drivers/input/mouse/lifebook.c
+++ b/drivers/input/mouse/lifebook.c
@@ -270,9 +270,10 @@ static int lifebook_create_relative_device(struct psmouse *psmouse)
270 dev2->id.version = 0x0000; 270 dev2->id.version = 0x0000;
271 dev2->dev.parent = &psmouse->ps2dev.serio->dev; 271 dev2->dev.parent = &psmouse->ps2dev.serio->dev;
272 272
273 dev2->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 273 dev2->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
274 dev2->relbit[LONG(REL_X)] = BIT(REL_X) | BIT(REL_Y); 274 dev2->relbit[BIT_WORD(REL_X)] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
275 dev2->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT); 275 dev2->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
276 BIT_MASK(BTN_RIGHT);
276 277
277 error = input_register_device(priv->dev2); 278 error = input_register_device(priv->dev2);
278 if (error) 279 if (error)
@@ -295,9 +296,9 @@ int lifebook_init(struct psmouse *psmouse)
295 if (lifebook_absolute_mode(psmouse)) 296 if (lifebook_absolute_mode(psmouse))
296 return -1; 297 return -1;
297 298
298 dev1->evbit[0] = BIT(EV_ABS) | BIT(EV_KEY); 299 dev1->evbit[0] = BIT_MASK(EV_ABS) | BIT_MASK(EV_KEY);
299 dev1->relbit[0] = 0; 300 dev1->relbit[0] = 0;
300 dev1->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 301 dev1->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
301 input_set_abs_params(dev1, ABS_X, 0, max_coord, 0, 0); 302 input_set_abs_params(dev1, ABS_X, 0, max_coord, 0, 0);
302 input_set_abs_params(dev1, ABS_Y, 0, max_coord, 0, 0); 303 input_set_abs_params(dev1, ABS_Y, 0, max_coord, 0, 0);
303 304
diff --git a/drivers/input/mouse/logibm.c b/drivers/input/mouse/logibm.c
index 26c3b2e2ca..b23a4f3ea5 100644
--- a/drivers/input/mouse/logibm.c
+++ b/drivers/input/mouse/logibm.c
@@ -156,9 +156,10 @@ static int __init logibm_init(void)
156 logibm_dev->id.product = 0x0001; 156 logibm_dev->id.product = 0x0001;
157 logibm_dev->id.version = 0x0100; 157 logibm_dev->id.version = 0x0100;
158 158
159 logibm_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 159 logibm_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
160 logibm_dev->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 160 logibm_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
161 logibm_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 161 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
162 logibm_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
162 163
163 logibm_dev->open = logibm_open; 164 logibm_dev->open = logibm_open;
164 logibm_dev->close = logibm_close; 165 logibm_dev->close = logibm_close;
diff --git a/drivers/input/mouse/pc110pad.c b/drivers/input/mouse/pc110pad.c
index 05d992e514..8991ab0b4f 100644
--- a/drivers/input/mouse/pc110pad.c
+++ b/drivers/input/mouse/pc110pad.c
@@ -144,9 +144,9 @@ static int __init pc110pad_init(void)
144 pc110pad_dev->id.product = 0x0001; 144 pc110pad_dev->id.product = 0x0001;
145 pc110pad_dev->id.version = 0x0100; 145 pc110pad_dev->id.version = 0x0100;
146 146
147 pc110pad_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 147 pc110pad_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
148 pc110pad_dev->absbit[0] = BIT(ABS_X) | BIT(ABS_Y); 148 pc110pad_dev->absbit[0] = BIT_MASK(ABS_X) | BIT_MASK(ABS_Y);
149 pc110pad_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 149 pc110pad_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
150 150
151 pc110pad_dev->absmax[ABS_X] = 0x1ff; 151 pc110pad_dev->absmax[ABS_X] = 0x1ff;
152 pc110pad_dev->absmax[ABS_Y] = 0x0ff; 152 pc110pad_dev->absmax[ABS_Y] = 0x0ff;
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 0735257565..da316d13d7 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -1115,9 +1115,10 @@ static int psmouse_switch_protocol(struct psmouse *psmouse, const struct psmouse
1115 1115
1116 input_dev->dev.parent = &psmouse->ps2dev.serio->dev; 1116 input_dev->dev.parent = &psmouse->ps2dev.serio->dev;
1117 1117
1118 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 1118 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
1119 input_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 1119 input_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
1120 input_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 1120 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
1121 input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
1121 1122
1122 psmouse->set_rate = psmouse_set_rate; 1123 psmouse->set_rate = psmouse_set_rate;
1123 psmouse->set_resolution = psmouse_set_resolution; 1124 psmouse->set_resolution = psmouse_set_resolution;
diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c
index 355efd0423..18a48636ba 100644
--- a/drivers/input/mouse/rpcmouse.c
+++ b/drivers/input/mouse/rpcmouse.c
@@ -78,9 +78,10 @@ static int __init rpcmouse_init(void)
78 rpcmouse_dev->id.product = 0x0001; 78 rpcmouse_dev->id.product = 0x0001;
79 rpcmouse_dev->id.version = 0x0100; 79 rpcmouse_dev->id.version = 0x0100;
80 80
81 rpcmouse_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 81 rpcmouse_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
82 rpcmouse_dev->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 82 rpcmouse_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
83 rpcmouse_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 83 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
84 rpcmouse_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
84 85
85 rpcmouse_lastx = (short) iomd_readl(IOMD_MOUSEX); 86 rpcmouse_lastx = (short) iomd_readl(IOMD_MOUSEX);
86 rpcmouse_lasty = (short) iomd_readl(IOMD_MOUSEY); 87 rpcmouse_lasty = (short) iomd_readl(IOMD_MOUSEY);
diff --git a/drivers/input/mouse/sermouse.c b/drivers/input/mouse/sermouse.c
index 77b8ee2b96..ed917bfd08 100644
--- a/drivers/input/mouse/sermouse.c
+++ b/drivers/input/mouse/sermouse.c
@@ -268,9 +268,10 @@ static int sermouse_connect(struct serio *serio, struct serio_driver *drv)
268 input_dev->id.version = 0x0100; 268 input_dev->id.version = 0x0100;
269 input_dev->dev.parent = &serio->dev; 269 input_dev->dev.parent = &serio->dev;
270 270
271 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 271 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
272 input_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT); 272 input_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
273 input_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 273 BIT_MASK(BTN_RIGHT);
274 input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
274 275
275 if (c & 0x01) set_bit(BTN_MIDDLE, input_dev->keybit); 276 if (c & 0x01) set_bit(BTN_MIDDLE, input_dev->keybit);
276 if (c & 0x02) set_bit(BTN_SIDE, input_dev->keybit); 277 if (c & 0x02) set_bit(BTN_SIDE, input_dev->keybit);
diff --git a/drivers/input/mouse/touchkit_ps2.c b/drivers/input/mouse/touchkit_ps2.c
index 7b977fd235..3fadb2acca 100644
--- a/drivers/input/mouse/touchkit_ps2.c
+++ b/drivers/input/mouse/touchkit_ps2.c
@@ -85,7 +85,7 @@ int touchkit_ps2_detect(struct psmouse *psmouse, int set_properties)
85 return -ENODEV; 85 return -ENODEV;
86 86
87 if (set_properties) { 87 if (set_properties) {
88 dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 88 dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
89 set_bit(BTN_TOUCH, dev->keybit); 89 set_bit(BTN_TOUCH, dev->keybit);
90 input_set_abs_params(dev, ABS_X, 0, TOUCHKIT_MAX_XC, 0, 0); 90 input_set_abs_params(dev, ABS_X, 0, TOUCHKIT_MAX_XC, 0, 0);
91 input_set_abs_params(dev, ABS_Y, 0, TOUCHKIT_MAX_YC, 0, 0); 91 input_set_abs_params(dev, ABS_Y, 0, TOUCHKIT_MAX_YC, 0, 0);
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index 79146d6ed2..78c3ea75da 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -998,34 +998,36 @@ static const struct input_device_id mousedev_ids[] = {
998 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 998 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
999 INPUT_DEVICE_ID_MATCH_KEYBIT | 999 INPUT_DEVICE_ID_MATCH_KEYBIT |
1000 INPUT_DEVICE_ID_MATCH_RELBIT, 1000 INPUT_DEVICE_ID_MATCH_RELBIT,
1001 .evbit = { BIT(EV_KEY) | BIT(EV_REL) }, 1001 .evbit = { BIT_MASK(EV_KEY) | BIT_MASK(EV_REL) },
1002 .keybit = { [LONG(BTN_LEFT)] = BIT(BTN_LEFT) }, 1002 .keybit = { [BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) },
1003 .relbit = { BIT(REL_X) | BIT(REL_Y) }, 1003 .relbit = { BIT_MASK(REL_X) | BIT_MASK(REL_Y) },
1004 }, /* A mouse like device, at least one button, 1004 }, /* A mouse like device, at least one button,
1005 two relative axes */ 1005 two relative axes */
1006 { 1006 {
1007 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 1007 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
1008 INPUT_DEVICE_ID_MATCH_RELBIT, 1008 INPUT_DEVICE_ID_MATCH_RELBIT,
1009 .evbit = { BIT(EV_KEY) | BIT(EV_REL) }, 1009 .evbit = { BIT_MASK(EV_KEY) | BIT_MASK(EV_REL) },
1010 .relbit = { BIT(REL_WHEEL) }, 1010 .relbit = { BIT_MASK(REL_WHEEL) },
1011 }, /* A separate scrollwheel */ 1011 }, /* A separate scrollwheel */
1012 { 1012 {
1013 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 1013 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
1014 INPUT_DEVICE_ID_MATCH_KEYBIT | 1014 INPUT_DEVICE_ID_MATCH_KEYBIT |
1015 INPUT_DEVICE_ID_MATCH_ABSBIT, 1015 INPUT_DEVICE_ID_MATCH_ABSBIT,
1016 .evbit = { BIT(EV_KEY) | BIT(EV_ABS) }, 1016 .evbit = { BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) },
1017 .keybit = { [LONG(BTN_TOUCH)] = BIT(BTN_TOUCH) }, 1017 .keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
1018 .absbit = { BIT(ABS_X) | BIT(ABS_Y) }, 1018 .absbit = { BIT_MASK(ABS_X) | BIT_MASK(ABS_Y) },
1019 }, /* A tablet like device, at least touch detection, 1019 }, /* A tablet like device, at least touch detection,
1020 two absolute axes */ 1020 two absolute axes */
1021 { 1021 {
1022 .flags = INPUT_DEVICE_ID_MATCH_EVBIT | 1022 .flags = INPUT_DEVICE_ID_MATCH_EVBIT |
1023 INPUT_DEVICE_ID_MATCH_KEYBIT | 1023 INPUT_DEVICE_ID_MATCH_KEYBIT |
1024 INPUT_DEVICE_ID_MATCH_ABSBIT, 1024 INPUT_DEVICE_ID_MATCH_ABSBIT,
1025 .evbit = { BIT(EV_KEY) | BIT(EV_ABS) }, 1025 .evbit = { BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) },
1026 .keybit = { [LONG(BTN_TOOL_FINGER)] = BIT(BTN_TOOL_FINGER) }, 1026 .keybit = { [BIT_WORD(BTN_TOOL_FINGER)] =
1027 .absbit = { BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE) | 1027 BIT_MASK(BTN_TOOL_FINGER) },
1028 BIT(ABS_TOOL_WIDTH) }, 1028 .absbit = { BIT_MASK(ABS_X) | BIT_MASK(ABS_Y) |
1029 BIT_MASK(ABS_PRESSURE) |
1030 BIT_MASK(ABS_TOOL_WIDTH) },
1029 }, /* A touchpad */ 1031 }, /* A touchpad */
1030 1032
1031 { }, /* Terminating entry */ 1033 { }, /* Terminating entry */
diff --git a/drivers/input/tablet/acecad.c b/drivers/input/tablet/acecad.c
index dd2310458c..b973d0ef6d 100644
--- a/drivers/input/tablet/acecad.c
+++ b/drivers/input/tablet/acecad.c
@@ -192,10 +192,14 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_
192 input_dev->open = usb_acecad_open; 192 input_dev->open = usb_acecad_open;
193 input_dev->close = usb_acecad_close; 193 input_dev->close = usb_acecad_close;
194 194
195 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 195 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
196 input_dev->absbit[0] = BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE); 196 input_dev->absbit[0] = BIT_MASK(ABS_X) | BIT_MASK(ABS_Y) |
197 input_dev->keybit[LONG(BTN_LEFT)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); 197 BIT_MASK(ABS_PRESSURE);
198 input_dev->keybit[LONG(BTN_DIGI)] = BIT(BTN_TOOL_PEN) |BIT(BTN_TOUCH) | BIT(BTN_STYLUS) | BIT(BTN_STYLUS2); 198 input_dev->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT) |
199 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE);
200 input_dev->keybit[BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_TOOL_PEN) |
201 BIT_MASK(BTN_TOUCH) | BIT_MASK(BTN_STYLUS) |
202 BIT_MASK(BTN_STYLUS2);
199 203
200 switch (id->driver_info) { 204 switch (id->driver_info) {
201 case 0: 205 case 0:
diff --git a/drivers/input/tablet/gtco.c b/drivers/input/tablet/gtco.c
index b2ca10f2fe..d2c6da2647 100644
--- a/drivers/input/tablet/gtco.c
+++ b/drivers/input/tablet/gtco.c
@@ -573,10 +573,12 @@ static void gtco_setup_caps(struct input_dev *inputdev)
573 struct gtco *device = input_get_drvdata(inputdev); 573 struct gtco *device = input_get_drvdata(inputdev);
574 574
575 /* Which events */ 575 /* Which events */
576 inputdev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_MSC); 576 inputdev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) |
577 BIT_MASK(EV_MSC);
577 578
578 /* Misc event menu block */ 579 /* Misc event menu block */
579 inputdev->mscbit[0] = BIT(MSC_SCAN)|BIT(MSC_SERIAL)|BIT(MSC_RAW) ; 580 inputdev->mscbit[0] = BIT_MASK(MSC_SCAN) | BIT_MASK(MSC_SERIAL) |
581 BIT_MASK(MSC_RAW);
580 582
581 /* Absolute values based on HID report info */ 583 /* Absolute values based on HID report info */
582 input_set_abs_params(inputdev, ABS_X, device->min_X, device->max_X, 584 input_set_abs_params(inputdev, ABS_X, device->min_X, device->max_X,
diff --git a/drivers/input/tablet/kbtab.c b/drivers/input/tablet/kbtab.c
index 91e6d00d4a..1182fc1331 100644
--- a/drivers/input/tablet/kbtab.c
+++ b/drivers/input/tablet/kbtab.c
@@ -153,10 +153,13 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i
153 input_dev->open = kbtab_open; 153 input_dev->open = kbtab_open;
154 input_dev->close = kbtab_close; 154 input_dev->close = kbtab_close;
155 155
156 input_dev->evbit[0] |= BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_MSC); 156 input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) |
157 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); 157 BIT_MASK(EV_MSC);
158 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_PEN) | BIT(BTN_TOUCH); 158 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) |
159 input_dev->mscbit[0] |= BIT(MSC_SERIAL); 159 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE);
160 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_PEN) |
161 BIT_MASK(BTN_TOUCH);
162 input_dev->mscbit[0] |= BIT_MASK(MSC_SERIAL);
160 input_set_abs_params(input_dev, ABS_X, 0, 0x2000, 4, 0); 163 input_set_abs_params(input_dev, ABS_X, 0, 0x2000, 4, 0);
161 input_set_abs_params(input_dev, ABS_Y, 0, 0x1750, 4, 0); 164 input_set_abs_params(input_dev, ABS_Y, 0, 0x1750, 4, 0);
162 input_set_abs_params(input_dev, ABS_PRESSURE, 0, 0xff, 0, 0); 165 input_set_abs_params(input_dev, ABS_PRESSURE, 0, 0xff, 0, 0);
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index 064e123c9b..d64b1ea136 100644
--- a/drivers/input/tablet/wacom_sys.c
+++ b/drivers/input/tablet/wacom_sys.c
@@ -140,48 +140,58 @@ static void wacom_close(struct input_dev *dev)
140 140
141void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 141void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
142{ 142{
143 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_1) | BIT(BTN_5); 143 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_1) |
144 BIT_MASK(BTN_5);
144 input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0); 145 input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
145} 146}
146 147
147void input_dev_g4(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 148void input_dev_g4(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
148{ 149{
149 input_dev->evbit[0] |= BIT(EV_MSC); 150 input_dev->evbit[0] |= BIT_MASK(EV_MSC);
150 input_dev->mscbit[0] |= BIT(MSC_SERIAL); 151 input_dev->mscbit[0] |= BIT_MASK(MSC_SERIAL);
151 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_FINGER); 152 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_FINGER);
152 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_0) | BIT(BTN_4); 153 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_0) |
154 BIT_MASK(BTN_4);
153} 155}
154 156
155void input_dev_g(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 157void input_dev_g(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
156{ 158{
157 input_dev->evbit[0] |= BIT(EV_REL); 159 input_dev->evbit[0] |= BIT_MASK(EV_REL);
158 input_dev->relbit[0] |= BIT(REL_WHEEL); 160 input_dev->relbit[0] |= BIT_MASK(REL_WHEEL);
159 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); 161 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) |
160 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_RUBBER) | BIT(BTN_TOOL_MOUSE) | BIT(BTN_STYLUS2); 162 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE);
163 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER) |
164 BIT_MASK(BTN_TOOL_MOUSE) | BIT_MASK(BTN_STYLUS2);
161 input_set_abs_params(input_dev, ABS_DISTANCE, 0, wacom_wac->features->distance_max, 0, 0); 165 input_set_abs_params(input_dev, ABS_DISTANCE, 0, wacom_wac->features->distance_max, 0, 0);
162} 166}
163 167
164void input_dev_i3s(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 168void input_dev_i3s(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
165{ 169{
166 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_FINGER); 170 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_FINGER);
167 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_0) | BIT(BTN_1) | BIT(BTN_2) | BIT(BTN_3); 171 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_0) |
172 BIT_MASK(BTN_1) | BIT_MASK(BTN_2) | BIT_MASK(BTN_3);
168 input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0); 173 input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0);
169} 174}
170 175
171void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 176void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
172{ 177{
173 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_4) | BIT(BTN_5) | BIT(BTN_6) | BIT(BTN_7); 178 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_4) |
179 BIT_MASK(BTN_5) | BIT_MASK(BTN_6) | BIT_MASK(BTN_7);
174 input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0); 180 input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0);
175} 181}
176 182
177void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 183void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
178{ 184{
179 input_dev->evbit[0] |= BIT(EV_MSC) | BIT(EV_REL); 185 input_dev->evbit[0] |= BIT_MASK(EV_MSC) | BIT_MASK(EV_REL);
180 input_dev->mscbit[0] |= BIT(MSC_SERIAL); 186 input_dev->mscbit[0] |= BIT_MASK(MSC_SERIAL);
181 input_dev->relbit[0] |= BIT(REL_WHEEL); 187 input_dev->relbit[0] |= BIT_MASK(REL_WHEEL);
182 input_dev->keybit[LONG(BTN_LEFT)] |= BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE) | BIT(BTN_SIDE) | BIT(BTN_EXTRA); 188 input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) |
183 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_RUBBER) | BIT(BTN_TOOL_MOUSE) | BIT(BTN_TOOL_BRUSH) 189 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE) |
184 | BIT(BTN_TOOL_PENCIL) | BIT(BTN_TOOL_AIRBRUSH) | BIT(BTN_TOOL_LENS) | BIT(BTN_STYLUS2); 190 BIT_MASK(BTN_SIDE) | BIT_MASK(BTN_EXTRA);
191 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER) |
192 BIT_MASK(BTN_TOOL_MOUSE) | BIT_MASK(BTN_TOOL_BRUSH) |
193 BIT_MASK(BTN_TOOL_PENCIL) | BIT_MASK(BTN_TOOL_AIRBRUSH) |
194 BIT_MASK(BTN_TOOL_LENS) | BIT_MASK(BTN_STYLUS2);
185 input_set_abs_params(input_dev, ABS_DISTANCE, 0, wacom_wac->features->distance_max, 0, 0); 195 input_set_abs_params(input_dev, ABS_DISTANCE, 0, wacom_wac->features->distance_max, 0, 0);
186 input_set_abs_params(input_dev, ABS_WHEEL, 0, 1023, 0, 0); 196 input_set_abs_params(input_dev, ABS_WHEEL, 0, 1023, 0, 0);
187 input_set_abs_params(input_dev, ABS_TILT_X, 0, 127, 0, 0); 197 input_set_abs_params(input_dev, ABS_TILT_X, 0, 127, 0, 0);
@@ -192,12 +202,13 @@ void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
192 202
193void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 203void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
194{ 204{
195 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_STYLUS2) | BIT(BTN_TOOL_RUBBER); 205 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_STYLUS2) |
206 BIT_MASK(BTN_TOOL_RUBBER);
196} 207}
197 208
198void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 209void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac)
199{ 210{
200 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_RUBBER); 211 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER);
201} 212}
202 213
203static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *id) 214static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *id)
@@ -243,12 +254,13 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
243 input_dev->open = wacom_open; 254 input_dev->open = wacom_open;
244 input_dev->close = wacom_close; 255 input_dev->close = wacom_close;
245 256
246 input_dev->evbit[0] |= BIT(EV_KEY) | BIT(EV_ABS); 257 input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
247 input_dev->keybit[LONG(BTN_DIGI)] |= BIT(BTN_TOOL_PEN) | BIT(BTN_TOUCH) | BIT(BTN_STYLUS); 258 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_PEN) |
259 BIT_MASK(BTN_TOUCH) | BIT_MASK(BTN_STYLUS);
248 input_set_abs_params(input_dev, ABS_X, 0, wacom_wac->features->x_max, 4, 0); 260 input_set_abs_params(input_dev, ABS_X, 0, wacom_wac->features->x_max, 4, 0);
249 input_set_abs_params(input_dev, ABS_Y, 0, wacom_wac->features->y_max, 4, 0); 261 input_set_abs_params(input_dev, ABS_Y, 0, wacom_wac->features->y_max, 4, 0);
250 input_set_abs_params(input_dev, ABS_PRESSURE, 0, wacom_wac->features->pressure_max, 0, 0); 262 input_set_abs_params(input_dev, ABS_PRESSURE, 0, wacom_wac->features->pressure_max, 0, 0);
251 input_dev->absbit[LONG(ABS_MISC)] |= BIT(ABS_MISC); 263 input_dev->absbit[BIT_WORD(ABS_MISC)] |= BIT_MASK(ABS_MISC);
252 264
253 wacom_init_input_dev(input_dev, wacom_wac); 265 wacom_init_input_dev(input_dev, wacom_wac);
254 266
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 51ae4fb7d1..f59aecf5ec 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -917,8 +917,8 @@ static int __devinit ads7846_probe(struct spi_device *spi)
917 input_dev->phys = ts->phys; 917 input_dev->phys = ts->phys;
918 input_dev->dev.parent = &spi->dev; 918 input_dev->dev.parent = &spi->dev;
919 919
920 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 920 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
921 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 921 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
922 input_set_abs_params(input_dev, ABS_X, 922 input_set_abs_params(input_dev, ABS_X,
923 pdata->x_min ? : 0, 923 pdata->x_min ? : 0,
924 pdata->x_max ? : MAX_12BIT, 924 pdata->x_max ? : MAX_12BIT,
diff --git a/drivers/input/touchscreen/corgi_ts.c b/drivers/input/touchscreen/corgi_ts.c
index e6a31d1187..b1b2e07bf0 100644
--- a/drivers/input/touchscreen/corgi_ts.c
+++ b/drivers/input/touchscreen/corgi_ts.c
@@ -302,8 +302,8 @@ static int __init corgits_probe(struct platform_device *pdev)
302 input_dev->id.version = 0x0100; 302 input_dev->id.version = 0x0100;
303 input_dev->dev.parent = &pdev->dev; 303 input_dev->dev.parent = &pdev->dev;
304 304
305 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 305 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
306 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 306 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
307 input_set_abs_params(input_dev, ABS_X, X_AXIS_MIN, X_AXIS_MAX, 0, 0); 307 input_set_abs_params(input_dev, ABS_X, X_AXIS_MIN, X_AXIS_MAX, 0, 0);
308 input_set_abs_params(input_dev, ABS_Y, Y_AXIS_MIN, Y_AXIS_MAX, 0, 0); 308 input_set_abs_params(input_dev, ABS_Y, Y_AXIS_MIN, Y_AXIS_MAX, 0, 0);
309 input_set_abs_params(input_dev, ABS_PRESSURE, PRESSURE_MIN, PRESSURE_MAX, 0, 0); 309 input_set_abs_params(input_dev, ABS_PRESSURE, PRESSURE_MIN, PRESSURE_MAX, 0, 0);
diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c
index 557d781719..d20689cdbd 100644
--- a/drivers/input/touchscreen/elo.c
+++ b/drivers/input/touchscreen/elo.c
@@ -320,8 +320,8 @@ static int elo_connect(struct serio *serio, struct serio_driver *drv)
320 input_dev->id.version = 0x0100; 320 input_dev->id.version = 0x0100;
321 input_dev->dev.parent = &serio->dev; 321 input_dev->dev.parent = &serio->dev;
322 322
323 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 323 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
324 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 324 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
325 325
326 serio_set_drvdata(serio, elo); 326 serio_set_drvdata(serio, elo);
327 err = serio_open(serio, drv); 327 err = serio_open(serio, drv);
diff --git a/drivers/input/touchscreen/fujitsu_ts.c b/drivers/input/touchscreen/fujitsu_ts.c
index daf7a4afc9..80b2180035 100644
--- a/drivers/input/touchscreen/fujitsu_ts.c
+++ b/drivers/input/touchscreen/fujitsu_ts.c
@@ -122,8 +122,8 @@ static int fujitsu_connect(struct serio *serio, struct serio_driver *drv)
122 input_dev->id.vendor = SERIO_FUJITSU; 122 input_dev->id.vendor = SERIO_FUJITSU;
123 input_dev->id.product = 0; 123 input_dev->id.product = 0;
124 input_dev->id.version = 0x0100; 124 input_dev->id.version = 0x0100;
125 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 125 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
126 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 126 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
127 127
128 input_set_abs_params(input_dev, ABS_X, 0, 4096, 0, 0); 128 input_set_abs_params(input_dev, ABS_X, 0, 4096, 0, 0);
129 input_set_abs_params(input_dev, ABS_Y, 0, 4096, 0, 0); 129 input_set_abs_params(input_dev, ABS_Y, 0, 4096, 0, 0);
diff --git a/drivers/input/touchscreen/gunze.c b/drivers/input/touchscreen/gunze.c
index 39d602600d..a48a15868c 100644
--- a/drivers/input/touchscreen/gunze.c
+++ b/drivers/input/touchscreen/gunze.c
@@ -137,8 +137,8 @@ static int gunze_connect(struct serio *serio, struct serio_driver *drv)
137 input_dev->id.product = 0x0051; 137 input_dev->id.product = 0x0051;
138 input_dev->id.version = 0x0100; 138 input_dev->id.version = 0x0100;
139 input_dev->dev.parent = &serio->dev; 139 input_dev->dev.parent = &serio->dev;
140 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 140 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
141 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 141 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
142 input_set_abs_params(input_dev, ABS_X, 24, 1000, 0, 0); 142 input_set_abs_params(input_dev, ABS_X, 24, 1000, 0, 0);
143 input_set_abs_params(input_dev, ABS_Y, 24, 1000, 0, 0); 143 input_set_abs_params(input_dev, ABS_Y, 24, 1000, 0, 0);
144 144
diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c
index 09ed7803cb..2ae6c6016a 100644
--- a/drivers/input/touchscreen/h3600_ts_input.c
+++ b/drivers/input/touchscreen/h3600_ts_input.c
@@ -373,8 +373,9 @@ static int h3600ts_connect(struct serio *serio, struct serio_driver *drv)
373 373
374 input_dev->event = h3600ts_event; 374 input_dev->event = h3600ts_event;
375 375
376 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS) | BIT(EV_LED) | BIT(EV_PWR); 376 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) |
377 input_dev->ledbit[0] = BIT(LED_SLEEP); 377 BIT_MASK(EV_LED) | BIT_MASK(EV_PWR);
378 input_dev->ledbit[0] = BIT_MASK(LED_SLEEP);
378 input_set_abs_params(input_dev, ABS_X, 60, 985, 0, 0); 379 input_set_abs_params(input_dev, ABS_X, 60, 985, 0, 0);
379 input_set_abs_params(input_dev, ABS_Y, 35, 1024, 0, 0); 380 input_set_abs_params(input_dev, ABS_Y, 35, 1024, 0, 0);
380 381
diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c
index 1a15475aed..c38d4e0f95 100644
--- a/drivers/input/touchscreen/hp680_ts_input.c
+++ b/drivers/input/touchscreen/hp680_ts_input.c
@@ -81,8 +81,8 @@ static int __init hp680_ts_init(void)
81 if (!hp680_ts_dev) 81 if (!hp680_ts_dev)
82 return -ENOMEM; 82 return -ENOMEM;
83 83
84 hp680_ts_dev->evbit[0] = BIT(EV_ABS) | BIT(EV_KEY); 84 hp680_ts_dev->evbit[0] = BIT_MASK(EV_ABS) | BIT_MASK(EV_KEY);
85 hp680_ts_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 85 hp680_ts_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
86 86
87 input_set_abs_params(hp680_ts_dev, ABS_X, 87 input_set_abs_params(hp680_ts_dev, ABS_X,
88 HP680_TS_ABS_X_MIN, HP680_TS_ABS_X_MAX, 0, 0); 88 HP680_TS_ABS_X_MIN, HP680_TS_ABS_X_MAX, 0, 0);
diff --git a/drivers/input/touchscreen/mk712.c b/drivers/input/touchscreen/mk712.c
index 44140feeff..80a6588687 100644
--- a/drivers/input/touchscreen/mk712.c
+++ b/drivers/input/touchscreen/mk712.c
@@ -186,8 +186,8 @@ static int __init mk712_init(void)
186 mk712_dev->open = mk712_open; 186 mk712_dev->open = mk712_open;
187 mk712_dev->close = mk712_close; 187 mk712_dev->close = mk712_close;
188 188
189 mk712_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 189 mk712_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
190 mk712_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 190 mk712_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
191 input_set_abs_params(mk712_dev, ABS_X, 0, 0xfff, 88, 0); 191 input_set_abs_params(mk712_dev, ABS_X, 0, 0xfff, 88, 0);
192 input_set_abs_params(mk712_dev, ABS_Y, 0, 0xfff, 88, 0); 192 input_set_abs_params(mk712_dev, ABS_Y, 0, 0xfff, 88, 0);
193 193
diff --git a/drivers/input/touchscreen/mtouch.c b/drivers/input/touchscreen/mtouch.c
index 4ec3b1f940..9077228418 100644
--- a/drivers/input/touchscreen/mtouch.c
+++ b/drivers/input/touchscreen/mtouch.c
@@ -151,8 +151,8 @@ static int mtouch_connect(struct serio *serio, struct serio_driver *drv)
151 input_dev->id.product = 0; 151 input_dev->id.product = 0;
152 input_dev->id.version = 0x0100; 152 input_dev->id.version = 0x0100;
153 input_dev->dev.parent = &serio->dev; 153 input_dev->dev.parent = &serio->dev;
154 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 154 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
155 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 155 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
156 input_set_abs_params(mtouch->dev, ABS_X, MTOUCH_MIN_XC, MTOUCH_MAX_XC, 0, 0); 156 input_set_abs_params(mtouch->dev, ABS_X, MTOUCH_MIN_XC, MTOUCH_MAX_XC, 0, 0);
157 input_set_abs_params(mtouch->dev, ABS_Y, MTOUCH_MIN_YC, MTOUCH_MAX_YC, 0, 0); 157 input_set_abs_params(mtouch->dev, ABS_Y, MTOUCH_MIN_YC, MTOUCH_MAX_YC, 0, 0);
158 158
diff --git a/drivers/input/touchscreen/penmount.c b/drivers/input/touchscreen/penmount.c
index f2c0d3c714..c7f9cebebb 100644
--- a/drivers/input/touchscreen/penmount.c
+++ b/drivers/input/touchscreen/penmount.c
@@ -113,8 +113,8 @@ static int pm_connect(struct serio *serio, struct serio_driver *drv)
113 input_dev->id.version = 0x0100; 113 input_dev->id.version = 0x0100;
114 input_dev->dev.parent = &serio->dev; 114 input_dev->dev.parent = &serio->dev;
115 115
116 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 116 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
117 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 117 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
118 input_set_abs_params(pm->dev, ABS_X, 0, 0x3ff, 0, 0); 118 input_set_abs_params(pm->dev, ABS_X, 0, 0x3ff, 0, 0);
119 input_set_abs_params(pm->dev, ABS_Y, 0, 0x3ff, 0, 0); 119 input_set_abs_params(pm->dev, ABS_Y, 0, 0x3ff, 0, 0);
120 120
diff --git a/drivers/input/touchscreen/touchright.c b/drivers/input/touchscreen/touchright.c
index 3def7bb1df..3a5c142c2a 100644
--- a/drivers/input/touchscreen/touchright.c
+++ b/drivers/input/touchscreen/touchright.c
@@ -125,8 +125,8 @@ static int tr_connect(struct serio *serio, struct serio_driver *drv)
125 input_dev->id.product = 0; 125 input_dev->id.product = 0;
126 input_dev->id.version = 0x0100; 126 input_dev->id.version = 0x0100;
127 input_dev->dev.parent = &serio->dev; 127 input_dev->dev.parent = &serio->dev;
128 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 128 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
129 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 129 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
130 input_set_abs_params(tr->dev, ABS_X, TR_MIN_XC, TR_MAX_XC, 0, 0); 130 input_set_abs_params(tr->dev, ABS_X, TR_MIN_XC, TR_MAX_XC, 0, 0);
131 input_set_abs_params(tr->dev, ABS_Y, TR_MIN_YC, TR_MAX_YC, 0, 0); 131 input_set_abs_params(tr->dev, ABS_Y, TR_MIN_YC, TR_MAX_YC, 0, 0);
132 132
diff --git a/drivers/input/touchscreen/touchwin.c b/drivers/input/touchscreen/touchwin.c
index ac4bdcf186..763a656a59 100644
--- a/drivers/input/touchscreen/touchwin.c
+++ b/drivers/input/touchscreen/touchwin.c
@@ -132,8 +132,8 @@ static int tw_connect(struct serio *serio, struct serio_driver *drv)
132 input_dev->id.product = 0; 132 input_dev->id.product = 0;
133 input_dev->id.version = 0x0100; 133 input_dev->id.version = 0x0100;
134 input_dev->dev.parent = &serio->dev; 134 input_dev->dev.parent = &serio->dev;
135 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 135 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
136 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 136 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
137 input_set_abs_params(tw->dev, ABS_X, TW_MIN_XC, TW_MAX_XC, 0, 0); 137 input_set_abs_params(tw->dev, ABS_X, TW_MIN_XC, TW_MAX_XC, 0, 0);
138 input_set_abs_params(tw->dev, ABS_Y, TW_MIN_YC, TW_MAX_YC, 0, 0); 138 input_set_abs_params(tw->dev, ABS_Y, TW_MIN_YC, TW_MAX_YC, 0, 0);
139 139
diff --git a/drivers/input/touchscreen/ucb1400_ts.c b/drivers/input/touchscreen/ucb1400_ts.c
index 89373b01d8..7549939b95 100644
--- a/drivers/input/touchscreen/ucb1400_ts.c
+++ b/drivers/input/touchscreen/ucb1400_ts.c
@@ -517,7 +517,7 @@ static int ucb1400_ts_probe(struct device *dev)
517 idev->id.product = id; 517 idev->id.product = id;
518 idev->open = ucb1400_ts_open; 518 idev->open = ucb1400_ts_open;
519 idev->close = ucb1400_ts_close; 519 idev->close = ucb1400_ts_close;
520 idev->evbit[0] = BIT(EV_ABS); 520 idev->evbit[0] = BIT_MASK(EV_ABS);
521 521
522 ucb1400_adc_enable(ucb); 522 ucb1400_adc_enable(ucb);
523 x_res = ucb1400_ts_read_xres(ucb); 523 x_res = ucb1400_ts_read_xres(ucb);
diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
index 9fb3d5c309..5f34b78d5d 100644
--- a/drivers/input/touchscreen/usbtouchscreen.c
+++ b/drivers/input/touchscreen/usbtouchscreen.c
@@ -868,8 +868,8 @@ static int usbtouch_probe(struct usb_interface *intf,
868 input_dev->open = usbtouch_open; 868 input_dev->open = usbtouch_open;
869 input_dev->close = usbtouch_close; 869 input_dev->close = usbtouch_close;
870 870
871 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 871 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
872 input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); 872 input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
873 input_set_abs_params(input_dev, ABS_X, type->min_xc, type->max_xc, 0, 0); 873 input_set_abs_params(input_dev, ABS_X, type->min_xc, type->max_xc, 0, 0);
874 input_set_abs_params(input_dev, ABS_Y, type->min_yc, type->max_yc, 0, 0); 874 input_set_abs_params(input_dev, ABS_Y, type->min_yc, type->max_yc, 0, 0);
875 if (type->max_press) 875 if (type->max_press)
diff --git a/drivers/isdn/hardware/avm/b1dma.c b/drivers/isdn/hardware/avm/b1dma.c
index 428872b653..669f6f6744 100644
--- a/drivers/isdn/hardware/avm/b1dma.c
+++ b/drivers/isdn/hardware/avm/b1dma.c
@@ -486,11 +486,13 @@ static void b1dma_handle_rx(avmcard *card)
486 card->name); 486 card->name);
487 } else { 487 } else {
488 memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen); 488 memcpy(skb_put(skb, MsgLen), card->msgbuf, MsgLen);
489 if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF) 489 if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_CONF) {
490 spin_lock(&card->lock);
490 capilib_data_b3_conf(&cinfo->ncci_head, ApplId, 491 capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
491 CAPIMSG_NCCI(skb->data), 492 CAPIMSG_NCCI(skb->data),
492 CAPIMSG_MSGID(skb->data)); 493 CAPIMSG_MSGID(skb->data));
493 494 spin_unlock(&card->lock);
495 }
494 capi_ctr_handle_message(ctrl, ApplId, skb); 496 capi_ctr_handle_message(ctrl, ApplId, skb);
495 } 497 }
496 break; 498 break;
@@ -500,9 +502,9 @@ static void b1dma_handle_rx(avmcard *card)
500 ApplId = _get_word(&p); 502 ApplId = _get_word(&p);
501 NCCI = _get_word(&p); 503 NCCI = _get_word(&p);
502 WindowSize = _get_word(&p); 504 WindowSize = _get_word(&p);
503 505 spin_lock(&card->lock);
504 capilib_new_ncci(&cinfo->ncci_head, ApplId, NCCI, WindowSize); 506 capilib_new_ncci(&cinfo->ncci_head, ApplId, NCCI, WindowSize);
505 507 spin_unlock(&card->lock);
506 break; 508 break;
507 509
508 case RECEIVE_FREE_NCCI: 510 case RECEIVE_FREE_NCCI:
@@ -510,9 +512,11 @@ static void b1dma_handle_rx(avmcard *card)
510 ApplId = _get_word(&p); 512 ApplId = _get_word(&p);
511 NCCI = _get_word(&p); 513 NCCI = _get_word(&p);
512 514
513 if (NCCI != 0xffffffff) 515 if (NCCI != 0xffffffff) {
516 spin_lock(&card->lock);
514 capilib_free_ncci(&cinfo->ncci_head, ApplId, NCCI); 517 capilib_free_ncci(&cinfo->ncci_head, ApplId, NCCI);
515 518 spin_unlock(&card->lock);
519 }
516 break; 520 break;
517 521
518 case RECEIVE_START: 522 case RECEIVE_START:
@@ -751,10 +755,10 @@ void b1dma_reset_ctr(struct capi_ctr *ctrl)
751 755
752 spin_lock_irqsave(&card->lock, flags); 756 spin_lock_irqsave(&card->lock, flags);
753 b1dma_reset(card); 757 b1dma_reset(card);
754 spin_unlock_irqrestore(&card->lock, flags);
755 758
756 memset(cinfo->version, 0, sizeof(cinfo->version)); 759 memset(cinfo->version, 0, sizeof(cinfo->version));
757 capilib_release(&cinfo->ncci_head); 760 capilib_release(&cinfo->ncci_head);
761 spin_unlock_irqrestore(&card->lock, flags);
758 capi_ctr_reseted(ctrl); 762 capi_ctr_reseted(ctrl);
759} 763}
760 764
@@ -803,8 +807,11 @@ void b1dma_release_appl(struct capi_ctr *ctrl, u16 appl)
803 avmcard *card = cinfo->card; 807 avmcard *card = cinfo->card;
804 struct sk_buff *skb; 808 struct sk_buff *skb;
805 void *p; 809 void *p;
810 unsigned long flags;
806 811
812 spin_lock_irqsave(&card->lock, flags);
807 capilib_release_appl(&cinfo->ncci_head, appl); 813 capilib_release_appl(&cinfo->ncci_head, appl);
814 spin_unlock_irqrestore(&card->lock, flags);
808 815
809 skb = alloc_skb(7, GFP_ATOMIC); 816 skb = alloc_skb(7, GFP_ATOMIC);
810 if (!skb) { 817 if (!skb) {
@@ -832,10 +839,13 @@ u16 b1dma_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)
832 u16 retval = CAPI_NOERROR; 839 u16 retval = CAPI_NOERROR;
833 840
834 if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_REQ) { 841 if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_REQ) {
842 unsigned long flags;
843 spin_lock_irqsave(&card->lock, flags);
835 retval = capilib_data_b3_req(&cinfo->ncci_head, 844 retval = capilib_data_b3_req(&cinfo->ncci_head,
836 CAPIMSG_APPID(skb->data), 845 CAPIMSG_APPID(skb->data),
837 CAPIMSG_NCCI(skb->data), 846 CAPIMSG_NCCI(skb->data),
838 CAPIMSG_MSGID(skb->data)); 847 CAPIMSG_MSGID(skb->data));
848 spin_unlock_irqrestore(&card->lock, flags);
839 } 849 }
840 if (retval == CAPI_NOERROR) 850 if (retval == CAPI_NOERROR)
841 b1dma_queue_tx(card, skb); 851 b1dma_queue_tx(card, skb);
diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/isdn/hardware/avm/c4.c
index 8710cf6214..4bbbbe6880 100644
--- a/drivers/isdn/hardware/avm/c4.c
+++ b/drivers/isdn/hardware/avm/c4.c
@@ -678,7 +678,9 @@ static irqreturn_t c4_handle_interrupt(avmcard *card)
678 for (i=0; i < card->nr_controllers; i++) { 678 for (i=0; i < card->nr_controllers; i++) {
679 avmctrl_info *cinfo = &card->ctrlinfo[i]; 679 avmctrl_info *cinfo = &card->ctrlinfo[i];
680 memset(cinfo->version, 0, sizeof(cinfo->version)); 680 memset(cinfo->version, 0, sizeof(cinfo->version));
681 spin_lock_irqsave(&card->lock, flags);
681 capilib_release(&cinfo->ncci_head); 682 capilib_release(&cinfo->ncci_head);
683 spin_unlock_irqrestore(&card->lock, flags);
682 capi_ctr_reseted(&cinfo->capi_ctrl); 684 capi_ctr_reseted(&cinfo->capi_ctrl);
683 } 685 }
684 card->nlogcontr = 0; 686 card->nlogcontr = 0;
diff --git a/drivers/isdn/hardware/avm/t1isa.c b/drivers/isdn/hardware/avm/t1isa.c
index c925020fe9..6130724e46 100644
--- a/drivers/isdn/hardware/avm/t1isa.c
+++ b/drivers/isdn/hardware/avm/t1isa.c
@@ -180,8 +180,8 @@ static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)
180 180
181 ApplId = (unsigned) b1_get_word(card->port); 181 ApplId = (unsigned) b1_get_word(card->port);
182 MsgLen = t1_get_slice(card->port, card->msgbuf); 182 MsgLen = t1_get_slice(card->port, card->msgbuf);
183 spin_unlock_irqrestore(&card->lock, flags);
184 if (!(skb = alloc_skb(MsgLen, GFP_ATOMIC))) { 183 if (!(skb = alloc_skb(MsgLen, GFP_ATOMIC))) {
184 spin_unlock_irqrestore(&card->lock, flags);
185 printk(KERN_ERR "%s: incoming packet dropped\n", 185 printk(KERN_ERR "%s: incoming packet dropped\n",
186 card->name); 186 card->name);
187 } else { 187 } else {
@@ -190,7 +190,7 @@ static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)
190 capilib_data_b3_conf(&cinfo->ncci_head, ApplId, 190 capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
191 CAPIMSG_NCCI(skb->data), 191 CAPIMSG_NCCI(skb->data),
192 CAPIMSG_MSGID(skb->data)); 192 CAPIMSG_MSGID(skb->data));
193 193 spin_unlock_irqrestore(&card->lock, flags);
194 capi_ctr_handle_message(ctrl, ApplId, skb); 194 capi_ctr_handle_message(ctrl, ApplId, skb);
195 } 195 }
196 break; 196 break;
@@ -200,21 +200,17 @@ static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)
200 ApplId = b1_get_word(card->port); 200 ApplId = b1_get_word(card->port);
201 NCCI = b1_get_word(card->port); 201 NCCI = b1_get_word(card->port);
202 WindowSize = b1_get_word(card->port); 202 WindowSize = b1_get_word(card->port);
203 spin_unlock_irqrestore(&card->lock, flags);
204
205 capilib_new_ncci(&cinfo->ncci_head, ApplId, NCCI, WindowSize); 203 capilib_new_ncci(&cinfo->ncci_head, ApplId, NCCI, WindowSize);
206 204 spin_unlock_irqrestore(&card->lock, flags);
207 break; 205 break;
208 206
209 case RECEIVE_FREE_NCCI: 207 case RECEIVE_FREE_NCCI:
210 208
211 ApplId = b1_get_word(card->port); 209 ApplId = b1_get_word(card->port);
212 NCCI = b1_get_word(card->port); 210 NCCI = b1_get_word(card->port);
213 spin_unlock_irqrestore(&card->lock, flags);
214
215 if (NCCI != 0xffffffff) 211 if (NCCI != 0xffffffff)
216 capilib_free_ncci(&cinfo->ncci_head, ApplId, NCCI); 212 capilib_free_ncci(&cinfo->ncci_head, ApplId, NCCI);
217 213 spin_unlock_irqrestore(&card->lock, flags);
218 break; 214 break;
219 215
220 case RECEIVE_START: 216 case RECEIVE_START:
@@ -333,13 +329,16 @@ static void t1isa_reset_ctr(struct capi_ctr *ctrl)
333 avmctrl_info *cinfo = (avmctrl_info *)(ctrl->driverdata); 329 avmctrl_info *cinfo = (avmctrl_info *)(ctrl->driverdata);
334 avmcard *card = cinfo->card; 330 avmcard *card = cinfo->card;
335 unsigned int port = card->port; 331 unsigned int port = card->port;
332 unsigned long flags;
336 333
337 t1_disable_irq(port); 334 t1_disable_irq(port);
338 b1_reset(port); 335 b1_reset(port);
339 b1_reset(port); 336 b1_reset(port);
340 337
341 memset(cinfo->version, 0, sizeof(cinfo->version)); 338 memset(cinfo->version, 0, sizeof(cinfo->version));
339 spin_lock_irqsave(&card->lock, flags);
342 capilib_release(&cinfo->ncci_head); 340 capilib_release(&cinfo->ncci_head);
341 spin_unlock_irqrestore(&card->lock, flags);
343 capi_ctr_reseted(ctrl); 342 capi_ctr_reseted(ctrl);
344} 343}
345 344
@@ -466,29 +465,26 @@ static u16 t1isa_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)
466 u8 subcmd = CAPIMSG_SUBCOMMAND(skb->data); 465 u8 subcmd = CAPIMSG_SUBCOMMAND(skb->data);
467 u16 dlen, retval; 466 u16 dlen, retval;
468 467
468 spin_lock_irqsave(&card->lock, flags);
469 if (CAPICMD(cmd, subcmd) == CAPI_DATA_B3_REQ) { 469 if (CAPICMD(cmd, subcmd) == CAPI_DATA_B3_REQ) {
470 retval = capilib_data_b3_req(&cinfo->ncci_head, 470 retval = capilib_data_b3_req(&cinfo->ncci_head,
471 CAPIMSG_APPID(skb->data), 471 CAPIMSG_APPID(skb->data),
472 CAPIMSG_NCCI(skb->data), 472 CAPIMSG_NCCI(skb->data),
473 CAPIMSG_MSGID(skb->data)); 473 CAPIMSG_MSGID(skb->data));
474 if (retval != CAPI_NOERROR) 474 if (retval != CAPI_NOERROR) {
475 spin_unlock_irqrestore(&card->lock, flags);
475 return retval; 476 return retval;
476 477 }
477 dlen = CAPIMSG_DATALEN(skb->data); 478 dlen = CAPIMSG_DATALEN(skb->data);
478 479
479 spin_lock_irqsave(&card->lock, flags);
480 b1_put_byte(port, SEND_DATA_B3_REQ); 480 b1_put_byte(port, SEND_DATA_B3_REQ);
481 t1_put_slice(port, skb->data, len); 481 t1_put_slice(port, skb->data, len);
482 t1_put_slice(port, skb->data + len, dlen); 482 t1_put_slice(port, skb->data + len, dlen);
483 spin_unlock_irqrestore(&card->lock, flags);
484 } else { 483 } else {
485
486 spin_lock_irqsave(&card->lock, flags);
487 b1_put_byte(port, SEND_MESSAGE); 484 b1_put_byte(port, SEND_MESSAGE);
488 t1_put_slice(port, skb->data, len); 485 t1_put_slice(port, skb->data, len);
489 spin_unlock_irqrestore(&card->lock, flags);
490 } 486 }
491 487 spin_unlock_irqrestore(&card->lock, flags);
492 dev_kfree_skb_any(skb); 488 dev_kfree_skb_any(skb);
493 return CAPI_NOERROR; 489 return CAPI_NOERROR;
494} 490}
diff --git a/drivers/isdn/sc/debug.h b/drivers/isdn/sc/debug.h
deleted file mode 100644
index e9db96ede4..0000000000
--- a/drivers/isdn/sc/debug.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/* $Id: debug.h,v 1.2.8.1 2001/09/23 22:24:59 kai Exp $
2 *
3 * Copyright (C) 1996 SpellCaster Telecommunications Inc.
4 *
5 * This software may be used and distributed according to the terms
6 * of the GNU General Public License, incorporated herein by reference.
7 *
8 * For more information, please contact gpl-info@spellcast.com or write:
9 *
10 * SpellCaster Telecommunications Inc.
11 * 5621 Finch Avenue East, Unit #3
12 * Scarborough, Ontario Canada
13 * M1B 2T9
14 * +1 (416) 297-8565
15 * +1 (416) 297-6433 Facsimile
16 */
17
18#define REQUEST_IRQ(a,b,c,d,e) request_irq(a,b,c,d,e)
19#define FREE_IRQ(a,b) free_irq(a,b)
diff --git a/drivers/isdn/sc/includes.h b/drivers/isdn/sc/includes.h
index 5286e0c810..4766e5b773 100644
--- a/drivers/isdn/sc/includes.h
+++ b/drivers/isdn/sc/includes.h
@@ -14,4 +14,3 @@
14#include <linux/timer.h> 14#include <linux/timer.h>
15#include <linux/wait.h> 15#include <linux/wait.h>
16#include <linux/isdnif.h> 16#include <linux/isdnif.h>
17#include "debug.h"
diff --git a/drivers/isdn/sc/init.c b/drivers/isdn/sc/init.c
index 0bf76344a0..d09c854cfa 100644
--- a/drivers/isdn/sc/init.c
+++ b/drivers/isdn/sc/init.c
@@ -404,7 +404,7 @@ static void __exit sc_exit(void)
404 /* 404 /*
405 * Release the IRQ 405 * Release the IRQ
406 */ 406 */
407 FREE_IRQ(sc_adapter[i]->interrupt, NULL); 407 free_irq(sc_adapter[i]->interrupt, NULL);
408 408
409 /* 409 /*
410 * Reset for a clean start 410 * Reset for a clean start
diff --git a/drivers/macintosh/adbhid.c b/drivers/macintosh/adbhid.c
index 2766e4fc4e..883da72b53 100644
--- a/drivers/macintosh/adbhid.c
+++ b/drivers/macintosh/adbhid.c
@@ -791,8 +791,10 @@ adbhid_input_register(int id, int default_id, int original_handler_id,
791 if (hid->keycode[i]) 791 if (hid->keycode[i])
792 set_bit(hid->keycode[i], input_dev->keybit); 792 set_bit(hid->keycode[i], input_dev->keybit);
793 793
794 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP); 794 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_LED) |
795 input_dev->ledbit[0] = BIT(LED_SCROLLL) | BIT(LED_CAPSL) | BIT(LED_NUML); 795 BIT_MASK(EV_REP);
796 input_dev->ledbit[0] = BIT_MASK(LED_SCROLLL) |
797 BIT_MASK(LED_CAPSL) | BIT_MASK(LED_NUML);
796 input_dev->event = adbhid_kbd_event; 798 input_dev->event = adbhid_kbd_event;
797 input_dev->keycodemax = KEY_FN; 799 input_dev->keycodemax = KEY_FN;
798 input_dev->keycodesize = sizeof(hid->keycode[0]); 800 input_dev->keycodesize = sizeof(hid->keycode[0]);
@@ -801,16 +803,18 @@ adbhid_input_register(int id, int default_id, int original_handler_id,
801 case ADB_MOUSE: 803 case ADB_MOUSE:
802 sprintf(hid->name, "ADB mouse"); 804 sprintf(hid->name, "ADB mouse");
803 805
804 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 806 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
805 input_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 807 input_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
806 input_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y); 808 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
809 input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
807 break; 810 break;
808 811
809 case ADB_MISC: 812 case ADB_MISC:
810 switch (original_handler_id) { 813 switch (original_handler_id) {
811 case 0x02: /* Adjustable keyboard button device */ 814 case 0x02: /* Adjustable keyboard button device */
812 sprintf(hid->name, "ADB adjustable keyboard buttons"); 815 sprintf(hid->name, "ADB adjustable keyboard buttons");
813 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 816 input_dev->evbit[0] = BIT_MASK(EV_KEY) |
817 BIT_MASK(EV_REP);
814 set_bit(KEY_SOUND, input_dev->keybit); 818 set_bit(KEY_SOUND, input_dev->keybit);
815 set_bit(KEY_MUTE, input_dev->keybit); 819 set_bit(KEY_MUTE, input_dev->keybit);
816 set_bit(KEY_VOLUMEUP, input_dev->keybit); 820 set_bit(KEY_VOLUMEUP, input_dev->keybit);
@@ -818,7 +822,8 @@ adbhid_input_register(int id, int default_id, int original_handler_id,
818 break; 822 break;
819 case 0x1f: /* Powerbook button device */ 823 case 0x1f: /* Powerbook button device */
820 sprintf(hid->name, "ADB Powerbook buttons"); 824 sprintf(hid->name, "ADB Powerbook buttons");
821 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 825 input_dev->evbit[0] = BIT_MASK(EV_KEY) |
826 BIT_MASK(EV_REP);
822 set_bit(KEY_MUTE, input_dev->keybit); 827 set_bit(KEY_MUTE, input_dev->keybit);
823 set_bit(KEY_VOLUMEUP, input_dev->keybit); 828 set_bit(KEY_VOLUMEUP, input_dev->keybit);
824 set_bit(KEY_VOLUMEDOWN, input_dev->keybit); 829 set_bit(KEY_VOLUMEDOWN, input_dev->keybit);
diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c
index 33dee3a773..89302309da 100644
--- a/drivers/macintosh/mac_hid.c
+++ b/drivers/macintosh/mac_hid.c
@@ -117,9 +117,10 @@ static int emumousebtn_input_register(void)
117 emumousebtn->id.product = 0x0001; 117 emumousebtn->id.product = 0x0001;
118 emumousebtn->id.version = 0x0100; 118 emumousebtn->id.version = 0x0100;
119 119
120 emumousebtn->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 120 emumousebtn->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
121 emumousebtn->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_MIDDLE) | BIT(BTN_RIGHT); 121 emumousebtn->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
122 emumousebtn->relbit[0] = BIT(REL_X) | BIT(REL_Y); 122 BIT_MASK(BTN_MIDDLE) | BIT_MASK(BTN_RIGHT);
123 emumousebtn->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
123 124
124 ret = input_register_device(emumousebtn); 125 ret = input_register_device(emumousebtn);
125 if (ret) 126 if (ret)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index c059ae6f37..808cd95494 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -4717,7 +4717,7 @@ mdk_thread_t *md_register_thread(void (*run) (mddev_t *), mddev_t *mddev,
4717 4717
4718void md_unregister_thread(mdk_thread_t *thread) 4718void md_unregister_thread(mdk_thread_t *thread)
4719{ 4719{
4720 dprintk("interrupting MD-thread pid %d\n", thread->tsk->pid); 4720 dprintk("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
4721 4721
4722 kthread_stop(thread->tsk); 4722 kthread_stop(thread->tsk);
4723 kfree(thread); 4723 kfree(thread);
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c
index 5a12b56795..154a7ce7cb 100644
--- a/drivers/media/dvb/cinergyT2/cinergyT2.c
+++ b/drivers/media/dvb/cinergyT2/cinergyT2.c
@@ -820,7 +820,7 @@ static int cinergyt2_register_rc(struct cinergyt2 *cinergyt2)
820 820
821 input_dev->name = DRIVER_NAME " remote control"; 821 input_dev->name = DRIVER_NAME " remote control";
822 input_dev->phys = cinergyt2->phys; 822 input_dev->phys = cinergyt2->phys;
823 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); 823 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP);
824 for (i = 0; i < ARRAY_SIZE(rc_keys); i += 3) 824 for (i = 0; i < ARRAY_SIZE(rc_keys); i += 3)
825 set_bit(rc_keys[i + 2], input_dev->keybit); 825 set_bit(rc_keys[i + 2], input_dev->keybit);
826 input_dev->keycodesize = 0; 826 input_dev->keycodesize = 0;
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
index 7b9f35bfb4..c0c2c22ddd 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
@@ -106,7 +106,7 @@ int dvb_usb_remote_init(struct dvb_usb_device *d)
106 if (!input_dev) 106 if (!input_dev)
107 return -ENOMEM; 107 return -ENOMEM;
108 108
109 input_dev->evbit[0] = BIT(EV_KEY); 109 input_dev->evbit[0] = BIT_MASK(EV_KEY);
110 input_dev->name = "IR-receiver inside an USB DVB receiver"; 110 input_dev->name = "IR-receiver inside an USB DVB receiver";
111 input_dev->phys = d->rc_phys; 111 input_dev->phys = d->rc_phys;
112 usb_to_input_id(d->udev, &input_dev->id); 112 usb_to_input_id(d->udev, &input_dev->id);
diff --git a/drivers/media/dvb/ttpci/av7110_ir.c b/drivers/media/dvb/ttpci/av7110_ir.c
index 5d19c402da..a283e1de83 100644
--- a/drivers/media/dvb/ttpci/av7110_ir.c
+++ b/drivers/media/dvb/ttpci/av7110_ir.c
@@ -27,7 +27,7 @@
27#include <linux/module.h> 27#include <linux/module.h>
28#include <linux/proc_fs.h> 28#include <linux/proc_fs.h>
29#include <linux/kernel.h> 29#include <linux/kernel.h>
30#include <asm/bitops.h> 30#include <linux/bitops.h>
31 31
32#include "av7110.h" 32#include "av7110.h"
33#include "av7110_hw.h" 33#include "av7110_hw.h"
diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
index 5e691fd799..1ec981d98b 100644
--- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
@@ -1198,7 +1198,7 @@ static int ttusb_init_rc( struct ttusb_dec *dec)
1198 1198
1199 input_dev->name = "ttusb_dec remote control"; 1199 input_dev->name = "ttusb_dec remote control";
1200 input_dev->phys = dec->rc_phys; 1200 input_dev->phys = dec->rc_phys;
1201 input_dev->evbit[0] = BIT(EV_KEY); 1201 input_dev->evbit[0] = BIT_MASK(EV_KEY);
1202 input_dev->keycodesize = sizeof(u16); 1202 input_dev->keycodesize = sizeof(u16);
1203 input_dev->keycodemax = 0x1a; 1203 input_dev->keycodemax = 0x1a;
1204 input_dev->keycode = rc_keys; 1204 input_dev->keycode = rc_keys;
diff --git a/drivers/media/video/usbvideo/konicawc.c b/drivers/media/video/usbvideo/konicawc.c
index 491505d6fd..3e93f80587 100644
--- a/drivers/media/video/usbvideo/konicawc.c
+++ b/drivers/media/video/usbvideo/konicawc.c
@@ -238,8 +238,8 @@ static void konicawc_register_input(struct konicawc *cam, struct usb_device *dev
238 usb_to_input_id(dev, &input_dev->id); 238 usb_to_input_id(dev, &input_dev->id);
239 input_dev->dev.parent = &dev->dev; 239 input_dev->dev.parent = &dev->dev;
240 240
241 input_dev->evbit[0] = BIT(EV_KEY); 241 input_dev->evbit[0] = BIT_MASK(EV_KEY);
242 input_dev->keybit[LONG(BTN_0)] = BIT(BTN_0); 242 input_dev->keybit[BIT_WORD(BTN_0)] = BIT_MASK(BTN_0);
243 243
244 input_dev->private = cam; 244 input_dev->private = cam;
245 245
diff --git a/drivers/media/video/usbvideo/quickcam_messenger.c b/drivers/media/video/usbvideo/quickcam_messenger.c
index dd1a6d6bbc..d847273eeb 100644
--- a/drivers/media/video/usbvideo/quickcam_messenger.c
+++ b/drivers/media/video/usbvideo/quickcam_messenger.c
@@ -102,8 +102,8 @@ static void qcm_register_input(struct qcm *cam, struct usb_device *dev)
102 usb_to_input_id(dev, &input_dev->id); 102 usb_to_input_id(dev, &input_dev->id);
103 input_dev->dev.parent = &dev->dev; 103 input_dev->dev.parent = &dev->dev;
104 104
105 input_dev->evbit[0] = BIT(EV_KEY); 105 input_dev->evbit[0] = BIT_MASK(EV_KEY);
106 input_dev->keybit[LONG(BTN_0)] = BIT(BTN_0); 106 input_dev->keybit[BIT_WORD(BTN_0)] = BIT_MASK(BTN_0);
107 107
108 input_dev->private = cam; 108 input_dev->private = cam;
109 109
diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c
index 1c14fa2bd4..419e5af785 100644
--- a/drivers/media/video/zoran_driver.c
+++ b/drivers/media/video/zoran_driver.c
@@ -1285,7 +1285,7 @@ zoran_open (struct inode *inode,
1285 } 1285 }
1286 1286
1287 dprintk(1, KERN_INFO "%s: zoran_open(%s, pid=[%d]), users(-)=%d\n", 1287 dprintk(1, KERN_INFO "%s: zoran_open(%s, pid=[%d]), users(-)=%d\n",
1288 ZR_DEVNAME(zr), current->comm, current->pid, zr->user); 1288 ZR_DEVNAME(zr), current->comm, task_pid_nr(current), zr->user);
1289 1289
1290 /* now, create the open()-specific file_ops struct */ 1290 /* now, create the open()-specific file_ops struct */
1291 fh = kzalloc(sizeof(struct zoran_fh), GFP_KERNEL); 1291 fh = kzalloc(sizeof(struct zoran_fh), GFP_KERNEL);
@@ -1358,7 +1358,7 @@ zoran_close (struct inode *inode,
1358 struct zoran *zr = fh->zr; 1358 struct zoran *zr = fh->zr;
1359 1359
1360 dprintk(1, KERN_INFO "%s: zoran_close(%s, pid=[%d]), users(+)=%d\n", 1360 dprintk(1, KERN_INFO "%s: zoran_close(%s, pid=[%d]), users(+)=%d\n",
1361 ZR_DEVNAME(zr), current->comm, current->pid, zr->user); 1361 ZR_DEVNAME(zr), current->comm, task_pid_nr(current), zr->user);
1362 1362
1363 /* kernel locks (fs/device.c), so don't do that ourselves 1363 /* kernel locks (fs/device.c), so don't do that ourselves
1364 * (prevents deadlocks) */ 1364 * (prevents deadlocks) */
diff --git a/drivers/misc/ibmasm/remote.c b/drivers/misc/ibmasm/remote.c
index 0550ce075f..1d9defb1a1 100644
--- a/drivers/misc/ibmasm/remote.c
+++ b/drivers/misc/ibmasm/remote.c
@@ -226,9 +226,9 @@ int ibmasm_init_remote_input_dev(struct service_processor *sp)
226 mouse_dev->id.product = pdev->device; 226 mouse_dev->id.product = pdev->device;
227 mouse_dev->id.version = 1; 227 mouse_dev->id.version = 1;
228 mouse_dev->dev.parent = sp->dev; 228 mouse_dev->dev.parent = sp->dev;
229 mouse_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); 229 mouse_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
230 mouse_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | 230 mouse_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
231 BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); 231 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE);
232 set_bit(BTN_TOUCH, mouse_dev->keybit); 232 set_bit(BTN_TOUCH, mouse_dev->keybit);
233 mouse_dev->name = "ibmasm RSA I remote mouse"; 233 mouse_dev->name = "ibmasm RSA I remote mouse";
234 input_set_abs_params(mouse_dev, ABS_X, 0, MOUSE_X_MAX, 0, 0); 234 input_set_abs_params(mouse_dev, ABS_X, 0, MOUSE_X_MAX, 0, 0);
@@ -239,7 +239,7 @@ int ibmasm_init_remote_input_dev(struct service_processor *sp)
239 keybd_dev->id.product = pdev->device; 239 keybd_dev->id.product = pdev->device;
240 keybd_dev->id.version = 2; 240 keybd_dev->id.version = 2;
241 keybd_dev->dev.parent = sp->dev; 241 keybd_dev->dev.parent = sp->dev;
242 keybd_dev->evbit[0] = BIT(EV_KEY); 242 keybd_dev->evbit[0] = BIT_MASK(EV_KEY);
243 keybd_dev->name = "ibmasm RSA I remote keyboard"; 243 keybd_dev->name = "ibmasm RSA I remote keyboard";
244 244
245 for (i = 0; i < XLATE_SIZE; i++) { 245 for (i = 0; i < XLATE_SIZE; i++) {
diff --git a/drivers/misc/phantom.c b/drivers/misc/phantom.c
index 5108b7c576..cd221fd0fb 100644
--- a/drivers/misc/phantom.c
+++ b/drivers/misc/phantom.c
@@ -9,6 +9,7 @@
9 * You need an userspace library to cooperate with this driver. It (and other 9 * You need an userspace library to cooperate with this driver. It (and other
10 * info) may be obtained here: 10 * info) may be obtained here:
11 * http://www.fi.muni.cz/~xslaby/phantom.html 11 * http://www.fi.muni.cz/~xslaby/phantom.html
12 * or alternatively, you might use OpenHaptics provided by Sensable.
12 */ 13 */
13 14
14#include <linux/kernel.h> 15#include <linux/kernel.h>
@@ -24,13 +25,14 @@
24#include <asm/atomic.h> 25#include <asm/atomic.h>
25#include <asm/io.h> 26#include <asm/io.h>
26 27
27#define PHANTOM_VERSION "n0.9.5" 28#define PHANTOM_VERSION "n0.9.7"
28 29
29#define PHANTOM_MAX_MINORS 8 30#define PHANTOM_MAX_MINORS 8
30 31
31#define PHN_IRQCTL 0x4c /* irq control in caddr space */ 32#define PHN_IRQCTL 0x4c /* irq control in caddr space */
32 33
33#define PHB_RUNNING 1 34#define PHB_RUNNING 1
35#define PHB_NOT_OH 2
34 36
35static struct class *phantom_class; 37static struct class *phantom_class;
36static int phantom_major; 38static int phantom_major;
@@ -47,7 +49,11 @@ struct phantom_device {
47 struct cdev cdev; 49 struct cdev cdev;
48 50
49 struct mutex open_lock; 51 struct mutex open_lock;
50 spinlock_t ioctl_lock; 52 spinlock_t regs_lock;
53
54 /* used in NOT_OH mode */
55 struct phm_regs oregs;
56 u32 ctl_reg;
51}; 57};
52 58
53static unsigned char phantom_devices[PHANTOM_MAX_MINORS]; 59static unsigned char phantom_devices[PHANTOM_MAX_MINORS];
@@ -82,6 +88,7 @@ static long phantom_ioctl(struct file *file, unsigned int cmd,
82 struct phm_regs rs; 88 struct phm_regs rs;
83 struct phm_reg r; 89 struct phm_reg r;
84 void __user *argp = (void __user *)arg; 90 void __user *argp = (void __user *)arg;
91 unsigned long flags;
85 unsigned int i; 92 unsigned int i;
86 93
87 if (_IOC_TYPE(cmd) != PH_IOC_MAGIC || 94 if (_IOC_TYPE(cmd) != PH_IOC_MAGIC ||
@@ -96,32 +103,45 @@ static long phantom_ioctl(struct file *file, unsigned int cmd,
96 if (r.reg > 7) 103 if (r.reg > 7)
97 return -EINVAL; 104 return -EINVAL;
98 105
99 spin_lock(&dev->ioctl_lock); 106 spin_lock_irqsave(&dev->regs_lock, flags);
100 if (r.reg == PHN_CONTROL && (r.value & PHN_CTL_IRQ) && 107 if (r.reg == PHN_CONTROL && (r.value & PHN_CTL_IRQ) &&
101 phantom_status(dev, dev->status | PHB_RUNNING)){ 108 phantom_status(dev, dev->status | PHB_RUNNING)){
102 spin_unlock(&dev->ioctl_lock); 109 spin_unlock_irqrestore(&dev->regs_lock, flags);
103 return -ENODEV; 110 return -ENODEV;
104 } 111 }
105 112
106 pr_debug("phantom: writing %x to %u\n", r.value, r.reg); 113 pr_debug("phantom: writing %x to %u\n", r.value, r.reg);
114
115 /* preserve amp bit (don't allow to change it when in NOT_OH) */
116 if (r.reg == PHN_CONTROL && (dev->status & PHB_NOT_OH)) {
117 r.value &= ~PHN_CTL_AMP;
118 r.value |= dev->ctl_reg & PHN_CTL_AMP;
119 dev->ctl_reg = r.value;
120 }
121
107 iowrite32(r.value, dev->iaddr + r.reg); 122 iowrite32(r.value, dev->iaddr + r.reg);
108 ioread32(dev->iaddr); /* PCI posting */ 123 ioread32(dev->iaddr); /* PCI posting */
109 124
110 if (r.reg == PHN_CONTROL && !(r.value & PHN_CTL_IRQ)) 125 if (r.reg == PHN_CONTROL && !(r.value & PHN_CTL_IRQ))
111 phantom_status(dev, dev->status & ~PHB_RUNNING); 126 phantom_status(dev, dev->status & ~PHB_RUNNING);
112 spin_unlock(&dev->ioctl_lock); 127 spin_unlock_irqrestore(&dev->regs_lock, flags);
113 break; 128 break;
114 case PHN_SET_REGS: 129 case PHN_SET_REGS:
115 if (copy_from_user(&rs, argp, sizeof(rs))) 130 if (copy_from_user(&rs, argp, sizeof(rs)))
116 return -EFAULT; 131 return -EFAULT;
117 132
118 pr_debug("phantom: SRS %u regs %x\n", rs.count, rs.mask); 133 pr_debug("phantom: SRS %u regs %x\n", rs.count, rs.mask);
119 spin_lock(&dev->ioctl_lock); 134 spin_lock_irqsave(&dev->regs_lock, flags);
120 for (i = 0; i < min(rs.count, 8U); i++) 135 if (dev->status & PHB_NOT_OH)
121 if ((1 << i) & rs.mask) 136 memcpy(&dev->oregs, &rs, sizeof(rs));
122 iowrite32(rs.values[i], dev->oaddr + i); 137 else {
123 ioread32(dev->iaddr); /* PCI posting */ 138 u32 m = min(rs.count, 8U);
124 spin_unlock(&dev->ioctl_lock); 139 for (i = 0; i < m; i++)
140 if (rs.mask & BIT(i))
141 iowrite32(rs.values[i], dev->oaddr + i);
142 ioread32(dev->iaddr); /* PCI posting */
143 }
144 spin_unlock_irqrestore(&dev->regs_lock, flags);
125 break; 145 break;
126 case PHN_GET_REG: 146 case PHN_GET_REG:
127 if (copy_from_user(&r, argp, sizeof(r))) 147 if (copy_from_user(&r, argp, sizeof(r)))
@@ -135,20 +155,35 @@ static long phantom_ioctl(struct file *file, unsigned int cmd,
135 if (copy_to_user(argp, &r, sizeof(r))) 155 if (copy_to_user(argp, &r, sizeof(r)))
136 return -EFAULT; 156 return -EFAULT;
137 break; 157 break;
138 case PHN_GET_REGS: 158 case PHN_GET_REGS: {
159 u32 m;
160
139 if (copy_from_user(&rs, argp, sizeof(rs))) 161 if (copy_from_user(&rs, argp, sizeof(rs)))
140 return -EFAULT; 162 return -EFAULT;
141 163
164 m = min(rs.count, 8U);
165
142 pr_debug("phantom: GRS %u regs %x\n", rs.count, rs.mask); 166 pr_debug("phantom: GRS %u regs %x\n", rs.count, rs.mask);
143 spin_lock(&dev->ioctl_lock); 167 spin_lock_irqsave(&dev->regs_lock, flags);
144 for (i = 0; i < min(rs.count, 8U); i++) 168 for (i = 0; i < m; i++)
145 if ((1 << i) & rs.mask) 169 if (rs.mask & BIT(i))
146 rs.values[i] = ioread32(dev->iaddr + i); 170 rs.values[i] = ioread32(dev->iaddr + i);
147 spin_unlock(&dev->ioctl_lock); 171 spin_unlock_irqrestore(&dev->regs_lock, flags);
148 172
149 if (copy_to_user(argp, &rs, sizeof(rs))) 173 if (copy_to_user(argp, &rs, sizeof(rs)))
150 return -EFAULT; 174 return -EFAULT;
151 break; 175 break;
176 } case PHN_NOT_OH:
177 spin_lock_irqsave(&dev->regs_lock, flags);
178 if (dev->status & PHB_RUNNING) {
179 printk(KERN_ERR "phantom: you need to set NOT_OH "
180 "before you start the device!\n");
181 spin_unlock_irqrestore(&dev->regs_lock, flags);
182 return -EINVAL;
183 }
184 dev->status |= PHB_NOT_OH;
185 spin_unlock_irqrestore(&dev->regs_lock, flags);
186 break;
152 default: 187 default:
153 return -ENOTTY; 188 return -ENOTTY;
154 } 189 }
@@ -171,8 +206,11 @@ static int phantom_open(struct inode *inode, struct file *file)
171 return -EINVAL; 206 return -EINVAL;
172 } 207 }
173 208
209 WARN_ON(dev->status & PHB_NOT_OH);
210
174 file->private_data = dev; 211 file->private_data = dev;
175 212
213 atomic_set(&dev->counter, 0);
176 dev->opened++; 214 dev->opened++;
177 mutex_unlock(&dev->open_lock); 215 mutex_unlock(&dev->open_lock);
178 216
@@ -187,6 +225,7 @@ static int phantom_release(struct inode *inode, struct file *file)
187 225
188 dev->opened = 0; 226 dev->opened = 0;
189 phantom_status(dev, dev->status & ~PHB_RUNNING); 227 phantom_status(dev, dev->status & ~PHB_RUNNING);
228 dev->status &= ~PHB_NOT_OH;
190 229
191 mutex_unlock(&dev->open_lock); 230 mutex_unlock(&dev->open_lock);
192 231
@@ -220,12 +259,32 @@ static struct file_operations phantom_file_ops = {
220static irqreturn_t phantom_isr(int irq, void *data) 259static irqreturn_t phantom_isr(int irq, void *data)
221{ 260{
222 struct phantom_device *dev = data; 261 struct phantom_device *dev = data;
262 unsigned int i;
263 u32 ctl;
223 264
224 if (!(ioread32(dev->iaddr + PHN_CONTROL) & PHN_CTL_IRQ)) 265 spin_lock(&dev->regs_lock);
266 ctl = ioread32(dev->iaddr + PHN_CONTROL);
267 if (!(ctl & PHN_CTL_IRQ)) {
268 spin_unlock(&dev->regs_lock);
225 return IRQ_NONE; 269 return IRQ_NONE;
270 }
226 271
227 iowrite32(0, dev->iaddr); 272 iowrite32(0, dev->iaddr);
228 iowrite32(0xc0, dev->iaddr); 273 iowrite32(0xc0, dev->iaddr);
274
275 if (dev->status & PHB_NOT_OH) {
276 struct phm_regs *r = &dev->oregs;
277 u32 m = min(r->count, 8U);
278
279 for (i = 0; i < m; i++)
280 if (r->mask & BIT(i))
281 iowrite32(r->values[i], dev->oaddr + i);
282
283 dev->ctl_reg ^= PHN_CTL_AMP;
284 iowrite32(dev->ctl_reg, dev->iaddr + PHN_CONTROL);
285 }
286 spin_unlock(&dev->regs_lock);
287
229 ioread32(dev->iaddr); /* PCI posting */ 288 ioread32(dev->iaddr); /* PCI posting */
230 289
231 atomic_inc(&dev->counter); 290 atomic_inc(&dev->counter);
@@ -297,7 +356,7 @@ static int __devinit phantom_probe(struct pci_dev *pdev,
297 } 356 }
298 357
299 mutex_init(&pht->open_lock); 358 mutex_init(&pht->open_lock);
300 spin_lock_init(&pht->ioctl_lock); 359 spin_lock_init(&pht->regs_lock);
301 init_waitqueue_head(&pht->wait); 360 init_waitqueue_head(&pht->wait);
302 cdev_init(&pht->cdev, &phantom_file_ops); 361 cdev_init(&pht->cdev, &phantom_file_ops);
303 pht->cdev.owner = THIS_MODULE; 362 pht->cdev.owner = THIS_MODULE;
@@ -378,6 +437,8 @@ static int phantom_suspend(struct pci_dev *pdev, pm_message_t state)
378 iowrite32(0, dev->caddr + PHN_IRQCTL); 437 iowrite32(0, dev->caddr + PHN_IRQCTL);
379 ioread32(dev->caddr + PHN_IRQCTL); /* PCI posting */ 438 ioread32(dev->caddr + PHN_IRQCTL); /* PCI posting */
380 439
440 synchronize_irq(pdev->irq);
441
381 return 0; 442 return 0;
382} 443}
383 444
diff --git a/drivers/misc/sony-laptop.c b/drivers/misc/sony-laptop.c
index e73a71f04b..86da96becd 100644
--- a/drivers/misc/sony-laptop.c
+++ b/drivers/misc/sony-laptop.c
@@ -411,9 +411,9 @@ static int sony_laptop_setup_input(void)
411 jog_dev->id.bustype = BUS_ISA; 411 jog_dev->id.bustype = BUS_ISA;
412 jog_dev->id.vendor = PCI_VENDOR_ID_SONY; 412 jog_dev->id.vendor = PCI_VENDOR_ID_SONY;
413 413
414 jog_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL); 414 jog_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
415 jog_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_MIDDLE); 415 jog_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_MIDDLE);
416 jog_dev->relbit[0] = BIT(REL_WHEEL); 416 jog_dev->relbit[0] = BIT_MASK(REL_WHEEL);
417 417
418 error = input_register_device(jog_dev); 418 error = input_register_device(jog_dev);
419 if (error) 419 if (error)
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c
index a4f1bf3316..6330c8cc72 100644
--- a/drivers/mtd/ubi/wl.c
+++ b/drivers/mtd/ubi/wl.c
@@ -1309,7 +1309,7 @@ static int ubi_thread(void *u)
1309 struct ubi_device *ubi = u; 1309 struct ubi_device *ubi = u;
1310 1310
1311 ubi_msg("background thread \"%s\" started, PID %d", 1311 ubi_msg("background thread \"%s\" started, PID %d",
1312 ubi->bgt_name, current->pid); 1312 ubi->bgt_name, task_pid_nr(current));
1313 1313
1314 set_freezable(); 1314 set_freezable();
1315 for (;;) { 1315 for (;;) {
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 96cee4badd..da767d3d5a 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -26,7 +26,7 @@
26#include <linux/etherdevice.h> 26#include <linux/etherdevice.h>
27#include <linux/skbuff.h> 27#include <linux/skbuff.h>
28#include <linux/dma-mapping.h> 28#include <linux/dma-mapping.h>
29#include <asm/bitops.h> 29#include <linux/bitops.h>
30#include <asm/io.h> 30#include <asm/io.h>
31#include <asm/irq.h> 31#include <asm/irq.h>
32#include <linux/delay.h> 32#include <linux/delay.h>
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
index 7a045a3705..084f0292ea 100644
--- a/drivers/net/bonding/bond_3ad.c
+++ b/drivers/net/bonding/bond_3ad.c
@@ -126,7 +126,7 @@ static struct aggregator *__get_active_agg(struct aggregator *aggregator);
126 126
127// ================= main 802.3ad protocol functions ================== 127// ================= main 802.3ad protocol functions ==================
128static int ad_lacpdu_send(struct port *port); 128static int ad_lacpdu_send(struct port *port);
129static int ad_marker_send(struct port *port, struct marker *marker); 129static int ad_marker_send(struct port *port, struct bond_marker *marker);
130static void ad_mux_machine(struct port *port); 130static void ad_mux_machine(struct port *port);
131static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port); 131static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port);
132static void ad_tx_machine(struct port *port); 132static void ad_tx_machine(struct port *port);
@@ -139,8 +139,8 @@ static void ad_initialize_port(struct port *port, int lacp_fast);
139static void ad_initialize_lacpdu(struct lacpdu *Lacpdu); 139static void ad_initialize_lacpdu(struct lacpdu *Lacpdu);
140static void ad_enable_collecting_distributing(struct port *port); 140static void ad_enable_collecting_distributing(struct port *port);
141static void ad_disable_collecting_distributing(struct port *port); 141static void ad_disable_collecting_distributing(struct port *port);
142static void ad_marker_info_received(struct marker *marker_info, struct port *port); 142static void ad_marker_info_received(struct bond_marker *marker_info, struct port *port);
143static void ad_marker_response_received(struct marker *marker, struct port *port); 143static void ad_marker_response_received(struct bond_marker *marker, struct port *port);
144 144
145 145
146///////////////////////////////////////////////////////////////////////////////// 146/////////////////////////////////////////////////////////////////////////////////
@@ -889,12 +889,12 @@ static int ad_lacpdu_send(struct port *port)
889 * Returns: 0 on success 889 * Returns: 0 on success
890 * < 0 on error 890 * < 0 on error
891 */ 891 */
892static int ad_marker_send(struct port *port, struct marker *marker) 892static int ad_marker_send(struct port *port, struct bond_marker *marker)
893{ 893{
894 struct slave *slave = port->slave; 894 struct slave *slave = port->slave;
895 struct sk_buff *skb; 895 struct sk_buff *skb;
896 struct marker_header *marker_header; 896 struct bond_marker_header *marker_header;
897 int length = sizeof(struct marker_header); 897 int length = sizeof(struct bond_marker_header);
898 struct mac_addr lacpdu_multicast_address = AD_MULTICAST_LACPDU_ADDR; 898 struct mac_addr lacpdu_multicast_address = AD_MULTICAST_LACPDU_ADDR;
899 899
900 skb = dev_alloc_skb(length + 16); 900 skb = dev_alloc_skb(length + 16);
@@ -909,7 +909,7 @@ static int ad_marker_send(struct port *port, struct marker *marker)
909 skb->network_header = skb->mac_header + ETH_HLEN; 909 skb->network_header = skb->mac_header + ETH_HLEN;
910 skb->protocol = PKT_TYPE_LACPDU; 910 skb->protocol = PKT_TYPE_LACPDU;
911 911
912 marker_header = (struct marker_header *)skb_put(skb, length); 912 marker_header = (struct bond_marker_header *)skb_put(skb, length);
913 913
914 marker_header->ad_header.destination_address = lacpdu_multicast_address; 914 marker_header->ad_header.destination_address = lacpdu_multicast_address;
915 /* Note: source addres is set to be the member's PERMANENT address, because we use it 915 /* Note: source addres is set to be the member's PERMANENT address, because we use it
@@ -1709,7 +1709,7 @@ static void ad_disable_collecting_distributing(struct port *port)
1709 */ 1709 */
1710static void ad_marker_info_send(struct port *port) 1710static void ad_marker_info_send(struct port *port)
1711{ 1711{
1712 struct marker marker; 1712 struct bond_marker marker;
1713 u16 index; 1713 u16 index;
1714 1714
1715 // fill the marker PDU with the appropriate values 1715 // fill the marker PDU with the appropriate values
@@ -1742,13 +1742,14 @@ static void ad_marker_info_send(struct port *port)
1742 * @port: the port we're looking at 1742 * @port: the port we're looking at
1743 * 1743 *
1744 */ 1744 */
1745static void ad_marker_info_received(struct marker *marker_info,struct port *port) 1745static void ad_marker_info_received(struct bond_marker *marker_info,
1746 struct port *port)
1746{ 1747{
1747 struct marker marker; 1748 struct bond_marker marker;
1748 1749
1749 // copy the received marker data to the response marker 1750 // copy the received marker data to the response marker
1750 //marker = *marker_info; 1751 //marker = *marker_info;
1751 memcpy(&marker, marker_info, sizeof(struct marker)); 1752 memcpy(&marker, marker_info, sizeof(struct bond_marker));
1752 // change the marker subtype to marker response 1753 // change the marker subtype to marker response
1753 marker.tlv_type=AD_MARKER_RESPONSE_SUBTYPE; 1754 marker.tlv_type=AD_MARKER_RESPONSE_SUBTYPE;
1754 // send the marker response 1755 // send the marker response
@@ -1767,7 +1768,8 @@ static void ad_marker_info_received(struct marker *marker_info,struct port *port
1767 * response for marker PDU's, in this stage, but only to respond to marker 1768 * response for marker PDU's, in this stage, but only to respond to marker
1768 * information. 1769 * information.
1769 */ 1770 */
1770static void ad_marker_response_received(struct marker *marker, struct port *port) 1771static void ad_marker_response_received(struct bond_marker *marker,
1772 struct port *port)
1771{ 1773{
1772 marker=NULL; // just to satisfy the compiler 1774 marker=NULL; // just to satisfy the compiler
1773 port=NULL; // just to satisfy the compiler 1775 port=NULL; // just to satisfy the compiler
@@ -2164,15 +2166,15 @@ static void bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave, u
2164 case AD_TYPE_MARKER: 2166 case AD_TYPE_MARKER:
2165 // No need to convert fields to Little Endian since we don't use the marker's fields. 2167 // No need to convert fields to Little Endian since we don't use the marker's fields.
2166 2168
2167 switch (((struct marker *)lacpdu)->tlv_type) { 2169 switch (((struct bond_marker *)lacpdu)->tlv_type) {
2168 case AD_MARKER_INFORMATION_SUBTYPE: 2170 case AD_MARKER_INFORMATION_SUBTYPE:
2169 dprintk("Received Marker Information on port %d\n", port->actor_port_number); 2171 dprintk("Received Marker Information on port %d\n", port->actor_port_number);
2170 ad_marker_info_received((struct marker *)lacpdu, port); 2172 ad_marker_info_received((struct bond_marker *)lacpdu, port);
2171 break; 2173 break;
2172 2174
2173 case AD_MARKER_RESPONSE_SUBTYPE: 2175 case AD_MARKER_RESPONSE_SUBTYPE:
2174 dprintk("Received Marker Response on port %d\n", port->actor_port_number); 2176 dprintk("Received Marker Response on port %d\n", port->actor_port_number);
2175 ad_marker_response_received((struct marker *)lacpdu, port); 2177 ad_marker_response_received((struct bond_marker *)lacpdu, port);
2176 break; 2178 break;
2177 2179
2178 default: 2180 default:
diff --git a/drivers/net/bonding/bond_3ad.h b/drivers/net/bonding/bond_3ad.h
index 862952fa6f..f165572649 100644
--- a/drivers/net/bonding/bond_3ad.h
+++ b/drivers/net/bonding/bond_3ad.h
@@ -92,7 +92,7 @@ typedef enum {
92typedef enum { 92typedef enum {
93 AD_MARKER_INFORMATION_SUBTYPE = 1, // marker imformation subtype 93 AD_MARKER_INFORMATION_SUBTYPE = 1, // marker imformation subtype
94 AD_MARKER_RESPONSE_SUBTYPE // marker response subtype 94 AD_MARKER_RESPONSE_SUBTYPE // marker response subtype
95} marker_subtype_t; 95} bond_marker_subtype_t;
96 96
97// timers types(43.4.9 in the 802.3ad standard) 97// timers types(43.4.9 in the 802.3ad standard)
98typedef enum { 98typedef enum {
@@ -148,7 +148,7 @@ typedef struct lacpdu_header {
148} lacpdu_header_t; 148} lacpdu_header_t;
149 149
150// Marker Protocol Data Unit(PDU) structure(43.5.3.2 in the 802.3ad standard) 150// Marker Protocol Data Unit(PDU) structure(43.5.3.2 in the 802.3ad standard)
151typedef struct marker { 151typedef struct bond_marker {
152 u8 subtype; // = 0x02 (marker PDU) 152 u8 subtype; // = 0x02 (marker PDU)
153 u8 version_number; // = 0x01 153 u8 version_number; // = 0x01
154 u8 tlv_type; // = 0x01 (marker information) 154 u8 tlv_type; // = 0x01 (marker information)
@@ -161,12 +161,12 @@ typedef struct marker {
161 u8 tlv_type_terminator; // = 0x00 161 u8 tlv_type_terminator; // = 0x00
162 u8 terminator_length; // = 0x00 162 u8 terminator_length; // = 0x00
163 u8 reserved_90[90]; // = 0 163 u8 reserved_90[90]; // = 0
164} marker_t; 164} bond_marker_t;
165 165
166typedef struct marker_header { 166typedef struct bond_marker_header {
167 struct ad_header ad_header; 167 struct ad_header ad_header;
168 struct marker marker; 168 struct bond_marker marker;
169} marker_header_t; 169} bond_marker_header_t;
170 170
171#pragma pack() 171#pragma pack()
172 172
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index 314b2f68f7..edd6828f0a 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -234,6 +234,7 @@
234#include <linux/spinlock.h> 234#include <linux/spinlock.h>
235#include <linux/errno.h> 235#include <linux/errno.h>
236#include <linux/init.h> 236#include <linux/init.h>
237#include <linux/bitops.h>
237 238
238#include <linux/if.h> 239#include <linux/if.h>
239#include <linux/mii.h> 240#include <linux/mii.h>
@@ -247,7 +248,6 @@
247#include <asm/irq.h> 248#include <asm/irq.h>
248#include <asm/dma.h> 249#include <asm/dma.h>
249#include <asm/system.h> 250#include <asm/system.h>
250#include <asm/bitops.h>
251#include <asm/ethernet.h> 251#include <asm/ethernet.h>
252#include <asm/cache.h> 252#include <asm/cache.h>
253 253
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h
index 0442617033..2a3df14585 100644
--- a/drivers/net/cxgb3/adapter.h
+++ b/drivers/net/cxgb3/adapter.h
@@ -41,9 +41,9 @@
41#include <linux/timer.h> 41#include <linux/timer.h>
42#include <linux/cache.h> 42#include <linux/cache.h>
43#include <linux/mutex.h> 43#include <linux/mutex.h>
44#include <linux/bitops.h>
44#include "t3cdev.h" 45#include "t3cdev.h"
45#include <asm/semaphore.h> 46#include <asm/semaphore.h>
46#include <asm/bitops.h>
47#include <asm/io.h> 47#include <asm/io.h>
48 48
49typedef irqreturn_t(*intr_handler_t) (int, void *); 49typedef irqreturn_t(*intr_handler_t) (int, void *);
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c
index 243fc6b354..e3dd8b1369 100644
--- a/drivers/net/eth16i.c
+++ b/drivers/net/eth16i.c
@@ -170,7 +170,6 @@ static char *version =
170 170
171 171
172/* Few macros */ 172/* Few macros */
173#define BIT(a) ( (1 << (a)) )
174#define BITSET(ioaddr, bnum) ((outb(((inb(ioaddr)) | (bnum)), ioaddr))) 173#define BITSET(ioaddr, bnum) ((outb(((inb(ioaddr)) | (bnum)), ioaddr)))
175#define BITCLR(ioaddr, bnum) ((outb(((inb(ioaddr)) & (~(bnum))), ioaddr))) 174#define BITCLR(ioaddr, bnum) ((outb(((inb(ioaddr)) & (~(bnum))), ioaddr)))
176 175
diff --git a/drivers/net/hamradio/dmascc.c b/drivers/net/hamradio/dmascc.c
index bc02e46948..11b83dae00 100644
--- a/drivers/net/hamradio/dmascc.c
+++ b/drivers/net/hamradio/dmascc.c
@@ -21,6 +21,7 @@
21 21
22 22
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/bitops.h>
24#include <linux/delay.h> 25#include <linux/delay.h>
25#include <linux/errno.h> 26#include <linux/errno.h>
26#include <linux/if_arp.h> 27#include <linux/if_arp.h>
@@ -35,7 +36,6 @@
35#include <linux/sockios.h> 36#include <linux/sockios.h>
36#include <linux/workqueue.h> 37#include <linux/workqueue.h>
37#include <asm/atomic.h> 38#include <asm/atomic.h>
38#include <asm/bitops.h>
39#include <asm/dma.h> 39#include <asm/dma.h>
40#include <asm/io.h> 40#include <asm/io.h>
41#include <asm/irq.h> 41#include <asm/irq.h>
diff --git a/drivers/net/mac89x0.c b/drivers/net/mac89x0.c
index 30854f0949..a19b5958ce 100644
--- a/drivers/net/mac89x0.c
+++ b/drivers/net/mac89x0.c
@@ -99,9 +99,9 @@ static char *version =
99#include <linux/etherdevice.h> 99#include <linux/etherdevice.h>
100#include <linux/skbuff.h> 100#include <linux/skbuff.h>
101#include <linux/delay.h> 101#include <linux/delay.h>
102#include <linux/bitops.h>
102 103
103#include <asm/system.h> 104#include <asm/system.h>
104#include <asm/bitops.h>
105#include <asm/io.h> 105#include <asm/io.h>
106#include <asm/hwtest.h> 106#include <asm/hwtest.h>
107#include <asm/macints.h> 107#include <asm/macints.h>
diff --git a/drivers/net/meth.h b/drivers/net/meth.h
index ea3b8fc86d..a78dc1ca8c 100644
--- a/drivers/net/meth.h
+++ b/drivers/net/meth.h
@@ -28,9 +28,6 @@
28#define RX_BUFFER_OFFSET (sizeof(rx_status_vector)+2) /* staus vector + 2 bytes of padding */ 28#define RX_BUFFER_OFFSET (sizeof(rx_status_vector)+2) /* staus vector + 2 bytes of padding */
29#define RX_BUCKET_SIZE 256 29#define RX_BUCKET_SIZE 256
30 30
31#undef BIT
32#define BIT(x) (1UL << (x))
33
34/* For more detailed explanations of what each field menas, 31/* For more detailed explanations of what each field menas,
35 see Nick's great comments to #defines below (or docs, if 32 see Nick's great comments to #defines below (or docs, if
36 you are lucky enough toget hold of them :)*/ 33 you are lucky enough toget hold of them :)*/
diff --git a/drivers/net/s2io-regs.h b/drivers/net/s2io-regs.h
index aef66e2d98..01f08d726a 100644
--- a/drivers/net/s2io-regs.h
+++ b/drivers/net/s2io-regs.h
@@ -20,17 +20,17 @@ struct XENA_dev_config {
20 20
21/* General Control-Status Registers */ 21/* General Control-Status Registers */
22 u64 general_int_status; 22 u64 general_int_status;
23#define GEN_INTR_TXPIC BIT(0) 23#define GEN_INTR_TXPIC s2BIT(0)
24#define GEN_INTR_TXDMA BIT(1) 24#define GEN_INTR_TXDMA s2BIT(1)
25#define GEN_INTR_TXMAC BIT(2) 25#define GEN_INTR_TXMAC s2BIT(2)
26#define GEN_INTR_TXXGXS BIT(3) 26#define GEN_INTR_TXXGXS s2BIT(3)
27#define GEN_INTR_TXTRAFFIC BIT(8) 27#define GEN_INTR_TXTRAFFIC s2BIT(8)
28#define GEN_INTR_RXPIC BIT(32) 28#define GEN_INTR_RXPIC s2BIT(32)
29#define GEN_INTR_RXDMA BIT(33) 29#define GEN_INTR_RXDMA s2BIT(33)
30#define GEN_INTR_RXMAC BIT(34) 30#define GEN_INTR_RXMAC s2BIT(34)
31#define GEN_INTR_MC BIT(35) 31#define GEN_INTR_MC s2BIT(35)
32#define GEN_INTR_RXXGXS BIT(36) 32#define GEN_INTR_RXXGXS s2BIT(36)
33#define GEN_INTR_RXTRAFFIC BIT(40) 33#define GEN_INTR_RXTRAFFIC s2BIT(40)
34#define GEN_ERROR_INTR GEN_INTR_TXPIC | GEN_INTR_RXPIC | \ 34#define GEN_ERROR_INTR GEN_INTR_TXPIC | GEN_INTR_RXPIC | \
35 GEN_INTR_TXDMA | GEN_INTR_RXDMA | \ 35 GEN_INTR_TXDMA | GEN_INTR_RXDMA | \
36 GEN_INTR_TXMAC | GEN_INTR_RXMAC | \ 36 GEN_INTR_TXMAC | GEN_INTR_RXMAC | \
@@ -54,36 +54,36 @@ struct XENA_dev_config {
54 54
55 55
56 u64 adapter_status; 56 u64 adapter_status;
57#define ADAPTER_STATUS_TDMA_READY BIT(0) 57#define ADAPTER_STATUS_TDMA_READY s2BIT(0)
58#define ADAPTER_STATUS_RDMA_READY BIT(1) 58#define ADAPTER_STATUS_RDMA_READY s2BIT(1)
59#define ADAPTER_STATUS_PFC_READY BIT(2) 59#define ADAPTER_STATUS_PFC_READY s2BIT(2)
60#define ADAPTER_STATUS_TMAC_BUF_EMPTY BIT(3) 60#define ADAPTER_STATUS_TMAC_BUF_EMPTY s2BIT(3)
61#define ADAPTER_STATUS_PIC_QUIESCENT BIT(5) 61#define ADAPTER_STATUS_PIC_QUIESCENT s2BIT(5)
62#define ADAPTER_STATUS_RMAC_REMOTE_FAULT BIT(6) 62#define ADAPTER_STATUS_RMAC_REMOTE_FAULT s2BIT(6)
63#define ADAPTER_STATUS_RMAC_LOCAL_FAULT BIT(7) 63#define ADAPTER_STATUS_RMAC_LOCAL_FAULT s2BIT(7)
64#define ADAPTER_STATUS_RMAC_PCC_IDLE vBIT(0xFF,8,8) 64#define ADAPTER_STATUS_RMAC_PCC_IDLE vBIT(0xFF,8,8)
65#define ADAPTER_STATUS_RMAC_PCC_FOUR_IDLE vBIT(0x0F,8,8) 65#define ADAPTER_STATUS_RMAC_PCC_FOUR_IDLE vBIT(0x0F,8,8)
66#define ADAPTER_STATUS_RC_PRC_QUIESCENT vBIT(0xFF,16,8) 66#define ADAPTER_STATUS_RC_PRC_QUIESCENT vBIT(0xFF,16,8)
67#define ADAPTER_STATUS_MC_DRAM_READY BIT(24) 67#define ADAPTER_STATUS_MC_DRAM_READY s2BIT(24)
68#define ADAPTER_STATUS_MC_QUEUES_READY BIT(25) 68#define ADAPTER_STATUS_MC_QUEUES_READY s2BIT(25)
69#define ADAPTER_STATUS_M_PLL_LOCK BIT(30) 69#define ADAPTER_STATUS_M_PLL_LOCK s2BIT(30)
70#define ADAPTER_STATUS_P_PLL_LOCK BIT(31) 70#define ADAPTER_STATUS_P_PLL_LOCK s2BIT(31)
71 71
72 u64 adapter_control; 72 u64 adapter_control;
73#define ADAPTER_CNTL_EN BIT(7) 73#define ADAPTER_CNTL_EN s2BIT(7)
74#define ADAPTER_EOI_TX_ON BIT(15) 74#define ADAPTER_EOI_TX_ON s2BIT(15)
75#define ADAPTER_LED_ON BIT(23) 75#define ADAPTER_LED_ON s2BIT(23)
76#define ADAPTER_UDPI(val) vBIT(val,36,4) 76#define ADAPTER_UDPI(val) vBIT(val,36,4)
77#define ADAPTER_WAIT_INT BIT(48) 77#define ADAPTER_WAIT_INT s2BIT(48)
78#define ADAPTER_ECC_EN BIT(55) 78#define ADAPTER_ECC_EN s2BIT(55)
79 79
80 u64 serr_source; 80 u64 serr_source;
81#define SERR_SOURCE_PIC BIT(0) 81#define SERR_SOURCE_PIC s2BIT(0)
82#define SERR_SOURCE_TXDMA BIT(1) 82#define SERR_SOURCE_TXDMA s2BIT(1)
83#define SERR_SOURCE_RXDMA BIT(2) 83#define SERR_SOURCE_RXDMA s2BIT(2)
84#define SERR_SOURCE_MAC BIT(3) 84#define SERR_SOURCE_MAC s2BIT(3)
85#define SERR_SOURCE_MC BIT(4) 85#define SERR_SOURCE_MC s2BIT(4)
86#define SERR_SOURCE_XGXS BIT(5) 86#define SERR_SOURCE_XGXS s2BIT(5)
87#define SERR_SOURCE_ANY (SERR_SOURCE_PIC | \ 87#define SERR_SOURCE_ANY (SERR_SOURCE_PIC | \
88 SERR_SOURCE_TXDMA | \ 88 SERR_SOURCE_TXDMA | \
89 SERR_SOURCE_RXDMA | \ 89 SERR_SOURCE_RXDMA | \
@@ -101,41 +101,41 @@ struct XENA_dev_config {
101#define PCI_MODE_PCIX_M2_66 0x5 101#define PCI_MODE_PCIX_M2_66 0x5
102#define PCI_MODE_PCIX_M2_100 0x6 102#define PCI_MODE_PCIX_M2_100 0x6
103#define PCI_MODE_PCIX_M2_133 0x7 103#define PCI_MODE_PCIX_M2_133 0x7
104#define PCI_MODE_UNSUPPORTED BIT(0) 104#define PCI_MODE_UNSUPPORTED s2BIT(0)
105#define PCI_MODE_32_BITS BIT(8) 105#define PCI_MODE_32_BITS s2BIT(8)
106#define PCI_MODE_UNKNOWN_MODE BIT(9) 106#define PCI_MODE_UNKNOWN_MODE s2BIT(9)
107 107
108 u8 unused_0[0x800 - 0x128]; 108 u8 unused_0[0x800 - 0x128];
109 109
110/* PCI-X Controller registers */ 110/* PCI-X Controller registers */
111 u64 pic_int_status; 111 u64 pic_int_status;
112 u64 pic_int_mask; 112 u64 pic_int_mask;
113#define PIC_INT_TX BIT(0) 113#define PIC_INT_TX s2BIT(0)
114#define PIC_INT_FLSH BIT(1) 114#define PIC_INT_FLSH s2BIT(1)
115#define PIC_INT_MDIO BIT(2) 115#define PIC_INT_MDIO s2BIT(2)
116#define PIC_INT_IIC BIT(3) 116#define PIC_INT_IIC s2BIT(3)
117#define PIC_INT_GPIO BIT(4) 117#define PIC_INT_GPIO s2BIT(4)
118#define PIC_INT_RX BIT(32) 118#define PIC_INT_RX s2BIT(32)
119 119
120 u64 txpic_int_reg; 120 u64 txpic_int_reg;
121 u64 txpic_int_mask; 121 u64 txpic_int_mask;
122#define PCIX_INT_REG_ECC_SG_ERR BIT(0) 122#define PCIX_INT_REG_ECC_SG_ERR s2BIT(0)
123#define PCIX_INT_REG_ECC_DB_ERR BIT(1) 123#define PCIX_INT_REG_ECC_DB_ERR s2BIT(1)
124#define PCIX_INT_REG_FLASHR_R_FSM_ERR BIT(8) 124#define PCIX_INT_REG_FLASHR_R_FSM_ERR s2BIT(8)
125#define PCIX_INT_REG_FLASHR_W_FSM_ERR BIT(9) 125#define PCIX_INT_REG_FLASHR_W_FSM_ERR s2BIT(9)
126#define PCIX_INT_REG_INI_TX_FSM_SERR BIT(10) 126#define PCIX_INT_REG_INI_TX_FSM_SERR s2BIT(10)
127#define PCIX_INT_REG_INI_TXO_FSM_ERR BIT(11) 127#define PCIX_INT_REG_INI_TXO_FSM_ERR s2BIT(11)
128#define PCIX_INT_REG_TRT_FSM_SERR BIT(13) 128#define PCIX_INT_REG_TRT_FSM_SERR s2BIT(13)
129#define PCIX_INT_REG_SRT_FSM_SERR BIT(14) 129#define PCIX_INT_REG_SRT_FSM_SERR s2BIT(14)
130#define PCIX_INT_REG_PIFR_FSM_SERR BIT(15) 130#define PCIX_INT_REG_PIFR_FSM_SERR s2BIT(15)
131#define PCIX_INT_REG_WRC_TX_SEND_FSM_SERR BIT(21) 131#define PCIX_INT_REG_WRC_TX_SEND_FSM_SERR s2BIT(21)
132#define PCIX_INT_REG_RRC_TX_REQ_FSM_SERR BIT(23) 132#define PCIX_INT_REG_RRC_TX_REQ_FSM_SERR s2BIT(23)
133#define PCIX_INT_REG_INI_RX_FSM_SERR BIT(48) 133#define PCIX_INT_REG_INI_RX_FSM_SERR s2BIT(48)
134#define PCIX_INT_REG_RA_RX_FSM_SERR BIT(50) 134#define PCIX_INT_REG_RA_RX_FSM_SERR s2BIT(50)
135/* 135/*
136#define PCIX_INT_REG_WRC_RX_SEND_FSM_SERR BIT(52) 136#define PCIX_INT_REG_WRC_RX_SEND_FSM_SERR s2BIT(52)
137#define PCIX_INT_REG_RRC_RX_REQ_FSM_SERR BIT(54) 137#define PCIX_INT_REG_RRC_RX_REQ_FSM_SERR s2BIT(54)
138#define PCIX_INT_REG_RRC_RX_SPLIT_FSM_SERR BIT(58) 138#define PCIX_INT_REG_RRC_RX_SPLIT_FSM_SERR s2BIT(58)
139*/ 139*/
140 u64 txpic_alarms; 140 u64 txpic_alarms;
141 u64 rxpic_int_reg; 141 u64 rxpic_int_reg;
@@ -144,92 +144,92 @@ struct XENA_dev_config {
144 144
145 u64 flsh_int_reg; 145 u64 flsh_int_reg;
146 u64 flsh_int_mask; 146 u64 flsh_int_mask;
147#define PIC_FLSH_INT_REG_CYCLE_FSM_ERR BIT(63) 147#define PIC_FLSH_INT_REG_CYCLE_FSM_ERR s2BIT(63)
148#define PIC_FLSH_INT_REG_ERR BIT(62) 148#define PIC_FLSH_INT_REG_ERR s2BIT(62)
149 u64 flash_alarms; 149 u64 flash_alarms;
150 150
151 u64 mdio_int_reg; 151 u64 mdio_int_reg;
152 u64 mdio_int_mask; 152 u64 mdio_int_mask;
153#define MDIO_INT_REG_MDIO_BUS_ERR BIT(0) 153#define MDIO_INT_REG_MDIO_BUS_ERR s2BIT(0)
154#define MDIO_INT_REG_DTX_BUS_ERR BIT(8) 154#define MDIO_INT_REG_DTX_BUS_ERR s2BIT(8)
155#define MDIO_INT_REG_LASI BIT(39) 155#define MDIO_INT_REG_LASI s2BIT(39)
156 u64 mdio_alarms; 156 u64 mdio_alarms;
157 157
158 u64 iic_int_reg; 158 u64 iic_int_reg;
159 u64 iic_int_mask; 159 u64 iic_int_mask;
160#define IIC_INT_REG_BUS_FSM_ERR BIT(4) 160#define IIC_INT_REG_BUS_FSM_ERR s2BIT(4)
161#define IIC_INT_REG_BIT_FSM_ERR BIT(5) 161#define IIC_INT_REG_BIT_FSM_ERR s2BIT(5)
162#define IIC_INT_REG_CYCLE_FSM_ERR BIT(6) 162#define IIC_INT_REG_CYCLE_FSM_ERR s2BIT(6)
163#define IIC_INT_REG_REQ_FSM_ERR BIT(7) 163#define IIC_INT_REG_REQ_FSM_ERR s2BIT(7)
164#define IIC_INT_REG_ACK_ERR BIT(8) 164#define IIC_INT_REG_ACK_ERR s2BIT(8)
165 u64 iic_alarms; 165 u64 iic_alarms;
166 166
167 u8 unused4[0x08]; 167 u8 unused4[0x08];
168 168
169 u64 gpio_int_reg; 169 u64 gpio_int_reg;
170#define GPIO_INT_REG_DP_ERR_INT BIT(0) 170#define GPIO_INT_REG_DP_ERR_INT s2BIT(0)
171#define GPIO_INT_REG_LINK_DOWN BIT(1) 171#define GPIO_INT_REG_LINK_DOWN s2BIT(1)
172#define GPIO_INT_REG_LINK_UP BIT(2) 172#define GPIO_INT_REG_LINK_UP s2BIT(2)
173 u64 gpio_int_mask; 173 u64 gpio_int_mask;
174#define GPIO_INT_MASK_LINK_DOWN BIT(1) 174#define GPIO_INT_MASK_LINK_DOWN s2BIT(1)
175#define GPIO_INT_MASK_LINK_UP BIT(2) 175#define GPIO_INT_MASK_LINK_UP s2BIT(2)
176 u64 gpio_alarms; 176 u64 gpio_alarms;
177 177
178 u8 unused5[0x38]; 178 u8 unused5[0x38];
179 179
180 u64 tx_traffic_int; 180 u64 tx_traffic_int;
181#define TX_TRAFFIC_INT_n(n) BIT(n) 181#define TX_TRAFFIC_INT_n(n) s2BIT(n)
182 u64 tx_traffic_mask; 182 u64 tx_traffic_mask;
183 183
184 u64 rx_traffic_int; 184 u64 rx_traffic_int;
185#define RX_TRAFFIC_INT_n(n) BIT(n) 185#define RX_TRAFFIC_INT_n(n) s2BIT(n)
186 u64 rx_traffic_mask; 186 u64 rx_traffic_mask;
187 187
188/* PIC Control registers */ 188/* PIC Control registers */
189 u64 pic_control; 189 u64 pic_control;
190#define PIC_CNTL_RX_ALARM_MAP_1 BIT(0) 190#define PIC_CNTL_RX_ALARM_MAP_1 s2BIT(0)
191#define PIC_CNTL_SHARED_SPLITS(n) vBIT(n,11,5) 191#define PIC_CNTL_SHARED_SPLITS(n) vBIT(n,11,5)
192 192
193 u64 swapper_ctrl; 193 u64 swapper_ctrl;
194#define SWAPPER_CTRL_PIF_R_FE BIT(0) 194#define SWAPPER_CTRL_PIF_R_FE s2BIT(0)
195#define SWAPPER_CTRL_PIF_R_SE BIT(1) 195#define SWAPPER_CTRL_PIF_R_SE s2BIT(1)
196#define SWAPPER_CTRL_PIF_W_FE BIT(8) 196#define SWAPPER_CTRL_PIF_W_FE s2BIT(8)
197#define SWAPPER_CTRL_PIF_W_SE BIT(9) 197#define SWAPPER_CTRL_PIF_W_SE s2BIT(9)
198#define SWAPPER_CTRL_TXP_FE BIT(16) 198#define SWAPPER_CTRL_TXP_FE s2BIT(16)
199#define SWAPPER_CTRL_TXP_SE BIT(17) 199#define SWAPPER_CTRL_TXP_SE s2BIT(17)
200#define SWAPPER_CTRL_TXD_R_FE BIT(18) 200#define SWAPPER_CTRL_TXD_R_FE s2BIT(18)
201#define SWAPPER_CTRL_TXD_R_SE BIT(19) 201#define SWAPPER_CTRL_TXD_R_SE s2BIT(19)
202#define SWAPPER_CTRL_TXD_W_FE BIT(20) 202#define SWAPPER_CTRL_TXD_W_FE s2BIT(20)
203#define SWAPPER_CTRL_TXD_W_SE BIT(21) 203#define SWAPPER_CTRL_TXD_W_SE s2BIT(21)
204#define SWAPPER_CTRL_TXF_R_FE BIT(22) 204#define SWAPPER_CTRL_TXF_R_FE s2BIT(22)
205#define SWAPPER_CTRL_TXF_R_SE BIT(23) 205#define SWAPPER_CTRL_TXF_R_SE s2BIT(23)
206#define SWAPPER_CTRL_RXD_R_FE BIT(32) 206#define SWAPPER_CTRL_RXD_R_FE s2BIT(32)
207#define SWAPPER_CTRL_RXD_R_SE BIT(33) 207#define SWAPPER_CTRL_RXD_R_SE s2BIT(33)
208#define SWAPPER_CTRL_RXD_W_FE BIT(34) 208#define SWAPPER_CTRL_RXD_W_FE s2BIT(34)
209#define SWAPPER_CTRL_RXD_W_SE BIT(35) 209#define SWAPPER_CTRL_RXD_W_SE s2BIT(35)
210#define SWAPPER_CTRL_RXF_W_FE BIT(36) 210#define SWAPPER_CTRL_RXF_W_FE s2BIT(36)
211#define SWAPPER_CTRL_RXF_W_SE BIT(37) 211#define SWAPPER_CTRL_RXF_W_SE s2BIT(37)
212#define SWAPPER_CTRL_XMSI_FE BIT(40) 212#define SWAPPER_CTRL_XMSI_FE s2BIT(40)
213#define SWAPPER_CTRL_XMSI_SE BIT(41) 213#define SWAPPER_CTRL_XMSI_SE s2BIT(41)
214#define SWAPPER_CTRL_STATS_FE BIT(48) 214#define SWAPPER_CTRL_STATS_FE s2BIT(48)
215#define SWAPPER_CTRL_STATS_SE BIT(49) 215#define SWAPPER_CTRL_STATS_SE s2BIT(49)
216 216
217 u64 pif_rd_swapper_fb; 217 u64 pif_rd_swapper_fb;
218#define IF_RD_SWAPPER_FB 0x0123456789ABCDEF 218#define IF_RD_SWAPPER_FB 0x0123456789ABCDEF
219 219
220 u64 scheduled_int_ctrl; 220 u64 scheduled_int_ctrl;
221#define SCHED_INT_CTRL_TIMER_EN BIT(0) 221#define SCHED_INT_CTRL_TIMER_EN s2BIT(0)
222#define SCHED_INT_CTRL_ONE_SHOT BIT(1) 222#define SCHED_INT_CTRL_ONE_SHOT s2BIT(1)
223#define SCHED_INT_CTRL_INT2MSI(val) vBIT(val,10,6) 223#define SCHED_INT_CTRL_INT2MSI(val) vBIT(val,10,6)
224#define SCHED_INT_PERIOD TBD 224#define SCHED_INT_PERIOD TBD
225 225
226 u64 txreqtimeout; 226 u64 txreqtimeout;
227#define TXREQTO_VAL(val) vBIT(val,0,32) 227#define TXREQTO_VAL(val) vBIT(val,0,32)
228#define TXREQTO_EN BIT(63) 228#define TXREQTO_EN s2BIT(63)
229 229
230 u64 statsreqtimeout; 230 u64 statsreqtimeout;
231#define STATREQTO_VAL(n) TBD 231#define STATREQTO_VAL(n) TBD
232#define STATREQTO_EN BIT(63) 232#define STATREQTO_EN s2BIT(63)
233 233
234 u64 read_retry_delay; 234 u64 read_retry_delay;
235 u64 read_retry_acceleration; 235 u64 read_retry_acceleration;
@@ -255,10 +255,10 @@ struct XENA_dev_config {
255 255
256 /* Automated statistics collection */ 256 /* Automated statistics collection */
257 u64 stat_cfg; 257 u64 stat_cfg;
258#define STAT_CFG_STAT_EN BIT(0) 258#define STAT_CFG_STAT_EN s2BIT(0)
259#define STAT_CFG_ONE_SHOT_EN BIT(1) 259#define STAT_CFG_ONE_SHOT_EN s2BIT(1)
260#define STAT_CFG_STAT_NS_EN BIT(8) 260#define STAT_CFG_STAT_NS_EN s2BIT(8)
261#define STAT_CFG_STAT_RO BIT(9) 261#define STAT_CFG_STAT_RO s2BIT(9)
262#define STAT_TRSF_PER(n) TBD 262#define STAT_TRSF_PER(n) TBD
263#define PER_SEC 0x208d5 263#define PER_SEC 0x208d5
264#define SET_UPDT_PERIOD(n) vBIT((PER_SEC*n),32,32) 264#define SET_UPDT_PERIOD(n) vBIT((PER_SEC*n),32,32)
@@ -290,18 +290,18 @@ struct XENA_dev_config {
290#define I2C_CONTROL_DEV_ID(id) vBIT(id,1,3) 290#define I2C_CONTROL_DEV_ID(id) vBIT(id,1,3)
291#define I2C_CONTROL_ADDR(addr) vBIT(addr,5,11) 291#define I2C_CONTROL_ADDR(addr) vBIT(addr,5,11)
292#define I2C_CONTROL_BYTE_CNT(cnt) vBIT(cnt,22,2) 292#define I2C_CONTROL_BYTE_CNT(cnt) vBIT(cnt,22,2)
293#define I2C_CONTROL_READ BIT(24) 293#define I2C_CONTROL_READ s2BIT(24)
294#define I2C_CONTROL_NACK BIT(25) 294#define I2C_CONTROL_NACK s2BIT(25)
295#define I2C_CONTROL_CNTL_START vBIT(0xE,28,4) 295#define I2C_CONTROL_CNTL_START vBIT(0xE,28,4)
296#define I2C_CONTROL_CNTL_END(val) (val & vBIT(0x1,28,4)) 296#define I2C_CONTROL_CNTL_END(val) (val & vBIT(0x1,28,4))
297#define I2C_CONTROL_GET_DATA(val) (u32)(val & 0xFFFFFFFF) 297#define I2C_CONTROL_GET_DATA(val) (u32)(val & 0xFFFFFFFF)
298#define I2C_CONTROL_SET_DATA(val) vBIT(val,32,32) 298#define I2C_CONTROL_SET_DATA(val) vBIT(val,32,32)
299 299
300 u64 gpio_control; 300 u64 gpio_control;
301#define GPIO_CTRL_GPIO_0 BIT(8) 301#define GPIO_CTRL_GPIO_0 s2BIT(8)
302 u64 misc_control; 302 u64 misc_control;
303#define FAULT_BEHAVIOUR BIT(0) 303#define FAULT_BEHAVIOUR s2BIT(0)
304#define EXT_REQ_EN BIT(1) 304#define EXT_REQ_EN s2BIT(1)
305#define MISC_LINK_STABILITY_PRD(val) vBIT(val,29,3) 305#define MISC_LINK_STABILITY_PRD(val) vBIT(val,29,3)
306 306
307 u8 unused7_1[0x230 - 0x208]; 307 u8 unused7_1[0x230 - 0x208];
@@ -317,29 +317,29 @@ struct XENA_dev_config {
317/* TxDMA registers */ 317/* TxDMA registers */
318 u64 txdma_int_status; 318 u64 txdma_int_status;
319 u64 txdma_int_mask; 319 u64 txdma_int_mask;
320#define TXDMA_PFC_INT BIT(0) 320#define TXDMA_PFC_INT s2BIT(0)
321#define TXDMA_TDA_INT BIT(1) 321#define TXDMA_TDA_INT s2BIT(1)
322#define TXDMA_PCC_INT BIT(2) 322#define TXDMA_PCC_INT s2BIT(2)
323#define TXDMA_TTI_INT BIT(3) 323#define TXDMA_TTI_INT s2BIT(3)
324#define TXDMA_LSO_INT BIT(4) 324#define TXDMA_LSO_INT s2BIT(4)
325#define TXDMA_TPA_INT BIT(5) 325#define TXDMA_TPA_INT s2BIT(5)
326#define TXDMA_SM_INT BIT(6) 326#define TXDMA_SM_INT s2BIT(6)
327 u64 pfc_err_reg; 327 u64 pfc_err_reg;
328#define PFC_ECC_SG_ERR BIT(7) 328#define PFC_ECC_SG_ERR s2BIT(7)
329#define PFC_ECC_DB_ERR BIT(15) 329#define PFC_ECC_DB_ERR s2BIT(15)
330#define PFC_SM_ERR_ALARM BIT(23) 330#define PFC_SM_ERR_ALARM s2BIT(23)
331#define PFC_MISC_0_ERR BIT(31) 331#define PFC_MISC_0_ERR s2BIT(31)
332#define PFC_MISC_1_ERR BIT(32) 332#define PFC_MISC_1_ERR s2BIT(32)
333#define PFC_PCIX_ERR BIT(39) 333#define PFC_PCIX_ERR s2BIT(39)
334 u64 pfc_err_mask; 334 u64 pfc_err_mask;
335 u64 pfc_err_alarm; 335 u64 pfc_err_alarm;
336 336
337 u64 tda_err_reg; 337 u64 tda_err_reg;
338#define TDA_Fn_ECC_SG_ERR vBIT(0xff,0,8) 338#define TDA_Fn_ECC_SG_ERR vBIT(0xff,0,8)
339#define TDA_Fn_ECC_DB_ERR vBIT(0xff,8,8) 339#define TDA_Fn_ECC_DB_ERR vBIT(0xff,8,8)
340#define TDA_SM0_ERR_ALARM BIT(22) 340#define TDA_SM0_ERR_ALARM s2BIT(22)
341#define TDA_SM1_ERR_ALARM BIT(23) 341#define TDA_SM1_ERR_ALARM s2BIT(23)
342#define TDA_PCIX_ERR BIT(39) 342#define TDA_PCIX_ERR s2BIT(39)
343 u64 tda_err_mask; 343 u64 tda_err_mask;
344 u64 tda_err_alarm; 344 u64 tda_err_alarm;
345 345
@@ -351,40 +351,40 @@ struct XENA_dev_config {
351#define PCC_SM_ERR_ALARM vBIT(0xff,32,8) 351#define PCC_SM_ERR_ALARM vBIT(0xff,32,8)
352#define PCC_WR_ERR_ALARM vBIT(0xff,40,8) 352#define PCC_WR_ERR_ALARM vBIT(0xff,40,8)
353#define PCC_N_SERR vBIT(0xff,48,8) 353#define PCC_N_SERR vBIT(0xff,48,8)
354#define PCC_6_COF_OV_ERR BIT(56) 354#define PCC_6_COF_OV_ERR s2BIT(56)
355#define PCC_7_COF_OV_ERR BIT(57) 355#define PCC_7_COF_OV_ERR s2BIT(57)
356#define PCC_6_LSO_OV_ERR BIT(58) 356#define PCC_6_LSO_OV_ERR s2BIT(58)
357#define PCC_7_LSO_OV_ERR BIT(59) 357#define PCC_7_LSO_OV_ERR s2BIT(59)
358#define PCC_ENABLE_FOUR vBIT(0x0F,0,8) 358#define PCC_ENABLE_FOUR vBIT(0x0F,0,8)
359 u64 pcc_err_mask; 359 u64 pcc_err_mask;
360 u64 pcc_err_alarm; 360 u64 pcc_err_alarm;
361 361
362 u64 tti_err_reg; 362 u64 tti_err_reg;
363#define TTI_ECC_SG_ERR BIT(7) 363#define TTI_ECC_SG_ERR s2BIT(7)
364#define TTI_ECC_DB_ERR BIT(15) 364#define TTI_ECC_DB_ERR s2BIT(15)
365#define TTI_SM_ERR_ALARM BIT(23) 365#define TTI_SM_ERR_ALARM s2BIT(23)
366 u64 tti_err_mask; 366 u64 tti_err_mask;
367 u64 tti_err_alarm; 367 u64 tti_err_alarm;
368 368
369 u64 lso_err_reg; 369 u64 lso_err_reg;
370#define LSO6_SEND_OFLOW BIT(12) 370#define LSO6_SEND_OFLOW s2BIT(12)
371#define LSO7_SEND_OFLOW BIT(13) 371#define LSO7_SEND_OFLOW s2BIT(13)
372#define LSO6_ABORT BIT(14) 372#define LSO6_ABORT s2BIT(14)
373#define LSO7_ABORT BIT(15) 373#define LSO7_ABORT s2BIT(15)
374#define LSO6_SM_ERR_ALARM BIT(22) 374#define LSO6_SM_ERR_ALARM s2BIT(22)
375#define LSO7_SM_ERR_ALARM BIT(23) 375#define LSO7_SM_ERR_ALARM s2BIT(23)
376 u64 lso_err_mask; 376 u64 lso_err_mask;
377 u64 lso_err_alarm; 377 u64 lso_err_alarm;
378 378
379 u64 tpa_err_reg; 379 u64 tpa_err_reg;
380#define TPA_TX_FRM_DROP BIT(7) 380#define TPA_TX_FRM_DROP s2BIT(7)
381#define TPA_SM_ERR_ALARM BIT(23) 381#define TPA_SM_ERR_ALARM s2BIT(23)
382 382
383 u64 tpa_err_mask; 383 u64 tpa_err_mask;
384 u64 tpa_err_alarm; 384 u64 tpa_err_alarm;
385 385
386 u64 sm_err_reg; 386 u64 sm_err_reg;
387#define SM_SM_ERR_ALARM BIT(15) 387#define SM_SM_ERR_ALARM s2BIT(15)
388 u64 sm_err_mask; 388 u64 sm_err_mask;
389 u64 sm_err_alarm; 389 u64 sm_err_alarm;
390 390
@@ -397,7 +397,7 @@ struct XENA_dev_config {
397#define X_MAX_FIFOS 8 397#define X_MAX_FIFOS 8
398#define X_FIFO_MAX_LEN 0x1FFF /*8191 */ 398#define X_FIFO_MAX_LEN 0x1FFF /*8191 */
399 u64 tx_fifo_partition_0; 399 u64 tx_fifo_partition_0;
400#define TX_FIFO_PARTITION_EN BIT(0) 400#define TX_FIFO_PARTITION_EN s2BIT(0)
401#define TX_FIFO_PARTITION_0_PRI(val) vBIT(val,5,3) 401#define TX_FIFO_PARTITION_0_PRI(val) vBIT(val,5,3)
402#define TX_FIFO_PARTITION_0_LEN(val) vBIT(val,19,13) 402#define TX_FIFO_PARTITION_0_LEN(val) vBIT(val,19,13)
403#define TX_FIFO_PARTITION_1_PRI(val) vBIT(val,37,3) 403#define TX_FIFO_PARTITION_1_PRI(val) vBIT(val,37,3)
@@ -437,16 +437,16 @@ struct XENA_dev_config {
437 u64 tx_w_round_robin_4; 437 u64 tx_w_round_robin_4;
438 438
439 u64 tti_command_mem; 439 u64 tti_command_mem;
440#define TTI_CMD_MEM_WE BIT(7) 440#define TTI_CMD_MEM_WE s2BIT(7)
441#define TTI_CMD_MEM_STROBE_NEW_CMD BIT(15) 441#define TTI_CMD_MEM_STROBE_NEW_CMD s2BIT(15)
442#define TTI_CMD_MEM_STROBE_BEING_EXECUTED BIT(15) 442#define TTI_CMD_MEM_STROBE_BEING_EXECUTED s2BIT(15)
443#define TTI_CMD_MEM_OFFSET(n) vBIT(n,26,6) 443#define TTI_CMD_MEM_OFFSET(n) vBIT(n,26,6)
444 444
445 u64 tti_data1_mem; 445 u64 tti_data1_mem;
446#define TTI_DATA1_MEM_TX_TIMER_VAL(n) vBIT(n,6,26) 446#define TTI_DATA1_MEM_TX_TIMER_VAL(n) vBIT(n,6,26)
447#define TTI_DATA1_MEM_TX_TIMER_AC_CI(n) vBIT(n,38,2) 447#define TTI_DATA1_MEM_TX_TIMER_AC_CI(n) vBIT(n,38,2)
448#define TTI_DATA1_MEM_TX_TIMER_AC_EN BIT(38) 448#define TTI_DATA1_MEM_TX_TIMER_AC_EN s2BIT(38)
449#define TTI_DATA1_MEM_TX_TIMER_CI_EN BIT(39) 449#define TTI_DATA1_MEM_TX_TIMER_CI_EN s2BIT(39)
450#define TTI_DATA1_MEM_TX_URNG_A(n) vBIT(n,41,7) 450#define TTI_DATA1_MEM_TX_URNG_A(n) vBIT(n,41,7)
451#define TTI_DATA1_MEM_TX_URNG_B(n) vBIT(n,49,7) 451#define TTI_DATA1_MEM_TX_URNG_B(n) vBIT(n,49,7)
452#define TTI_DATA1_MEM_TX_URNG_C(n) vBIT(n,57,7) 452#define TTI_DATA1_MEM_TX_URNG_C(n) vBIT(n,57,7)
@@ -459,11 +459,11 @@ struct XENA_dev_config {
459 459
460/* Tx Protocol assist */ 460/* Tx Protocol assist */
461 u64 tx_pa_cfg; 461 u64 tx_pa_cfg;
462#define TX_PA_CFG_IGNORE_FRM_ERR BIT(1) 462#define TX_PA_CFG_IGNORE_FRM_ERR s2BIT(1)
463#define TX_PA_CFG_IGNORE_SNAP_OUI BIT(2) 463#define TX_PA_CFG_IGNORE_SNAP_OUI s2BIT(2)
464#define TX_PA_CFG_IGNORE_LLC_CTRL BIT(3) 464#define TX_PA_CFG_IGNORE_LLC_CTRL s2BIT(3)
465#define TX_PA_CFG_IGNORE_L2_ERR BIT(6) 465#define TX_PA_CFG_IGNORE_L2_ERR s2BIT(6)
466#define RX_PA_CFG_STRIP_VLAN_TAG BIT(15) 466#define RX_PA_CFG_STRIP_VLAN_TAG s2BIT(15)
467 467
468/* Recent add, used only debug purposes. */ 468/* Recent add, used only debug purposes. */
469 u64 pcc_enable; 469 u64 pcc_enable;
@@ -477,31 +477,31 @@ struct XENA_dev_config {
477/* RxDMA Registers */ 477/* RxDMA Registers */
478 u64 rxdma_int_status; 478 u64 rxdma_int_status;
479 u64 rxdma_int_mask; 479 u64 rxdma_int_mask;
480#define RXDMA_INT_RC_INT_M BIT(0) 480#define RXDMA_INT_RC_INT_M s2BIT(0)
481#define RXDMA_INT_RPA_INT_M BIT(1) 481#define RXDMA_INT_RPA_INT_M s2BIT(1)
482#define RXDMA_INT_RDA_INT_M BIT(2) 482#define RXDMA_INT_RDA_INT_M s2BIT(2)
483#define RXDMA_INT_RTI_INT_M BIT(3) 483#define RXDMA_INT_RTI_INT_M s2BIT(3)
484 484
485 u64 rda_err_reg; 485 u64 rda_err_reg;
486#define RDA_RXDn_ECC_SG_ERR vBIT(0xFF,0,8) 486#define RDA_RXDn_ECC_SG_ERR vBIT(0xFF,0,8)
487#define RDA_RXDn_ECC_DB_ERR vBIT(0xFF,8,8) 487#define RDA_RXDn_ECC_DB_ERR vBIT(0xFF,8,8)
488#define RDA_FRM_ECC_SG_ERR BIT(23) 488#define RDA_FRM_ECC_SG_ERR s2BIT(23)
489#define RDA_FRM_ECC_DB_N_AERR BIT(31) 489#define RDA_FRM_ECC_DB_N_AERR s2BIT(31)
490#define RDA_SM1_ERR_ALARM BIT(38) 490#define RDA_SM1_ERR_ALARM s2BIT(38)
491#define RDA_SM0_ERR_ALARM BIT(39) 491#define RDA_SM0_ERR_ALARM s2BIT(39)
492#define RDA_MISC_ERR BIT(47) 492#define RDA_MISC_ERR s2BIT(47)
493#define RDA_PCIX_ERR BIT(55) 493#define RDA_PCIX_ERR s2BIT(55)
494#define RDA_RXD_ECC_DB_SERR BIT(63) 494#define RDA_RXD_ECC_DB_SERR s2BIT(63)
495 u64 rda_err_mask; 495 u64 rda_err_mask;
496 u64 rda_err_alarm; 496 u64 rda_err_alarm;
497 497
498 u64 rc_err_reg; 498 u64 rc_err_reg;
499#define RC_PRCn_ECC_SG_ERR vBIT(0xFF,0,8) 499#define RC_PRCn_ECC_SG_ERR vBIT(0xFF,0,8)
500#define RC_PRCn_ECC_DB_ERR vBIT(0xFF,8,8) 500#define RC_PRCn_ECC_DB_ERR vBIT(0xFF,8,8)
501#define RC_FTC_ECC_SG_ERR BIT(23) 501#define RC_FTC_ECC_SG_ERR s2BIT(23)
502#define RC_FTC_ECC_DB_ERR BIT(31) 502#define RC_FTC_ECC_DB_ERR s2BIT(31)
503#define RC_PRCn_SM_ERR_ALARM vBIT(0xFF,32,8) 503#define RC_PRCn_SM_ERR_ALARM vBIT(0xFF,32,8)
504#define RC_FTC_SM_ERR_ALARM BIT(47) 504#define RC_FTC_SM_ERR_ALARM s2BIT(47)
505#define RC_RDA_FAIL_WR_Rn vBIT(0xFF,48,8) 505#define RC_RDA_FAIL_WR_Rn vBIT(0xFF,48,8)
506 u64 rc_err_mask; 506 u64 rc_err_mask;
507 u64 rc_err_alarm; 507 u64 rc_err_alarm;
@@ -517,18 +517,18 @@ struct XENA_dev_config {
517 u64 prc_pcix_err_alarm; 517 u64 prc_pcix_err_alarm;
518 518
519 u64 rpa_err_reg; 519 u64 rpa_err_reg;
520#define RPA_ECC_SG_ERR BIT(7) 520#define RPA_ECC_SG_ERR s2BIT(7)
521#define RPA_ECC_DB_ERR BIT(15) 521#define RPA_ECC_DB_ERR s2BIT(15)
522#define RPA_FLUSH_REQUEST BIT(22) 522#define RPA_FLUSH_REQUEST s2BIT(22)
523#define RPA_SM_ERR_ALARM BIT(23) 523#define RPA_SM_ERR_ALARM s2BIT(23)
524#define RPA_CREDIT_ERR BIT(31) 524#define RPA_CREDIT_ERR s2BIT(31)
525 u64 rpa_err_mask; 525 u64 rpa_err_mask;
526 u64 rpa_err_alarm; 526 u64 rpa_err_alarm;
527 527
528 u64 rti_err_reg; 528 u64 rti_err_reg;
529#define RTI_ECC_SG_ERR BIT(7) 529#define RTI_ECC_SG_ERR s2BIT(7)
530#define RTI_ECC_DB_ERR BIT(15) 530#define RTI_ECC_DB_ERR s2BIT(15)
531#define RTI_SM_ERR_ALARM BIT(23) 531#define RTI_SM_ERR_ALARM s2BIT(23)
532 u64 rti_err_mask; 532 u64 rti_err_mask;
533 u64 rti_err_alarm; 533 u64 rti_err_alarm;
534 534
@@ -568,49 +568,49 @@ struct XENA_dev_config {
568#endif 568#endif
569 u64 prc_rxd0_n[RX_MAX_RINGS]; 569 u64 prc_rxd0_n[RX_MAX_RINGS];
570 u64 prc_ctrl_n[RX_MAX_RINGS]; 570 u64 prc_ctrl_n[RX_MAX_RINGS];
571#define PRC_CTRL_RC_ENABLED BIT(7) 571#define PRC_CTRL_RC_ENABLED s2BIT(7)
572#define PRC_CTRL_RING_MODE (BIT(14)|BIT(15)) 572#define PRC_CTRL_RING_MODE (s2BIT(14)|s2BIT(15))
573#define PRC_CTRL_RING_MODE_1 vBIT(0,14,2) 573#define PRC_CTRL_RING_MODE_1 vBIT(0,14,2)
574#define PRC_CTRL_RING_MODE_3 vBIT(1,14,2) 574#define PRC_CTRL_RING_MODE_3 vBIT(1,14,2)
575#define PRC_CTRL_RING_MODE_5 vBIT(2,14,2) 575#define PRC_CTRL_RING_MODE_5 vBIT(2,14,2)
576#define PRC_CTRL_RING_MODE_x vBIT(3,14,2) 576#define PRC_CTRL_RING_MODE_x vBIT(3,14,2)
577#define PRC_CTRL_NO_SNOOP (BIT(22)|BIT(23)) 577#define PRC_CTRL_NO_SNOOP (s2BIT(22)|s2BIT(23))
578#define PRC_CTRL_NO_SNOOP_DESC BIT(22) 578#define PRC_CTRL_NO_SNOOP_DESC s2BIT(22)
579#define PRC_CTRL_NO_SNOOP_BUFF BIT(23) 579#define PRC_CTRL_NO_SNOOP_BUFF s2BIT(23)
580#define PRC_CTRL_BIMODAL_INTERRUPT BIT(37) 580#define PRC_CTRL_BIMODAL_INTERRUPT s2BIT(37)
581#define PRC_CTRL_GROUP_READS BIT(38) 581#define PRC_CTRL_GROUP_READS s2BIT(38)
582#define PRC_CTRL_RXD_BACKOFF_INTERVAL(val) vBIT(val,40,24) 582#define PRC_CTRL_RXD_BACKOFF_INTERVAL(val) vBIT(val,40,24)
583 583
584 u64 prc_alarm_action; 584 u64 prc_alarm_action;
585#define PRC_ALARM_ACTION_RR_R0_STOP BIT(3) 585#define PRC_ALARM_ACTION_RR_R0_STOP s2BIT(3)
586#define PRC_ALARM_ACTION_RW_R0_STOP BIT(7) 586#define PRC_ALARM_ACTION_RW_R0_STOP s2BIT(7)
587#define PRC_ALARM_ACTION_RR_R1_STOP BIT(11) 587#define PRC_ALARM_ACTION_RR_R1_STOP s2BIT(11)
588#define PRC_ALARM_ACTION_RW_R1_STOP BIT(15) 588#define PRC_ALARM_ACTION_RW_R1_STOP s2BIT(15)
589#define PRC_ALARM_ACTION_RR_R2_STOP BIT(19) 589#define PRC_ALARM_ACTION_RR_R2_STOP s2BIT(19)
590#define PRC_ALARM_ACTION_RW_R2_STOP BIT(23) 590#define PRC_ALARM_ACTION_RW_R2_STOP s2BIT(23)
591#define PRC_ALARM_ACTION_RR_R3_STOP BIT(27) 591#define PRC_ALARM_ACTION_RR_R3_STOP s2BIT(27)
592#define PRC_ALARM_ACTION_RW_R3_STOP BIT(31) 592#define PRC_ALARM_ACTION_RW_R3_STOP s2BIT(31)
593#define PRC_ALARM_ACTION_RR_R4_STOP BIT(35) 593#define PRC_ALARM_ACTION_RR_R4_STOP s2BIT(35)
594#define PRC_ALARM_ACTION_RW_R4_STOP BIT(39) 594#define PRC_ALARM_ACTION_RW_R4_STOP s2BIT(39)
595#define PRC_ALARM_ACTION_RR_R5_STOP BIT(43) 595#define PRC_ALARM_ACTION_RR_R5_STOP s2BIT(43)
596#define PRC_ALARM_ACTION_RW_R5_STOP BIT(47) 596#define PRC_ALARM_ACTION_RW_R5_STOP s2BIT(47)
597#define PRC_ALARM_ACTION_RR_R6_STOP BIT(51) 597#define PRC_ALARM_ACTION_RR_R6_STOP s2BIT(51)
598#define PRC_ALARM_ACTION_RW_R6_STOP BIT(55) 598#define PRC_ALARM_ACTION_RW_R6_STOP s2BIT(55)
599#define PRC_ALARM_ACTION_RR_R7_STOP BIT(59) 599#define PRC_ALARM_ACTION_RR_R7_STOP s2BIT(59)
600#define PRC_ALARM_ACTION_RW_R7_STOP BIT(63) 600#define PRC_ALARM_ACTION_RW_R7_STOP s2BIT(63)
601 601
602/* Receive traffic interrupts */ 602/* Receive traffic interrupts */
603 u64 rti_command_mem; 603 u64 rti_command_mem;
604#define RTI_CMD_MEM_WE BIT(7) 604#define RTI_CMD_MEM_WE s2BIT(7)
605#define RTI_CMD_MEM_STROBE BIT(15) 605#define RTI_CMD_MEM_STROBE s2BIT(15)
606#define RTI_CMD_MEM_STROBE_NEW_CMD BIT(15) 606#define RTI_CMD_MEM_STROBE_NEW_CMD s2BIT(15)
607#define RTI_CMD_MEM_STROBE_CMD_BEING_EXECUTED BIT(15) 607#define RTI_CMD_MEM_STROBE_CMD_BEING_EXECUTED s2BIT(15)
608#define RTI_CMD_MEM_OFFSET(n) vBIT(n,29,3) 608#define RTI_CMD_MEM_OFFSET(n) vBIT(n,29,3)
609 609
610 u64 rti_data1_mem; 610 u64 rti_data1_mem;
611#define RTI_DATA1_MEM_RX_TIMER_VAL(n) vBIT(n,3,29) 611#define RTI_DATA1_MEM_RX_TIMER_VAL(n) vBIT(n,3,29)
612#define RTI_DATA1_MEM_RX_TIMER_AC_EN BIT(38) 612#define RTI_DATA1_MEM_RX_TIMER_AC_EN s2BIT(38)
613#define RTI_DATA1_MEM_RX_TIMER_CI_EN BIT(39) 613#define RTI_DATA1_MEM_RX_TIMER_CI_EN s2BIT(39)
614#define RTI_DATA1_MEM_RX_URNG_A(n) vBIT(n,41,7) 614#define RTI_DATA1_MEM_RX_URNG_A(n) vBIT(n,41,7)
615#define RTI_DATA1_MEM_RX_URNG_B(n) vBIT(n,49,7) 615#define RTI_DATA1_MEM_RX_URNG_B(n) vBIT(n,49,7)
616#define RTI_DATA1_MEM_RX_URNG_C(n) vBIT(n,57,7) 616#define RTI_DATA1_MEM_RX_URNG_C(n) vBIT(n,57,7)
@@ -622,10 +622,10 @@ struct XENA_dev_config {
622#define RTI_DATA2_MEM_RX_UFC_D(n) vBIT(n,48,16) 622#define RTI_DATA2_MEM_RX_UFC_D(n) vBIT(n,48,16)
623 623
624 u64 rx_pa_cfg; 624 u64 rx_pa_cfg;
625#define RX_PA_CFG_IGNORE_FRM_ERR BIT(1) 625#define RX_PA_CFG_IGNORE_FRM_ERR s2BIT(1)
626#define RX_PA_CFG_IGNORE_SNAP_OUI BIT(2) 626#define RX_PA_CFG_IGNORE_SNAP_OUI s2BIT(2)
627#define RX_PA_CFG_IGNORE_LLC_CTRL BIT(3) 627#define RX_PA_CFG_IGNORE_LLC_CTRL s2BIT(3)
628#define RX_PA_CFG_IGNORE_L2_ERR BIT(6) 628#define RX_PA_CFG_IGNORE_L2_ERR s2BIT(6)
629 629
630 u64 unused_11_1; 630 u64 unused_11_1;
631 631
@@ -641,64 +641,64 @@ struct XENA_dev_config {
641/* Media Access Controller Register */ 641/* Media Access Controller Register */
642 u64 mac_int_status; 642 u64 mac_int_status;
643 u64 mac_int_mask; 643 u64 mac_int_mask;
644#define MAC_INT_STATUS_TMAC_INT BIT(0) 644#define MAC_INT_STATUS_TMAC_INT s2BIT(0)
645#define MAC_INT_STATUS_RMAC_INT BIT(1) 645#define MAC_INT_STATUS_RMAC_INT s2BIT(1)
646 646
647 u64 mac_tmac_err_reg; 647 u64 mac_tmac_err_reg;
648#define TMAC_ECC_SG_ERR BIT(7) 648#define TMAC_ECC_SG_ERR s2BIT(7)
649#define TMAC_ECC_DB_ERR BIT(15) 649#define TMAC_ECC_DB_ERR s2BIT(15)
650#define TMAC_TX_BUF_OVRN BIT(23) 650#define TMAC_TX_BUF_OVRN s2BIT(23)
651#define TMAC_TX_CRI_ERR BIT(31) 651#define TMAC_TX_CRI_ERR s2BIT(31)
652#define TMAC_TX_SM_ERR BIT(39) 652#define TMAC_TX_SM_ERR s2BIT(39)
653#define TMAC_DESC_ECC_SG_ERR BIT(47) 653#define TMAC_DESC_ECC_SG_ERR s2BIT(47)
654#define TMAC_DESC_ECC_DB_ERR BIT(55) 654#define TMAC_DESC_ECC_DB_ERR s2BIT(55)
655 655
656 u64 mac_tmac_err_mask; 656 u64 mac_tmac_err_mask;
657 u64 mac_tmac_err_alarm; 657 u64 mac_tmac_err_alarm;
658 658
659 u64 mac_rmac_err_reg; 659 u64 mac_rmac_err_reg;
660#define RMAC_RX_BUFF_OVRN BIT(0) 660#define RMAC_RX_BUFF_OVRN s2BIT(0)
661#define RMAC_FRM_RCVD_INT BIT(1) 661#define RMAC_FRM_RCVD_INT s2BIT(1)
662#define RMAC_UNUSED_INT BIT(2) 662#define RMAC_UNUSED_INT s2BIT(2)
663#define RMAC_RTS_PNUM_ECC_SG_ERR BIT(5) 663#define RMAC_RTS_PNUM_ECC_SG_ERR s2BIT(5)
664#define RMAC_RTS_DS_ECC_SG_ERR BIT(6) 664#define RMAC_RTS_DS_ECC_SG_ERR s2BIT(6)
665#define RMAC_RD_BUF_ECC_SG_ERR BIT(7) 665#define RMAC_RD_BUF_ECC_SG_ERR s2BIT(7)
666#define RMAC_RTH_MAP_ECC_SG_ERR BIT(8) 666#define RMAC_RTH_MAP_ECC_SG_ERR s2BIT(8)
667#define RMAC_RTH_SPDM_ECC_SG_ERR BIT(9) 667#define RMAC_RTH_SPDM_ECC_SG_ERR s2BIT(9)
668#define RMAC_RTS_VID_ECC_SG_ERR BIT(10) 668#define RMAC_RTS_VID_ECC_SG_ERR s2BIT(10)
669#define RMAC_DA_SHADOW_ECC_SG_ERR BIT(11) 669#define RMAC_DA_SHADOW_ECC_SG_ERR s2BIT(11)
670#define RMAC_RTS_PNUM_ECC_DB_ERR BIT(13) 670#define RMAC_RTS_PNUM_ECC_DB_ERR s2BIT(13)
671#define RMAC_RTS_DS_ECC_DB_ERR BIT(14) 671#define RMAC_RTS_DS_ECC_DB_ERR s2BIT(14)
672#define RMAC_RD_BUF_ECC_DB_ERR BIT(15) 672#define RMAC_RD_BUF_ECC_DB_ERR s2BIT(15)
673#define RMAC_RTH_MAP_ECC_DB_ERR BIT(16) 673#define RMAC_RTH_MAP_ECC_DB_ERR s2BIT(16)
674#define RMAC_RTH_SPDM_ECC_DB_ERR BIT(17) 674#define RMAC_RTH_SPDM_ECC_DB_ERR s2BIT(17)
675#define RMAC_RTS_VID_ECC_DB_ERR BIT(18) 675#define RMAC_RTS_VID_ECC_DB_ERR s2BIT(18)
676#define RMAC_DA_SHADOW_ECC_DB_ERR BIT(19) 676#define RMAC_DA_SHADOW_ECC_DB_ERR s2BIT(19)
677#define RMAC_LINK_STATE_CHANGE_INT BIT(31) 677#define RMAC_LINK_STATE_CHANGE_INT s2BIT(31)
678#define RMAC_RX_SM_ERR BIT(39) 678#define RMAC_RX_SM_ERR s2BIT(39)
679#define RMAC_SINGLE_ECC_ERR (BIT(5) | BIT(6) | BIT(7) |\ 679#define RMAC_SINGLE_ECC_ERR (s2BIT(5) | s2BIT(6) | s2BIT(7) |\
680 BIT(8) | BIT(9) | BIT(10)|\ 680 s2BIT(8) | s2BIT(9) | s2BIT(10)|\
681 BIT(11)) 681 s2BIT(11))
682#define RMAC_DOUBLE_ECC_ERR (BIT(13) | BIT(14) | BIT(15) |\ 682#define RMAC_DOUBLE_ECC_ERR (s2BIT(13) | s2BIT(14) | s2BIT(15) |\
683 BIT(16) | BIT(17) | BIT(18)|\ 683 s2BIT(16) | s2BIT(17) | s2BIT(18)|\
684 BIT(19)) 684 s2BIT(19))
685 u64 mac_rmac_err_mask; 685 u64 mac_rmac_err_mask;
686 u64 mac_rmac_err_alarm; 686 u64 mac_rmac_err_alarm;
687 687
688 u8 unused14[0x100 - 0x40]; 688 u8 unused14[0x100 - 0x40];
689 689
690 u64 mac_cfg; 690 u64 mac_cfg;
691#define MAC_CFG_TMAC_ENABLE BIT(0) 691#define MAC_CFG_TMAC_ENABLE s2BIT(0)
692#define MAC_CFG_RMAC_ENABLE BIT(1) 692#define MAC_CFG_RMAC_ENABLE s2BIT(1)
693#define MAC_CFG_LAN_NOT_WAN BIT(2) 693#define MAC_CFG_LAN_NOT_WAN s2BIT(2)
694#define MAC_CFG_TMAC_LOOPBACK BIT(3) 694#define MAC_CFG_TMAC_LOOPBACK s2BIT(3)
695#define MAC_CFG_TMAC_APPEND_PAD BIT(4) 695#define MAC_CFG_TMAC_APPEND_PAD s2BIT(4)
696#define MAC_CFG_RMAC_STRIP_FCS BIT(5) 696#define MAC_CFG_RMAC_STRIP_FCS s2BIT(5)
697#define MAC_CFG_RMAC_STRIP_PAD BIT(6) 697#define MAC_CFG_RMAC_STRIP_PAD s2BIT(6)
698#define MAC_CFG_RMAC_PROM_ENABLE BIT(7) 698#define MAC_CFG_RMAC_PROM_ENABLE s2BIT(7)
699#define MAC_RMAC_DISCARD_PFRM BIT(8) 699#define MAC_RMAC_DISCARD_PFRM s2BIT(8)
700#define MAC_RMAC_BCAST_ENABLE BIT(9) 700#define MAC_RMAC_BCAST_ENABLE s2BIT(9)
701#define MAC_RMAC_ALL_ADDR_ENABLE BIT(10) 701#define MAC_RMAC_ALL_ADDR_ENABLE s2BIT(10)
702#define MAC_RMAC_INVLD_IPG_THR(val) vBIT(val,16,8) 702#define MAC_RMAC_INVLD_IPG_THR(val) vBIT(val,16,8)
703 703
704 u64 tmac_avg_ipg; 704 u64 tmac_avg_ipg;
@@ -710,14 +710,14 @@ struct XENA_dev_config {
710#define RMAC_MAX_PYLD_LEN_JUMBO_DEF vBIT(9600,2,14) 710#define RMAC_MAX_PYLD_LEN_JUMBO_DEF vBIT(9600,2,14)
711 711
712 u64 rmac_err_cfg; 712 u64 rmac_err_cfg;
713#define RMAC_ERR_FCS BIT(0) 713#define RMAC_ERR_FCS s2BIT(0)
714#define RMAC_ERR_FCS_ACCEPT BIT(1) 714#define RMAC_ERR_FCS_ACCEPT s2BIT(1)
715#define RMAC_ERR_TOO_LONG BIT(1) 715#define RMAC_ERR_TOO_LONG s2BIT(1)
716#define RMAC_ERR_TOO_LONG_ACCEPT BIT(1) 716#define RMAC_ERR_TOO_LONG_ACCEPT s2BIT(1)
717#define RMAC_ERR_RUNT BIT(2) 717#define RMAC_ERR_RUNT s2BIT(2)
718#define RMAC_ERR_RUNT_ACCEPT BIT(2) 718#define RMAC_ERR_RUNT_ACCEPT s2BIT(2)
719#define RMAC_ERR_LEN_MISMATCH BIT(3) 719#define RMAC_ERR_LEN_MISMATCH s2BIT(3)
720#define RMAC_ERR_LEN_MISMATCH_ACCEPT BIT(3) 720#define RMAC_ERR_LEN_MISMATCH_ACCEPT s2BIT(3)
721 721
722 u64 rmac_cfg_key; 722 u64 rmac_cfg_key;
723#define RMAC_CFG_KEY(val) vBIT(val,0,16) 723#define RMAC_CFG_KEY(val) vBIT(val,0,16)
@@ -728,15 +728,15 @@ struct XENA_dev_config {
728#define MAC_MC_ADDR_START_OFFSET 16 728#define MAC_MC_ADDR_START_OFFSET 16
729#define MAC_MC_ALL_MC_ADDR_OFFSET 63 /* enables all multicast pkts */ 729#define MAC_MC_ALL_MC_ADDR_OFFSET 63 /* enables all multicast pkts */
730 u64 rmac_addr_cmd_mem; 730 u64 rmac_addr_cmd_mem;
731#define RMAC_ADDR_CMD_MEM_WE BIT(7) 731#define RMAC_ADDR_CMD_MEM_WE s2BIT(7)
732#define RMAC_ADDR_CMD_MEM_RD 0 732#define RMAC_ADDR_CMD_MEM_RD 0
733#define RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD BIT(15) 733#define RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD s2BIT(15)
734#define RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING BIT(15) 734#define RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING s2BIT(15)
735#define RMAC_ADDR_CMD_MEM_OFFSET(n) vBIT(n,26,6) 735#define RMAC_ADDR_CMD_MEM_OFFSET(n) vBIT(n,26,6)
736 736
737 u64 rmac_addr_data0_mem; 737 u64 rmac_addr_data0_mem;
738#define RMAC_ADDR_DATA0_MEM_ADDR(n) vBIT(n,0,48) 738#define RMAC_ADDR_DATA0_MEM_ADDR(n) vBIT(n,0,48)
739#define RMAC_ADDR_DATA0_MEM_USER BIT(48) 739#define RMAC_ADDR_DATA0_MEM_USER s2BIT(48)
740 740
741 u64 rmac_addr_data1_mem; 741 u64 rmac_addr_data1_mem;
742#define RMAC_ADDR_DATA1_MEM_MASK(n) vBIT(n,0,48) 742#define RMAC_ADDR_DATA1_MEM_MASK(n) vBIT(n,0,48)
@@ -753,10 +753,10 @@ struct XENA_dev_config {
753 u64 tmac_ipg_cfg; 753 u64 tmac_ipg_cfg;
754 754
755 u64 rmac_pause_cfg; 755 u64 rmac_pause_cfg;
756#define RMAC_PAUSE_GEN BIT(0) 756#define RMAC_PAUSE_GEN s2BIT(0)
757#define RMAC_PAUSE_GEN_ENABLE BIT(0) 757#define RMAC_PAUSE_GEN_ENABLE s2BIT(0)
758#define RMAC_PAUSE_RX BIT(1) 758#define RMAC_PAUSE_RX s2BIT(1)
759#define RMAC_PAUSE_RX_ENABLE BIT(1) 759#define RMAC_PAUSE_RX_ENABLE s2BIT(1)
760#define RMAC_PAUSE_HG_PTIME_DEF vBIT(0xFFFF,16,16) 760#define RMAC_PAUSE_HG_PTIME_DEF vBIT(0xFFFF,16,16)
761#define RMAC_PAUSE_HG_PTIME(val) vBIT(val,16,16) 761#define RMAC_PAUSE_HG_PTIME(val) vBIT(val,16,16)
762 762
@@ -787,29 +787,29 @@ struct XENA_dev_config {
787#define MAX_DIX_MAP 4 787#define MAX_DIX_MAP 4
788 u64 rts_dix_map_n[MAX_DIX_MAP]; 788 u64 rts_dix_map_n[MAX_DIX_MAP];
789#define RTS_DIX_MAP_ETYPE(val) vBIT(val,0,16) 789#define RTS_DIX_MAP_ETYPE(val) vBIT(val,0,16)
790#define RTS_DIX_MAP_SCW(val) BIT(val,21) 790#define RTS_DIX_MAP_SCW(val) s2BIT(val,21)
791 791
792 u64 rts_q_alternates; 792 u64 rts_q_alternates;
793 u64 rts_default_q; 793 u64 rts_default_q;
794 794
795 u64 rts_ctrl; 795 u64 rts_ctrl;
796#define RTS_CTRL_IGNORE_SNAP_OUI BIT(2) 796#define RTS_CTRL_IGNORE_SNAP_OUI s2BIT(2)
797#define RTS_CTRL_IGNORE_LLC_CTRL BIT(3) 797#define RTS_CTRL_IGNORE_LLC_CTRL s2BIT(3)
798 798
799 u64 rts_pn_cam_ctrl; 799 u64 rts_pn_cam_ctrl;
800#define RTS_PN_CAM_CTRL_WE BIT(7) 800#define RTS_PN_CAM_CTRL_WE s2BIT(7)
801#define RTS_PN_CAM_CTRL_STROBE_NEW_CMD BIT(15) 801#define RTS_PN_CAM_CTRL_STROBE_NEW_CMD s2BIT(15)
802#define RTS_PN_CAM_CTRL_STROBE_BEING_EXECUTED BIT(15) 802#define RTS_PN_CAM_CTRL_STROBE_BEING_EXECUTED s2BIT(15)
803#define RTS_PN_CAM_CTRL_OFFSET(n) vBIT(n,24,8) 803#define RTS_PN_CAM_CTRL_OFFSET(n) vBIT(n,24,8)
804 u64 rts_pn_cam_data; 804 u64 rts_pn_cam_data;
805#define RTS_PN_CAM_DATA_TCP_SELECT BIT(7) 805#define RTS_PN_CAM_DATA_TCP_SELECT s2BIT(7)
806#define RTS_PN_CAM_DATA_PORT(val) vBIT(val,8,16) 806#define RTS_PN_CAM_DATA_PORT(val) vBIT(val,8,16)
807#define RTS_PN_CAM_DATA_SCW(val) vBIT(val,24,8) 807#define RTS_PN_CAM_DATA_SCW(val) vBIT(val,24,8)
808 808
809 u64 rts_ds_mem_ctrl; 809 u64 rts_ds_mem_ctrl;
810#define RTS_DS_MEM_CTRL_WE BIT(7) 810#define RTS_DS_MEM_CTRL_WE s2BIT(7)
811#define RTS_DS_MEM_CTRL_STROBE_NEW_CMD BIT(15) 811#define RTS_DS_MEM_CTRL_STROBE_NEW_CMD s2BIT(15)
812#define RTS_DS_MEM_CTRL_STROBE_CMD_BEING_EXECUTED BIT(15) 812#define RTS_DS_MEM_CTRL_STROBE_CMD_BEING_EXECUTED s2BIT(15)
813#define RTS_DS_MEM_CTRL_OFFSET(n) vBIT(n,26,6) 813#define RTS_DS_MEM_CTRL_OFFSET(n) vBIT(n,26,6)
814 u64 rts_ds_mem_data; 814 u64 rts_ds_mem_data;
815#define RTS_DS_MEM_DATA(n) vBIT(n,0,8) 815#define RTS_DS_MEM_DATA(n) vBIT(n,0,8)
@@ -823,23 +823,23 @@ struct XENA_dev_config {
823 823
824/* memory controller registers */ 824/* memory controller registers */
825 u64 mc_int_status; 825 u64 mc_int_status;
826#define MC_INT_STATUS_MC_INT BIT(0) 826#define MC_INT_STATUS_MC_INT s2BIT(0)
827 u64 mc_int_mask; 827 u64 mc_int_mask;
828#define MC_INT_MASK_MC_INT BIT(0) 828#define MC_INT_MASK_MC_INT s2BIT(0)
829 829
830 u64 mc_err_reg; 830 u64 mc_err_reg;
831#define MC_ERR_REG_ECC_DB_ERR_L BIT(14) 831#define MC_ERR_REG_ECC_DB_ERR_L s2BIT(14)
832#define MC_ERR_REG_ECC_DB_ERR_U BIT(15) 832#define MC_ERR_REG_ECC_DB_ERR_U s2BIT(15)
833#define MC_ERR_REG_MIRI_ECC_DB_ERR_0 BIT(18) 833#define MC_ERR_REG_MIRI_ECC_DB_ERR_0 s2BIT(18)
834#define MC_ERR_REG_MIRI_ECC_DB_ERR_1 BIT(20) 834#define MC_ERR_REG_MIRI_ECC_DB_ERR_1 s2BIT(20)
835#define MC_ERR_REG_MIRI_CRI_ERR_0 BIT(22) 835#define MC_ERR_REG_MIRI_CRI_ERR_0 s2BIT(22)
836#define MC_ERR_REG_MIRI_CRI_ERR_1 BIT(23) 836#define MC_ERR_REG_MIRI_CRI_ERR_1 s2BIT(23)
837#define MC_ERR_REG_SM_ERR BIT(31) 837#define MC_ERR_REG_SM_ERR s2BIT(31)
838#define MC_ERR_REG_ECC_ALL_SNG (BIT(2) | BIT(3) | BIT(4) | BIT(5) |\ 838#define MC_ERR_REG_ECC_ALL_SNG (s2BIT(2) | s2BIT(3) | s2BIT(4) | s2BIT(5) |\
839 BIT(17) | BIT(19)) 839 s2BIT(17) | s2BIT(19))
840#define MC_ERR_REG_ECC_ALL_DBL (BIT(10) | BIT(11) | BIT(12) |\ 840#define MC_ERR_REG_ECC_ALL_DBL (s2BIT(10) | s2BIT(11) | s2BIT(12) |\
841 BIT(13) | BIT(18) | BIT(20)) 841 s2BIT(13) | s2BIT(18) | s2BIT(20))
842#define PLL_LOCK_N BIT(39) 842#define PLL_LOCK_N s2BIT(39)
843 u64 mc_err_mask; 843 u64 mc_err_mask;
844 u64 mc_err_alarm; 844 u64 mc_err_alarm;
845 845
@@ -857,8 +857,8 @@ struct XENA_dev_config {
857#define RX_QUEUE_CFG_Q7_SZ(n) vBIT(n,56,8) 857#define RX_QUEUE_CFG_Q7_SZ(n) vBIT(n,56,8)
858 858
859 u64 mc_rldram_mrs; 859 u64 mc_rldram_mrs;
860#define MC_RLDRAM_QUEUE_SIZE_ENABLE BIT(39) 860#define MC_RLDRAM_QUEUE_SIZE_ENABLE s2BIT(39)
861#define MC_RLDRAM_MRS_ENABLE BIT(47) 861#define MC_RLDRAM_MRS_ENABLE s2BIT(47)
862 862
863 u64 mc_rldram_interleave; 863 u64 mc_rldram_interleave;
864 864
@@ -871,11 +871,11 @@ struct XENA_dev_config {
871 u64 mc_rldram_ref_per; 871 u64 mc_rldram_ref_per;
872 u8 unused20[0x220 - 0x208]; 872 u8 unused20[0x220 - 0x208];
873 u64 mc_rldram_test_ctrl; 873 u64 mc_rldram_test_ctrl;
874#define MC_RLDRAM_TEST_MODE BIT(47) 874#define MC_RLDRAM_TEST_MODE s2BIT(47)
875#define MC_RLDRAM_TEST_WRITE BIT(7) 875#define MC_RLDRAM_TEST_WRITE s2BIT(7)
876#define MC_RLDRAM_TEST_GO BIT(15) 876#define MC_RLDRAM_TEST_GO s2BIT(15)
877#define MC_RLDRAM_TEST_DONE BIT(23) 877#define MC_RLDRAM_TEST_DONE s2BIT(23)
878#define MC_RLDRAM_TEST_PASS BIT(31) 878#define MC_RLDRAM_TEST_PASS s2BIT(31)
879 879
880 u8 unused21[0x240 - 0x228]; 880 u8 unused21[0x240 - 0x228];
881 u64 mc_rldram_test_add; 881 u64 mc_rldram_test_add;
@@ -888,7 +888,7 @@ struct XENA_dev_config {
888 888
889 u8 unused24_1[0x360 - 0x308]; 889 u8 unused24_1[0x360 - 0x308];
890 u64 mc_rldram_ctrl; 890 u64 mc_rldram_ctrl;
891#define MC_RLDRAM_ENABLE_ODT BIT(7) 891#define MC_RLDRAM_ENABLE_ODT s2BIT(7)
892 892
893 u8 unused24_2[0x640 - 0x368]; 893 u8 unused24_2[0x640 - 0x368];
894 u64 mc_rldram_ref_per_herc; 894 u64 mc_rldram_ref_per_herc;
@@ -906,24 +906,24 @@ struct XENA_dev_config {
906 /* XGXS control registers */ 906 /* XGXS control registers */
907 907
908 u64 xgxs_int_status; 908 u64 xgxs_int_status;
909#define XGXS_INT_STATUS_TXGXS BIT(0) 909#define XGXS_INT_STATUS_TXGXS s2BIT(0)
910#define XGXS_INT_STATUS_RXGXS BIT(1) 910#define XGXS_INT_STATUS_RXGXS s2BIT(1)
911 u64 xgxs_int_mask; 911 u64 xgxs_int_mask;
912#define XGXS_INT_MASK_TXGXS BIT(0) 912#define XGXS_INT_MASK_TXGXS s2BIT(0)
913#define XGXS_INT_MASK_RXGXS BIT(1) 913#define XGXS_INT_MASK_RXGXS s2BIT(1)
914 914
915 u64 xgxs_txgxs_err_reg; 915 u64 xgxs_txgxs_err_reg;
916#define TXGXS_ECC_SG_ERR BIT(7) 916#define TXGXS_ECC_SG_ERR s2BIT(7)
917#define TXGXS_ECC_DB_ERR BIT(15) 917#define TXGXS_ECC_DB_ERR s2BIT(15)
918#define TXGXS_ESTORE_UFLOW BIT(31) 918#define TXGXS_ESTORE_UFLOW s2BIT(31)
919#define TXGXS_TX_SM_ERR BIT(39) 919#define TXGXS_TX_SM_ERR s2BIT(39)
920 920
921 u64 xgxs_txgxs_err_mask; 921 u64 xgxs_txgxs_err_mask;
922 u64 xgxs_txgxs_err_alarm; 922 u64 xgxs_txgxs_err_alarm;
923 923
924 u64 xgxs_rxgxs_err_reg; 924 u64 xgxs_rxgxs_err_reg;
925#define RXGXS_ESTORE_OFLOW BIT(7) 925#define RXGXS_ESTORE_OFLOW s2BIT(7)
926#define RXGXS_RX_SM_ERR BIT(39) 926#define RXGXS_RX_SM_ERR s2BIT(39)
927 u64 xgxs_rxgxs_err_mask; 927 u64 xgxs_rxgxs_err_mask;
928 u64 xgxs_rxgxs_err_alarm; 928 u64 xgxs_rxgxs_err_alarm;
929 929
@@ -942,10 +942,10 @@ struct XENA_dev_config {
942#define SPI_CONTROL_BYTECNT(cnt) vBIT(cnt,29,3) 942#define SPI_CONTROL_BYTECNT(cnt) vBIT(cnt,29,3)
943#define SPI_CONTROL_CMD(cmd) vBIT(cmd,32,8) 943#define SPI_CONTROL_CMD(cmd) vBIT(cmd,32,8)
944#define SPI_CONTROL_ADDR(addr) vBIT(addr,40,24) 944#define SPI_CONTROL_ADDR(addr) vBIT(addr,40,24)
945#define SPI_CONTROL_SEL1 BIT(4) 945#define SPI_CONTROL_SEL1 s2BIT(4)
946#define SPI_CONTROL_REQ BIT(7) 946#define SPI_CONTROL_REQ s2BIT(7)
947#define SPI_CONTROL_NACK BIT(5) 947#define SPI_CONTROL_NACK s2BIT(5)
948#define SPI_CONTROL_DONE BIT(6) 948#define SPI_CONTROL_DONE s2BIT(6)
949 u64 spi_data; 949 u64 spi_data;
950#define SPI_DATA_WRITE(data,len) vBIT(data,0,len) 950#define SPI_DATA_WRITE(data,len) vBIT(data,0,len)
951}; 951};
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 22e4054d4f..b8c0e7b4ca 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -1716,7 +1716,7 @@ static int init_nic(struct s2io_nic *nic)
1716 MISC_LINK_STABILITY_PRD(3); 1716 MISC_LINK_STABILITY_PRD(3);
1717 writeq(val64, &bar0->misc_control); 1717 writeq(val64, &bar0->misc_control);
1718 val64 = readq(&bar0->pic_control2); 1718 val64 = readq(&bar0->pic_control2);
1719 val64 &= ~(BIT(13)|BIT(14)|BIT(15)); 1719 val64 &= ~(s2BIT(13)|s2BIT(14)|s2BIT(15));
1720 writeq(val64, &bar0->pic_control2); 1720 writeq(val64, &bar0->pic_control2);
1721 } 1721 }
1722 if (strstr(nic->product_name, "CX4")) { 1722 if (strstr(nic->product_name, "CX4")) {
@@ -2427,7 +2427,7 @@ static int fill_rx_buffers(struct s2io_nic *nic, int ring_no)
2427 } 2427 }
2428 if ((rxdp->Control_1 & RXD_OWN_XENA) && 2428 if ((rxdp->Control_1 & RXD_OWN_XENA) &&
2429 ((nic->rxd_mode == RXD_MODE_3B) && 2429 ((nic->rxd_mode == RXD_MODE_3B) &&
2430 (rxdp->Control_2 & BIT(0)))) { 2430 (rxdp->Control_2 & s2BIT(0)))) {
2431 mac_control->rings[ring_no].rx_curr_put_info. 2431 mac_control->rings[ring_no].rx_curr_put_info.
2432 offset = off; 2432 offset = off;
2433 goto end; 2433 goto end;
@@ -2540,7 +2540,7 @@ static int fill_rx_buffers(struct s2io_nic *nic, int ring_no)
2540 rxdp->Control_2 |= SET_BUFFER2_SIZE_3 2540 rxdp->Control_2 |= SET_BUFFER2_SIZE_3
2541 (dev->mtu + 4); 2541 (dev->mtu + 4);
2542 } 2542 }
2543 rxdp->Control_2 |= BIT(0); 2543 rxdp->Control_2 |= s2BIT(0);
2544 } 2544 }
2545 rxdp->Host_Control = (unsigned long) (skb); 2545 rxdp->Host_Control = (unsigned long) (skb);
2546 if (alloc_tab & ((1 << rxsync_frequency) - 1)) 2546 if (alloc_tab & ((1 << rxsync_frequency) - 1))
@@ -3377,7 +3377,7 @@ static void s2io_reset(struct s2io_nic * sp)
3377 pci_write_config_dword(sp->pdev, 0x68, 0x7C); 3377 pci_write_config_dword(sp->pdev, 0x68, 0x7C);
3378 3378
3379 /* Clearing PCI_STATUS error reflected here */ 3379 /* Clearing PCI_STATUS error reflected here */
3380 writeq(BIT(62), &bar0->txpic_int_reg); 3380 writeq(s2BIT(62), &bar0->txpic_int_reg);
3381 } 3381 }
3382 3382
3383 /* Reset device statistics maintained by OS */ 3383 /* Reset device statistics maintained by OS */
@@ -3575,7 +3575,7 @@ static int wait_for_msix_trans(struct s2io_nic *nic, int i)
3575 3575
3576 do { 3576 do {
3577 val64 = readq(&bar0->xmsi_access); 3577 val64 = readq(&bar0->xmsi_access);
3578 if (!(val64 & BIT(15))) 3578 if (!(val64 & s2BIT(15)))
3579 break; 3579 break;
3580 mdelay(1); 3580 mdelay(1);
3581 cnt++; 3581 cnt++;
@@ -3597,7 +3597,7 @@ static void restore_xmsi_data(struct s2io_nic *nic)
3597 for (i=0; i < MAX_REQUESTED_MSI_X; i++) { 3597 for (i=0; i < MAX_REQUESTED_MSI_X; i++) {
3598 writeq(nic->msix_info[i].addr, &bar0->xmsi_address); 3598 writeq(nic->msix_info[i].addr, &bar0->xmsi_address);
3599 writeq(nic->msix_info[i].data, &bar0->xmsi_data); 3599 writeq(nic->msix_info[i].data, &bar0->xmsi_data);
3600 val64 = (BIT(7) | BIT(15) | vBIT(i, 26, 6)); 3600 val64 = (s2BIT(7) | s2BIT(15) | vBIT(i, 26, 6));
3601 writeq(val64, &bar0->xmsi_access); 3601 writeq(val64, &bar0->xmsi_access);
3602 if (wait_for_msix_trans(nic, i)) { 3602 if (wait_for_msix_trans(nic, i)) {
3603 DBG_PRINT(ERR_DBG, "failed in %s\n", __FUNCTION__); 3603 DBG_PRINT(ERR_DBG, "failed in %s\n", __FUNCTION__);
@@ -3614,7 +3614,7 @@ static void store_xmsi_data(struct s2io_nic *nic)
3614 3614
3615 /* Store and display */ 3615 /* Store and display */
3616 for (i=0; i < MAX_REQUESTED_MSI_X; i++) { 3616 for (i=0; i < MAX_REQUESTED_MSI_X; i++) {
3617 val64 = (BIT(15) | vBIT(i, 26, 6)); 3617 val64 = (s2BIT(15) | vBIT(i, 26, 6));
3618 writeq(val64, &bar0->xmsi_access); 3618 writeq(val64, &bar0->xmsi_access);
3619 if (wait_for_msix_trans(nic, i)) { 3619 if (wait_for_msix_trans(nic, i)) {
3620 DBG_PRINT(ERR_DBG, "failed in %s\n", __FUNCTION__); 3620 DBG_PRINT(ERR_DBG, "failed in %s\n", __FUNCTION__);
@@ -4634,7 +4634,7 @@ static void s2io_updt_stats(struct s2io_nic *sp)
4634 do { 4634 do {
4635 udelay(100); 4635 udelay(100);
4636 val64 = readq(&bar0->stat_cfg); 4636 val64 = readq(&bar0->stat_cfg);
4637 if (!(val64 & BIT(0))) 4637 if (!(val64 & s2BIT(0)))
4638 break; 4638 break;
4639 cnt++; 4639 cnt++;
4640 if (cnt == 5) 4640 if (cnt == 5)
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h
index f6b4556530..cc1797a071 100644
--- a/drivers/net/s2io.h
+++ b/drivers/net/s2io.h
@@ -14,7 +14,7 @@
14#define _S2IO_H 14#define _S2IO_H
15 15
16#define TBD 0 16#define TBD 0
17#define BIT(loc) (0x8000000000000000ULL >> (loc)) 17#define s2BIT(loc) (0x8000000000000000ULL >> (loc))
18#define vBIT(val, loc, sz) (((u64)val) << (64-loc-sz)) 18#define vBIT(val, loc, sz) (((u64)val) << (64-loc-sz))
19#define INV(d) ((d&0xff)<<24) | (((d>>8)&0xff)<<16) | (((d>>16)&0xff)<<8)| ((d>>24)&0xff) 19#define INV(d) ((d&0xff)<<24) | (((d>>8)&0xff)<<16) | (((d>>16)&0xff)<<8)| ((d>>24)&0xff)
20 20
@@ -473,42 +473,42 @@ struct TxFIFO_element {
473 473
474 u64 List_Control; 474 u64 List_Control;
475#define TX_FIFO_LAST_TXD_NUM( val) vBIT(val,0,8) 475#define TX_FIFO_LAST_TXD_NUM( val) vBIT(val,0,8)
476#define TX_FIFO_FIRST_LIST BIT(14) 476#define TX_FIFO_FIRST_LIST s2BIT(14)
477#define TX_FIFO_LAST_LIST BIT(15) 477#define TX_FIFO_LAST_LIST s2BIT(15)
478#define TX_FIFO_FIRSTNLAST_LIST vBIT(3,14,2) 478#define TX_FIFO_FIRSTNLAST_LIST vBIT(3,14,2)
479#define TX_FIFO_SPECIAL_FUNC BIT(23) 479#define TX_FIFO_SPECIAL_FUNC s2BIT(23)
480#define TX_FIFO_DS_NO_SNOOP BIT(31) 480#define TX_FIFO_DS_NO_SNOOP s2BIT(31)
481#define TX_FIFO_BUFF_NO_SNOOP BIT(30) 481#define TX_FIFO_BUFF_NO_SNOOP s2BIT(30)
482}; 482};
483 483
484/* Tx descriptor structure */ 484/* Tx descriptor structure */
485struct TxD { 485struct TxD {
486 u64 Control_1; 486 u64 Control_1;
487/* bit mask */ 487/* bit mask */
488#define TXD_LIST_OWN_XENA BIT(7) 488#define TXD_LIST_OWN_XENA s2BIT(7)
489#define TXD_T_CODE (BIT(12)|BIT(13)|BIT(14)|BIT(15)) 489#define TXD_T_CODE (s2BIT(12)|s2BIT(13)|s2BIT(14)|s2BIT(15))
490#define TXD_T_CODE_OK(val) (|(val & TXD_T_CODE)) 490#define TXD_T_CODE_OK(val) (|(val & TXD_T_CODE))
491#define GET_TXD_T_CODE(val) ((val & TXD_T_CODE)<<12) 491#define GET_TXD_T_CODE(val) ((val & TXD_T_CODE)<<12)
492#define TXD_GATHER_CODE (BIT(22) | BIT(23)) 492#define TXD_GATHER_CODE (s2BIT(22) | s2BIT(23))
493#define TXD_GATHER_CODE_FIRST BIT(22) 493#define TXD_GATHER_CODE_FIRST s2BIT(22)
494#define TXD_GATHER_CODE_LAST BIT(23) 494#define TXD_GATHER_CODE_LAST s2BIT(23)
495#define TXD_TCP_LSO_EN BIT(30) 495#define TXD_TCP_LSO_EN s2BIT(30)
496#define TXD_UDP_COF_EN BIT(31) 496#define TXD_UDP_COF_EN s2BIT(31)
497#define TXD_UFO_EN BIT(31) | BIT(30) 497#define TXD_UFO_EN s2BIT(31) | s2BIT(30)
498#define TXD_TCP_LSO_MSS(val) vBIT(val,34,14) 498#define TXD_TCP_LSO_MSS(val) vBIT(val,34,14)
499#define TXD_UFO_MSS(val) vBIT(val,34,14) 499#define TXD_UFO_MSS(val) vBIT(val,34,14)
500#define TXD_BUFFER0_SIZE(val) vBIT(val,48,16) 500#define TXD_BUFFER0_SIZE(val) vBIT(val,48,16)
501 501
502 u64 Control_2; 502 u64 Control_2;
503#define TXD_TX_CKO_CONTROL (BIT(5)|BIT(6)|BIT(7)) 503#define TXD_TX_CKO_CONTROL (s2BIT(5)|s2BIT(6)|s2BIT(7))
504#define TXD_TX_CKO_IPV4_EN BIT(5) 504#define TXD_TX_CKO_IPV4_EN s2BIT(5)
505#define TXD_TX_CKO_TCP_EN BIT(6) 505#define TXD_TX_CKO_TCP_EN s2BIT(6)
506#define TXD_TX_CKO_UDP_EN BIT(7) 506#define TXD_TX_CKO_UDP_EN s2BIT(7)
507#define TXD_VLAN_ENABLE BIT(15) 507#define TXD_VLAN_ENABLE s2BIT(15)
508#define TXD_VLAN_TAG(val) vBIT(val,16,16) 508#define TXD_VLAN_TAG(val) vBIT(val,16,16)
509#define TXD_INT_NUMBER(val) vBIT(val,34,6) 509#define TXD_INT_NUMBER(val) vBIT(val,34,6)
510#define TXD_INT_TYPE_PER_LIST BIT(47) 510#define TXD_INT_TYPE_PER_LIST s2BIT(47)
511#define TXD_INT_TYPE_UTILZ BIT(46) 511#define TXD_INT_TYPE_UTILZ s2BIT(46)
512#define TXD_SET_MARKER vBIT(0x6,0,4) 512#define TXD_SET_MARKER vBIT(0x6,0,4)
513 513
514 u64 Buffer_Pointer; 514 u64 Buffer_Pointer;
@@ -525,14 +525,14 @@ struct list_info_hold {
525struct RxD_t { 525struct RxD_t {
526 u64 Host_Control; /* reserved for host */ 526 u64 Host_Control; /* reserved for host */
527 u64 Control_1; 527 u64 Control_1;
528#define RXD_OWN_XENA BIT(7) 528#define RXD_OWN_XENA s2BIT(7)
529#define RXD_T_CODE (BIT(12)|BIT(13)|BIT(14)|BIT(15)) 529#define RXD_T_CODE (s2BIT(12)|s2BIT(13)|s2BIT(14)|s2BIT(15))
530#define RXD_FRAME_PROTO vBIT(0xFFFF,24,8) 530#define RXD_FRAME_PROTO vBIT(0xFFFF,24,8)
531#define RXD_FRAME_PROTO_IPV4 BIT(27) 531#define RXD_FRAME_PROTO_IPV4 s2BIT(27)
532#define RXD_FRAME_PROTO_IPV6 BIT(28) 532#define RXD_FRAME_PROTO_IPV6 s2BIT(28)
533#define RXD_FRAME_IP_FRAG BIT(29) 533#define RXD_FRAME_IP_FRAG s2BIT(29)
534#define RXD_FRAME_PROTO_TCP BIT(30) 534#define RXD_FRAME_PROTO_TCP s2BIT(30)
535#define RXD_FRAME_PROTO_UDP BIT(31) 535#define RXD_FRAME_PROTO_UDP s2BIT(31)
536#define TCP_OR_UDP_FRAME (RXD_FRAME_PROTO_TCP | RXD_FRAME_PROTO_UDP) 536#define TCP_OR_UDP_FRAME (RXD_FRAME_PROTO_TCP | RXD_FRAME_PROTO_UDP)
537#define RXD_GET_L3_CKSUM(val) ((u16)(val>> 16) & 0xFFFF) 537#define RXD_GET_L3_CKSUM(val) ((u16)(val>> 16) & 0xFFFF)
538#define RXD_GET_L4_CKSUM(val) ((u16)(val) & 0xFFFF) 538#define RXD_GET_L4_CKSUM(val) ((u16)(val) & 0xFFFF)
@@ -998,26 +998,26 @@ static inline void SPECIAL_REG_WRITE(u64 val, void __iomem *addr, int order)
998/* Interrupt masks for the general interrupt mask register */ 998/* Interrupt masks for the general interrupt mask register */
999#define DISABLE_ALL_INTRS 0xFFFFFFFFFFFFFFFFULL 999#define DISABLE_ALL_INTRS 0xFFFFFFFFFFFFFFFFULL
1000 1000
1001#define TXPIC_INT_M BIT(0) 1001#define TXPIC_INT_M s2BIT(0)
1002#define TXDMA_INT_M BIT(1) 1002#define TXDMA_INT_M s2BIT(1)
1003#define TXMAC_INT_M BIT(2) 1003#define TXMAC_INT_M s2BIT(2)
1004#define TXXGXS_INT_M BIT(3) 1004#define TXXGXS_INT_M s2BIT(3)
1005#define TXTRAFFIC_INT_M BIT(8) 1005#define TXTRAFFIC_INT_M s2BIT(8)
1006#define PIC_RX_INT_M BIT(32) 1006#define PIC_RX_INT_M s2BIT(32)
1007#define RXDMA_INT_M BIT(33) 1007#define RXDMA_INT_M s2BIT(33)
1008#define RXMAC_INT_M BIT(34) 1008#define RXMAC_INT_M s2BIT(34)
1009#define MC_INT_M BIT(35) 1009#define MC_INT_M s2BIT(35)
1010#define RXXGXS_INT_M BIT(36) 1010#define RXXGXS_INT_M s2BIT(36)
1011#define RXTRAFFIC_INT_M BIT(40) 1011#define RXTRAFFIC_INT_M s2BIT(40)
1012 1012
1013/* PIC level Interrupts TODO*/ 1013/* PIC level Interrupts TODO*/
1014 1014
1015/* DMA level Inressupts */ 1015/* DMA level Inressupts */
1016#define TXDMA_PFC_INT_M BIT(0) 1016#define TXDMA_PFC_INT_M s2BIT(0)
1017#define TXDMA_PCC_INT_M BIT(2) 1017#define TXDMA_PCC_INT_M s2BIT(2)
1018 1018
1019/* PFC block interrupts */ 1019/* PFC block interrupts */
1020#define PFC_MISC_ERR_1 BIT(0) /* Interrupt to indicate FIFO full */ 1020#define PFC_MISC_ERR_1 s2BIT(0) /* Interrupt to indicate FIFO full */
1021 1021
1022/* PCC block interrupts. */ 1022/* PCC block interrupts. */
1023#define PCC_FB_ECC_ERR vBIT(0xff, 16, 8) /* Interrupt to indicate 1023#define PCC_FB_ECC_ERR vBIT(0xff, 16, 8) /* Interrupt to indicate
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index fab055ffcc..571060a3c9 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -46,7 +46,7 @@
46#include <linux/vmalloc.h> 46#include <linux/vmalloc.h>
47#include <linux/wait.h> 47#include <linux/wait.h>
48#include <linux/workqueue.h> 48#include <linux/workqueue.h>
49#include <asm/bitops.h> 49#include <linux/bitops.h>
50#include <asm/pci-bridge.h> 50#include <asm/pci-bridge.h>
51#include <net/checksum.h> 51#include <net/checksum.h>
52 52
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c
index 76e5561243..a7afeea156 100644
--- a/drivers/net/tulip/uli526x.c
+++ b/drivers/net/tulip/uli526x.c
@@ -34,9 +34,9 @@
34#include <linux/delay.h> 34#include <linux/delay.h>
35#include <linux/spinlock.h> 35#include <linux/spinlock.h>
36#include <linux/dma-mapping.h> 36#include <linux/dma-mapping.h>
37#include <linux/bitops.h>
37 38
38#include <asm/processor.h> 39#include <asm/processor.h>
39#include <asm/bitops.h>
40#include <asm/io.h> 40#include <asm/io.h>
41#include <asm/dma.h> 41#include <asm/dma.h>
42#include <asm/uaccess.h> 42#include <asm/uaccess.h>
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_leds.c b/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
index 8f198befba..cb51dc51cc 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
@@ -29,7 +29,7 @@
29#include "bcm43xx_radio.h" 29#include "bcm43xx_radio.h"
30#include "bcm43xx.h" 30#include "bcm43xx.h"
31 31
32#include <asm/bitops.h> 32#include <linux/bitops.h>
33 33
34 34
35static void bcm43xx_led_changestate(struct bcm43xx_led *led) 35static void bcm43xx_led_changestate(struct bcm43xx_led *led)
diff --git a/drivers/net/wireless/hostap/hostap_common.h b/drivers/net/wireless/hostap/hostap_common.h
index ceb7f1e5e9..517f898451 100644
--- a/drivers/net/wireless/hostap/hostap_common.h
+++ b/drivers/net/wireless/hostap/hostap_common.h
@@ -4,9 +4,6 @@
4#include <linux/types.h> 4#include <linux/types.h>
5#include <linux/if_ether.h> 5#include <linux/if_ether.h>
6 6
7#define BIT(x) (1 << (x))
8
9
10/* IEEE 802.11 defines */ 7/* IEEE 802.11 defines */
11 8
12/* Information Element IDs */ 9/* Information Element IDs */
diff --git a/drivers/net/wireless/hostap/hostap_ioctl.c b/drivers/net/wireless/hostap/hostap_ioctl.c
index 40f516d42c..d8f5efcfca 100644
--- a/drivers/net/wireless/hostap/hostap_ioctl.c
+++ b/drivers/net/wireless/hostap/hostap_ioctl.c
@@ -2920,7 +2920,7 @@ static int prism2_ioctl_priv_monitor(struct net_device *dev, int *i)
2920 2920
2921 printk(KERN_DEBUG "%s: process %d (%s) used deprecated iwpriv monitor " 2921 printk(KERN_DEBUG "%s: process %d (%s) used deprecated iwpriv monitor "
2922 "- update software to use iwconfig mode monitor\n", 2922 "- update software to use iwconfig mode monitor\n",
2923 dev->name, current->pid, current->comm); 2923 dev->name, task_pid_nr(current), current->comm);
2924 2924
2925 /* Backward compatibility code - this can be removed at some point */ 2925 /* Backward compatibility code - this can be removed at some point */
2926 2926
diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c
index 67d28ee80f..c5e0d89c3e 100644
--- a/drivers/pcmcia/m32r_pcc.c
+++ b/drivers/pcmcia/m32r_pcc.c
@@ -22,9 +22,9 @@
22#include <linux/workqueue.h> 22#include <linux/workqueue.h>
23#include <linux/interrupt.h> 23#include <linux/interrupt.h>
24#include <linux/platform_device.h> 24#include <linux/platform_device.h>
25#include <linux/bitops.h>
25#include <asm/irq.h> 26#include <asm/irq.h>
26#include <asm/io.h> 27#include <asm/io.h>
27#include <asm/bitops.h>
28#include <asm/system.h> 28#include <asm/system.h>
29#include <asm/addrspace.h> 29#include <asm/addrspace.h>
30 30
diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c
index b019854984..d182760f03 100644
--- a/drivers/pcmcia/m8xx_pcmcia.c
+++ b/drivers/pcmcia/m8xx_pcmcia.c
@@ -48,9 +48,9 @@
48#include <linux/delay.h> 48#include <linux/delay.h>
49#include <linux/interrupt.h> 49#include <linux/interrupt.h>
50#include <linux/fsl_devices.h> 50#include <linux/fsl_devices.h>
51#include <linux/bitops.h>
51 52
52#include <asm/io.h> 53#include <asm/io.h>
53#include <asm/bitops.h>
54#include <asm/system.h> 54#include <asm/system.h>
55#include <asm/time.h> 55#include <asm/time.h>
56#include <asm/mpc8xx.h> 56#include <asm/mpc8xx.h>
diff --git a/drivers/ps3/ps3av.c b/drivers/ps3/ps3av.c
index 397f4ce849..87b3493d88 100644
--- a/drivers/ps3/ps3av.c
+++ b/drivers/ps3/ps3av.c
@@ -729,7 +729,7 @@ static void ps3av_monitor_info_dump(const struct ps3av_pkt_av_get_monitor_info *
729 729
730static const struct ps3av_monitor_quirk { 730static const struct ps3av_monitor_quirk {
731 const char *monitor_name; 731 const char *monitor_name;
732 u32 clear_60, clear_50, clear_vesa; 732 u32 clear_60;
733} ps3av_monitor_quirks[] = { 733} ps3av_monitor_quirks[] = {
734 { 734 {
735 .monitor_name = "DELL 2007WFP", 735 .monitor_name = "DELL 2007WFP",
@@ -757,10 +757,6 @@ static void ps3av_fixup_monitor_info(struct ps3av_info_monitor *info)
757 quirk->monitor_name); 757 quirk->monitor_name);
758 info->res_60.res_bits &= ~quirk->clear_60; 758 info->res_60.res_bits &= ~quirk->clear_60;
759 info->res_60.native &= ~quirk->clear_60; 759 info->res_60.native &= ~quirk->clear_60;
760 info->res_50.res_bits &= ~quirk->clear_50;
761 info->res_50.native &= ~quirk->clear_50;
762 info->res_vesa.res_bits &= ~quirk->clear_vesa;
763 info->res_vesa.native &= ~quirk->clear_vesa;
764 break; 760 break;
765 } 761 }
766 } 762 }
diff --git a/drivers/ps3/vuart.c b/drivers/ps3/vuart.c
index bea25a1391..9dea585ef8 100644
--- a/drivers/ps3/vuart.c
+++ b/drivers/ps3/vuart.c
@@ -22,11 +22,11 @@
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/interrupt.h> 23#include <linux/interrupt.h>
24#include <linux/workqueue.h> 24#include <linux/workqueue.h>
25#include <linux/bitops.h>
25#include <asm/ps3.h> 26#include <asm/ps3.h>
26 27
27#include <asm/firmware.h> 28#include <asm/firmware.h>
28#include <asm/lv1call.h> 29#include <asm/lv1call.h>
29#include <asm/bitops.h>
30 30
31#include "vuart.h" 31#include "vuart.h"
32 32
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
index e4bf68ca96..2fd49edcc7 100644
--- a/drivers/rtc/rtc-pl031.c
+++ b/drivers/rtc/rtc-pl031.c
@@ -21,11 +21,11 @@
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/string.h> 22#include <linux/string.h>
23#include <linux/pm.h> 23#include <linux/pm.h>
24#include <linux/bitops.h>
24 25
25#include <linux/amba/bus.h> 26#include <linux/amba/bus.h>
26 27
27#include <asm/io.h> 28#include <asm/io.h>
28#include <asm/bitops.h>
29#include <asm/hardware.h> 29#include <asm/hardware.h>
30#include <asm/irq.h> 30#include <asm/irq.h>
31#include <asm/rtc.h> 31#include <asm/rtc.h>
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0918b787c4..6f1e9a9804 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -29,8 +29,8 @@
29#include <linux/interrupt.h> 29#include <linux/interrupt.h>
30#include <linux/string.h> 30#include <linux/string.h>
31#include <linux/pm.h> 31#include <linux/pm.h>
32#include <linux/bitops.h>
32 33
33#include <asm/bitops.h>
34#include <asm/hardware.h> 34#include <asm/hardware.h>
35#include <asm/irq.h> 35#include <asm/irq.h>
36#include <asm/rtc.h> 36#include <asm/rtc.h>
diff --git a/drivers/s390/cio/idset.c b/drivers/s390/cio/idset.c
index 16ea828e99..ef7bc0a125 100644
--- a/drivers/s390/cio/idset.c
+++ b/drivers/s390/cio/idset.c
@@ -6,7 +6,7 @@
6 */ 6 */
7 7
8#include <linux/slab.h> 8#include <linux/slab.h>
9#include <asm/bitops.h> 9#include <linux/bitops.h>
10#include "idset.h" 10#include "idset.h"
11#include "css.h" 11#include "css.h"
12 12
diff --git a/drivers/s390/net/claw.c b/drivers/s390/net/claw.c
index 399695f7b1..3561982749 100644
--- a/drivers/s390/net/claw.c
+++ b/drivers/s390/net/claw.c
@@ -59,13 +59,13 @@
59 * 1.15 Changed for 2.6 Kernel No longer compiles on 2.4 or lower 59 * 1.15 Changed for 2.6 Kernel No longer compiles on 2.4 or lower
60 * 1.25 Added Packing support 60 * 1.25 Added Packing support
61 */ 61 */
62#include <asm/bitops.h>
63#include <asm/ccwdev.h> 62#include <asm/ccwdev.h>
64#include <asm/ccwgroup.h> 63#include <asm/ccwgroup.h>
65#include <asm/debug.h> 64#include <asm/debug.h>
66#include <asm/idals.h> 65#include <asm/idals.h>
67#include <asm/io.h> 66#include <asm/io.h>
68 67
68#include <linux/bitops.h>
69#include <linux/ctype.h> 69#include <linux/ctype.h>
70#include <linux/delay.h> 70#include <linux/delay.h>
71#include <linux/errno.h> 71#include <linux/errno.h>
diff --git a/drivers/scsi/FlashPoint.c b/drivers/scsi/FlashPoint.c
index a7f916c0c9..1c9078191d 100644
--- a/drivers/scsi/FlashPoint.c
+++ b/drivers/scsi/FlashPoint.c
@@ -25,9 +25,6 @@
25 25
26#define FAILURE 0xFFFFFFFFL 26#define FAILURE 0xFFFFFFFFL
27 27
28#define BIT(x) ((unsigned char)(1<<(x))) /* single-bit mask in bit position x */
29#define BITW(x) ((unsigned short)(1<<(x))) /* single-bit mask in bit position x */
30
31struct sccb; 28struct sccb;
32typedef void (*CALL_BK_FN) (struct sccb *); 29typedef void (*CALL_BK_FN) (struct sccb *);
33 30
@@ -374,9 +371,9 @@ typedef struct SCCBscam_info {
374#define SCAM_ENABLED BIT(2) 371#define SCAM_ENABLED BIT(2)
375#define SCAM_LEVEL2 BIT(3) 372#define SCAM_LEVEL2 BIT(3)
376 373
377#define RENEGO_ENA BITW(10) 374#define RENEGO_ENA BIT(10)
378#define CONNIO_ENA BITW(11) 375#define CONNIO_ENA BIT(11)
379#define GREEN_PC_ENA BITW(12) 376#define GREEN_PC_ENA BIT(12)
380 377
381#define AUTO_RATE_00 00 378#define AUTO_RATE_00 00
382#define AUTO_RATE_05 01 379#define AUTO_RATE_05 01
@@ -511,23 +508,23 @@ typedef struct SCCBscam_info {
511 508
512#define hp_intena 0x40 509#define hp_intena 0x40
513 510
514#define RESET BITW(7) 511#define RESET BIT(7)
515#define PROG_HLT BITW(6) 512#define PROG_HLT BIT(6)
516#define PARITY BITW(5) 513#define PARITY BIT(5)
517#define FIFO BITW(4) 514#define FIFO BIT(4)
518#define SEL BITW(3) 515#define SEL BIT(3)
519#define SCAM_SEL BITW(2) 516#define SCAM_SEL BIT(2)
520#define RSEL BITW(1) 517#define RSEL BIT(1)
521#define TIMEOUT BITW(0) 518#define TIMEOUT BIT(0)
522#define BUS_FREE BITW(15) 519#define BUS_FREE BIT(15)
523#define XFER_CNT_0 BITW(14) 520#define XFER_CNT_0 BIT(14)
524#define PHASE BITW(13) 521#define PHASE BIT(13)
525#define IUNKWN BITW(12) 522#define IUNKWN BIT(12)
526#define ICMD_COMP BITW(11) 523#define ICMD_COMP BIT(11)
527#define ITICKLE BITW(10) 524#define ITICKLE BIT(10)
528#define IDO_STRT BITW(9) 525#define IDO_STRT BIT(9)
529#define ITAR_DISC BITW(8) 526#define ITAR_DISC BIT(8)
530#define AUTO_INT (BITW(12)+BITW(11)+BITW(10)+BITW(9)+BITW(8)) 527#define AUTO_INT (BIT(12)+BIT(11)+BIT(10)+BIT(9)+BIT(8))
531#define CLR_ALL_INT 0xFFFF 528#define CLR_ALL_INT 0xFFFF
532#define CLR_ALL_INT_1 0xFF00 529#define CLR_ALL_INT_1 0xFF00
533 530
@@ -674,37 +671,37 @@ typedef struct SCCBscam_info {
674#define BIOS_DATA_OFFSET 0x60 671#define BIOS_DATA_OFFSET 0x60
675#define BIOS_RELATIVE_CARD 0x64 672#define BIOS_RELATIVE_CARD 0x64
676 673
677#define AR3 (BITW(9) + BITW(8)) 674#define AR3 (BIT(9) + BIT(8))
678#define SDATA BITW(10) 675#define SDATA BIT(10)
679 676
680#define CRD_OP BITW(11) /* Cmp Reg. w/ Data */ 677#define CRD_OP BIT(11) /* Cmp Reg. w/ Data */
681 678
682#define CRR_OP BITW(12) /* Cmp Reg. w. Reg. */ 679#define CRR_OP BIT(12) /* Cmp Reg. w. Reg. */
683 680
684#define CPE_OP (BITW(14)+BITW(11)) /* Cmp SCSI phs & Branch EQ */ 681#define CPE_OP (BIT(14)+BIT(11)) /* Cmp SCSI phs & Branch EQ */
685 682
686#define CPN_OP (BITW(14)+BITW(12)) /* Cmp SCSI phs & Branch NOT EQ */ 683#define CPN_OP (BIT(14)+BIT(12)) /* Cmp SCSI phs & Branch NOT EQ */
687 684
688#define ADATA_OUT 0x00 685#define ADATA_OUT 0x00
689#define ADATA_IN BITW(8) 686#define ADATA_IN BIT(8)
690#define ACOMMAND BITW(10) 687#define ACOMMAND BIT(10)
691#define ASTATUS (BITW(10)+BITW(8)) 688#define ASTATUS (BIT(10)+BIT(8))
692#define AMSG_OUT (BITW(10)+BITW(9)) 689#define AMSG_OUT (BIT(10)+BIT(9))
693#define AMSG_IN (BITW(10)+BITW(9)+BITW(8)) 690#define AMSG_IN (BIT(10)+BIT(9)+BIT(8))
694 691
695#define BRH_OP BITW(13) /* Branch */ 692#define BRH_OP BIT(13) /* Branch */
696 693
697#define ALWAYS 0x00 694#define ALWAYS 0x00
698#define EQUAL BITW(8) 695#define EQUAL BIT(8)
699#define NOT_EQ BITW(9) 696#define NOT_EQ BIT(9)
700 697
701#define TCB_OP (BITW(13)+BITW(11)) /* Test condition & branch */ 698#define TCB_OP (BIT(13)+BIT(11)) /* Test condition & branch */
702 699
703#define FIFO_0 BITW(10) 700#define FIFO_0 BIT(10)
704 701
705#define MPM_OP BITW(15) /* Match phase and move data */ 702#define MPM_OP BIT(15) /* Match phase and move data */
706 703
707#define MRR_OP BITW(14) /* Move DReg. to Reg. */ 704#define MRR_OP BIT(14) /* Move DReg. to Reg. */
708 705
709#define S_IDREG (BIT(2)+BIT(1)+BIT(0)) 706#define S_IDREG (BIT(2)+BIT(1)+BIT(0))
710 707
@@ -712,9 +709,9 @@ typedef struct SCCBscam_info {
712#define D_AR1 BIT(0) 709#define D_AR1 BIT(0)
713#define D_BUCKET (BIT(2) + BIT(1) + BIT(0)) 710#define D_BUCKET (BIT(2) + BIT(1) + BIT(0))
714 711
715#define RAT_OP (BITW(14)+BITW(13)+BITW(11)) 712#define RAT_OP (BIT(14)+BIT(13)+BIT(11))
716 713
717#define SSI_OP (BITW(15)+BITW(11)) 714#define SSI_OP (BIT(15)+BIT(11))
718 715
719#define SSI_ITAR_DISC (ITAR_DISC >> 8) 716#define SSI_ITAR_DISC (ITAR_DISC >> 8)
720#define SSI_IDO_STRT (IDO_STRT >> 8) 717#define SSI_IDO_STRT (IDO_STRT >> 8)
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 30905cebef..a5763c6e93 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -521,7 +521,7 @@ config SCSI_DPT_I2O
521 521
522config SCSI_ADVANSYS 522config SCSI_ADVANSYS
523 tristate "AdvanSys SCSI support" 523 tristate "AdvanSys SCSI support"
524 depends on SCSI 524 depends on SCSI && VIRT_TO_BUS
525 depends on ISA || EISA || PCI 525 depends on ISA || EISA || PCI
526 help 526 help
527 This is a driver for all SCSI host adapters manufactured by 527 This is a driver for all SCSI host adapters manufactured by
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c
index fa7ba64483..252d180646 100644
--- a/drivers/scsi/ide-scsi.c
+++ b/drivers/scsi/ide-scsi.c
@@ -47,9 +47,9 @@
47#include <linux/scatterlist.h> 47#include <linux/scatterlist.h>
48#include <linux/delay.h> 48#include <linux/delay.h>
49#include <linux/mutex.h> 49#include <linux/mutex.h>
50#include <linux/bitops.h>
50 51
51#include <asm/io.h> 52#include <asm/io.h>
52#include <asm/bitops.h>
53#include <asm/uaccess.h> 53#include <asm/uaccess.h>
54 54
55#include <scsi/scsi.h> 55#include <scsi/scsi.h>
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c
index 7ef0afc3cd..5f3a0d7b18 100644
--- a/drivers/scsi/libsas/sas_discover.c
+++ b/drivers/scsi/libsas/sas_discover.c
@@ -285,7 +285,7 @@ static void sas_discover_domain(struct work_struct *work)
285 dev = port->port_dev; 285 dev = port->port_dev;
286 286
287 SAS_DPRINTK("DOING DISCOVERY on port %d, pid:%d\n", port->id, 287 SAS_DPRINTK("DOING DISCOVERY on port %d, pid:%d\n", port->id,
288 current->pid); 288 task_pid_nr(current));
289 289
290 switch (dev->dev_type) { 290 switch (dev->dev_type) {
291 case SAS_END_DEV: 291 case SAS_END_DEV:
@@ -320,7 +320,7 @@ static void sas_discover_domain(struct work_struct *work)
320 } 320 }
321 321
322 SAS_DPRINTK("DONE DISCOVERY on port %d, pid:%d, result:%d\n", port->id, 322 SAS_DPRINTK("DONE DISCOVERY on port %d, pid:%d, result:%d\n", port->id,
323 current->pid, error); 323 task_pid_nr(current), error);
324} 324}
325 325
326static void sas_revalidate_domain(struct work_struct *work) 326static void sas_revalidate_domain(struct work_struct *work)
@@ -334,12 +334,12 @@ static void sas_revalidate_domain(struct work_struct *work)
334 &port->disc.pending); 334 &port->disc.pending);
335 335
336 SAS_DPRINTK("REVALIDATING DOMAIN on port %d, pid:%d\n", port->id, 336 SAS_DPRINTK("REVALIDATING DOMAIN on port %d, pid:%d\n", port->id,
337 current->pid); 337 task_pid_nr(current));
338 if (port->port_dev) 338 if (port->port_dev)
339 res = sas_ex_revalidate_domain(port->port_dev); 339 res = sas_ex_revalidate_domain(port->port_dev);
340 340
341 SAS_DPRINTK("done REVALIDATING DOMAIN on port %d, pid:%d, res 0x%x\n", 341 SAS_DPRINTK("done REVALIDATING DOMAIN on port %d, pid:%d, res 0x%x\n",
342 port->id, current->pid, res); 342 port->id, task_pid_nr(current), res);
343} 343}
344 344
345/* ---------- Events ---------- */ 345/* ---------- Events ---------- */
diff --git a/drivers/scsi/nsp32.h b/drivers/scsi/nsp32.h
index a976e8193d..6715ecb3bf 100644
--- a/drivers/scsi/nsp32.h
+++ b/drivers/scsi/nsp32.h
@@ -69,11 +69,6 @@ typedef u32 u32_le;
69typedef u16 u16_le; 69typedef u16 u16_le;
70 70
71/* 71/*
72 * MACRO
73 */
74#define BIT(x) (1UL << (x))
75
76/*
77 * BASIC Definitions 72 * BASIC Definitions
78 */ 73 */
79#ifndef TRUE 74#ifndef TRUE
diff --git a/drivers/scsi/pcmcia/nsp_cs.h b/drivers/scsi/pcmcia/nsp_cs.h
index b7f0fa2464..98397559c5 100644
--- a/drivers/scsi/pcmcia/nsp_cs.h
+++ b/drivers/scsi/pcmcia/nsp_cs.h
@@ -24,7 +24,6 @@
24/************************************ 24/************************************
25 * Some useful macros... 25 * Some useful macros...
26 */ 26 */
27#define BIT(x) (1L << (x))
28 27
29/* SCSI initiator must be ID 7 */ 28/* SCSI initiator must be ID 7 */
30#define NSP_INITIATOR_ID 7 29#define NSP_INITIATOR_ID 7
diff --git a/drivers/scsi/qla4xxx/ql4_fw.h b/drivers/scsi/qla4xxx/ql4_fw.h
index 9bb3d1d2a9..fe415ec856 100644
--- a/drivers/scsi/qla4xxx/ql4_fw.h
+++ b/drivers/scsi/qla4xxx/ql4_fw.h
@@ -671,7 +671,7 @@ struct continuation_t1_entry {
671#define ET_CONTINUE ET_CONT_T1 671#define ET_CONTINUE ET_CONT_T1
672 672
673/* Marker entry structure*/ 673/* Marker entry structure*/
674struct marker_entry { 674struct qla4_marker_entry {
675 struct qla4_header hdr; /* 00-03 */ 675 struct qla4_header hdr; /* 00-03 */
676 676
677 uint32_t system_defined; /* 04-07 */ 677 uint32_t system_defined; /* 04-07 */
diff --git a/drivers/scsi/qla4xxx/ql4_iocb.c b/drivers/scsi/qla4xxx/ql4_iocb.c
index 5006ecb3ef..e4461b5d76 100644
--- a/drivers/scsi/qla4xxx/ql4_iocb.c
+++ b/drivers/scsi/qla4xxx/ql4_iocb.c
@@ -69,7 +69,7 @@ static int qla4xxx_get_req_pkt(struct scsi_qla_host *ha,
69static int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha, 69static int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha,
70 struct ddb_entry *ddb_entry, int lun) 70 struct ddb_entry *ddb_entry, int lun)
71{ 71{
72 struct marker_entry *marker_entry; 72 struct qla4_marker_entry *marker_entry;
73 unsigned long flags = 0; 73 unsigned long flags = 0;
74 uint8_t status = QLA_SUCCESS; 74 uint8_t status = QLA_SUCCESS;
75 75
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index 72229df9dc..40604a0929 100644
--- a/drivers/serial/amba-pl011.c
+++ b/drivers/serial/amba-pl011.c
@@ -263,15 +263,15 @@ static unsigned int pl01x_get_mctrl(struct uart_port *port)
263 unsigned int result = 0; 263 unsigned int result = 0;
264 unsigned int status = readw(uap->port.membase + UART01x_FR); 264 unsigned int status = readw(uap->port.membase + UART01x_FR);
265 265
266#define BIT(uartbit, tiocmbit) \ 266#define TIOCMBIT(uartbit, tiocmbit) \
267 if (status & uartbit) \ 267 if (status & uartbit) \
268 result |= tiocmbit 268 result |= tiocmbit
269 269
270 BIT(UART01x_FR_DCD, TIOCM_CAR); 270 TIOCMBIT(UART01x_FR_DCD, TIOCM_CAR);
271 BIT(UART01x_FR_DSR, TIOCM_DSR); 271 TIOCMBIT(UART01x_FR_DSR, TIOCM_DSR);
272 BIT(UART01x_FR_CTS, TIOCM_CTS); 272 TIOCMBIT(UART01x_FR_CTS, TIOCM_CTS);
273 BIT(UART011_FR_RI, TIOCM_RNG); 273 TIOCMBIT(UART011_FR_RI, TIOCM_RNG);
274#undef BIT 274#undef TIOCMBIT
275 return result; 275 return result;
276} 276}
277 277
@@ -282,18 +282,18 @@ static void pl011_set_mctrl(struct uart_port *port, unsigned int mctrl)
282 282
283 cr = readw(uap->port.membase + UART011_CR); 283 cr = readw(uap->port.membase + UART011_CR);
284 284
285#define BIT(tiocmbit, uartbit) \ 285#define TIOCMBIT(tiocmbit, uartbit) \
286 if (mctrl & tiocmbit) \ 286 if (mctrl & tiocmbit) \
287 cr |= uartbit; \ 287 cr |= uartbit; \
288 else \ 288 else \
289 cr &= ~uartbit 289 cr &= ~uartbit
290 290
291 BIT(TIOCM_RTS, UART011_CR_RTS); 291 TIOCMBIT(TIOCM_RTS, UART011_CR_RTS);
292 BIT(TIOCM_DTR, UART011_CR_DTR); 292 TIOCMBIT(TIOCM_DTR, UART011_CR_DTR);
293 BIT(TIOCM_OUT1, UART011_CR_OUT1); 293 TIOCMBIT(TIOCM_OUT1, UART011_CR_OUT1);
294 BIT(TIOCM_OUT2, UART011_CR_OUT2); 294 TIOCMBIT(TIOCM_OUT2, UART011_CR_OUT2);
295 BIT(TIOCM_LOOP, UART011_CR_LBE); 295 TIOCMBIT(TIOCM_LOOP, UART011_CR_LBE);
296#undef BIT 296#undef TIOCMBIT
297 297
298 writew(cr, uap->port.membase + UART011_CR); 298 writew(cr, uap->port.membase + UART011_CR);
299} 299}
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 7e8724d357..f523cdf4b0 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -442,11 +442,11 @@ static char *serial_version = "$Revision: 1.25 $";
442#include <asm/uaccess.h> 442#include <asm/uaccess.h>
443#include <linux/kernel.h> 443#include <linux/kernel.h>
444#include <linux/mutex.h> 444#include <linux/mutex.h>
445#include <linux/bitops.h>
445 446
446#include <asm/io.h> 447#include <asm/io.h>
447#include <asm/irq.h> 448#include <asm/irq.h>
448#include <asm/system.h> 449#include <asm/system.h>
449#include <asm/bitops.h>
450#include <linux/delay.h> 450#include <linux/delay.h>
451 451
452#include <asm/arch/svinto.h> 452#include <asm/arch/svinto.h>
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
index f013b4012c..1f4f6d02fe 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -460,7 +460,7 @@ static int checkintf(struct dev_state *ps, unsigned int ifnum)
460 return 0; 460 return 0;
461 /* if not yet claimed, claim it for the driver */ 461 /* if not yet claimed, claim it for the driver */
462 dev_warn(&ps->dev->dev, "usbfs: process %d (%s) did not claim interface %u before use\n", 462 dev_warn(&ps->dev->dev, "usbfs: process %d (%s) did not claim interface %u before use\n",
463 current->pid, current->comm, ifnum); 463 task_pid_nr(current), current->comm, ifnum);
464 return claimintf(ps, ifnum); 464 return claimintf(ps, ifnum);
465} 465}
466 466
diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
index 73726c570a..1d174dcb3a 100644
--- a/drivers/usb/gadget/file_storage.c
+++ b/drivers/usb/gadget/file_storage.c
@@ -4006,7 +4006,7 @@ static int __init fsg_bind(struct usb_gadget *gadget)
4006 DBG(fsg, "removable=%d, stall=%d, buflen=%u\n", 4006 DBG(fsg, "removable=%d, stall=%d, buflen=%u\n",
4007 mod_data.removable, mod_data.can_stall, 4007 mod_data.removable, mod_data.can_stall,
4008 mod_data.buflen); 4008 mod_data.buflen);
4009 DBG(fsg, "I/O thread pid: %d\n", fsg->thread_task->pid); 4009 DBG(fsg, "I/O thread pid: %d\n", task_pid_nr(fsg->thread_task));
4010 4010
4011 set_bit(REGISTERED, &fsg->atomic_bitflags); 4011 set_bit(REGISTERED, &fsg->atomic_bitflags);
4012 4012
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c
index 9bb2cbfe4a..5fb8675e0d 100644
--- a/drivers/video/cyber2000fb.c
+++ b/drivers/video/cyber2000fb.c
@@ -62,7 +62,7 @@ struct cfb_info {
62 struct display_switch *dispsw; 62 struct display_switch *dispsw;
63 struct display *display; 63 struct display *display;
64 struct pci_dev *dev; 64 struct pci_dev *dev;
65 unsigned char __iomem *region; 65 unsigned char __iomem *region;
66 unsigned char __iomem *regs; 66 unsigned char __iomem *regs;
67 u_int id; 67 u_int id;
68 int func_use_count; 68 int func_use_count;
@@ -97,11 +97,11 @@ MODULE_PARM_DESC(default_font, "Default font name");
97/* 97/*
98 * Our access methods. 98 * Our access methods.
99 */ 99 */
100#define cyber2000fb_writel(val,reg,cfb) writel(val, (cfb)->regs + (reg)) 100#define cyber2000fb_writel(val, reg, cfb) writel(val, (cfb)->regs + (reg))
101#define cyber2000fb_writew(val,reg,cfb) writew(val, (cfb)->regs + (reg)) 101#define cyber2000fb_writew(val, reg, cfb) writew(val, (cfb)->regs + (reg))
102#define cyber2000fb_writeb(val,reg,cfb) writeb(val, (cfb)->regs + (reg)) 102#define cyber2000fb_writeb(val, reg, cfb) writeb(val, (cfb)->regs + (reg))
103 103
104#define cyber2000fb_readb(reg,cfb) readb((cfb)->regs + (reg)) 104#define cyber2000fb_readb(reg, cfb) readb((cfb)->regs + (reg))
105 105
106static inline void 106static inline void
107cyber2000_crtcw(unsigned int reg, unsigned int val, struct cfb_info *cfb) 107cyber2000_crtcw(unsigned int reg, unsigned int val, struct cfb_info *cfb)
@@ -221,12 +221,8 @@ cyber2000fb_copyarea(struct fb_info *info, const struct fb_copyarea *region)
221static void 221static void
222cyber2000fb_imageblit(struct fb_info *info, const struct fb_image *image) 222cyber2000fb_imageblit(struct fb_info *info, const struct fb_image *image)
223{ 223{
224// struct cfb_info *cfb = (struct cfb_info *)info; 224 cfb_imageblit(info, image);
225 225 return;
226// if (!(cfb->fb.var.accel_flags & FB_ACCELF_TEXT)) {
227 cfb_imageblit(info, image);
228 return;
229// }
230} 226}
231 227
232static int cyber2000fb_sync(struct fb_info *info) 228static int cyber2000fb_sync(struct fb_info *info)
@@ -277,12 +273,12 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
277 273
278 /* 274 /*
279 * Pseudocolour: 275 * Pseudocolour:
280 * 8 8 276 * 8 8
281 * pixel --/--+--/--> red lut --> red dac 277 * pixel --/--+--/--> red lut --> red dac
282 * | 8 278 * | 8
283 * +--/--> green lut --> green dac 279 * +--/--> green lut --> green dac
284 * | 8 280 * | 8
285 * +--/--> blue lut --> blue dac 281 * +--/--> blue lut --> blue dac
286 */ 282 */
287 case FB_VISUAL_PSEUDOCOLOR: 283 case FB_VISUAL_PSEUDOCOLOR:
288 if (regno >= NR_PALETTE) 284 if (regno >= NR_PALETTE)
@@ -292,9 +288,9 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
292 green >>= 8; 288 green >>= 8;
293 blue >>= 8; 289 blue >>= 8;
294 290
295 cfb->palette[regno].red = red; 291 cfb->palette[regno].red = red;
296 cfb->palette[regno].green = green; 292 cfb->palette[regno].green = green;
297 cfb->palette[regno].blue = blue; 293 cfb->palette[regno].blue = blue;
298 294
299 cyber2000fb_writeb(regno, 0x3c8, cfb); 295 cyber2000fb_writeb(regno, 0x3c8, cfb);
300 cyber2000fb_writeb(red, 0x3c9, cfb); 296 cyber2000fb_writeb(red, 0x3c9, cfb);
@@ -304,12 +300,12 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
304 300
305 /* 301 /*
306 * Direct colour: 302 * Direct colour:
307 * n rl 303 * n rl
308 * pixel --/--+--/--> red lut --> red dac 304 * pixel --/--+--/--> red lut --> red dac
309 * | gl 305 * | gl
310 * +--/--> green lut --> green dac 306 * +--/--> green lut --> green dac
311 * | bl 307 * | bl
312 * +--/--> blue lut --> blue dac 308 * +--/--> blue lut --> blue dac
313 * n = bpp, rl = red length, gl = green length, bl = blue length 309 * n = bpp, rl = red length, gl = green length, bl = blue length
314 */ 310 */
315 case FB_VISUAL_DIRECTCOLOR: 311 case FB_VISUAL_DIRECTCOLOR:
@@ -325,9 +321,11 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
325 * to the high 6 bits of the LUT. 321 * to the high 6 bits of the LUT.
326 */ 322 */
327 cyber2000fb_writeb(regno << 2, 0x3c8, cfb); 323 cyber2000fb_writeb(regno << 2, 0x3c8, cfb);
328 cyber2000fb_writeb(cfb->palette[regno >> 1].red, 0x3c9, cfb); 324 cyber2000fb_writeb(cfb->palette[regno >> 1].red,
325 0x3c9, cfb);
329 cyber2000fb_writeb(green, 0x3c9, cfb); 326 cyber2000fb_writeb(green, 0x3c9, cfb);
330 cyber2000fb_writeb(cfb->palette[regno >> 1].blue, 0x3c9, cfb); 327 cyber2000fb_writeb(cfb->palette[regno >> 1].blue,
328 0x3c9, cfb);
331 329
332 green = cfb->palette[regno << 3].green; 330 green = cfb->palette[regno << 3].green;
333 331
@@ -335,9 +333,9 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
335 } 333 }
336 334
337 if (var->green.length >= 5 && regno < 32) { 335 if (var->green.length >= 5 && regno < 32) {
338 cfb->palette[regno << 3].red = red; 336 cfb->palette[regno << 3].red = red;
339 cfb->palette[regno << 3].green = green; 337 cfb->palette[regno << 3].green = green;
340 cfb->palette[regno << 3].blue = blue; 338 cfb->palette[regno << 3].blue = blue;
341 339
342 /* 340 /*
343 * The 5 bits of each colour component are 341 * The 5 bits of each colour component are
@@ -351,9 +349,9 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
351 } 349 }
352 350
353 if (var->green.length == 4 && regno < 16) { 351 if (var->green.length == 4 && regno < 16) {
354 cfb->palette[regno << 4].red = red; 352 cfb->palette[regno << 4].red = red;
355 cfb->palette[regno << 4].green = green; 353 cfb->palette[regno << 4].green = green;
356 cfb->palette[regno << 4].blue = blue; 354 cfb->palette[regno << 4].blue = blue;
357 355
358 /* 356 /*
359 * The 5 bits of each colour component are 357 * The 5 bits of each colour component are
@@ -377,12 +375,12 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
377 375
378 /* 376 /*
379 * True colour: 377 * True colour:
380 * n rl 378 * n rl
381 * pixel --/--+--/--> red dac 379 * pixel --/--+--/--> red dac
382 * | gl 380 * | gl
383 * +--/--> green dac 381 * +--/--> green dac
384 * | bl 382 * | bl
385 * +--/--> blue dac 383 * +--/--> blue dac
386 * n = bpp, rl = red length, gl = green length, bl = blue length 384 * n = bpp, rl = red length, gl = green length, bl = blue length
387 */ 385 */
388 case FB_VISUAL_TRUECOLOR: 386 case FB_VISUAL_TRUECOLOR:
@@ -494,9 +492,9 @@ static void cyber2000fb_set_timing(struct cfb_info *cfb, struct par_info *hw)
494 492
495 /* PLL registers */ 493 /* PLL registers */
496 cyber2000_grphw(EXT_DCLK_MULT, hw->clock_mult, cfb); 494 cyber2000_grphw(EXT_DCLK_MULT, hw->clock_mult, cfb);
497 cyber2000_grphw(EXT_DCLK_DIV, hw->clock_div, cfb); 495 cyber2000_grphw(EXT_DCLK_DIV, hw->clock_div, cfb);
498 cyber2000_grphw(EXT_MCLK_MULT, cfb->mclk_mult, cfb); 496 cyber2000_grphw(EXT_MCLK_MULT, cfb->mclk_mult, cfb);
499 cyber2000_grphw(EXT_MCLK_DIV, cfb->mclk_div, cfb); 497 cyber2000_grphw(EXT_MCLK_DIV, cfb->mclk_div, cfb);
500 cyber2000_grphw(0x90, 0x01, cfb); 498 cyber2000_grphw(0x90, 0x01, cfb);
501 cyber2000_grphw(0xb9, 0x80, cfb); 499 cyber2000_grphw(0xb9, 0x80, cfb);
502 cyber2000_grphw(0xb9, 0x00, cfb); 500 cyber2000_grphw(0xb9, 0x00, cfb);
@@ -515,8 +513,8 @@ static void cyber2000fb_set_timing(struct cfb_info *cfb, struct par_info *hw)
515 /* 513 /*
516 * Set up accelerator registers 514 * Set up accelerator registers
517 */ 515 */
518 cyber2000fb_writew(hw->width, CO_REG_SRC_WIDTH, cfb); 516 cyber2000fb_writew(hw->width, CO_REG_SRC_WIDTH, cfb);
519 cyber2000fb_writew(hw->width, CO_REG_DEST_WIDTH, cfb); 517 cyber2000fb_writew(hw->width, CO_REG_DEST_WIDTH, cfb);
520 cyber2000fb_writeb(hw->co_pixfmt, CO_REG_PIXFMT, cfb); 518 cyber2000fb_writeb(hw->co_pixfmt, CO_REG_PIXFMT, cfb);
521} 519}
522 520
@@ -549,15 +547,15 @@ cyber2000fb_decode_crtc(struct par_info *hw, struct cfb_info *cfb,
549{ 547{
550 u_int Htotal, Hblankend, Hsyncend; 548 u_int Htotal, Hblankend, Hsyncend;
551 u_int Vtotal, Vdispend, Vblankstart, Vblankend, Vsyncstart, Vsyncend; 549 u_int Vtotal, Vdispend, Vblankstart, Vblankend, Vsyncstart, Vsyncend;
552#define BIT(v,b1,m,b2) (((v >> b1) & m) << b2) 550#define ENCODE_BIT(v, b1, m, b2) ((((v) >> (b1)) & (m)) << (b2))
553 551
554 hw->crtc[13] = hw->pitch; 552 hw->crtc[13] = hw->pitch;
555 hw->crtc[17] = 0xe3; 553 hw->crtc[17] = 0xe3;
556 hw->crtc[14] = 0; 554 hw->crtc[14] = 0;
557 hw->crtc[8] = 0; 555 hw->crtc[8] = 0;
558 556
559 Htotal = var->xres + var->right_margin + 557 Htotal = var->xres + var->right_margin +
560 var->hsync_len + var->left_margin; 558 var->hsync_len + var->left_margin;
561 559
562 if (Htotal > 2080) 560 if (Htotal > 2080)
563 return -EINVAL; 561 return -EINVAL;
@@ -567,15 +565,15 @@ cyber2000fb_decode_crtc(struct par_info *hw, struct cfb_info *cfb,
567 hw->crtc[2] = var->xres >> 3; 565 hw->crtc[2] = var->xres >> 3;
568 hw->crtc[4] = (var->xres + var->right_margin) >> 3; 566 hw->crtc[4] = (var->xres + var->right_margin) >> 3;
569 567
570 Hblankend = (Htotal - 4*8) >> 3; 568 Hblankend = (Htotal - 4 * 8) >> 3;
571 569
572 hw->crtc[3] = BIT(Hblankend, 0, 0x1f, 0) | 570 hw->crtc[3] = ENCODE_BIT(Hblankend, 0, 0x1f, 0) |
573 BIT(1, 0, 0x01, 7); 571 ENCODE_BIT(1, 0, 0x01, 7);
574 572
575 Hsyncend = (var->xres + var->right_margin + var->hsync_len) >> 3; 573 Hsyncend = (var->xres + var->right_margin + var->hsync_len) >> 3;
576 574
577 hw->crtc[5] = BIT(Hsyncend, 0, 0x1f, 0) | 575 hw->crtc[5] = ENCODE_BIT(Hsyncend, 0, 0x1f, 0) |
578 BIT(Hblankend, 5, 0x01, 7); 576 ENCODE_BIT(Hblankend, 5, 0x01, 7);
579 577
580 Vdispend = var->yres - 1; 578 Vdispend = var->yres - 1;
581 Vsyncstart = var->yres + var->lower_margin; 579 Vsyncstart = var->yres + var->lower_margin;
@@ -590,20 +588,20 @@ cyber2000fb_decode_crtc(struct par_info *hw, struct cfb_info *cfb,
590 Vblankend = Vtotal - 10; 588 Vblankend = Vtotal - 10;
591 589
592 hw->crtc[6] = Vtotal; 590 hw->crtc[6] = Vtotal;
593 hw->crtc[7] = BIT(Vtotal, 8, 0x01, 0) | 591 hw->crtc[7] = ENCODE_BIT(Vtotal, 8, 0x01, 0) |
594 BIT(Vdispend, 8, 0x01, 1) | 592 ENCODE_BIT(Vdispend, 8, 0x01, 1) |
595 BIT(Vsyncstart, 8, 0x01, 2) | 593 ENCODE_BIT(Vsyncstart, 8, 0x01, 2) |
596 BIT(Vblankstart,8, 0x01, 3) | 594 ENCODE_BIT(Vblankstart, 8, 0x01, 3) |
597 BIT(1, 0, 0x01, 4) | 595 ENCODE_BIT(1, 0, 0x01, 4) |
598 BIT(Vtotal, 9, 0x01, 5) | 596 ENCODE_BIT(Vtotal, 9, 0x01, 5) |
599 BIT(Vdispend, 9, 0x01, 6) | 597 ENCODE_BIT(Vdispend, 9, 0x01, 6) |
600 BIT(Vsyncstart, 9, 0x01, 7); 598 ENCODE_BIT(Vsyncstart, 9, 0x01, 7);
601 hw->crtc[9] = BIT(0, 0, 0x1f, 0) | 599 hw->crtc[9] = ENCODE_BIT(0, 0, 0x1f, 0) |
602 BIT(Vblankstart,9, 0x01, 5) | 600 ENCODE_BIT(Vblankstart, 9, 0x01, 5) |
603 BIT(1, 0, 0x01, 6); 601 ENCODE_BIT(1, 0, 0x01, 6);
604 hw->crtc[10] = Vsyncstart; 602 hw->crtc[10] = Vsyncstart;
605 hw->crtc[11] = BIT(Vsyncend, 0, 0x0f, 0) | 603 hw->crtc[11] = ENCODE_BIT(Vsyncend, 0, 0x0f, 0) |
606 BIT(1, 0, 0x01, 7); 604 ENCODE_BIT(1, 0, 0x01, 7);
607 hw->crtc[12] = Vdispend; 605 hw->crtc[12] = Vdispend;
608 hw->crtc[15] = Vblankstart; 606 hw->crtc[15] = Vblankstart;
609 hw->crtc[16] = Vblankend; 607 hw->crtc[16] = Vblankend;
@@ -615,10 +613,10 @@ cyber2000fb_decode_crtc(struct par_info *hw, struct cfb_info *cfb,
615 * 4=LINECOMP:10 5-IVIDEO 6=FIXCNT 613 * 4=LINECOMP:10 5-IVIDEO 6=FIXCNT
616 */ 614 */
617 hw->crtc_ofl = 615 hw->crtc_ofl =
618 BIT(Vtotal, 10, 0x01, 0) | 616 ENCODE_BIT(Vtotal, 10, 0x01, 0) |
619 BIT(Vdispend, 10, 0x01, 1) | 617 ENCODE_BIT(Vdispend, 10, 0x01, 1) |
620 BIT(Vsyncstart, 10, 0x01, 2) | 618 ENCODE_BIT(Vsyncstart, 10, 0x01, 2) |
621 BIT(Vblankstart,10, 0x01, 3) | 619 ENCODE_BIT(Vblankstart, 10, 0x01, 3) |
622 EXT_CRT_VRTOFL_LINECOMP10; 620 EXT_CRT_VRTOFL_LINECOMP10;
623 621
624 /* woody: set the interlaced bit... */ 622 /* woody: set the interlaced bit... */
@@ -750,11 +748,11 @@ cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
750 var->red.msb_right = 0; 748 var->red.msb_right = 0;
751 var->green.msb_right = 0; 749 var->green.msb_right = 0;
752 var->blue.msb_right = 0; 750 var->blue.msb_right = 0;
751 var->transp.offset = 0;
752 var->transp.length = 0;
753 753
754 switch (var->bits_per_pixel) { 754 switch (var->bits_per_pixel) {
755 case 8: /* PSEUDOCOLOUR, 256 */ 755 case 8: /* PSEUDOCOLOUR, 256 */
756 var->transp.offset = 0;
757 var->transp.length = 0;
758 var->red.offset = 0; 756 var->red.offset = 0;
759 var->red.length = 8; 757 var->red.length = 8;
760 var->green.offset = 0; 758 var->green.offset = 0;
@@ -766,8 +764,6 @@ cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
766 case 16:/* DIRECTCOLOUR, 64k or 32k */ 764 case 16:/* DIRECTCOLOUR, 64k or 32k */
767 switch (var->green.length) { 765 switch (var->green.length) {
768 case 6: /* RGB565, 64k */ 766 case 6: /* RGB565, 64k */
769 var->transp.offset = 0;
770 var->transp.length = 0;
771 var->red.offset = 11; 767 var->red.offset = 11;
772 var->red.length = 5; 768 var->red.length = 5;
773 var->green.offset = 5; 769 var->green.offset = 5;
@@ -778,8 +774,6 @@ cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
778 774
779 default: 775 default:
780 case 5: /* RGB555, 32k */ 776 case 5: /* RGB555, 32k */
781 var->transp.offset = 0;
782 var->transp.length = 0;
783 var->red.offset = 10; 777 var->red.offset = 10;
784 var->red.length = 5; 778 var->red.length = 5;
785 var->green.offset = 5; 779 var->green.offset = 5;
@@ -802,8 +796,6 @@ cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
802 break; 796 break;
803 797
804 case 24:/* TRUECOLOUR, 16m */ 798 case 24:/* TRUECOLOUR, 16m */
805 var->transp.offset = 0;
806 var->transp.length = 0;
807 var->red.offset = 16; 799 var->red.offset = 16;
808 var->red.length = 8; 800 var->red.length = 8;
809 var->green.offset = 8; 801 var->green.offset = 8;
@@ -830,7 +822,7 @@ cyber2000fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
830 mem = var->xres_virtual * var->yres_virtual * (var->bits_per_pixel / 8); 822 mem = var->xres_virtual * var->yres_virtual * (var->bits_per_pixel / 8);
831 if (mem > cfb->fb.fix.smem_len) 823 if (mem > cfb->fb.fix.smem_len)
832 var->yres_virtual = cfb->fb.fix.smem_len * 8 / 824 var->yres_virtual = cfb->fb.fix.smem_len * 8 /
833 (var->bits_per_pixel * var->xres_virtual); 825 (var->bits_per_pixel * var->xres_virtual);
834 826
835 if (var->yres > var->yres_virtual) 827 if (var->yres > var->yres_virtual)
836 var->yres = var->yres_virtual; 828 var->yres = var->yres_virtual;
@@ -921,7 +913,7 @@ static int cyber2000fb_set_par(struct fb_info *info)
921 hw.fetch <<= 1; 913 hw.fetch <<= 1;
922 hw.fetch += 1; 914 hw.fetch += 1;
923 915
924 cfb->fb.fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; 916 cfb->fb.fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
925 917
926 /* 918 /*
927 * Same here - if the size of the video mode exceeds the 919 * Same here - if the size of the video mode exceeds the
@@ -952,7 +944,6 @@ static int cyber2000fb_set_par(struct fb_info *info)
952 return 0; 944 return 0;
953} 945}
954 946
955
956/* 947/*
957 * Pan or Wrap the Display 948 * Pan or Wrap the Display
958 */ 949 */
@@ -1002,15 +993,15 @@ static int cyber2000fb_blank(int blank, struct fb_info *info)
1002 switch (blank) { 993 switch (blank) {
1003 case FB_BLANK_POWERDOWN: /* powerdown - both sync lines down */ 994 case FB_BLANK_POWERDOWN: /* powerdown - both sync lines down */
1004 sync = EXT_SYNC_CTL_VS_0 | EXT_SYNC_CTL_HS_0; 995 sync = EXT_SYNC_CTL_VS_0 | EXT_SYNC_CTL_HS_0;
1005 break; 996 break;
1006 case FB_BLANK_HSYNC_SUSPEND: /* hsync off */ 997 case FB_BLANK_HSYNC_SUSPEND: /* hsync off */
1007 sync = EXT_SYNC_CTL_VS_NORMAL | EXT_SYNC_CTL_HS_0; 998 sync = EXT_SYNC_CTL_VS_NORMAL | EXT_SYNC_CTL_HS_0;
1008 break; 999 break;
1009 case FB_BLANK_VSYNC_SUSPEND: /* vsync off */ 1000 case FB_BLANK_VSYNC_SUSPEND: /* vsync off */
1010 sync = EXT_SYNC_CTL_VS_0 | EXT_SYNC_CTL_HS_NORMAL; 1001 sync = EXT_SYNC_CTL_VS_0 | EXT_SYNC_CTL_HS_NORMAL;
1011 break; 1002 break;
1012 case FB_BLANK_NORMAL: /* soft blank */ 1003 case FB_BLANK_NORMAL: /* soft blank */
1013 default: /* unblank */ 1004 default: /* unblank */
1014 break; 1005 break;
1015 } 1006 }
1016 1007
@@ -1018,7 +1009,8 @@ static int cyber2000fb_blank(int blank, struct fb_info *info)
1018 1009
1019 if (blank <= 1) { 1010 if (blank <= 1) {
1020 /* turn on ramdacs */ 1011 /* turn on ramdacs */
1021 cfb->ramdac_powerdown &= ~(RAMDAC_DACPWRDN | RAMDAC_BYPASS | RAMDAC_RAMPWRDN); 1012 cfb->ramdac_powerdown &= ~(RAMDAC_DACPWRDN | RAMDAC_BYPASS |
1013 RAMDAC_RAMPWRDN);
1022 cyber2000fb_write_ramdac_ctrl(cfb); 1014 cyber2000fb_write_ramdac_ctrl(cfb);
1023 } 1015 }
1024 1016
@@ -1043,7 +1035,8 @@ static int cyber2000fb_blank(int blank, struct fb_info *info)
1043 1035
1044 if (blank >= 2) { 1036 if (blank >= 2) {
1045 /* turn off ramdacs */ 1037 /* turn off ramdacs */
1046 cfb->ramdac_powerdown |= RAMDAC_DACPWRDN | RAMDAC_BYPASS | RAMDAC_RAMPWRDN; 1038 cfb->ramdac_powerdown |= RAMDAC_DACPWRDN | RAMDAC_BYPASS |
1039 RAMDAC_RAMPWRDN;
1047 cyber2000fb_write_ramdac_ctrl(cfb); 1040 cyber2000fb_write_ramdac_ctrl(cfb);
1048 } 1041 }
1049 1042
@@ -1068,7 +1061,7 @@ static struct fb_ops cyber2000fb_ops = {
1068 * of this driver. It is here solely at the moment to support the other 1061 * of this driver. It is here solely at the moment to support the other
1069 * CyberPro modules external to this driver. 1062 * CyberPro modules external to this driver.
1070 */ 1063 */
1071static struct cfb_info *int_cfb_info; 1064static struct cfb_info *int_cfb_info;
1072 1065
1073/* 1066/*
1074 * Enable access to the extended registers 1067 * Enable access to the extended registers
@@ -1085,6 +1078,7 @@ void cyber2000fb_enable_extregs(struct cfb_info *cfb)
1085 cyber2000_grphw(EXT_FUNC_CTL, old, cfb); 1078 cyber2000_grphw(EXT_FUNC_CTL, old, cfb);
1086 } 1079 }
1087} 1080}
1081EXPORT_SYMBOL(cyber2000fb_enable_extregs);
1088 1082
1089/* 1083/*
1090 * Disable access to the extended registers 1084 * Disable access to the extended registers
@@ -1104,11 +1098,13 @@ void cyber2000fb_disable_extregs(struct cfb_info *cfb)
1104 else 1098 else
1105 cfb->func_use_count -= 1; 1099 cfb->func_use_count -= 1;
1106} 1100}
1101EXPORT_SYMBOL(cyber2000fb_disable_extregs);
1107 1102
1108void cyber2000fb_get_fb_var(struct cfb_info *cfb, struct fb_var_screeninfo *var) 1103void cyber2000fb_get_fb_var(struct cfb_info *cfb, struct fb_var_screeninfo *var)
1109{ 1104{
1110 memcpy(var, &cfb->fb.var, sizeof(struct fb_var_screeninfo)); 1105 memcpy(var, &cfb->fb.var, sizeof(struct fb_var_screeninfo));
1111} 1106}
1107EXPORT_SYMBOL(cyber2000fb_get_fb_var);
1112 1108
1113/* 1109/*
1114 * Attach a capture/tv driver to the core CyberX0X0 driver. 1110 * Attach a capture/tv driver to the core CyberX0X0 driver.
@@ -1122,13 +1118,15 @@ int cyber2000fb_attach(struct cyberpro_info *info, int idx)
1122 info->fb_size = int_cfb_info->fb.fix.smem_len; 1118 info->fb_size = int_cfb_info->fb.fix.smem_len;
1123 info->enable_extregs = cyber2000fb_enable_extregs; 1119 info->enable_extregs = cyber2000fb_enable_extregs;
1124 info->disable_extregs = cyber2000fb_disable_extregs; 1120 info->disable_extregs = cyber2000fb_disable_extregs;
1125 info->info = int_cfb_info; 1121 info->info = int_cfb_info;
1126 1122
1127 strlcpy(info->dev_name, int_cfb_info->fb.fix.id, sizeof(info->dev_name)); 1123 strlcpy(info->dev_name, int_cfb_info->fb.fix.id,
1124 sizeof(info->dev_name));
1128 } 1125 }
1129 1126
1130 return int_cfb_info != NULL; 1127 return int_cfb_info != NULL;
1131} 1128}
1129EXPORT_SYMBOL(cyber2000fb_attach);
1132 1130
1133/* 1131/*
1134 * Detach a capture/tv driver from the core CyberX0X0 driver. 1132 * Detach a capture/tv driver from the core CyberX0X0 driver.
@@ -1136,12 +1134,7 @@ int cyber2000fb_attach(struct cyberpro_info *info, int idx)
1136void cyber2000fb_detach(int idx) 1134void cyber2000fb_detach(int idx)
1137{ 1135{
1138} 1136}
1139
1140EXPORT_SYMBOL(cyber2000fb_attach);
1141EXPORT_SYMBOL(cyber2000fb_detach); 1137EXPORT_SYMBOL(cyber2000fb_detach);
1142EXPORT_SYMBOL(cyber2000fb_enable_extregs);
1143EXPORT_SYMBOL(cyber2000fb_disable_extregs);
1144EXPORT_SYMBOL(cyber2000fb_get_fb_var);
1145 1138
1146/* 1139/*
1147 * These parameters give 1140 * These parameters give
@@ -1205,7 +1198,7 @@ static void cyberpro_init_hw(struct cfb_info *cfb)
1205 int i; 1198 int i;
1206 1199
1207 for (i = 0; i < sizeof(igs_regs); i += 2) 1200 for (i = 0; i < sizeof(igs_regs); i += 2)
1208 cyber2000_grphw(igs_regs[i], igs_regs[i+1], cfb); 1201 cyber2000_grphw(igs_regs[i], igs_regs[i + 1], cfb);
1209 1202
1210 if (cfb->id == ID_CYBERPRO_5000) { 1203 if (cfb->id == ID_CYBERPRO_5000) {
1211 unsigned char val; 1204 unsigned char val;
@@ -1215,8 +1208,8 @@ static void cyberpro_init_hw(struct cfb_info *cfb)
1215 } 1208 }
1216} 1209}
1217 1210
1218static struct cfb_info * __devinit 1211static struct cfb_info __devinit *cyberpro_alloc_fb_info(unsigned int id,
1219cyberpro_alloc_fb_info(unsigned int id, char *name) 1212 char *name)
1220{ 1213{
1221 struct cfb_info *cfb; 1214 struct cfb_info *cfb;
1222 1215
@@ -1228,9 +1221,9 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
1228 cfb->id = id; 1221 cfb->id = id;
1229 1222
1230 if (id == ID_CYBERPRO_5000) 1223 if (id == ID_CYBERPRO_5000)
1231 cfb->ref_ps = 40690; // 24.576 MHz 1224 cfb->ref_ps = 40690; /* 24.576 MHz */
1232 else 1225 else
1233 cfb->ref_ps = 69842; // 14.31818 MHz (69841?) 1226 cfb->ref_ps = 69842; /* 14.31818 MHz (69841?) */
1234 1227
1235 cfb->divisors[0] = 1; 1228 cfb->divisors[0] = 1;
1236 cfb->divisors[1] = 2; 1229 cfb->divisors[1] = 2;
@@ -1282,8 +1275,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name)
1282 return cfb; 1275 return cfb;
1283} 1276}
1284 1277
1285static void 1278static void cyberpro_free_fb_info(struct cfb_info *cfb)
1286cyberpro_free_fb_info(struct cfb_info *cfb)
1287{ 1279{
1288 if (cfb) { 1280 if (cfb) {
1289 /* 1281 /*
@@ -1300,8 +1292,7 @@ cyberpro_free_fb_info(struct cfb_info *cfb)
1300 * video=cyber2000:font:fontname 1292 * video=cyber2000:font:fontname
1301 */ 1293 */
1302#ifndef MODULE 1294#ifndef MODULE
1303static int 1295static int cyber2000fb_setup(char *options)
1304cyber2000fb_setup(char *options)
1305{ 1296{
1306 char *opt; 1297 char *opt;
1307 1298
@@ -1315,7 +1306,8 @@ cyber2000fb_setup(char *options)
1315 if (strncmp(opt, "font:", 5) == 0) { 1306 if (strncmp(opt, "font:", 5) == 0) {
1316 static char default_font_storage[40]; 1307 static char default_font_storage[40];
1317 1308
1318 strlcpy(default_font_storage, opt + 5, sizeof(default_font_storage)); 1309 strlcpy(default_font_storage, opt + 5,
1310 sizeof(default_font_storage));
1319 default_font = default_font_storage; 1311 default_font = default_font_storage;
1320 continue; 1312 continue;
1321 } 1313 }
@@ -1354,10 +1346,18 @@ static int __devinit cyberpro_common_probe(struct cfb_info *cfb)
1354 * Determine the size of the memory. 1346 * Determine the size of the memory.
1355 */ 1347 */
1356 switch (cfb->mem_ctl2 & MEM_CTL2_SIZE_MASK) { 1348 switch (cfb->mem_ctl2 & MEM_CTL2_SIZE_MASK) {
1357 case MEM_CTL2_SIZE_4MB: smem_size = 0x00400000; break; 1349 case MEM_CTL2_SIZE_4MB:
1358 case MEM_CTL2_SIZE_2MB: smem_size = 0x00200000; break; 1350 smem_size = 0x00400000;
1359 case MEM_CTL2_SIZE_1MB: smem_size = 0x00100000; break; 1351 break;
1360 default: smem_size = 0x00100000; break; 1352 case MEM_CTL2_SIZE_2MB:
1353 smem_size = 0x00200000;
1354 break;
1355 case MEM_CTL2_SIZE_1MB:
1356 smem_size = 0x00100000;
1357 break;
1358 default:
1359 smem_size = 0x00100000;
1360 break;
1361 } 1361 }
1362 1362
1363 cfb->fb.fix.smem_len = smem_size; 1363 cfb->fb.fix.smem_len = smem_size;
@@ -1366,8 +1366,8 @@ static int __devinit cyberpro_common_probe(struct cfb_info *cfb)
1366 1366
1367 err = -EINVAL; 1367 err = -EINVAL;
1368 if (!fb_find_mode(&cfb->fb.var, &cfb->fb, NULL, NULL, 0, 1368 if (!fb_find_mode(&cfb->fb.var, &cfb->fb, NULL, NULL, 0,
1369 &cyber2000fb_default_mode, 8)) { 1369 &cyber2000fb_default_mode, 8)) {
1370 printk("%s: no valid mode found\n", cfb->fb.fix.id); 1370 printk(KERN_ERR "%s: no valid mode found\n", cfb->fb.fix.id);
1371 goto failed; 1371 goto failed;
1372 } 1372 }
1373 1373
@@ -1377,7 +1377,7 @@ static int __devinit cyberpro_common_probe(struct cfb_info *cfb)
1377 if (cfb->fb.var.yres_virtual < cfb->fb.var.yres) 1377 if (cfb->fb.var.yres_virtual < cfb->fb.var.yres)
1378 cfb->fb.var.yres_virtual = cfb->fb.var.yres; 1378 cfb->fb.var.yres_virtual = cfb->fb.var.yres;
1379 1379
1380// fb_set_var(&cfb->fb.var, -1, &cfb->fb); 1380/* fb_set_var(&cfb->fb.var, -1, &cfb->fb); */
1381 1381
1382 /* 1382 /*
1383 * Calculate the hsync and vsync frequencies. Note that 1383 * Calculate the hsync and vsync frequencies. Note that
@@ -1425,20 +1425,20 @@ static void cyberpro_common_resume(struct cfb_info *cfb)
1425 1425
1426#include <asm/arch/hardware.h> 1426#include <asm/arch/hardware.h>
1427 1427
1428static int __devinit 1428static int __devinit cyberpro_vl_probe(void)
1429cyberpro_vl_probe(void)
1430{ 1429{
1431 struct cfb_info *cfb; 1430 struct cfb_info *cfb;
1432 int err = -ENOMEM; 1431 int err = -ENOMEM;
1433 1432
1434 if (!request_mem_region(FB_START,FB_SIZE,"CyberPro2010")) return err; 1433 if (!request_mem_region(FB_START, FB_SIZE, "CyberPro2010"))
1434 return err;
1435 1435
1436 cfb = cyberpro_alloc_fb_info(ID_CYBERPRO_2010, "CyberPro2010"); 1436 cfb = cyberpro_alloc_fb_info(ID_CYBERPRO_2010, "CyberPro2010");
1437 if (!cfb) 1437 if (!cfb)
1438 goto failed_release; 1438 goto failed_release;
1439 1439
1440 cfb->dev = NULL; 1440 cfb->dev = NULL;
1441 cfb->region = ioremap(FB_START,FB_SIZE); 1441 cfb->region = ioremap(FB_START, FB_SIZE);
1442 if (!cfb->region) 1442 if (!cfb->region)
1443 goto failed_ioremap; 1443 goto failed_ioremap;
1444 1444
@@ -1475,7 +1475,7 @@ failed:
1475failed_ioremap: 1475failed_ioremap:
1476 cyberpro_free_fb_info(cfb); 1476 cyberpro_free_fb_info(cfb);
1477failed_release: 1477failed_release:
1478 release_mem_region(FB_START,FB_SIZE); 1478 release_mem_region(FB_START, FB_SIZE);
1479 1479
1480 return err; 1480 return err;
1481} 1481}
@@ -1538,7 +1538,8 @@ static int cyberpro_pci_enable_mmio(struct cfb_info *cfb)
1538 * Allow the CyberPro to accept PCI burst accesses 1538 * Allow the CyberPro to accept PCI burst accesses
1539 */ 1539 */
1540 if (cfb->id == ID_CYBERPRO_2010) { 1540 if (cfb->id == ID_CYBERPRO_2010) {
1541 printk(KERN_INFO "%s: NOT enabling PCI bursts\n", cfb->fb.fix.id); 1541 printk(KERN_INFO "%s: NOT enabling PCI bursts\n",
1542 cfb->fb.fix.id);
1542 } else { 1543 } else {
1543 val = cyber2000_grphr(EXT_BUS_CTL, cfb); 1544 val = cyber2000_grphr(EXT_BUS_CTL, cfb);
1544 if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) { 1545 if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) {
@@ -1688,9 +1689,10 @@ static int cyberpro_pci_resume(struct pci_dev *dev)
1688} 1689}
1689 1690
1690static struct pci_device_id cyberpro_pci_table[] = { 1691static struct pci_device_id cyberpro_pci_table[] = {
1691// Not yet 1692/* Not yet
1692// { PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_1682, 1693 * { PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_1682,
1693// PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_IGA_1682 }, 1694 * PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_IGA_1682 },
1695 */
1694 { PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_2000, 1696 { PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_2000,
1695 PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_CYBERPRO_2000 }, 1697 PCI_ANY_ID, PCI_ANY_ID, 0, 0, ID_CYBERPRO_2000 },
1696 { PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_2010, 1698 { PCI_VENDOR_ID_INTERG, PCI_DEVICE_ID_INTERG_2010,
@@ -1700,7 +1702,7 @@ static struct pci_device_id cyberpro_pci_table[] = {
1700 { 0, } 1702 { 0, }
1701}; 1703};
1702 1704
1703MODULE_DEVICE_TABLE(pci,cyberpro_pci_table); 1705MODULE_DEVICE_TABLE(pci, cyberpro_pci_table);
1704 1706
1705static struct pci_driver cyberpro_driver = { 1707static struct pci_driver cyberpro_driver = {
1706 .name = "CyberPro", 1708 .name = "CyberPro",
diff --git a/drivers/video/pnx4008/sdum.h b/drivers/video/pnx4008/sdum.h
index e8c5dcdd88..189c3d6413 100644
--- a/drivers/video/pnx4008/sdum.h
+++ b/drivers/video/pnx4008/sdum.h
@@ -77,9 +77,6 @@
77#define CONF_DIRTYDETECTION_OFF (0x600) 77#define CONF_DIRTYDETECTION_OFF (0x600)
78#define CONF_DIRTYDETECTION_ON (0x601) 78#define CONF_DIRTYDETECTION_ON (0x601)
79 79
80/* Set the corresponding bit. */
81#define BIT(n) (0x1U << (n))
82
83struct dumchannel_uf { 80struct dumchannel_uf {
84 int channelnr; 81 int channelnr;
85 u32 *dirty; 82 u32 *dirty;
diff --git a/drivers/watchdog/at91rm9200_wdt.c b/drivers/watchdog/at91rm9200_wdt.c
index 38bd373725..a684b1e873 100644
--- a/drivers/watchdog/at91rm9200_wdt.c
+++ b/drivers/watchdog/at91rm9200_wdt.c
@@ -9,6 +9,7 @@
9 * 2 of the License, or (at your option) any later version. 9 * 2 of the License, or (at your option) any later version.
10 */ 10 */
11 11
12#include <linux/bitops.h>
12#include <linux/errno.h> 13#include <linux/errno.h>
13#include <linux/fs.h> 14#include <linux/fs.h>
14#include <linux/init.h> 15#include <linux/init.h>
@@ -19,7 +20,6 @@
19#include <linux/platform_device.h> 20#include <linux/platform_device.h>
20#include <linux/types.h> 21#include <linux/types.h>
21#include <linux/watchdog.h> 22#include <linux/watchdog.h>
22#include <asm/bitops.h>
23#include <asm/uaccess.h> 23#include <asm/uaccess.h>
24#include <asm/arch/at91_st.h> 24#include <asm/arch/at91_st.h>
25 25
diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c
index 7150fb945e..e3a29c3023 100644
--- a/drivers/watchdog/ks8695_wdt.c
+++ b/drivers/watchdog/ks8695_wdt.c
@@ -8,6 +8,7 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11#include <linux/bitops.h>
11#include <linux/errno.h> 12#include <linux/errno.h>
12#include <linux/fs.h> 13#include <linux/fs.h>
13#include <linux/init.h> 14#include <linux/init.h>
@@ -18,7 +19,6 @@
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19#include <linux/types.h> 20#include <linux/types.h>
20#include <linux/watchdog.h> 21#include <linux/watchdog.h>
21#include <asm/bitops.h>
22#include <asm/io.h> 22#include <asm/io.h>
23#include <asm/uaccess.h> 23#include <asm/uaccess.h>
24#include <asm/arch/regs-timer.h> 24#include <asm/arch/regs-timer.h>
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 719b066f73..635ca454f5 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -39,11 +39,11 @@
39#include <linux/platform_device.h> 39#include <linux/platform_device.h>
40#include <linux/moduleparam.h> 40#include <linux/moduleparam.h>
41#include <linux/clk.h> 41#include <linux/clk.h>
42#include <linux/bitops.h>
42 43
43#include <asm/io.h> 44#include <asm/io.h>
44#include <asm/uaccess.h> 45#include <asm/uaccess.h>
45#include <asm/hardware.h> 46#include <asm/hardware.h>
46#include <asm/bitops.h>
47 47
48#include <asm/arch/prcm.h> 48#include <asm/arch/prcm.h>
49 49
diff --git a/drivers/watchdog/sa1100_wdt.c b/drivers/watchdog/sa1100_wdt.c
index 3475f47aaa..34a2b3b818 100644
--- a/drivers/watchdog/sa1100_wdt.c
+++ b/drivers/watchdog/sa1100_wdt.c
@@ -25,13 +25,13 @@
25#include <linux/miscdevice.h> 25#include <linux/miscdevice.h>
26#include <linux/watchdog.h> 26#include <linux/watchdog.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/bitops.h>
28 29
29#ifdef CONFIG_ARCH_PXA 30#ifdef CONFIG_ARCH_PXA
30#include <asm/arch/pxa-regs.h> 31#include <asm/arch/pxa-regs.h>
31#endif 32#endif
32 33
33#include <asm/hardware.h> 34#include <asm/hardware.h>
34#include <asm/bitops.h>
35#include <asm/uaccess.h> 35#include <asm/uaccess.h>
36 36
37#define OSCR_FREQ CLOCK_TICK_RATE 37#define OSCR_FREQ CLOCK_TICK_RATE