aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/Kconfig1
-rw-r--r--drivers/char/agp/Kconfig1
-rw-r--r--drivers/char/agp/amd64-agp.c3
-rw-r--r--drivers/char/agp/ati-agp.c33
-rw-r--r--drivers/char/agp/generic.c1
-rw-r--r--drivers/char/agp/nvidia-agp.c27
-rw-r--r--drivers/char/amiserial.c3
-rw-r--r--drivers/char/applicom.c13
-rw-r--r--drivers/char/consolemap.c1
-rw-r--r--drivers/char/cyclades.c10
-rw-r--r--drivers/char/decserial.c1
-rw-r--r--drivers/char/drm/drm.h1
-rw-r--r--drivers/char/drm/drmP.h1
-rw-r--r--drivers/char/drm/drm_irq.c2
-rw-r--r--drivers/char/drm/drm_memory.c1
-rw-r--r--drivers/char/drm/drm_memory.h1
-rw-r--r--drivers/char/drm/drm_memory_debug.h1
-rw-r--r--drivers/char/drm/drm_scatter.c1
-rw-r--r--drivers/char/drm/drm_sysfs.c1
-rw-r--r--drivers/char/drm/ffb_drv.c1
-rw-r--r--drivers/char/drm/i810_drv.c1
-rw-r--r--drivers/char/drm/i830_drv.c1
-rw-r--r--drivers/char/drm/mga_drv.c1
-rw-r--r--drivers/char/drm/r128_drv.c1
-rw-r--r--drivers/char/drm/radeon_drv.c1
-rw-r--r--drivers/char/drm/savage_drv.c1
-rw-r--r--drivers/char/drm/sis_drv.c1
-rw-r--r--drivers/char/drm/tdfx_drv.c1
-rw-r--r--drivers/char/drm/via_drv.c1
-rw-r--r--drivers/char/ds1302.c1
-rw-r--r--drivers/char/ds1620.c1
-rw-r--r--drivers/char/dsp56k.c10
-rw-r--r--drivers/char/dtlk.c5
-rw-r--r--drivers/char/ec3104_keyb.c1
-rw-r--r--drivers/char/epca.c2
-rw-r--r--drivers/char/esp.c3
-rw-r--r--drivers/char/ftape/lowlevel/fdc-io.c2
-rw-r--r--drivers/char/ftape/lowlevel/ftape-calibr.c1
-rw-r--r--drivers/char/ftape/lowlevel/ftape-ctl.c1
-rw-r--r--drivers/char/ftape/lowlevel/ftape-init.c1
-rw-r--r--drivers/char/ftape/lowlevel/ftape-proc.c1
-rw-r--r--drivers/char/ftape/lowlevel/ftape-setup.c1
-rw-r--r--drivers/char/ftape/lowlevel/ftape-tracing.h1
-rw-r--r--drivers/char/ftape/lowlevel/ftape_syms.c1
-rw-r--r--drivers/char/ftape/zftape/zftape-ctl.c1
-rw-r--r--drivers/char/ftape/zftape/zftape-ctl.h1
-rw-r--r--drivers/char/ftape/zftape/zftape-init.c26
-rw-r--r--drivers/char/genrtc.c1
-rw-r--r--drivers/char/hpet.c3
-rw-r--r--drivers/char/hvc_console.c4
-rw-r--r--drivers/char/hvcs.c3
-rw-r--r--drivers/char/hvsi.c3
-rw-r--r--drivers/char/ip2/i2ellis.h1
-rw-r--r--drivers/char/ip2/ip2main.c31
-rw-r--r--drivers/char/ipmi/ipmi_devintf.c9
-rw-r--r--drivers/char/ipmi/ipmi_msghandler.c1
-rw-r--r--drivers/char/ipmi/ipmi_poweroff.c1
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c5
-rw-r--r--drivers/char/ipmi/ipmi_watchdog.c1
-rw-r--r--drivers/char/isicom.c9
-rw-r--r--drivers/char/istallion.c31
-rw-r--r--drivers/char/ite_gpio.c2
-rw-r--r--drivers/char/keyboard.c1
-rw-r--r--drivers/char/lcd.c1
-rw-r--r--drivers/char/lp.c8
-rw-r--r--drivers/char/mbcs.c7
-rw-r--r--drivers/char/mem.c7
-rw-r--r--drivers/char/misc.c16
-rw-r--r--drivers/char/mmtimer.c4
-rw-r--r--drivers/char/moxa.c2
-rw-r--r--drivers/char/mwave/3780i.c1
-rw-r--r--drivers/char/mxser.c3
-rw-r--r--drivers/char/n_hdlc.c1
-rw-r--r--drivers/char/nvram.c1
-rw-r--r--drivers/char/nwbutton.c3
-rw-r--r--drivers/char/pc8736x_gpio.c5
-rw-r--r--drivers/char/pcmcia/cm4000_cs.c7
-rw-r--r--drivers/char/ppdev.c15
-rw-r--r--drivers/char/pty.c9
-rw-r--r--drivers/char/qtronix.c3
-rw-r--r--drivers/char/random.c1
-rw-r--r--drivers/char/raw.c15
-rw-r--r--drivers/char/rio/rio_linux.c3
-rw-r--r--drivers/char/rio/rio_linux.h1
-rw-r--r--drivers/char/rio/rioinit.c1
-rw-r--r--drivers/char/riscom8.c3
-rw-r--r--drivers/char/rocket.c5
-rw-r--r--drivers/char/rtc.c7
-rw-r--r--drivers/char/s3c2410-rtc.c4
-rw-r--r--drivers/char/scx200_gpio.c6
-rw-r--r--drivers/char/serial167.c2
-rw-r--r--drivers/char/snsc.c2
-rw-r--r--drivers/char/snsc_event.c2
-rw-r--r--drivers/char/sonypi.c3
-rw-r--r--drivers/char/specialix.c5
-rw-r--r--drivers/char/stallion.c19
-rw-r--r--drivers/char/sx.c4
-rw-r--r--drivers/char/synclink.c2
-rw-r--r--drivers/char/synclink_gt.c3
-rw-r--r--drivers/char/synclinkmp.c3
-rw-r--r--drivers/char/sysrq.c1
-rw-r--r--drivers/char/tipar.c18
-rw-r--r--drivers/char/tlclk.c3
-rw-r--r--drivers/char/tpm/tpm_tis.c4
-rw-r--r--drivers/char/tty_io.c18
-rw-r--r--drivers/char/vc_screen.c12
-rw-r--r--drivers/char/viocons.c2
-rw-r--r--drivers/char/viotape.c11
-rw-r--r--drivers/char/vme_scc.c50
-rw-r--r--drivers/char/vr41xx_giu.c4
-rw-r--r--drivers/char/vt.c3
-rw-r--r--drivers/char/vt_ioctl.c1
-rw-r--r--drivers/char/watchdog/at91_wdt.c1
-rw-r--r--drivers/char/watchdog/booke_wdt.c1
-rw-r--r--drivers/char/watchdog/eurotechwdt.c3
-rw-r--r--drivers/char/watchdog/ib700wdt.c1
-rw-r--r--drivers/char/watchdog/ibmasr.c1
-rw-r--r--drivers/char/watchdog/indydog.c1
-rw-r--r--drivers/char/watchdog/ixp2000_wdt.c1
-rw-r--r--drivers/char/watchdog/ixp4xx_wdt.c1
-rw-r--r--drivers/char/watchdog/machzwd.c1
-rw-r--r--drivers/char/watchdog/mixcomwd.c1
-rw-r--r--drivers/char/watchdog/mpc83xx_wdt.c1
-rw-r--r--drivers/char/watchdog/mpc8xx_wdt.c1
-rw-r--r--drivers/char/watchdog/mpcore_wdt.c3
-rw-r--r--drivers/char/watchdog/mv64x60_wdt.c1
-rw-r--r--drivers/char/watchdog/pcwd_usb.c1
-rw-r--r--drivers/char/watchdog/s3c2410_wdt.c1
-rw-r--r--drivers/char/watchdog/sa1100_wdt.c1
-rw-r--r--drivers/char/watchdog/sbc8360.c1
-rw-r--r--drivers/char/watchdog/sbc_epx_c3.c1
-rw-r--r--drivers/char/watchdog/sc1200wdt.c1
-rw-r--r--drivers/char/watchdog/scx200_wdt.c1
-rw-r--r--drivers/char/watchdog/shwdt.c1
-rw-r--r--drivers/char/watchdog/softdog.c1
-rw-r--r--drivers/char/watchdog/w83977f_wdt.c1
-rw-r--r--drivers/char/watchdog/wd501p.h1
-rw-r--r--drivers/char/watchdog/wdrtas.c1
-rw-r--r--drivers/char/watchdog/wdt.c3
-rw-r--r--drivers/char/watchdog/wdt977.c1
-rw-r--r--drivers/char/watchdog/wdt_pci.c3
141 files changed, 161 insertions, 466 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 410d70cb76fb..c40e487d9f5c 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -961,6 +961,7 @@ config PC8736x_GPIO
961 961
962config NSC_GPIO 962config NSC_GPIO
963 tristate "NatSemi Base GPIO Support" 963 tristate "NatSemi Base GPIO Support"
964 depends on X86_32
964 # selected by SCx200_GPIO and PC8736x_GPIO 965 # selected by SCx200_GPIO and PC8736x_GPIO
965 # what about 2 selectors differing: m != y 966 # what about 2 selectors differing: m != y
966 help 967 help
diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig
index 9826a399fa02..22f8cf218cc6 100644
--- a/drivers/char/agp/Kconfig
+++ b/drivers/char/agp/Kconfig
@@ -1,6 +1,7 @@
1config AGP 1config AGP
2 tristate "/dev/agpgart (AGP Support)" 2 tristate "/dev/agpgart (AGP Support)"
3 depends on ALPHA || IA64 || PPC || X86 3 depends on ALPHA || IA64 || PPC || X86
4 depends on PCI
4 ---help--- 5 ---help---
5 AGP (Accelerated Graphics Port) is a bus system mainly used to 6 AGP (Accelerated Graphics Port) is a bus system mainly used to
6 connect graphics cards to the rest of the system. 7 connect graphics cards to the rest of the system.
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
index f690ee8cb732..8cd52984cda5 100644
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -8,7 +8,6 @@
8 * work is done in the northbridge(s). 8 * work is done in the northbridge(s).
9 */ 9 */
10 10
11#include <linux/config.h>
12#include <linux/module.h> 11#include <linux/module.h>
13#include <linux/pci.h> 12#include <linux/pci.h>
14#include <linux/init.h> 13#include <linux/init.h>
@@ -734,7 +733,7 @@ int __init agp_amd64_init(void)
734 733
735 if (agp_off) 734 if (agp_off)
736 return -EINVAL; 735 return -EINVAL;
737 if (pci_register_driver(&agp_amd64_pci_driver) > 0) { 736 if (pci_register_driver(&agp_amd64_pci_driver) < 0) {
738 struct pci_dev *dev; 737 struct pci_dev *dev;
739 if (!agp_try_unsupported && !agp_try_unsupported_boot) { 738 if (!agp_try_unsupported && !agp_try_unsupported_boot) {
740 printk(KERN_INFO PFX "No supported AGP bridge found.\n"); 739 printk(KERN_INFO PFX "No supported AGP bridge found.\n");
diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c
index 160564345993..f244c6682738 100644
--- a/drivers/char/agp/ati-agp.c
+++ b/drivers/char/agp/ati-agp.c
@@ -41,7 +41,6 @@ static struct gatt_mask ati_generic_masks[] =
41}; 41};
42 42
43 43
44
45typedef struct _ati_page_map { 44typedef struct _ati_page_map {
46 unsigned long *real; 45 unsigned long *real;
47 unsigned long __iomem *remapped; 46 unsigned long __iomem *remapped;
@@ -141,7 +140,8 @@ static int ati_create_gatt_pages(int nr_tables)
141 ati_generic_private.num_tables = nr_tables; 140 ati_generic_private.num_tables = nr_tables;
142 ati_generic_private.gatt_pages = tables; 141 ati_generic_private.gatt_pages = tables;
143 142
144 if (retval != 0) ati_free_gatt_pages(); 143 if (retval != 0)
144 ati_free_gatt_pages();
145 145
146 return retval; 146 return retval;
147} 147}
@@ -219,16 +219,16 @@ static int ati_configure(void)
219 ati_generic_private.registers = (volatile u8 __iomem *) ioremap(temp, 4096); 219 ati_generic_private.registers = (volatile u8 __iomem *) ioremap(temp, 4096);
220 220
221 if (is_r200()) 221 if (is_r200())
222 pci_write_config_dword(agp_bridge->dev, ATI_RS100_IG_AGPMODE, 0x20000); 222 pci_write_config_dword(agp_bridge->dev, ATI_RS100_IG_AGPMODE, 0x20000);
223 else 223 else
224 pci_write_config_dword(agp_bridge->dev, ATI_RS300_IG_AGPMODE, 0x20000); 224 pci_write_config_dword(agp_bridge->dev, ATI_RS300_IG_AGPMODE, 0x20000);
225 225
226 /* address to map too */ 226 /* address to map too */
227 /* 227 /*
228 pci_read_config_dword(agp_bridge.dev, AGP_APBASE, &temp); 228 pci_read_config_dword(agp_bridge.dev, AGP_APBASE, &temp);
229 agp_bridge.gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); 229 agp_bridge.gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK);
230 printk(KERN_INFO PFX "IGP320 gart_bus_addr: %x\n", agp_bridge.gart_bus_addr); 230 printk(KERN_INFO PFX "IGP320 gart_bus_addr: %x\n", agp_bridge.gart_bus_addr);
231 */ 231 */
232 writel(0x60000, ati_generic_private.registers+ATI_GART_FEATURE_ID); 232 writel(0x60000, ati_generic_private.registers+ATI_GART_FEATURE_ID);
233 readl(ati_generic_private.registers+ATI_GART_FEATURE_ID); /* PCI Posting.*/ 233 readl(ati_generic_private.registers+ATI_GART_FEATURE_ID); /* PCI Posting.*/
234 234
@@ -245,18 +245,20 @@ static int ati_configure(void)
245 245
246 246
247#ifdef CONFIG_PM 247#ifdef CONFIG_PM
248static int agp_ati_resume(struct pci_dev *dev) 248static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state)
249{ 249{
250 pci_restore_state(dev); 250 pci_save_state(dev);
251 pci_set_power_state(dev, 3);
251 252
252 return ati_configure(); 253 return 0;
253} 254}
254 255
255static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state) 256static int agp_ati_resume(struct pci_dev *dev)
256{ 257{
257 pci_save_state(dev); 258 pci_set_power_state(dev, 0);
259 pci_restore_state(dev);
258 260
259 return 0; 261 return ati_configure();
260} 262}
261#endif 263#endif
262 264
@@ -321,9 +323,9 @@ static int ati_remove_memory(struct agp_memory * mem, off_t pg_start,
321 unsigned long __iomem *cur_gatt; 323 unsigned long __iomem *cur_gatt;
322 unsigned long addr; 324 unsigned long addr;
323 325
324 if (type != 0 || mem->type != 0) { 326 if (type != 0 || mem->type != 0)
325 return -EINVAL; 327 return -EINVAL;
326 } 328
327 for (i = pg_start; i < (mem->page_count + pg_start); i++) { 329 for (i = pg_start; i < (mem->page_count + pg_start); i++) {
328 addr = (i * PAGE_SIZE) + agp_bridge->gart_bus_addr; 330 addr = (i * PAGE_SIZE) + agp_bridge->gart_bus_addr;
329 cur_gatt = GET_GATT(addr); 331 cur_gatt = GET_GATT(addr);
@@ -502,9 +504,8 @@ found:
502 504
503 bridge->dev = pdev; 505 bridge->dev = pdev;
504 bridge->capndx = cap_ptr; 506 bridge->capndx = cap_ptr;
505
506 bridge->driver = &ati_generic_bridge;
507 507
508 bridge->driver = &ati_generic_bridge;
508 509
509 printk(KERN_INFO PFX "Detected Ati %s chipset\n", 510 printk(KERN_INFO PFX "Detected Ati %s chipset\n",
510 devs[j].chipset_name); 511 devs[j].chipset_name);
@@ -546,8 +547,8 @@ static struct pci_driver agp_ati_pci_driver = {
546 .probe = agp_ati_probe, 547 .probe = agp_ati_probe,
547 .remove = agp_ati_remove, 548 .remove = agp_ati_remove,
548#ifdef CONFIG_PM 549#ifdef CONFIG_PM
549 .resume = agp_ati_resume,
550 .suspend = agp_ati_suspend, 550 .suspend = agp_ati_suspend,
551 .resume = agp_ati_resume,
551#endif 552#endif
552}; 553};
553 554
diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
index a92ab53a1370..cc5ea347a8a7 100644
--- a/drivers/char/agp/generic.c
+++ b/drivers/char/agp/generic.c
@@ -27,7 +27,6 @@
27 * TODO: 27 * TODO:
28 * - Allocate more than order 0 pages to avoid too much linear map splitting. 28 * - Allocate more than order 0 pages to avoid too much linear map splitting.
29 */ 29 */
30#include <linux/config.h>
31#include <linux/module.h> 30#include <linux/module.h>
32#include <linux/pci.h> 31#include <linux/pci.h>
33#include <linux/init.h> 32#include <linux/init.h>
diff --git a/drivers/char/agp/nvidia-agp.c b/drivers/char/agp/nvidia-agp.c
index 4c67135c12d8..df7f37b2739a 100644
--- a/drivers/char/agp/nvidia-agp.c
+++ b/drivers/char/agp/nvidia-agp.c
@@ -376,6 +376,29 @@ static void __devexit agp_nvidia_remove(struct pci_dev *pdev)
376 agp_put_bridge(bridge); 376 agp_put_bridge(bridge);
377} 377}
378 378
379#ifdef CONFIG_PM
380static int agp_nvidia_suspend(struct pci_dev *pdev, pm_message_t state)
381{
382 pci_save_state (pdev);
383 pci_set_power_state (pdev, 3);
384
385 return 0;
386}
387
388static int agp_nvidia_resume(struct pci_dev *pdev)
389{
390 /* set power state 0 and restore PCI space */
391 pci_set_power_state (pdev, 0);
392 pci_restore_state(pdev);
393
394 /* reconfigure AGP hardware again */
395 nvidia_configure();
396
397 return 0;
398}
399#endif
400
401
379static struct pci_device_id agp_nvidia_pci_table[] = { 402static struct pci_device_id agp_nvidia_pci_table[] = {
380 { 403 {
381 .class = (PCI_CLASS_BRIDGE_HOST << 8), 404 .class = (PCI_CLASS_BRIDGE_HOST << 8),
@@ -403,6 +426,10 @@ static struct pci_driver agp_nvidia_pci_driver = {
403 .id_table = agp_nvidia_pci_table, 426 .id_table = agp_nvidia_pci_table,
404 .probe = agp_nvidia_probe, 427 .probe = agp_nvidia_probe,
405 .remove = agp_nvidia_remove, 428 .remove = agp_nvidia_remove,
429#ifdef CONFIG_PM
430 .suspend = agp_nvidia_suspend,
431 .resume = agp_nvidia_resume,
432#endif
406}; 433};
407 434
408static int __init agp_nvidia_init(void) 435static int __init agp_nvidia_init(void)
diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c
index 6602b3156df5..9d6713a93ed7 100644
--- a/drivers/char/amiserial.c
+++ b/drivers/char/amiserial.c
@@ -31,7 +31,6 @@
31 * ever possible. 31 * ever possible.
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/delay.h> 34#include <linux/delay.h>
36 35
37#undef SERIAL_PARANOIA_CHECK 36#undef SERIAL_PARANOIA_CHECK
@@ -2052,7 +2051,7 @@ static int __init rs_init(void)
2052 2051
2053 /* set ISRs, and then disable the rx interrupts */ 2052 /* set ISRs, and then disable the rx interrupts */
2054 request_irq(IRQ_AMIGA_TBE, ser_tx_int, 0, "serial TX", state); 2053 request_irq(IRQ_AMIGA_TBE, ser_tx_int, 0, "serial TX", state);
2055 request_irq(IRQ_AMIGA_RBF, ser_rx_int, SA_INTERRUPT, "serial RX", state); 2054 request_irq(IRQ_AMIGA_RBF, ser_rx_int, IRQF_DISABLED, "serial RX", state);
2056 2055
2057 /* turn off Rx and Tx interrupts */ 2056 /* turn off Rx and Tx interrupts */
2058 custom.intena = IF_RBF | IF_TBE; 2057 custom.intena = IF_RBF | IF_TBE;
diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c
index 9275d5e52e6d..bcc4668835b5 100644
--- a/drivers/char/applicom.c
+++ b/drivers/char/applicom.c
@@ -209,13 +209,16 @@ static int __init applicom_init(void)
209 RamIO = ioremap(dev->resource[0].start, LEN_RAM_IO); 209 RamIO = ioremap(dev->resource[0].start, LEN_RAM_IO);
210 210
211 if (!RamIO) { 211 if (!RamIO) {
212 printk(KERN_INFO "ac.o: Failed to ioremap PCI memory space at 0x%lx\n", dev->resource[0].start); 212 printk(KERN_INFO "ac.o: Failed to ioremap PCI memory "
213 "space at 0x%llx\n",
214 (unsigned long long)dev->resource[0].start);
213 pci_disable_device(dev); 215 pci_disable_device(dev);
214 return -EIO; 216 return -EIO;
215 } 217 }
216 218
217 printk(KERN_INFO "Applicom %s found at mem 0x%lx, irq %d\n", 219 printk(KERN_INFO "Applicom %s found at mem 0x%llx, irq %d\n",
218 applicom_pci_devnames[dev->device-1], dev->resource[0].start, 220 applicom_pci_devnames[dev->device-1],
221 (unsigned long long)dev->resource[0].start,
219 dev->irq); 222 dev->irq);
220 223
221 boardno = ac_register_board(dev->resource[0].start, RamIO,0); 224 boardno = ac_register_board(dev->resource[0].start, RamIO,0);
@@ -226,7 +229,7 @@ static int __init applicom_init(void)
226 continue; 229 continue;
227 } 230 }
228 231
229 if (request_irq(dev->irq, &ac_interrupt, SA_SHIRQ, "Applicom PCI", &dummy)) { 232 if (request_irq(dev->irq, &ac_interrupt, IRQF_SHARED, "Applicom PCI", &dummy)) {
230 printk(KERN_INFO "Could not allocate IRQ %d for PCI Applicom device.\n", dev->irq); 233 printk(KERN_INFO "Could not allocate IRQ %d for PCI Applicom device.\n", dev->irq);
231 iounmap(RamIO); 234 iounmap(RamIO);
232 pci_disable_device(dev); 235 pci_disable_device(dev);
@@ -273,7 +276,7 @@ static int __init applicom_init(void)
273 printk(KERN_NOTICE "Applicom ISA card found at mem 0x%lx, irq %d\n", mem + (LEN_RAM_IO*i), irq); 276 printk(KERN_NOTICE "Applicom ISA card found at mem 0x%lx, irq %d\n", mem + (LEN_RAM_IO*i), irq);
274 277
275 if (!numisa) { 278 if (!numisa) {
276 if (request_irq(irq, &ac_interrupt, SA_SHIRQ, "Applicom ISA", &dummy)) { 279 if (request_irq(irq, &ac_interrupt, IRQF_SHARED, "Applicom ISA", &dummy)) {
277 printk(KERN_WARNING "Could not allocate IRQ %d for ISA Applicom device.\n", irq); 280 printk(KERN_WARNING "Could not allocate IRQ %d for ISA Applicom device.\n", irq);
278 iounmap(RamIO); 281 iounmap(RamIO);
279 apbs[boardno - 1].RamIO = NULL; 282 apbs[boardno - 1].RamIO = NULL;
diff --git a/drivers/char/consolemap.c b/drivers/char/consolemap.c
index c85a4fa60da7..04a12027a740 100644
--- a/drivers/char/consolemap.c
+++ b/drivers/char/consolemap.c
@@ -11,7 +11,6 @@
11 * Fix bug in inverse translation. Stanislav Voronyi <stas@cnti.uanet.kharkov.ua>, Dec 1998 11 * Fix bug in inverse translation. Stanislav Voronyi <stas@cnti.uanet.kharkov.ua>, Dec 1998
12 */ 12 */
13 13
14#include <linux/config.h>
15#include <linux/module.h> 14#include <linux/module.h>
16#include <linux/kd.h> 15#include <linux/kd.h>
17#include <linux/errno.h> 16#include <linux/errno.h>
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 122e7a72a4e1..c1c67281750d 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -633,7 +633,6 @@ static char rcsid[] =
633/* 633/*
634 * Include section 634 * Include section
635 */ 635 */
636#include <linux/config.h>
637#include <linux/module.h> 636#include <linux/module.h>
638#include <linux/errno.h> 637#include <linux/errno.h>
639#include <linux/signal.h> 638#include <linux/signal.h>
@@ -4613,7 +4612,7 @@ cy_detect_isa(void)
4613 4612
4614 /* allocate IRQ */ 4613 /* allocate IRQ */
4615 if(request_irq(cy_isa_irq, cyy_interrupt, 4614 if(request_irq(cy_isa_irq, cyy_interrupt,
4616 SA_INTERRUPT, "Cyclom-Y", &cy_card[j])) 4615 IRQF_DISABLED, "Cyclom-Y", &cy_card[j]))
4617 { 4616 {
4618 printk("Cyclom-Y/ISA found at 0x%lx ", 4617 printk("Cyclom-Y/ISA found at 0x%lx ",
4619 (unsigned long) cy_isa_address); 4618 (unsigned long) cy_isa_address);
@@ -4786,7 +4785,7 @@ cy_detect_pci(void)
4786 4785
4787 /* allocate IRQ */ 4786 /* allocate IRQ */
4788 if(request_irq(cy_pci_irq, cyy_interrupt, 4787 if(request_irq(cy_pci_irq, cyy_interrupt,
4789 SA_SHIRQ, "Cyclom-Y", &cy_card[j])) 4788 IRQF_SHARED, "Cyclom-Y", &cy_card[j]))
4790 { 4789 {
4791 printk("Cyclom-Y/PCI found at 0x%lx ", 4790 printk("Cyclom-Y/PCI found at 0x%lx ",
4792 (ulong) cy_pci_phys2); 4791 (ulong) cy_pci_phys2);
@@ -4966,7 +4965,7 @@ cy_detect_pci(void)
4966 /* allocate IRQ only if board has an IRQ */ 4965 /* allocate IRQ only if board has an IRQ */
4967 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) { 4966 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) {
4968 if(request_irq(cy_pci_irq, cyz_interrupt, 4967 if(request_irq(cy_pci_irq, cyz_interrupt,
4969 SA_SHIRQ, "Cyclades-Z", &cy_card[j])) 4968 IRQF_SHARED, "Cyclades-Z", &cy_card[j]))
4970 { 4969 {
4971 printk("Cyclom-8Zo/PCI found at 0x%lx ", 4970 printk("Cyclom-8Zo/PCI found at 0x%lx ",
4972 (ulong) cy_pci_phys2); 4971 (ulong) cy_pci_phys2);
@@ -5060,7 +5059,7 @@ cy_detect_pci(void)
5060 /* allocate IRQ only if board has an IRQ */ 5059 /* allocate IRQ only if board has an IRQ */
5061 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) { 5060 if( (cy_pci_irq != 0) && (cy_pci_irq != 255) ) {
5062 if(request_irq(cy_pci_irq, cyz_interrupt, 5061 if(request_irq(cy_pci_irq, cyz_interrupt,
5063 SA_SHIRQ, "Cyclades-Z", &cy_card[j])) 5062 IRQF_SHARED, "Cyclades-Z", &cy_card[j]))
5064 { 5063 {
5065 printk("Cyclom-Ze/PCI found at 0x%lx ", 5064 printk("Cyclom-Ze/PCI found at 0x%lx ",
5066 (ulong) cy_pci_phys2); 5065 (ulong) cy_pci_phys2);
@@ -5250,7 +5249,6 @@ cy_init(void)
5250 cy_serial_driver->owner = THIS_MODULE; 5249 cy_serial_driver->owner = THIS_MODULE;
5251 cy_serial_driver->driver_name = "cyclades"; 5250 cy_serial_driver->driver_name = "cyclades";
5252 cy_serial_driver->name = "ttyC"; 5251 cy_serial_driver->name = "ttyC";
5253 cy_serial_driver->devfs_name = "tts/C";
5254 cy_serial_driver->major = CYCLADES_MAJOR; 5252 cy_serial_driver->major = CYCLADES_MAJOR;
5255 cy_serial_driver->minor_start = 0; 5253 cy_serial_driver->minor_start = 0;
5256 cy_serial_driver->type = TTY_DRIVER_TYPE_SERIAL; 5254 cy_serial_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/decserial.c b/drivers/char/decserial.c
index aa1440934e95..85f404e25c73 100644
--- a/drivers/char/decserial.c
+++ b/drivers/char/decserial.c
@@ -16,7 +16,6 @@
16 * console device I strongly recommend to use only one. 16 * console device I strongly recommend to use only one.
17 */ 17 */
18 18
19#include <linux/config.h>
20#include <linux/init.h> 19#include <linux/init.h>
21#include <asm/dec/machtype.h> 20#include <asm/dec/machtype.h>
22 21
diff --git a/drivers/char/drm/drm.h b/drivers/char/drm/drm.h
index 9da0ddb892b5..5642ac43e0f5 100644
--- a/drivers/char/drm/drm.h
+++ b/drivers/char/drm/drm.h
@@ -38,7 +38,6 @@
38 38
39#if defined(__linux__) 39#if defined(__linux__)
40#if defined(__KERNEL__) 40#if defined(__KERNEL__)
41#include <linux/config.h>
42#endif 41#endif
43#include <asm/ioctl.h> /* For _IO* macros */ 42#include <asm/ioctl.h> /* For _IO* macros */
44#define DRM_IOCTL_NR(n) _IOC_NR(n) 43#define DRM_IOCTL_NR(n) _IOC_NR(n)
diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
index cb76e5ca9a23..d2a56182bc35 100644
--- a/drivers/char/drm/drmP.h
+++ b/drivers/char/drm/drmP.h
@@ -44,7 +44,6 @@
44 * can build the DRM (part of PI DRI). 4/21/2000 S + B */ 44 * can build the DRM (part of PI DRI). 4/21/2000 S + B */
45#include <asm/current.h> 45#include <asm/current.h>
46#endif /* __alpha__ */ 46#endif /* __alpha__ */
47#include <linux/config.h>
48#include <linux/module.h> 47#include <linux/module.h>
49#include <linux/kernel.h> 48#include <linux/kernel.h>
50#include <linux/miscdevice.h> 49#include <linux/miscdevice.h>
diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c
index 611a1173091d..ebdb7182c4fd 100644
--- a/drivers/char/drm/drm_irq.c
+++ b/drivers/char/drm/drm_irq.c
@@ -130,7 +130,7 @@ static int drm_irq_install(drm_device_t * dev)
130 130
131 /* Install handler */ 131 /* Install handler */
132 if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) 132 if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED))
133 sh_flags = SA_SHIRQ; 133 sh_flags = IRQF_SHARED;
134 134
135 ret = request_irq(dev->irq, dev->driver->irq_handler, 135 ret = request_irq(dev->irq, dev->driver->irq_handler,
136 sh_flags, dev->devname, dev); 136 sh_flags, dev->devname, dev);
diff --git a/drivers/char/drm/drm_memory.c b/drivers/char/drm/drm_memory.c
index 7e3318e1d1c6..5681cae1d404 100644
--- a/drivers/char/drm/drm_memory.c
+++ b/drivers/char/drm/drm_memory.c
@@ -33,7 +33,6 @@
33 * OTHER DEALINGS IN THE SOFTWARE. 33 * OTHER DEALINGS IN THE SOFTWARE.
34 */ 34 */
35 35
36#include <linux/config.h>
37#include <linux/highmem.h> 36#include <linux/highmem.h>
38#include "drmP.h" 37#include "drmP.h"
39 38
diff --git a/drivers/char/drm/drm_memory.h b/drivers/char/drm/drm_memory.h
index 714d9aedcff5..f1b97aff10cf 100644
--- a/drivers/char/drm/drm_memory.h
+++ b/drivers/char/drm/drm_memory.h
@@ -33,7 +33,6 @@
33 * OTHER DEALINGS IN THE SOFTWARE. 33 * OTHER DEALINGS IN THE SOFTWARE.
34 */ 34 */
35 35
36#include <linux/config.h>
37#include <linux/highmem.h> 36#include <linux/highmem.h>
38#include <linux/vmalloc.h> 37#include <linux/vmalloc.h>
39#include "drmP.h" 38#include "drmP.h"
diff --git a/drivers/char/drm/drm_memory_debug.h b/drivers/char/drm/drm_memory_debug.h
index d117cc997192..74581af806e1 100644
--- a/drivers/char/drm/drm_memory_debug.h
+++ b/drivers/char/drm/drm_memory_debug.h
@@ -31,7 +31,6 @@
31 * OTHER DEALINGS IN THE SOFTWARE. 31 * OTHER DEALINGS IN THE SOFTWARE.
32 */ 32 */
33 33
34#include <linux/config.h>
35#include "drmP.h" 34#include "drmP.h"
36 35
37typedef struct drm_mem_stats { 36typedef struct drm_mem_stats {
diff --git a/drivers/char/drm/drm_scatter.c b/drivers/char/drm/drm_scatter.c
index ce81bf248200..06ef7ddbe67d 100644
--- a/drivers/char/drm/drm_scatter.c
+++ b/drivers/char/drm/drm_scatter.c
@@ -31,7 +31,6 @@
31 * DEALINGS IN THE SOFTWARE. 31 * DEALINGS IN THE SOFTWARE.
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/vmalloc.h> 34#include <linux/vmalloc.h>
36#include "drmP.h" 35#include "drmP.h"
37 36
diff --git a/drivers/char/drm/drm_sysfs.c b/drivers/char/drm/drm_sysfs.c
index 0b9f98a7eb10..51ad98c685c3 100644
--- a/drivers/char/drm/drm_sysfs.c
+++ b/drivers/char/drm/drm_sysfs.c
@@ -12,7 +12,6 @@
12 * 12 *
13 */ 13 */
14 14
15#include <linux/config.h>
16#include <linux/device.h> 15#include <linux/device.h>
17#include <linux/kdev_t.h> 16#include <linux/kdev_t.h>
18#include <linux/err.h> 17#include <linux/err.h>
diff --git a/drivers/char/drm/ffb_drv.c b/drivers/char/drm/ffb_drv.c
index c13f9abb41e9..dd45111a4854 100644
--- a/drivers/char/drm/ffb_drv.c
+++ b/drivers/char/drm/ffb_drv.c
@@ -4,7 +4,6 @@
4 * Copyright (C) 2000 David S. Miller (davem@redhat.com) 4 * Copyright (C) 2000 David S. Miller (davem@redhat.com)
5 */ 5 */
6 6
7#include <linux/config.h>
8#include "ffb.h" 7#include "ffb.h"
9#include "drmP.h" 8#include "drmP.h"
10 9
diff --git a/drivers/char/drm/i810_drv.c b/drivers/char/drm/i810_drv.c
index dfe6ad2b6a6e..fabb9a817966 100644
--- a/drivers/char/drm/i810_drv.c
+++ b/drivers/char/drm/i810_drv.c
@@ -30,7 +30,6 @@
30 * Gareth Hughes <gareth@valinux.com> 30 * Gareth Hughes <gareth@valinux.com>
31 */ 31 */
32 32
33#include <linux/config.h>
34#include "drmP.h" 33#include "drmP.h"
35#include "drm.h" 34#include "drm.h"
36#include "i810_drm.h" 35#include "i810_drm.h"
diff --git a/drivers/char/drm/i830_drv.c b/drivers/char/drm/i830_drv.c
index 722658188f5f..389597e4a623 100644
--- a/drivers/char/drm/i830_drv.c
+++ b/drivers/char/drm/i830_drv.c
@@ -32,7 +32,6 @@
32 * Keith Whitwell <keith@tungstengraphics.com> 32 * Keith Whitwell <keith@tungstengraphics.com>
33 */ 33 */
34 34
35#include <linux/config.h>
36#include "drmP.h" 35#include "drmP.h"
37#include "drm.h" 36#include "drm.h"
38#include "i830_drm.h" 37#include "i830_drm.h"
diff --git a/drivers/char/drm/mga_drv.c b/drivers/char/drm/mga_drv.c
index 9f7ed0e0351b..e30f556b79f1 100644
--- a/drivers/char/drm/mga_drv.c
+++ b/drivers/char/drm/mga_drv.c
@@ -29,7 +29,6 @@
29 * Gareth Hughes <gareth@valinux.com> 29 * Gareth Hughes <gareth@valinux.com>
30 */ 30 */
31 31
32#include <linux/config.h>
33#include "drmP.h" 32#include "drmP.h"
34#include "drm.h" 33#include "drm.h"
35#include "mga_drm.h" 34#include "mga_drm.h"
diff --git a/drivers/char/drm/r128_drv.c b/drivers/char/drm/r128_drv.c
index e20450ae220e..6108e7587e12 100644
--- a/drivers/char/drm/r128_drv.c
+++ b/drivers/char/drm/r128_drv.c
@@ -29,7 +29,6 @@
29 * Gareth Hughes <gareth@valinux.com> 29 * Gareth Hughes <gareth@valinux.com>
30 */ 30 */
31 31
32#include <linux/config.h>
33#include "drmP.h" 32#include "drmP.h"
34#include "drm.h" 33#include "drm.h"
35#include "r128_drm.h" 34#include "r128_drm.h"
diff --git a/drivers/char/drm/radeon_drv.c b/drivers/char/drm/radeon_drv.c
index b04ed1b562b9..eb985c2a31e9 100644
--- a/drivers/char/drm/radeon_drv.c
+++ b/drivers/char/drm/radeon_drv.c
@@ -29,7 +29,6 @@
29 * OTHER DEALINGS IN THE SOFTWARE. 29 * OTHER DEALINGS IN THE SOFTWARE.
30 */ 30 */
31 31
32#include <linux/config.h>
33#include "drmP.h" 32#include "drmP.h"
34#include "drm.h" 33#include "drm.h"
35#include "radeon_drm.h" 34#include "radeon_drm.h"
diff --git a/drivers/char/drm/savage_drv.c b/drivers/char/drm/savage_drv.c
index aa6c0d1a82f8..eee52aa92a7c 100644
--- a/drivers/char/drm/savage_drv.c
+++ b/drivers/char/drm/savage_drv.c
@@ -23,7 +23,6 @@
23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 */ 24 */
25 25
26#include <linux/config.h>
27#include "drmP.h" 26#include "drmP.h"
28#include "savage_drm.h" 27#include "savage_drm.h"
29#include "savage_drv.h" 28#include "savage_drv.h"
diff --git a/drivers/char/drm/sis_drv.c b/drivers/char/drm/sis_drv.c
index 6f6d7d613ede..5e9dc86f2956 100644
--- a/drivers/char/drm/sis_drv.c
+++ b/drivers/char/drm/sis_drv.c
@@ -25,7 +25,6 @@
25 * 25 *
26 */ 26 */
27 27
28#include <linux/config.h>
29#include "drmP.h" 28#include "drmP.h"
30#include "sis_drm.h" 29#include "sis_drm.h"
31#include "sis_drv.h" 30#include "sis_drv.h"
diff --git a/drivers/char/drm/tdfx_drv.c b/drivers/char/drm/tdfx_drv.c
index baa4416032a8..012ff2e356b2 100644
--- a/drivers/char/drm/tdfx_drv.c
+++ b/drivers/char/drm/tdfx_drv.c
@@ -30,7 +30,6 @@
30 * Gareth Hughes <gareth@valinux.com> 30 * Gareth Hughes <gareth@valinux.com>
31 */ 31 */
32 32
33#include <linux/config.h>
34#include "drmP.h" 33#include "drmP.h"
35#include "tdfx_drv.h" 34#include "tdfx_drv.h"
36 35
diff --git a/drivers/char/drm/via_drv.c b/drivers/char/drm/via_drv.c
index 3f012255d315..b3d364d793d7 100644
--- a/drivers/char/drm/via_drv.c
+++ b/drivers/char/drm/via_drv.c
@@ -22,7 +22,6 @@
22 * DEALINGS IN THE SOFTWARE. 22 * DEALINGS IN THE SOFTWARE.
23 */ 23 */
24 24
25#include <linux/config.h>
26#include "drmP.h" 25#include "drmP.h"
27#include "via_drm.h" 26#include "via_drm.h"
28#include "via_drv.h" 27#include "via_drv.h"
diff --git a/drivers/char/ds1302.c b/drivers/char/ds1302.c
index a75e8609be01..625e8b517005 100644
--- a/drivers/char/ds1302.c
+++ b/drivers/char/ds1302.c
@@ -12,7 +12,6 @@
12*! 12*!
13*!***************************************************************************/ 13*!***************************************************************************/
14 14
15#include <linux/config.h>
16 15
17#include <linux/fs.h> 16#include <linux/fs.h>
18#include <linux/init.h> 17#include <linux/init.h>
diff --git a/drivers/char/ds1620.c b/drivers/char/ds1620.c
index 62cda25724e3..953e670dcd09 100644
--- a/drivers/char/ds1620.c
+++ b/drivers/char/ds1620.c
@@ -2,7 +2,6 @@
2 * linux/drivers/char/ds1620.c: Dallas Semiconductors DS1620 2 * linux/drivers/char/ds1620.c: Dallas Semiconductors DS1620
3 * thermometer driver (as used in the Rebel.com NetWinder) 3 * thermometer driver (as used in the Rebel.com NetWinder)
4 */ 4 */
5#include <linux/config.h>
6#include <linux/module.h> 5#include <linux/module.h>
7#include <linux/sched.h> 6#include <linux/sched.h>
8#include <linux/miscdevice.h> 7#include <linux/miscdevice.h>
diff --git a/drivers/char/dsp56k.c b/drivers/char/dsp56k.c
index e233cf280bc0..09b413618b57 100644
--- a/drivers/char/dsp56k.c
+++ b/drivers/char/dsp56k.c
@@ -33,7 +33,6 @@
33#include <linux/fs.h> 33#include <linux/fs.h>
34#include <linux/mm.h> 34#include <linux/mm.h>
35#include <linux/init.h> 35#include <linux/init.h>
36#include <linux/devfs_fs_kernel.h>
37#include <linux/smp_lock.h> 36#include <linux/smp_lock.h>
38#include <linux/device.h> 37#include <linux/device.h>
39 38
@@ -518,17 +517,9 @@ static int __init dsp56k_init_driver(void)
518 } 517 }
519 class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k"); 518 class_device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL, "dsp56k");
520 519
521 err = devfs_mk_cdev(MKDEV(DSP56K_MAJOR, 0),
522 S_IFCHR | S_IRUSR | S_IWUSR, "dsp56k");
523 if(err)
524 goto out_class;
525
526 printk(banner); 520 printk(banner);
527 goto out; 521 goto out;
528 522
529out_class:
530 class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
531 class_destroy(dsp56k_class);
532out_chrdev: 523out_chrdev:
533 unregister_chrdev(DSP56K_MAJOR, "dsp56k"); 524 unregister_chrdev(DSP56K_MAJOR, "dsp56k");
534out: 525out:
@@ -541,7 +532,6 @@ static void __exit dsp56k_cleanup_driver(void)
541 class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0)); 532 class_device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
542 class_destroy(dsp56k_class); 533 class_destroy(dsp56k_class);
543 unregister_chrdev(DSP56K_MAJOR, "dsp56k"); 534 unregister_chrdev(DSP56K_MAJOR, "dsp56k");
544 devfs_remove("dsp56k");
545} 535}
546module_exit(dsp56k_cleanup_driver); 536module_exit(dsp56k_cleanup_driver);
547 537
diff --git a/drivers/char/dtlk.c b/drivers/char/dtlk.c
index 87dcaa237f07..da2c89f1b8bc 100644
--- a/drivers/char/dtlk.c
+++ b/drivers/char/dtlk.c
@@ -62,7 +62,6 @@
62#include <linux/init.h> /* for __init, module_{init,exit} */ 62#include <linux/init.h> /* for __init, module_{init,exit} */
63#include <linux/poll.h> /* for POLLIN, etc. */ 63#include <linux/poll.h> /* for POLLIN, etc. */
64#include <linux/dtlk.h> /* local header file for DoubleTalk values */ 64#include <linux/dtlk.h> /* local header file for DoubleTalk values */
65#include <linux/devfs_fs_kernel.h>
66#include <linux/smp_lock.h> 65#include <linux/smp_lock.h>
67 66
68#ifdef TRACING 67#ifdef TRACING
@@ -337,9 +336,6 @@ static int __init dtlk_init(void)
337 if (dtlk_dev_probe() == 0) 336 if (dtlk_dev_probe() == 0)
338 printk(", MAJOR %d\n", dtlk_major); 337 printk(", MAJOR %d\n", dtlk_major);
339 338
340 devfs_mk_cdev(MKDEV(dtlk_major, DTLK_MINOR),
341 S_IFCHR | S_IRUSR | S_IWUSR, "dtlk");
342
343 init_timer(&dtlk_timer); 339 init_timer(&dtlk_timer);
344 dtlk_timer.function = dtlk_timer_tick; 340 dtlk_timer.function = dtlk_timer_tick;
345 init_waitqueue_head(&dtlk_process_list); 341 init_waitqueue_head(&dtlk_process_list);
@@ -357,7 +353,6 @@ static void __exit dtlk_cleanup (void)
357 353
358 dtlk_write_tts(DTLK_CLEAR); 354 dtlk_write_tts(DTLK_CLEAR);
359 unregister_chrdev(dtlk_major, "dtlk"); 355 unregister_chrdev(dtlk_major, "dtlk");
360 devfs_remove("dtlk");
361 release_region(dtlk_port_lpc, DTLK_IO_EXTENT); 356 release_region(dtlk_port_lpc, DTLK_IO_EXTENT);
362} 357}
363 358
diff --git a/drivers/char/ec3104_keyb.c b/drivers/char/ec3104_keyb.c
index 4aed66968821..abac18b1871c 100644
--- a/drivers/char/ec3104_keyb.c
+++ b/drivers/char/ec3104_keyb.c
@@ -26,7 +26,6 @@
26 * (prumpf@tux.org). 26 * (prumpf@tux.org).
27 */ 27 */
28 28
29#include <linux/config.h>
30 29
31#include <linux/spinlock.h> 30#include <linux/spinlock.h>
32#include <linux/sched.h> 31#include <linux/sched.h>
diff --git a/drivers/char/epca.c b/drivers/char/epca.c
index dc0602ae8503..86d290e9f307 100644
--- a/drivers/char/epca.c
+++ b/drivers/char/epca.c
@@ -30,7 +30,6 @@
30/* See README.epca for change history --DAT*/ 30/* See README.epca for change history --DAT*/
31 31
32 32
33#include <linux/config.h>
34#include <linux/module.h> 33#include <linux/module.h>
35#include <linux/kernel.h> 34#include <linux/kernel.h>
36#include <linux/types.h> 35#include <linux/types.h>
@@ -1232,7 +1231,6 @@ static int __init pc_init(void)
1232 1231
1233 pc_driver->owner = THIS_MODULE; 1232 pc_driver->owner = THIS_MODULE;
1234 pc_driver->name = "ttyD"; 1233 pc_driver->name = "ttyD";
1235 pc_driver->devfs_name = "tts/D";
1236 pc_driver->major = DIGI_MAJOR; 1234 pc_driver->major = DIGI_MAJOR;
1237 pc_driver->minor_start = 0; 1235 pc_driver->minor_start = 0;
1238 pc_driver->type = TTY_DRIVER_TYPE_SERIAL; 1236 pc_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/esp.c b/drivers/char/esp.c
index 922174d527ae..afcd83d9984b 100644
--- a/drivers/char/esp.c
+++ b/drivers/char/esp.c
@@ -883,7 +883,7 @@ static int startup(struct esp_struct * info)
883 * Allocate the IRQ 883 * Allocate the IRQ
884 */ 884 */
885 885
886 retval = request_irq(info->irq, rs_interrupt_single, SA_SHIRQ, 886 retval = request_irq(info->irq, rs_interrupt_single, IRQF_SHARED,
887 "esp serial", info); 887 "esp serial", info);
888 888
889 if (retval) { 889 if (retval) {
@@ -2449,7 +2449,6 @@ static int __init espserial_init(void)
2449 2449
2450 esp_driver->owner = THIS_MODULE; 2450 esp_driver->owner = THIS_MODULE;
2451 esp_driver->name = "ttyP"; 2451 esp_driver->name = "ttyP";
2452 esp_driver->devfs_name = "tts/P";
2453 esp_driver->major = ESP_IN_MAJOR; 2452 esp_driver->major = ESP_IN_MAJOR;
2454 esp_driver->minor_start = 0; 2453 esp_driver->minor_start = 0;
2455 esp_driver->type = TTY_DRIVER_TYPE_SERIAL; 2454 esp_driver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/ftape/lowlevel/fdc-io.c b/drivers/char/ftape/lowlevel/fdc-io.c
index 093fdf98b19a..65c9d2ec60bd 100644
--- a/drivers/char/ftape/lowlevel/fdc-io.c
+++ b/drivers/char/ftape/lowlevel/fdc-io.c
@@ -1268,7 +1268,7 @@ static int fdc_grab_irq_and_dma(void)
1268 /* Get fast interrupt handler. 1268 /* Get fast interrupt handler.
1269 */ 1269 */
1270 if (request_irq(fdc.irq, ftape_interrupt, 1270 if (request_irq(fdc.irq, ftape_interrupt,
1271 SA_INTERRUPT, "ft", ftape_id)) { 1271 IRQF_DISABLED, "ft", ftape_id)) {
1272 TRACE_ABORT(-EIO, ft_t_bug, 1272 TRACE_ABORT(-EIO, ft_t_bug,
1273 "Unable to grab IRQ%d for ftape driver", 1273 "Unable to grab IRQ%d for ftape driver",
1274 fdc.irq); 1274 fdc.irq);
diff --git a/drivers/char/ftape/lowlevel/ftape-calibr.c b/drivers/char/ftape/lowlevel/ftape-calibr.c
index 956b2586e138..8e50bfd35a52 100644
--- a/drivers/char/ftape/lowlevel/ftape-calibr.c
+++ b/drivers/char/ftape/lowlevel/ftape-calibr.c
@@ -24,7 +24,6 @@
24 * functions. 24 * functions.
25 */ 25 */
26 26
27#include <linux/config.h>
28#include <linux/errno.h> 27#include <linux/errno.h>
29#include <linux/jiffies.h> 28#include <linux/jiffies.h>
30#include <asm/system.h> 29#include <asm/system.h>
diff --git a/drivers/char/ftape/lowlevel/ftape-ctl.c b/drivers/char/ftape/lowlevel/ftape-ctl.c
index 32e043911790..5d7c1ce92d59 100644
--- a/drivers/char/ftape/lowlevel/ftape-ctl.c
+++ b/drivers/char/ftape/lowlevel/ftape-ctl.c
@@ -25,7 +25,6 @@
25 * QIC-40/80/3010/3020 floppy-tape driver "ftape" for Linux. 25 * QIC-40/80/3010/3020 floppy-tape driver "ftape" for Linux.
26 */ 26 */
27 27
28#include <linux/config.h>
29#include <linux/errno.h> 28#include <linux/errno.h>
30#include <linux/mm.h> 29#include <linux/mm.h>
31#include <linux/mman.h> 30#include <linux/mman.h>
diff --git a/drivers/char/ftape/lowlevel/ftape-init.c b/drivers/char/ftape/lowlevel/ftape-init.c
index b54260d457c2..4998132a81d1 100644
--- a/drivers/char/ftape/lowlevel/ftape-init.c
+++ b/drivers/char/ftape/lowlevel/ftape-init.c
@@ -21,7 +21,6 @@
21 * for the QIC-40/80/3010/3020 floppy-tape driver for Linux. 21 * for the QIC-40/80/3010/3020 floppy-tape driver for Linux.
22 */ 22 */
23 23
24#include <linux/config.h>
25#include <linux/module.h> 24#include <linux/module.h>
26#include <linux/errno.h> 25#include <linux/errno.h>
27#include <linux/fs.h> 26#include <linux/fs.h>
diff --git a/drivers/char/ftape/lowlevel/ftape-proc.c b/drivers/char/ftape/lowlevel/ftape-proc.c
index c66251e997ed..e805b15e0a12 100644
--- a/drivers/char/ftape/lowlevel/ftape-proc.c
+++ b/drivers/char/ftape/lowlevel/ftape-proc.c
@@ -26,7 +26,6 @@
26 * Old code removed, switched to dynamic proc entry. 26 * Old code removed, switched to dynamic proc entry.
27 */ 27 */
28 28
29#include <linux/config.h>
30 29
31#if defined(CONFIG_PROC_FS) && defined(CONFIG_FT_PROC_FS) 30#if defined(CONFIG_PROC_FS) && defined(CONFIG_FT_PROC_FS)
32 31
diff --git a/drivers/char/ftape/lowlevel/ftape-setup.c b/drivers/char/ftape/lowlevel/ftape-setup.c
index 280a1a55d87e..678340acd0b7 100644
--- a/drivers/char/ftape/lowlevel/ftape-setup.c
+++ b/drivers/char/ftape/lowlevel/ftape-setup.c
@@ -25,7 +25,6 @@
25 * "ftape" for Linux. 25 * "ftape" for Linux.
26 */ 26 */
27 27
28#include <linux/config.h>
29#include <linux/string.h> 28#include <linux/string.h>
30#include <linux/errno.h> 29#include <linux/errno.h>
31#include <linux/mm.h> 30#include <linux/mm.h>
diff --git a/drivers/char/ftape/lowlevel/ftape-tracing.h b/drivers/char/ftape/lowlevel/ftape-tracing.h
index fa7cd20ee66c..2950810c7085 100644
--- a/drivers/char/ftape/lowlevel/ftape-tracing.h
+++ b/drivers/char/ftape/lowlevel/ftape-tracing.h
@@ -28,7 +28,6 @@
28 * QIC-40/80/3010/3020 floppy-tape driver "ftape" for Linux. 28 * QIC-40/80/3010/3020 floppy-tape driver "ftape" for Linux.
29 */ 29 */
30 30
31#include <linux/config.h>
32#include <linux/kernel.h> 31#include <linux/kernel.h>
33 32
34/* 33/*
diff --git a/drivers/char/ftape/lowlevel/ftape_syms.c b/drivers/char/ftape/lowlevel/ftape_syms.c
index 5dc3a380c9bf..8e0dc4a07ca6 100644
--- a/drivers/char/ftape/lowlevel/ftape_syms.c
+++ b/drivers/char/ftape/lowlevel/ftape_syms.c
@@ -25,7 +25,6 @@
25 * exports to its high level clients 25 * exports to its high level clients
26 */ 26 */
27 27
28#include <linux/config.h>
29#include <linux/module.h> 28#include <linux/module.h>
30 29
31#include <linux/ftape.h> 30#include <linux/ftape.h>
diff --git a/drivers/char/ftape/zftape/zftape-ctl.c b/drivers/char/ftape/zftape/zftape-ctl.c
index 6c7874e5c199..22ba0f5d00cf 100644
--- a/drivers/char/ftape/zftape/zftape-ctl.c
+++ b/drivers/char/ftape/zftape/zftape-ctl.c
@@ -24,7 +24,6 @@
24 * for the QIC-40/80/3010/3020 floppy-tape driver for Linux. 24 * for the QIC-40/80/3010/3020 floppy-tape driver for Linux.
25 */ 25 */
26 26
27#include <linux/config.h>
28#include <linux/errno.h> 27#include <linux/errno.h>
29#include <linux/mm.h> 28#include <linux/mm.h>
30#include <linux/module.h> 29#include <linux/module.h>
diff --git a/drivers/char/ftape/zftape/zftape-ctl.h b/drivers/char/ftape/zftape/zftape-ctl.h
index 414159891990..8e6f2d7ac74e 100644
--- a/drivers/char/ftape/zftape/zftape-ctl.h
+++ b/drivers/char/ftape/zftape/zftape-ctl.h
@@ -27,7 +27,6 @@
27 * for the QIC-40/80 floppy-tape driver for Linux. 27 * for the QIC-40/80 floppy-tape driver for Linux.
28 */ 28 */
29 29
30#include <linux/config.h>
31#include <linux/ioctl.h> 30#include <linux/ioctl.h>
32#include <linux/mtio.h> 31#include <linux/mtio.h>
33 32
diff --git a/drivers/char/ftape/zftape/zftape-init.c b/drivers/char/ftape/zftape/zftape-init.c
index 821357ce7e0e..55272566b740 100644
--- a/drivers/char/ftape/zftape/zftape-init.c
+++ b/drivers/char/ftape/zftape/zftape-init.c
@@ -20,7 +20,6 @@
20 * to the ftape floppy tape driver for Linux 20 * to the ftape floppy tape driver for Linux
21 */ 21 */
22 22
23#include <linux/config.h>
24#include <linux/module.h> 23#include <linux/module.h>
25#include <linux/errno.h> 24#include <linux/errno.h>
26#include <linux/fs.h> 25#include <linux/fs.h>
@@ -33,7 +32,6 @@
33#endif 32#endif
34#include <linux/fcntl.h> 33#include <linux/fcntl.h>
35#include <linux/smp_lock.h> 34#include <linux/smp_lock.h>
36#include <linux/devfs_fs_kernel.h>
37 35
38#include <linux/zftape.h> 36#include <linux/zftape.h>
39#include <linux/init.h> 37#include <linux/init.h>
@@ -332,29 +330,11 @@ KERN_INFO
332 zft_class = class_create(THIS_MODULE, "zft"); 330 zft_class = class_create(THIS_MODULE, "zft");
333 for (i = 0; i < 4; i++) { 331 for (i = 0; i < 4; i++) {
334 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i); 332 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i);
335 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i),
336 S_IFCHR | S_IRUSR | S_IWUSR,
337 "qft%i", i);
338 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i); 333 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i);
339 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 4),
340 S_IFCHR | S_IRUSR | S_IWUSR,
341 "nqft%i", i);
342 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i); 334 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i);
343 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 16),
344 S_IFCHR | S_IRUSR | S_IWUSR,
345 "zqft%i", i);
346 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i); 335 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i);
347 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 20),
348 S_IFCHR | S_IRUSR | S_IWUSR,
349 "nzqft%i", i);
350 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i); 336 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i);
351 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 32),
352 S_IFCHR | S_IRUSR | S_IWUSR,
353 "rawqft%i", i);
354 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i); 337 class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i);
355 devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 36),
356 S_IFCHR | S_IRUSR | S_IWUSR,
357 "nrawqft%i", i);
358 } 338 }
359 339
360#ifdef CONFIG_ZFT_COMPRESSOR 340#ifdef CONFIG_ZFT_COMPRESSOR
@@ -380,17 +360,11 @@ static void zft_exit(void)
380 TRACE(ft_t_info, "successful"); 360 TRACE(ft_t_info, "successful");
381 } 361 }
382 for (i = 0; i < 4; i++) { 362 for (i = 0; i < 4; i++) {
383 devfs_remove("qft%i", i);
384 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i)); 363 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i));
385 devfs_remove("nqft%i", i);
386 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4)); 364 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4));
387 devfs_remove("zqft%i", i);
388 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16)); 365 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16));
389 devfs_remove("nzqft%i", i);
390 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20)); 366 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20));
391 devfs_remove("rawqft%i", i);
392 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32)); 367 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32));
393 devfs_remove("nrawqft%i", i);
394 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36)); 368 class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36));
395 } 369 }
396 class_destroy(zft_class); 370 class_destroy(zft_class);
diff --git a/drivers/char/genrtc.c b/drivers/char/genrtc.c
index 588fca542a98..bebd7e34f792 100644
--- a/drivers/char/genrtc.c
+++ b/drivers/char/genrtc.c
@@ -43,7 +43,6 @@
43#define RTC_VERSION "1.07" 43#define RTC_VERSION "1.07"
44 44
45#include <linux/module.h> 45#include <linux/module.h>
46#include <linux/config.h>
47#include <linux/errno.h> 46#include <linux/errno.h>
48#include <linux/miscdevice.h> 47#include <linux/miscdevice.h>
49#include <linux/fcntl.h> 48#include <linux/fcntl.h>
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 07473cd84121..e5643f3aa73f 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -11,7 +11,6 @@
11 * published by the Free Software Foundation. 11 * published by the Free Software Foundation.
12 */ 12 */
13 13
14#include <linux/config.h>
15#include <linux/interrupt.h> 14#include <linux/interrupt.h>
16#include <linux/module.h> 15#include <linux/module.h>
17#include <linux/kernel.h> 16#include <linux/kernel.h>
@@ -396,7 +395,7 @@ static int hpet_ioctl_ieon(struct hpet_dev *devp)
396 395
397 sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev)); 396 sprintf(devp->hd_name, "hpet%d", (int)(devp - hpetp->hp_dev));
398 irq_flags = devp->hd_flags & HPET_SHARED_IRQ 397 irq_flags = devp->hd_flags & HPET_SHARED_IRQ
399 ? SA_SHIRQ : SA_INTERRUPT; 398 ? IRQF_SHARED : IRQF_DISABLED;
400 if (request_irq(irq, hpet_interrupt, irq_flags, 399 if (request_irq(irq, hpet_interrupt, irq_flags,
401 devp->hd_name, (void *)devp)) { 400 devp->hd_name, (void *)devp)) {
402 printk(KERN_ERR "hpet: IRQ %d is not free\n", irq); 401 printk(KERN_ERR "hpet: IRQ %d is not free\n", irq);
diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
index a5c6a9d7ff08..ca2f538e549e 100644
--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -22,7 +22,6 @@
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */ 23 */
24 24
25#include <linux/config.h>
26#include <linux/console.h> 25#include <linux/console.h>
27#include <linux/cpumask.h> 26#include <linux/cpumask.h>
28#include <linux/init.h> 27#include <linux/init.h>
@@ -347,7 +346,7 @@ static int hvc_open(struct tty_struct *tty, struct file * filp)
347 spin_unlock_irqrestore(&hp->lock, flags); 346 spin_unlock_irqrestore(&hp->lock, flags);
348 /* check error, fallback to non-irq */ 347 /* check error, fallback to non-irq */
349 if (irq != NO_IRQ) 348 if (irq != NO_IRQ)
350 rc = request_irq(irq, hvc_handle_interrupt, SA_INTERRUPT, "hvc_console", hp); 349 rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED, "hvc_console", hp);
351 350
352 /* 351 /*
353 * If the request_irq() fails and we return an error. The tty layer 352 * If the request_irq() fails and we return an error. The tty layer
@@ -820,7 +819,6 @@ int __init hvc_init(void)
820 return -ENOMEM; 819 return -ENOMEM;
821 820
822 drv->owner = THIS_MODULE; 821 drv->owner = THIS_MODULE;
823 drv->devfs_name = "hvc/";
824 drv->driver_name = "hvc"; 822 drv->driver_name = "hvc";
825 drv->name = "hvc"; 823 drv->name = "hvc";
826 drv->major = HVC_MAJOR; 824 drv->major = HVC_MAJOR;
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index afa26b65dac3..4589ff302b07 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -899,7 +899,7 @@ static int hvcs_enable_device(struct hvcs_struct *hvcsd, uint32_t unit_address,
899 * the conn was registered and now. 899 * the conn was registered and now.
900 */ 900 */
901 if (!(rc = request_irq(irq, &hvcs_handle_interrupt, 901 if (!(rc = request_irq(irq, &hvcs_handle_interrupt,
902 SA_INTERRUPT, "ibmhvcs", hvcsd))) { 902 IRQF_DISABLED, "ibmhvcs", hvcsd))) {
903 /* 903 /*
904 * It is possible the vty-server was removed after the irq was 904 * It is possible the vty-server was removed after the irq was
905 * requested but before we have time to enable interrupts. 905 * requested but before we have time to enable interrupts.
@@ -1363,7 +1363,6 @@ static int __init hvcs_module_init(void)
1363 1363
1364 hvcs_tty_driver->driver_name = hvcs_driver_name; 1364 hvcs_tty_driver->driver_name = hvcs_driver_name;
1365 hvcs_tty_driver->name = hvcs_device_node; 1365 hvcs_tty_driver->name = hvcs_device_node;
1366 hvcs_tty_driver->devfs_name = hvcs_device_node;
1367 1366
1368 /* 1367 /*
1369 * We'll let the system assign us a major number, indicated by leaving 1368 * We'll let the system assign us a major number, indicated by leaving
diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c
index a0370ed752ce..8dc205b275e3 100644
--- a/drivers/char/hvsi.c
+++ b/drivers/char/hvsi.c
@@ -1154,7 +1154,6 @@ static int __init hvsi_init(void)
1154 return -ENOMEM; 1154 return -ENOMEM;
1155 1155
1156 hvsi_driver->owner = THIS_MODULE; 1156 hvsi_driver->owner = THIS_MODULE;
1157 hvsi_driver->devfs_name = "hvsi/";
1158 hvsi_driver->driver_name = "hvsi"; 1157 hvsi_driver->driver_name = "hvsi";
1159 hvsi_driver->name = "hvsi"; 1158 hvsi_driver->name = "hvsi";
1160 hvsi_driver->major = HVSI_MAJOR; 1159 hvsi_driver->major = HVSI_MAJOR;
@@ -1169,7 +1168,7 @@ static int __init hvsi_init(void)
1169 struct hvsi_struct *hp = &hvsi_ports[i]; 1168 struct hvsi_struct *hp = &hvsi_ports[i];
1170 int ret = 1; 1169 int ret = 1;
1171 1170
1172 ret = request_irq(hp->virq, hvsi_interrupt, SA_INTERRUPT, "hvsi", hp); 1171 ret = request_irq(hp->virq, hvsi_interrupt, IRQF_DISABLED, "hvsi", hp);
1173 if (ret) 1172 if (ret)
1174 printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n", 1173 printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n",
1175 hp->virq, ret); 1174 hp->virq, ret);
diff --git a/drivers/char/ip2/i2ellis.h b/drivers/char/ip2/i2ellis.h
index 510b026d7d26..5eabe47b0bc8 100644
--- a/drivers/char/ip2/i2ellis.h
+++ b/drivers/char/ip2/i2ellis.h
@@ -47,7 +47,6 @@
47//---------------------- 47//----------------------
48// Mandatory Includes: 48// Mandatory Includes:
49//---------------------- 49//----------------------
50#include <linux/config.h>
51#include "ip2types.h" 50#include "ip2types.h"
52#include "i2hw.h" // The hardware definitions 51#include "i2hw.h" // The hardware definitions
53 52
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index 9ab33c3d359f..a4200a2b0811 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -82,7 +82,6 @@
82/************/ 82/************/
83/* Includes */ 83/* Includes */
84/************/ 84/************/
85#include <linux/config.h>
86 85
87#include <linux/ctype.h> 86#include <linux/ctype.h>
88#include <linux/string.h> 87#include <linux/string.h>
@@ -91,7 +90,6 @@
91#include <linux/module.h> 90#include <linux/module.h>
92#include <linux/signal.h> 91#include <linux/signal.h>
93#include <linux/sched.h> 92#include <linux/sched.h>
94#include <linux/devfs_fs_kernel.h>
95#include <linux/timer.h> 93#include <linux/timer.h>
96#include <linux/interrupt.h> 94#include <linux/interrupt.h>
97#include <linux/pci.h> 95#include <linux/pci.h>
@@ -414,9 +412,7 @@ cleanup_module(void)
414 /* free io addresses and Tibet */ 412 /* free io addresses and Tibet */
415 release_region( ip2config.addr[i], 8 ); 413 release_region( ip2config.addr[i], 8 );
416 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i)); 414 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i));
417 devfs_remove("ip2/ipl%d", i);
418 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1)); 415 class_device_destroy(ip2_class, MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
419 devfs_remove("ip2/stat%d", i);
420 } 416 }
421 /* Disable and remove interrupt handler. */ 417 /* Disable and remove interrupt handler. */
422 if ( (ip2config.irq[i] > 0) && have_requested_irq(ip2config.irq[i]) ) { 418 if ( (ip2config.irq[i] > 0) && have_requested_irq(ip2config.irq[i]) ) {
@@ -425,7 +421,6 @@ cleanup_module(void)
425 } 421 }
426 } 422 }
427 class_destroy(ip2_class); 423 class_destroy(ip2_class);
428 devfs_remove("ip2");
429 if ( ( err = tty_unregister_driver ( ip2_tty_driver ) ) ) { 424 if ( ( err = tty_unregister_driver ( ip2_tty_driver ) ) ) {
430 printk(KERN_ERR "IP2: failed to unregister tty driver (%d)\n", err); 425 printk(KERN_ERR "IP2: failed to unregister tty driver (%d)\n", err);
431 } 426 }
@@ -496,8 +491,8 @@ static struct tty_operations ip2_ops = {
496/* initialisation of the devices and driver structures, and registers itself */ 491/* initialisation of the devices and driver structures, and registers itself */
497/* with the relevant kernel modules. */ 492/* with the relevant kernel modules. */
498/******************************************************************************/ 493/******************************************************************************/
499/* SA_INTERRUPT- if set blocks all interrupts else only this line */ 494/* IRQF_DISABLED - if set blocks all interrupts else only this line */
500/* SA_SHIRQ - for shared irq PCI or maybe EISA only */ 495/* IRQF_SHARED - for shared irq PCI or maybe EISA only */
501/* SA_RANDOM - can be source for cert. random number generators */ 496/* SA_RANDOM - can be source for cert. random number generators */
502#define IP2_SA_FLAGS 0 497#define IP2_SA_FLAGS 0
503 498
@@ -675,7 +670,6 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
675 670
676 ip2_tty_driver->owner = THIS_MODULE; 671 ip2_tty_driver->owner = THIS_MODULE;
677 ip2_tty_driver->name = "ttyF"; 672 ip2_tty_driver->name = "ttyF";
678 ip2_tty_driver->devfs_name = "tts/F";
679 ip2_tty_driver->driver_name = pcDriver_name; 673 ip2_tty_driver->driver_name = pcDriver_name;
680 ip2_tty_driver->major = IP2_TTY_MAJOR; 674 ip2_tty_driver->major = IP2_TTY_MAJOR;
681 ip2_tty_driver->minor_start = 0; 675 ip2_tty_driver->minor_start = 0;
@@ -683,7 +677,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
683 ip2_tty_driver->subtype = SERIAL_TYPE_NORMAL; 677 ip2_tty_driver->subtype = SERIAL_TYPE_NORMAL;
684 ip2_tty_driver->init_termios = tty_std_termios; 678 ip2_tty_driver->init_termios = tty_std_termios;
685 ip2_tty_driver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL; 679 ip2_tty_driver->init_termios.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL;
686 ip2_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 680 ip2_tty_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
687 tty_set_operations(ip2_tty_driver, &ip2_ops); 681 tty_set_operations(ip2_tty_driver, &ip2_ops);
688 682
689 ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 ); 683 ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 );
@@ -724,26 +718,9 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
724 class_device_create(ip2_class, NULL, 718 class_device_create(ip2_class, NULL,
725 MKDEV(IP2_IPL_MAJOR, 4 * i), 719 MKDEV(IP2_IPL_MAJOR, 4 * i),
726 NULL, "ipl%d", i); 720 NULL, "ipl%d", i);
727 err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i),
728 S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
729 "ip2/ipl%d", i);
730 if (err) {
731 class_device_destroy(ip2_class,
732 MKDEV(IP2_IPL_MAJOR, 4 * i));
733 goto out_class;
734 }
735
736 class_device_create(ip2_class, NULL, 721 class_device_create(ip2_class, NULL,
737 MKDEV(IP2_IPL_MAJOR, 4 * i + 1), 722 MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
738 NULL, "stat%d", i); 723 NULL, "stat%d", i);
739 err = devfs_mk_cdev(MKDEV(IP2_IPL_MAJOR, 4 * i + 1),
740 S_IRUSR | S_IWUSR | S_IRGRP | S_IFCHR,
741 "ip2/stat%d", i);
742 if (err) {
743 class_device_destroy(ip2_class,
744 MKDEV(IP2_IPL_MAJOR, 4 * i + 1));
745 goto out_class;
746 }
747 724
748 for ( box = 0; box < ABS_MAX_BOXES; ++box ) 725 for ( box = 0; box < ABS_MAX_BOXES; ++box )
749 { 726 {
@@ -776,7 +753,7 @@ retry:
776 if (have_requested_irq(ip2config.irq[i])) 753 if (have_requested_irq(ip2config.irq[i]))
777 continue; 754 continue;
778 rc = request_irq( ip2config.irq[i], ip2_interrupt, 755 rc = request_irq( ip2config.irq[i], ip2_interrupt,
779 IP2_SA_FLAGS | (ip2config.type[i] == PCI ? SA_SHIRQ : 0), 756 IP2_SA_FLAGS | (ip2config.type[i] == PCI ? IRQF_SHARED : 0),
780 pcName, (void *)&pcName); 757 pcName, (void *)&pcName);
781 if (rc) { 758 if (rc) {
782 printk(KERN_ERR "IP2: an request_irq failed: error %d\n",rc); 759 printk(KERN_ERR "IP2: an request_irq failed: error %d\n",rc);
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c
index e1c95374984c..2fc894fef1cb 100644
--- a/drivers/char/ipmi/ipmi_devintf.c
+++ b/drivers/char/ipmi/ipmi_devintf.c
@@ -31,7 +31,6 @@
31 * 675 Mass Ave, Cambridge, MA 02139, USA. 31 * 675 Mass Ave, Cambridge, MA 02139, USA.
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/module.h> 34#include <linux/module.h>
36#include <linux/moduleparam.h> 35#include <linux/moduleparam.h>
37#include <linux/errno.h> 36#include <linux/errno.h>
@@ -40,7 +39,6 @@
40#include <linux/poll.h> 39#include <linux/poll.h>
41#include <linux/spinlock.h> 40#include <linux/spinlock.h>
42#include <linux/slab.h> 41#include <linux/slab.h>
43#include <linux/devfs_fs_kernel.h>
44#include <linux/ipmi.h> 42#include <linux/ipmi.h>
45#include <linux/mutex.h> 43#include <linux/mutex.h>
46#include <linux/init.h> 44#include <linux/init.h>
@@ -804,9 +802,6 @@ static void ipmi_new_smi(int if_num, struct device *device)
804 dev_t dev = MKDEV(ipmi_major, if_num); 802 dev_t dev = MKDEV(ipmi_major, if_num);
805 struct ipmi_reg_list *entry; 803 struct ipmi_reg_list *entry;
806 804
807 devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
808 "ipmidev/%d", if_num);
809
810 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 805 entry = kmalloc(sizeof(*entry), GFP_KERNEL);
811 if (!entry) { 806 if (!entry) {
812 printk(KERN_ERR "ipmi_devintf: Unable to create the" 807 printk(KERN_ERR "ipmi_devintf: Unable to create the"
@@ -836,7 +831,6 @@ static void ipmi_smi_gone(int if_num)
836 } 831 }
837 class_device_destroy(ipmi_class, dev); 832 class_device_destroy(ipmi_class, dev);
838 mutex_unlock(&reg_list_mutex); 833 mutex_unlock(&reg_list_mutex);
839 devfs_remove("ipmidev/%d", if_num);
840} 834}
841 835
842static struct ipmi_smi_watcher smi_watcher = 836static struct ipmi_smi_watcher smi_watcher =
@@ -872,8 +866,6 @@ static __init int init_ipmi_devintf(void)
872 ipmi_major = rv; 866 ipmi_major = rv;
873 } 867 }
874 868
875 devfs_mk_dir(DEVICE_NAME);
876
877 rv = ipmi_smi_watcher_register(&smi_watcher); 869 rv = ipmi_smi_watcher_register(&smi_watcher);
878 if (rv) { 870 if (rv) {
879 unregister_chrdev(ipmi_major, DEVICE_NAME); 871 unregister_chrdev(ipmi_major, DEVICE_NAME);
@@ -898,7 +890,6 @@ static __exit void cleanup_ipmi(void)
898 mutex_unlock(&reg_list_mutex); 890 mutex_unlock(&reg_list_mutex);
899 class_destroy(ipmi_class); 891 class_destroy(ipmi_class);
900 ipmi_smi_watcher_unregister(&smi_watcher); 892 ipmi_smi_watcher_unregister(&smi_watcher);
901 devfs_remove(DEVICE_NAME);
902 unregister_chrdev(ipmi_major, DEVICE_NAME); 893 unregister_chrdev(ipmi_major, DEVICE_NAME);
903} 894}
904module_exit(cleanup_ipmi); 895module_exit(cleanup_ipmi);
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index ad26f4b997c5..0aa5d608fe6f 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -31,7 +31,6 @@
31 * 675 Mass Ave, Cambridge, MA 02139, USA. 31 * 675 Mass Ave, Cambridge, MA 02139, USA.
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/module.h> 34#include <linux/module.h>
36#include <linux/errno.h> 35#include <linux/errno.h>
37#include <asm/system.h> 36#include <asm/system.h>
diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c
index d0b5c08e7b4e..8d941db83457 100644
--- a/drivers/char/ipmi/ipmi_poweroff.c
+++ b/drivers/char/ipmi/ipmi_poweroff.c
@@ -31,7 +31,6 @@
31 * with this program; if not, write to the Free Software Foundation, Inc., 31 * with this program; if not, write to the Free Software Foundation, Inc.,
32 * 675 Mass Ave, Cambridge, MA 02139, USA. 32 * 675 Mass Ave, Cambridge, MA 02139, USA.
33 */ 33 */
34#include <linux/config.h>
35#include <linux/module.h> 34#include <linux/module.h>
36#include <linux/moduleparam.h> 35#include <linux/moduleparam.h>
37#include <linux/proc_fs.h> 36#include <linux/proc_fs.h>
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index bd4f2248b758..f57eba0bf253 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -38,7 +38,6 @@
38 * and drives the real SMI state machine. 38 * and drives the real SMI state machine.
39 */ 39 */
40 40
41#include <linux/config.h>
42#include <linux/module.h> 41#include <linux/module.h>
43#include <linux/moduleparam.h> 42#include <linux/moduleparam.h>
44#include <asm/system.h> 43#include <asm/system.h>
@@ -1042,7 +1041,7 @@ static int std_irq_setup(struct smi_info *info)
1042 if (info->si_type == SI_BT) { 1041 if (info->si_type == SI_BT) {
1043 rv = request_irq(info->irq, 1042 rv = request_irq(info->irq,
1044 si_bt_irq_handler, 1043 si_bt_irq_handler,
1045 SA_INTERRUPT, 1044 IRQF_DISABLED,
1046 DEVICE_NAME, 1045 DEVICE_NAME,
1047 info); 1046 info);
1048 if (!rv) 1047 if (!rv)
@@ -1052,7 +1051,7 @@ static int std_irq_setup(struct smi_info *info)
1052 } else 1051 } else
1053 rv = request_irq(info->irq, 1052 rv = request_irq(info->irq,
1054 si_irq_handler, 1053 si_irq_handler,
1055 SA_INTERRUPT, 1054 IRQF_DISABLED,
1056 DEVICE_NAME, 1055 DEVICE_NAME,
1057 info); 1056 info);
1058 if (rv) { 1057 if (rv) {
diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
index 1a0a19c53605..74a889c58333 100644
--- a/drivers/char/ipmi/ipmi_watchdog.c
+++ b/drivers/char/ipmi/ipmi_watchdog.c
@@ -31,7 +31,6 @@
31 * 675 Mass Ave, Cambridge, MA 02139, USA. 31 * 675 Mass Ave, Cambridge, MA 02139, USA.
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/module.h> 34#include <linux/module.h>
36#include <linux/moduleparam.h> 35#include <linux/moduleparam.h>
37#include <linux/ipmi.h> 36#include <linux/ipmi.h>
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index efaaa1937ab6..913be23e0a24 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -245,7 +245,7 @@ static int lock_card(struct isi_board *card)
245 printk(KERN_WARNING "ISICOM: Failed to lock Card (0x%lx)\n", 245 printk(KERN_WARNING "ISICOM: Failed to lock Card (0x%lx)\n",
246 card->base); 246 card->base);
247 247
248 return 0; /* Failed to aquire the card! */ 248 return 0; /* Failed to acquire the card! */
249} 249}
250 250
251static int lock_card_at_interrupt(struct isi_board *card) 251static int lock_card_at_interrupt(struct isi_board *card)
@@ -262,7 +262,7 @@ static int lock_card_at_interrupt(struct isi_board *card)
262 spin_unlock_irqrestore(&card->card_lock, card->flags); 262 spin_unlock_irqrestore(&card->card_lock, card->flags);
263 } 263 }
264 /* Failing in interrupt is an acceptable event */ 264 /* Failing in interrupt is an acceptable event */
265 return 0; /* Failed to aquire the card! */ 265 return 0; /* Failed to acquire the card! */
266} 266}
267 267
268static void unlock_card(struct isi_board *card) 268static void unlock_card(struct isi_board *card)
@@ -1581,7 +1581,6 @@ static int __devinit isicom_register_tty_driver(void)
1581 1581
1582 isicom_normal->owner = THIS_MODULE; 1582 isicom_normal->owner = THIS_MODULE;
1583 isicom_normal->name = "ttyM"; 1583 isicom_normal->name = "ttyM";
1584 isicom_normal->devfs_name = "isicom/";
1585 isicom_normal->major = ISICOM_NMAJOR; 1584 isicom_normal->major = ISICOM_NMAJOR;
1586 isicom_normal->minor_start = 0; 1585 isicom_normal->minor_start = 0;
1587 isicom_normal->type = TTY_DRIVER_TYPE_SERIAL; 1586 isicom_normal->type = TTY_DRIVER_TYPE_SERIAL;
@@ -1615,14 +1614,14 @@ static int __devinit isicom_register_isr(struct pci_dev *pdev,
1615 const unsigned int index) 1614 const unsigned int index)
1616{ 1615{
1617 struct isi_board *board = pci_get_drvdata(pdev); 1616 struct isi_board *board = pci_get_drvdata(pdev);
1618 unsigned long irqflags = SA_INTERRUPT; 1617 unsigned long irqflags = IRQF_DISABLED;
1619 int retval = -EINVAL; 1618 int retval = -EINVAL;
1620 1619
1621 if (!board->base) 1620 if (!board->base)
1622 goto end; 1621 goto end;
1623 1622
1624 if (board->isa == NO) 1623 if (board->isa == NO)
1625 irqflags |= SA_SHIRQ; 1624 irqflags |= IRQF_SHARED;
1626 1625
1627 retval = request_irq(board->irq, isicom_interrupt, irqflags, 1626 retval = request_irq(board->irq, isicom_interrupt, irqflags,
1628 ISICOM_NAME, board); 1627 ISICOM_NAME, board);
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c
index 216c79256de3..fbce2f0669d6 100644
--- a/drivers/char/istallion.c
+++ b/drivers/char/istallion.c
@@ -26,7 +26,6 @@
26 26
27/*****************************************************************************/ 27/*****************************************************************************/
28 28
29#include <linux/config.h>
30#include <linux/module.h> 29#include <linux/module.h>
31#include <linux/slab.h> 30#include <linux/slab.h>
32#include <linux/interrupt.h> 31#include <linux/interrupt.h>
@@ -39,7 +38,6 @@
39#include <linux/ioport.h> 38#include <linux/ioport.h>
40#include <linux/delay.h> 39#include <linux/delay.h>
41#include <linux/init.h> 40#include <linux/init.h>
42#include <linux/devfs_fs_kernel.h>
43#include <linux/device.h> 41#include <linux/device.h>
44#include <linux/wait.h> 42#include <linux/wait.h>
45#include <linux/eisa.h> 43#include <linux/eisa.h>
@@ -283,7 +281,6 @@ static char *stli_brdnames[] = {
283 281
284/*****************************************************************************/ 282/*****************************************************************************/
285 283
286#ifdef MODULE
287/* 284/*
288 * Define some string labels for arguments passed from the module 285 * Define some string labels for arguments passed from the module
289 * load line. These allow for easy board definitions, and easy 286 * load line. These allow for easy board definitions, and easy
@@ -382,8 +379,6 @@ MODULE_PARM_DESC(board2, "Board 2 config -> name[,ioaddr[,memaddr]");
382module_param_array(board3, charp, NULL, 0); 379module_param_array(board3, charp, NULL, 0);
383MODULE_PARM_DESC(board3, "Board 3 config -> name[,ioaddr[,memaddr]"); 380MODULE_PARM_DESC(board3, "Board 3 config -> name[,ioaddr[,memaddr]");
384 381
385#endif
386
387/* 382/*
388 * Set up a default memory address table for EISA board probing. 383 * Set up a default memory address table for EISA board probing.
389 * The default addresses are all bellow 1Mbyte, which has to be the 384 * The default addresses are all bellow 1Mbyte, which has to be the
@@ -644,14 +639,8 @@ static unsigned int stli_baudrates[] = {
644 * Prototype all functions in this driver! 639 * Prototype all functions in this driver!
645 */ 640 */
646 641
647#ifdef MODULE
648static void stli_argbrds(void);
649static int stli_parsebrd(stlconf_t *confp, char **argp); 642static int stli_parsebrd(stlconf_t *confp, char **argp);
650 643static int stli_init(void);
651static unsigned long stli_atol(char *str);
652#endif
653
654int stli_init(void);
655static int stli_open(struct tty_struct *tty, struct file *filp); 644static int stli_open(struct tty_struct *tty, struct file *filp);
656static void stli_close(struct tty_struct *tty, struct file *filp); 645static void stli_close(struct tty_struct *tty, struct file *filp);
657static int stli_write(struct tty_struct *tty, const unsigned char *buf, int count); 646static int stli_write(struct tty_struct *tty, const unsigned char *buf, int count);
@@ -787,8 +776,6 @@ static int stli_timeron;
787 776
788static struct class *istallion_class; 777static struct class *istallion_class;
789 778
790#ifdef MODULE
791
792/* 779/*
793 * Loadable module initialization stuff. 780 * Loadable module initialization stuff.
794 */ 781 */
@@ -826,11 +813,8 @@ static void __exit istallion_module_exit(void)
826 return; 813 return;
827 } 814 }
828 put_tty_driver(stli_serial); 815 put_tty_driver(stli_serial);
829 for (i = 0; i < 4; i++) { 816 for (i = 0; i < 4; i++)
830 devfs_remove("staliomem/%d", i);
831 class_device_destroy(istallion_class, MKDEV(STL_SIOMEMMAJOR, i)); 817 class_device_destroy(istallion_class, MKDEV(STL_SIOMEMMAJOR, i));
832 }
833 devfs_remove("staliomem");
834 class_destroy(istallion_class); 818 class_destroy(istallion_class);
835 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem"))) 819 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
836 printk("STALLION: failed to un-register serial memory device, " 820 printk("STALLION: failed to un-register serial memory device, "
@@ -958,8 +942,6 @@ static int stli_parsebrd(stlconf_t *confp, char **argp)
958 return(1); 942 return(1);
959} 943}
960 944
961#endif
962
963/*****************************************************************************/ 945/*****************************************************************************/
964 946
965static int stli_open(struct tty_struct *tty, struct file *filp) 947static int stli_open(struct tty_struct *tty, struct file *filp)
@@ -4698,7 +4680,7 @@ static struct tty_operations stli_ops = {
4698 4680
4699/*****************************************************************************/ 4681/*****************************************************************************/
4700 4682
4701int __init stli_init(void) 4683static int __init stli_init(void)
4702{ 4684{
4703 int i; 4685 int i;
4704 printk(KERN_INFO "%s: version %s\n", stli_drvtitle, stli_drvversion); 4686 printk(KERN_INFO "%s: version %s\n", stli_drvtitle, stli_drvversion);
@@ -4728,16 +4710,11 @@ int __init stli_init(void)
4728 printk(KERN_ERR "STALLION: failed to register serial memory " 4710 printk(KERN_ERR "STALLION: failed to register serial memory "
4729 "device\n"); 4711 "device\n");
4730 4712
4731 devfs_mk_dir("staliomem");
4732 istallion_class = class_create(THIS_MODULE, "staliomem"); 4713 istallion_class = class_create(THIS_MODULE, "staliomem");
4733 for (i = 0; i < 4; i++) { 4714 for (i = 0; i < 4; i++)
4734 devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
4735 S_IFCHR | S_IRUSR | S_IWUSR,
4736 "staliomem/%d", i);
4737 class_device_create(istallion_class, NULL, 4715 class_device_create(istallion_class, NULL,
4738 MKDEV(STL_SIOMEMMAJOR, i), 4716 MKDEV(STL_SIOMEMMAJOR, i),
4739 NULL, "staliomem%d", i); 4717 NULL, "staliomem%d", i);
4740 }
4741 4718
4742/* 4719/*
4743 * Set up the tty driver structure and register us as a driver. 4720 * Set up the tty driver structure and register us as a driver.
diff --git a/drivers/char/ite_gpio.c b/drivers/char/ite_gpio.c
index d1ed6ac950d1..747ba45e50e5 100644
--- a/drivers/char/ite_gpio.c
+++ b/drivers/char/ite_gpio.c
@@ -397,7 +397,7 @@ int __init ite_gpio_init(void)
397 init_waitqueue_head(&ite_gpio_wait[i]); 397 init_waitqueue_head(&ite_gpio_wait[i]);
398 } 398 }
399 399
400 if (request_irq(ite_gpio_irq, ite_gpio_irq_handler, SA_SHIRQ, "gpio", 0) < 0) { 400 if (request_irq(ite_gpio_irq, ite_gpio_irq_handler, IRQF_SHARED, "gpio", 0) < 0) {
401 misc_deregister(&ite_gpio_miscdev); 401 misc_deregister(&ite_gpio_miscdev);
402 release_region(ite_gpio_base, 0x1c); 402 release_region(ite_gpio_base, 0x1c);
403 return 0; 403 return 0;
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
index 4bb3d2272604..056ebe84b81d 100644
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -24,7 +24,6 @@
24 * 21-08-02: Converted to input API, major cleanup. (Vojtech Pavlik) 24 * 21-08-02: Converted to input API, major cleanup. (Vojtech Pavlik)
25 */ 25 */
26 26
27#include <linux/config.h>
28#include <linux/module.h> 27#include <linux/module.h>
29#include <linux/sched.h> 28#include <linux/sched.h>
30#include <linux/tty.h> 29#include <linux/tty.h>
diff --git a/drivers/char/lcd.c b/drivers/char/lcd.c
index 29963d8be667..7d49b241de56 100644
--- a/drivers/char/lcd.c
+++ b/drivers/char/lcd.c
@@ -14,7 +14,6 @@
14 14
15#define RTC_IO_EXTENT 0x10 /*Only really two ports, but... */ 15#define RTC_IO_EXTENT 0x10 /*Only really two ports, but... */
16 16
17#include <linux/config.h>
18#include <linux/types.h> 17#include <linux/types.h>
19#include <linux/errno.h> 18#include <linux/errno.h>
20#include <linux/miscdevice.h> 19#include <linux/miscdevice.h>
diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index e57260525293..582cdbdb0c42 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -114,13 +114,11 @@
114#include <linux/module.h> 114#include <linux/module.h>
115#include <linux/init.h> 115#include <linux/init.h>
116 116
117#include <linux/config.h>
118#include <linux/errno.h> 117#include <linux/errno.h>
119#include <linux/kernel.h> 118#include <linux/kernel.h>
120#include <linux/major.h> 119#include <linux/major.h>
121#include <linux/sched.h> 120#include <linux/sched.h>
122#include <linux/smp_lock.h> 121#include <linux/smp_lock.h>
123#include <linux/devfs_fs_kernel.h>
124#include <linux/slab.h> 122#include <linux/slab.h>
125#include <linux/fcntl.h> 123#include <linux/fcntl.h>
126#include <linux/delay.h> 124#include <linux/delay.h>
@@ -807,8 +805,6 @@ static int lp_register(int nr, struct parport *port)
807 805
808 class_device_create(lp_class, NULL, MKDEV(LP_MAJOR, nr), NULL, 806 class_device_create(lp_class, NULL, MKDEV(LP_MAJOR, nr), NULL,
809 "lp%d", nr); 807 "lp%d", nr);
810 devfs_mk_cdev(MKDEV(LP_MAJOR, nr), S_IFCHR | S_IRUGO | S_IWUGO,
811 "printers/%d", nr);
812 808
813 printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name, 809 printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name,
814 (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven"); 810 (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven");
@@ -907,7 +903,6 @@ static int __init lp_init (void)
907 return -EIO; 903 return -EIO;
908 } 904 }
909 905
910 devfs_mk_dir("printers");
911 lp_class = class_create(THIS_MODULE, "printer"); 906 lp_class = class_create(THIS_MODULE, "printer");
912 if (IS_ERR(lp_class)) { 907 if (IS_ERR(lp_class)) {
913 err = PTR_ERR(lp_class); 908 err = PTR_ERR(lp_class);
@@ -933,7 +928,6 @@ static int __init lp_init (void)
933out_class: 928out_class:
934 class_destroy(lp_class); 929 class_destroy(lp_class);
935out_devfs: 930out_devfs:
936 devfs_remove("printers");
937 unregister_chrdev(LP_MAJOR, "lp"); 931 unregister_chrdev(LP_MAJOR, "lp");
938 return err; 932 return err;
939} 933}
@@ -981,10 +975,8 @@ static void lp_cleanup_module (void)
981 if (lp_table[offset].dev == NULL) 975 if (lp_table[offset].dev == NULL)
982 continue; 976 continue;
983 parport_unregister_device(lp_table[offset].dev); 977 parport_unregister_device(lp_table[offset].dev);
984 devfs_remove("printers/%d", offset);
985 class_device_destroy(lp_class, MKDEV(LP_MAJOR, offset)); 978 class_device_destroy(lp_class, MKDEV(LP_MAJOR, offset));
986 } 979 }
987 devfs_remove("printers");
988 class_destroy(lp_class); 980 class_destroy(lp_class);
989} 981}
990 982
diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c
index c268ee04b2aa..0385650f6077 100644
--- a/drivers/char/mbcs.c
+++ b/drivers/char/mbcs.c
@@ -10,7 +10,6 @@
10 * MOATB Core Services driver. 10 * MOATB Core Services driver.
11 */ 11 */
12 12
13#include <linux/config.h>
14#include <linux/interrupt.h> 13#include <linux/interrupt.h>
15#include <linux/module.h> 14#include <linux/module.h>
16#include <linux/moduleparam.h> 15#include <linux/moduleparam.h>
@@ -593,7 +592,7 @@ static int mbcs_intr_alloc(struct cx_dev *dev)
593 getdma->intrHostDest = sn_irq->irq_xtalkaddr; 592 getdma->intrHostDest = sn_irq->irq_xtalkaddr;
594 getdma->intrVector = sn_irq->irq_irq; 593 getdma->intrVector = sn_irq->irq_irq;
595 if (request_irq(sn_irq->irq_irq, 594 if (request_irq(sn_irq->irq_irq,
596 (void *)mbcs_completion_intr_handler, SA_SHIRQ, 595 (void *)mbcs_completion_intr_handler, IRQF_SHARED,
597 "MBCS get intr", (void *)soft)) { 596 "MBCS get intr", (void *)soft)) {
598 tiocx_irq_free(soft->get_sn_irq); 597 tiocx_irq_free(soft->get_sn_irq);
599 return -EAGAIN; 598 return -EAGAIN;
@@ -609,7 +608,7 @@ static int mbcs_intr_alloc(struct cx_dev *dev)
609 putdma->intrHostDest = sn_irq->irq_xtalkaddr; 608 putdma->intrHostDest = sn_irq->irq_xtalkaddr;
610 putdma->intrVector = sn_irq->irq_irq; 609 putdma->intrVector = sn_irq->irq_irq;
611 if (request_irq(sn_irq->irq_irq, 610 if (request_irq(sn_irq->irq_irq,
612 (void *)mbcs_completion_intr_handler, SA_SHIRQ, 611 (void *)mbcs_completion_intr_handler, IRQF_SHARED,
613 "MBCS put intr", (void *)soft)) { 612 "MBCS put intr", (void *)soft)) {
614 tiocx_irq_free(soft->put_sn_irq); 613 tiocx_irq_free(soft->put_sn_irq);
615 free_irq(soft->get_sn_irq->irq_irq, soft); 614 free_irq(soft->get_sn_irq->irq_irq, soft);
@@ -629,7 +628,7 @@ static int mbcs_intr_alloc(struct cx_dev *dev)
629 algo->intrHostDest = sn_irq->irq_xtalkaddr; 628 algo->intrHostDest = sn_irq->irq_xtalkaddr;
630 algo->intrVector = sn_irq->irq_irq; 629 algo->intrVector = sn_irq->irq_irq;
631 if (request_irq(sn_irq->irq_irq, 630 if (request_irq(sn_irq->irq_irq,
632 (void *)mbcs_completion_intr_handler, SA_SHIRQ, 631 (void *)mbcs_completion_intr_handler, IRQF_SHARED,
633 "MBCS algo intr", (void *)soft)) { 632 "MBCS algo intr", (void *)soft)) {
634 tiocx_irq_free(soft->algo_sn_irq); 633 tiocx_irq_free(soft->algo_sn_irq);
635 free_irq(soft->put_sn_irq->irq_irq, soft); 634 free_irq(soft->put_sn_irq->irq_irq, soft);
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 1fa9fa157c12..70f3954d6dfd 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -8,7 +8,6 @@
8 * Shared /dev/zero mmaping support, Feb 2000, Kanoj Sarcar <kanoj@sgi.com> 8 * Shared /dev/zero mmaping support, Feb 2000, Kanoj Sarcar <kanoj@sgi.com>
9 */ 9 */
10 10
11#include <linux/config.h>
12#include <linux/mm.h> 11#include <linux/mm.h>
13#include <linux/miscdevice.h> 12#include <linux/miscdevice.h>
14#include <linux/slab.h> 13#include <linux/slab.h>
@@ -20,7 +19,6 @@
20#include <linux/tty.h> 19#include <linux/tty.h>
21#include <linux/capability.h> 20#include <linux/capability.h>
22#include <linux/smp_lock.h> 21#include <linux/smp_lock.h>
23#include <linux/devfs_fs_kernel.h>
24#include <linux/ptrace.h> 22#include <linux/ptrace.h>
25#include <linux/device.h> 23#include <linux/device.h>
26#include <linux/highmem.h> 24#include <linux/highmem.h>
@@ -941,13 +939,10 @@ static int __init chr_dev_init(void)
941 printk("unable to get major %d for memory devs\n", MEM_MAJOR); 939 printk("unable to get major %d for memory devs\n", MEM_MAJOR);
942 940
943 mem_class = class_create(THIS_MODULE, "mem"); 941 mem_class = class_create(THIS_MODULE, "mem");
944 for (i = 0; i < ARRAY_SIZE(devlist); i++) { 942 for (i = 0; i < ARRAY_SIZE(devlist); i++)
945 class_device_create(mem_class, NULL, 943 class_device_create(mem_class, NULL,
946 MKDEV(MEM_MAJOR, devlist[i].minor), 944 MKDEV(MEM_MAJOR, devlist[i].minor),
947 NULL, devlist[i].name); 945 NULL, devlist[i].name);
948 devfs_mk_cdev(MKDEV(MEM_MAJOR, devlist[i].minor),
949 S_IFCHR | devlist[i].mode, devlist[i].name);
950 }
951 946
952 return 0; 947 return 0;
953} 948}
diff --git a/drivers/char/misc.c b/drivers/char/misc.c
index 96eb2a709e21..d5fa19da330b 100644
--- a/drivers/char/misc.c
+++ b/drivers/char/misc.c
@@ -34,7 +34,6 @@
34 */ 34 */
35 35
36#include <linux/module.h> 36#include <linux/module.h>
37#include <linux/config.h>
38 37
39#include <linux/fs.h> 38#include <linux/fs.h>
40#include <linux/errno.h> 39#include <linux/errno.h>
@@ -44,7 +43,6 @@
44#include <linux/slab.h> 43#include <linux/slab.h>
45#include <linux/proc_fs.h> 44#include <linux/proc_fs.h>
46#include <linux/seq_file.h> 45#include <linux/seq_file.h>
47#include <linux/devfs_fs_kernel.h>
48#include <linux/stat.h> 46#include <linux/stat.h>
49#include <linux/init.h> 47#include <linux/init.h>
50#include <linux/device.h> 48#include <linux/device.h>
@@ -204,7 +202,7 @@ int misc_register(struct miscdevice * misc)
204{ 202{
205 struct miscdevice *c; 203 struct miscdevice *c;
206 dev_t dev; 204 dev_t dev;
207 int err; 205 int err = 0;
208 206
209 down(&misc_sem); 207 down(&misc_sem);
210 list_for_each_entry(c, &misc_list, list) { 208 list_for_each_entry(c, &misc_list, list) {
@@ -228,10 +226,6 @@ int misc_register(struct miscdevice * misc)
228 226
229 if (misc->minor < DYNAMIC_MINORS) 227 if (misc->minor < DYNAMIC_MINORS)
230 misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7); 228 misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7);
231 if (misc->devfs_name[0] == '\0') {
232 snprintf(misc->devfs_name, sizeof(misc->devfs_name),
233 "misc/%s", misc->name);
234 }
235 dev = MKDEV(MISC_MAJOR, misc->minor); 229 dev = MKDEV(MISC_MAJOR, misc->minor);
236 230
237 misc->class = class_device_create(misc_class, NULL, dev, misc->dev, 231 misc->class = class_device_create(misc_class, NULL, dev, misc->dev,
@@ -241,13 +235,6 @@ int misc_register(struct miscdevice * misc)
241 goto out; 235 goto out;
242 } 236 }
243 237
244 err = devfs_mk_cdev(dev, S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP,
245 misc->devfs_name);
246 if (err) {
247 class_device_destroy(misc_class, dev);
248 goto out;
249 }
250
251 /* 238 /*
252 * Add it to the front, so that later devices can "override" 239 * Add it to the front, so that later devices can "override"
253 * earlier defaults 240 * earlier defaults
@@ -278,7 +265,6 @@ int misc_deregister(struct miscdevice * misc)
278 down(&misc_sem); 265 down(&misc_sem);
279 list_del(&misc->list); 266 list_del(&misc->list);
280 class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor)); 267 class_device_destroy(misc_class, MKDEV(MISC_MAJOR, misc->minor));
281 devfs_remove(misc->devfs_name);
282 if (i < DYNAMIC_MINORS && i>0) { 268 if (i < DYNAMIC_MINORS && i>0) {
283 misc_minors[i>>3] &= ~(1 << (misc->minor & 7)); 269 misc_minors[i>>3] &= ~(1 << (misc->minor & 7));
284 } 270 }
diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index d65b3109318a..70b774ff5aa4 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -25,7 +25,6 @@
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/errno.h> 26#include <linux/errno.h>
27#include <linux/mm.h> 27#include <linux/mm.h>
28#include <linux/devfs_fs_kernel.h>
29#include <linux/mmtimer.h> 28#include <linux/mmtimer.h>
30#include <linux/miscdevice.h> 29#include <linux/miscdevice.h>
31#include <linux/posix-timers.h> 30#include <linux/posix-timers.h>
@@ -688,13 +687,12 @@ static int __init mmtimer_init(void)
688 mmtimer_femtoperiod = ((unsigned long)1E15 + sn_rtc_cycles_per_second / 687 mmtimer_femtoperiod = ((unsigned long)1E15 + sn_rtc_cycles_per_second /
689 2) / sn_rtc_cycles_per_second; 688 2) / sn_rtc_cycles_per_second;
690 689
691 if (request_irq(SGI_MMTIMER_VECTOR, mmtimer_interrupt, SA_PERCPU_IRQ, MMTIMER_NAME, NULL)) { 690 if (request_irq(SGI_MMTIMER_VECTOR, mmtimer_interrupt, IRQF_PERCPU, MMTIMER_NAME, NULL)) {
692 printk(KERN_WARNING "%s: unable to allocate interrupt.", 691 printk(KERN_WARNING "%s: unable to allocate interrupt.",
693 MMTIMER_NAME); 692 MMTIMER_NAME);
694 return -1; 693 return -1;
695 } 694 }
696 695
697 strcpy(mmtimer_miscdev.devfs_name, MMTIMER_NAME);
698 if (misc_register(&mmtimer_miscdev)) { 696 if (misc_register(&mmtimer_miscdev)) {
699 printk(KERN_ERR "%s: failed to register device\n", 697 printk(KERN_ERR "%s: failed to register device\n",
700 MMTIMER_NAME); 698 MMTIMER_NAME);
diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c
index 01247cccb89f..4ea7bd5f4f56 100644
--- a/drivers/char/moxa.c
+++ b/drivers/char/moxa.c
@@ -29,7 +29,6 @@
29 * version : 5.1 29 * version : 5.1
30 */ 30 */
31 31
32#include <linux/config.h>
33#include <linux/module.h> 32#include <linux/module.h>
34#include <linux/types.h> 33#include <linux/types.h>
35#include <linux/mm.h> 34#include <linux/mm.h>
@@ -342,7 +341,6 @@ static int __init moxa_init(void)
342 init_MUTEX(&moxaBuffSem); 341 init_MUTEX(&moxaBuffSem);
343 moxaDriver->owner = THIS_MODULE; 342 moxaDriver->owner = THIS_MODULE;
344 moxaDriver->name = "ttyMX"; 343 moxaDriver->name = "ttyMX";
345 moxaDriver->devfs_name = "tts/a";
346 moxaDriver->major = ttymajor; 344 moxaDriver->major = ttymajor;
347 moxaDriver->minor_start = 0; 345 moxaDriver->minor_start = 0;
348 moxaDriver->type = TTY_DRIVER_TYPE_SERIAL; 346 moxaDriver->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/mwave/3780i.c b/drivers/char/mwave/3780i.c
index d1fe05e83882..4e4865e90e50 100644
--- a/drivers/char/mwave/3780i.c
+++ b/drivers/char/mwave/3780i.c
@@ -46,7 +46,6 @@
46* First release to the public 46* First release to the public
47*/ 47*/
48 48
49#include <linux/config.h>
50#include <linux/kernel.h> 49#include <linux/kernel.h>
51#include <linux/unistd.h> 50#include <linux/unistd.h>
52#include <linux/delay.h> 51#include <linux/delay.h>
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 72cfd09091e0..556abd3e0d07 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -36,7 +36,6 @@
36 */ 36 */
37 37
38 38
39#include <linux/config.h>
40#include <linux/module.h> 39#include <linux/module.h>
41#include <linux/autoconf.h> 40#include <linux/autoconf.h>
42#include <linux/errno.h> 41#include <linux/errno.h>
@@ -95,7 +94,7 @@
95#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|\ 94#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|\
96 IXON|IXOFF)) 95 IXON|IXOFF))
97 96
98#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? SA_SHIRQ : SA_INTERRUPT) 97#define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? IRQF_SHARED : IRQF_DISABLED)
99 98
100#define C168_ASIC_ID 1 99#define C168_ASIC_ID 1
101#define C104_ASIC_ID 2 100#define C104_ASIC_ID 2
diff --git a/drivers/char/n_hdlc.c b/drivers/char/n_hdlc.c
index 9f54733f1623..337a87f86a3b 100644
--- a/drivers/char/n_hdlc.c
+++ b/drivers/char/n_hdlc.c
@@ -81,7 +81,6 @@
81#define HDLC_MAGIC 0x239e 81#define HDLC_MAGIC 0x239e
82#define HDLC_VERSION "$Revision: 4.8 $" 82#define HDLC_VERSION "$Revision: 4.8 $"
83 83
84#include <linux/config.h>
85#include <linux/module.h> 84#include <linux/module.h>
86#include <linux/init.h> 85#include <linux/init.h>
87#include <linux/kernel.h> 86#include <linux/kernel.h>
diff --git a/drivers/char/nvram.c b/drivers/char/nvram.c
index 3556ccd77570..8c5f102622b6 100644
--- a/drivers/char/nvram.c
+++ b/drivers/char/nvram.c
@@ -37,7 +37,6 @@
37#define NVRAM_VERSION "1.2" 37#define NVRAM_VERSION "1.2"
38 38
39#include <linux/module.h> 39#include <linux/module.h>
40#include <linux/config.h>
41#include <linux/sched.h> 40#include <linux/sched.h>
42#include <linux/smp_lock.h> 41#include <linux/smp_lock.h>
43#include <linux/nvram.h> 42#include <linux/nvram.h>
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 4083b781adbf..f240a104d250 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
@@ -4,7 +4,6 @@
4 * 4 *
5 */ 5 */
6 6
7#include <linux/config.h>
8#include <linux/module.h> 7#include <linux/module.h>
9#include <linux/kernel.h> 8#include <linux/kernel.h>
10#include <linux/sched.h> 9#include <linux/sched.h>
@@ -224,7 +223,7 @@ static int __init nwbutton_init(void)
224 return -EBUSY; 223 return -EBUSY;
225 } 224 }
226 225
227 if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, SA_INTERRUPT, 226 if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, IRQF_DISABLED,
228 "nwbutton", NULL)) { 227 "nwbutton", NULL)) {
229 printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n", 228 printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n",
230 IRQ_NETWINDER_BUTTON); 229 IRQ_NETWINDER_BUTTON);
diff --git a/drivers/char/pc8736x_gpio.c b/drivers/char/pc8736x_gpio.c
index 1c706ccfdbb3..c860de6a6fde 100644
--- a/drivers/char/pc8736x_gpio.c
+++ b/drivers/char/pc8736x_gpio.c
@@ -319,9 +319,10 @@ static int __init pc8736x_gpio_init(void)
319 return 0; 319 return 0;
320 320
321undo_platform_dev_add: 321undo_platform_dev_add:
322 platform_device_put(pdev); 322 platform_device_del(pdev);
323undo_platform_dev_alloc: 323undo_platform_dev_alloc:
324 kfree(pdev); 324 platform_device_put(pdev);
325
325 return rc; 326 return rc;
326} 327}
327 328
diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
index eab5394da666..31c8a21f9d87 100644
--- a/drivers/char/pcmcia/cm4000_cs.c
+++ b/drivers/char/pcmcia/cm4000_cs.c
@@ -149,12 +149,7 @@ struct cm4000_dev {
149#define ZERO_DEV(dev) \ 149#define ZERO_DEV(dev) \
150 memset(&dev->atr_csum,0, \ 150 memset(&dev->atr_csum,0, \
151 sizeof(struct cm4000_dev) - \ 151 sizeof(struct cm4000_dev) - \
152 /*link*/ sizeof(struct pcmcia_device *) - \ 152 offsetof(struct cm4000_dev, atr_csum))
153 /*node*/ sizeof(dev_node_t) - \
154 /*atr*/ MAX_ATR*sizeof(char) - \
155 /*rbuf*/ 512*sizeof(char) - \
156 /*sbuf*/ 512*sizeof(char) - \
157 /*queue*/ 4*sizeof(wait_queue_head_t))
158 153
159static struct pcmcia_device *dev_table[CM4000_MAX_DEV]; 154static struct pcmcia_device *dev_table[CM4000_MAX_DEV];
160static struct class *cmm_class; 155static struct class *cmm_class;
diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c
index bee6c47b45bd..24231d9743dc 100644
--- a/drivers/char/ppdev.c
+++ b/drivers/char/ppdev.c
@@ -60,7 +60,6 @@
60#include <linux/init.h> 60#include <linux/init.h>
61#include <linux/sched.h> 61#include <linux/sched.h>
62#include <linux/device.h> 62#include <linux/device.h>
63#include <linux/devfs_fs_kernel.h>
64#include <linux/ioctl.h> 63#include <linux/ioctl.h>
65#include <linux/parport.h> 64#include <linux/parport.h>
66#include <linux/ctype.h> 65#include <linux/ctype.h>
@@ -770,7 +769,7 @@ static struct parport_driver pp_driver = {
770 769
771static int __init ppdev_init (void) 770static int __init ppdev_init (void)
772{ 771{
773 int i, err = 0; 772 int err = 0;
774 773
775 if (register_chrdev (PP_MAJOR, CHRDEV, &pp_fops)) { 774 if (register_chrdev (PP_MAJOR, CHRDEV, &pp_fops)) {
776 printk (KERN_WARNING CHRDEV ": unable to get major %d\n", 775 printk (KERN_WARNING CHRDEV ": unable to get major %d\n",
@@ -782,11 +781,6 @@ static int __init ppdev_init (void)
782 err = PTR_ERR(ppdev_class); 781 err = PTR_ERR(ppdev_class);
783 goto out_chrdev; 782 goto out_chrdev;
784 } 783 }
785 devfs_mk_dir("parports");
786 for (i = 0; i < PARPORT_MAX; i++) {
787 devfs_mk_cdev(MKDEV(PP_MAJOR, i),
788 S_IFCHR | S_IRUGO | S_IWUGO, "parports/%d", i);
789 }
790 if (parport_register_driver(&pp_driver)) { 784 if (parport_register_driver(&pp_driver)) {
791 printk (KERN_WARNING CHRDEV ": unable to register with parport\n"); 785 printk (KERN_WARNING CHRDEV ": unable to register with parport\n");
792 goto out_class; 786 goto out_class;
@@ -796,9 +790,6 @@ static int __init ppdev_init (void)
796 goto out; 790 goto out;
797 791
798out_class: 792out_class:
799 for (i = 0; i < PARPORT_MAX; i++)
800 devfs_remove("parports/%d", i);
801 devfs_remove("parports");
802 class_destroy(ppdev_class); 793 class_destroy(ppdev_class);
803out_chrdev: 794out_chrdev:
804 unregister_chrdev(PP_MAJOR, CHRDEV); 795 unregister_chrdev(PP_MAJOR, CHRDEV);
@@ -808,12 +799,8 @@ out:
808 799
809static void __exit ppdev_cleanup (void) 800static void __exit ppdev_cleanup (void)
810{ 801{
811 int i;
812 /* Clean up all parport stuff */ 802 /* Clean up all parport stuff */
813 for (i = 0; i < PARPORT_MAX; i++)
814 devfs_remove("parports/%d", i);
815 parport_unregister_driver(&pp_driver); 803 parport_unregister_driver(&pp_driver);
816 devfs_remove("parports");
817 class_destroy(ppdev_class); 804 class_destroy(ppdev_class);
818 unregister_chrdev (PP_MAJOR, CHRDEV); 805 unregister_chrdev (PP_MAJOR, CHRDEV);
819} 806}
diff --git a/drivers/char/pty.c b/drivers/char/pty.c
index 0c17f61549b4..34dd4c38110e 100644
--- a/drivers/char/pty.c
+++ b/drivers/char/pty.c
@@ -11,7 +11,6 @@
11 * 11 *
12 */ 12 */
13 13
14#include <linux/config.h>
15#include <linux/module.h> /* For EXPORT_SYMBOL */ 14#include <linux/module.h> /* For EXPORT_SYMBOL */
16 15
17#include <linux/errno.h> 16#include <linux/errno.h>
@@ -24,7 +23,6 @@
24#include <linux/major.h> 23#include <linux/major.h>
25#include <linux/mm.h> 24#include <linux/mm.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/devfs_fs_kernel.h>
28#include <linux/sysctl.h> 26#include <linux/sysctl.h>
29 27
30#include <asm/uaccess.h> 28#include <asm/uaccess.h>
@@ -265,7 +263,6 @@ static void __init legacy_pty_init(void)
265 pty_driver->owner = THIS_MODULE; 263 pty_driver->owner = THIS_MODULE;
266 pty_driver->driver_name = "pty_master"; 264 pty_driver->driver_name = "pty_master";
267 pty_driver->name = "pty"; 265 pty_driver->name = "pty";
268 pty_driver->devfs_name = "pty/m";
269 pty_driver->major = PTY_MASTER_MAJOR; 266 pty_driver->major = PTY_MASTER_MAJOR;
270 pty_driver->minor_start = 0; 267 pty_driver->minor_start = 0;
271 pty_driver->type = TTY_DRIVER_TYPE_PTY; 268 pty_driver->type = TTY_DRIVER_TYPE_PTY;
@@ -283,7 +280,6 @@ static void __init legacy_pty_init(void)
283 pty_slave_driver->owner = THIS_MODULE; 280 pty_slave_driver->owner = THIS_MODULE;
284 pty_slave_driver->driver_name = "pty_slave"; 281 pty_slave_driver->driver_name = "pty_slave";
285 pty_slave_driver->name = "ttyp"; 282 pty_slave_driver->name = "ttyp";
286 pty_slave_driver->devfs_name = "pty/s";
287 pty_slave_driver->major = PTY_SLAVE_MAJOR; 283 pty_slave_driver->major = PTY_SLAVE_MAJOR;
288 pty_slave_driver->minor_start = 0; 284 pty_slave_driver->minor_start = 0;
289 pty_slave_driver->type = TTY_DRIVER_TYPE_PTY; 285 pty_slave_driver->type = TTY_DRIVER_TYPE_PTY;
@@ -351,7 +347,6 @@ static int pty_unix98_ioctl(struct tty_struct *tty, struct file *file,
351 347
352static void __init unix98_pty_init(void) 348static void __init unix98_pty_init(void)
353{ 349{
354 devfs_mk_dir("pts");
355 ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX); 350 ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX);
356 if (!ptm_driver) 351 if (!ptm_driver)
357 panic("Couldn't allocate Unix98 ptm driver"); 352 panic("Couldn't allocate Unix98 ptm driver");
@@ -372,7 +367,7 @@ static void __init unix98_pty_init(void)
372 ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; 367 ptm_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
373 ptm_driver->init_termios.c_lflag = 0; 368 ptm_driver->init_termios.c_lflag = 0;
374 ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | 369 ptm_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
375 TTY_DRIVER_NO_DEVFS | TTY_DRIVER_DEVPTS_MEM; 370 TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM;
376 ptm_driver->other = pts_driver; 371 ptm_driver->other = pts_driver;
377 tty_set_operations(ptm_driver, &pty_ops); 372 tty_set_operations(ptm_driver, &pty_ops);
378 ptm_driver->ioctl = pty_unix98_ioctl; 373 ptm_driver->ioctl = pty_unix98_ioctl;
@@ -387,7 +382,7 @@ static void __init unix98_pty_init(void)
387 pts_driver->init_termios = tty_std_termios; 382 pts_driver->init_termios = tty_std_termios;
388 pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; 383 pts_driver->init_termios.c_cflag = B38400 | CS8 | CREAD;
389 pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | 384 pts_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW |
390 TTY_DRIVER_NO_DEVFS | TTY_DRIVER_DEVPTS_MEM; 385 TTY_DRIVER_DYNAMIC_DEV | TTY_DRIVER_DEVPTS_MEM;
391 pts_driver->other = ptm_driver; 386 pts_driver->other = ptm_driver;
392 tty_set_operations(pts_driver, &pty_ops); 387 tty_set_operations(pts_driver, &pty_ops);
393 388
diff --git a/drivers/char/qtronix.c b/drivers/char/qtronix.c
index 601d09baf9d7..9d134e98d2a0 100644
--- a/drivers/char/qtronix.c
+++ b/drivers/char/qtronix.c
@@ -33,7 +33,6 @@
33 * 675 Mass Ave, Cambridge, MA 02139, USA. 33 * 675 Mass Ave, Cambridge, MA 02139, USA.
34 */ 34 */
35 35
36#include <linux/config.h>
37 36
38/* 37/*
39 * NOTE: 38 * NOTE:
@@ -145,7 +144,7 @@ void __init init_qtronix_990P_kbd(void)
145 cir_port_init(cir); 144 cir_port_init(cir);
146 145
147 retval = request_irq(IT8172_CIR0_IRQ, kbd_int_handler, 146 retval = request_irq(IT8172_CIR0_IRQ, kbd_int_handler,
148 (unsigned long )(SA_INTERRUPT|SA_SHIRQ), 147 (unsigned long )(IRQF_DISABLED|IRQF_SHARED),
149 (const char *)"Qtronix IR Keyboard", (void *)cir); 148 (const char *)"Qtronix IR Keyboard", (void *)cir);
150 149
151 if (retval) { 150 if (retval) {
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 58f3512c52e1..164bddae047f 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -224,7 +224,6 @@
224 */ 224 */
225 225
226#include <linux/utsname.h> 226#include <linux/utsname.h>
227#include <linux/config.h>
228#include <linux/module.h> 227#include <linux/module.h>
229#include <linux/kernel.h> 228#include <linux/kernel.h>
230#include <linux/major.h> 229#include <linux/major.h>
diff --git a/drivers/char/raw.c b/drivers/char/raw.c
index 15a7b4086524..9bf97c5e38c0 100644
--- a/drivers/char/raw.c
+++ b/drivers/char/raw.c
@@ -10,7 +10,6 @@
10 10
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/fs.h> 12#include <linux/fs.h>
13#include <linux/devfs_fs_kernel.h>
14#include <linux/major.h> 13#include <linux/major.h>
15#include <linux/blkdev.h> 14#include <linux/blkdev.h>
16#include <linux/module.h> 15#include <linux/module.h>
@@ -288,7 +287,6 @@ static struct cdev raw_cdev = {
288 287
289static int __init raw_init(void) 288static int __init raw_init(void)
290{ 289{
291 int i;
292 dev_t dev = MKDEV(RAW_MAJOR, 0); 290 dev_t dev = MKDEV(RAW_MAJOR, 0);
293 291
294 if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw")) 292 if (register_chrdev_region(dev, MAX_RAW_MINORS, "raw"))
@@ -310,13 +308,6 @@ static int __init raw_init(void)
310 } 308 }
311 class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl"); 309 class_device_create(raw_class, NULL, MKDEV(RAW_MAJOR, 0), NULL, "rawctl");
312 310
313 devfs_mk_cdev(MKDEV(RAW_MAJOR, 0),
314 S_IFCHR | S_IRUGO | S_IWUGO,
315 "raw/rawctl");
316 for (i = 1; i < MAX_RAW_MINORS; i++)
317 devfs_mk_cdev(MKDEV(RAW_MAJOR, i),
318 S_IFCHR | S_IRUGO | S_IWUGO,
319 "raw/raw%d", i);
320 return 0; 311 return 0;
321 312
322error: 313error:
@@ -326,12 +317,6 @@ error:
326 317
327static void __exit raw_exit(void) 318static void __exit raw_exit(void)
328{ 319{
329 int i;
330
331 for (i = 1; i < MAX_RAW_MINORS; i++)
332 devfs_remove("raw/raw%d", i);
333 devfs_remove("raw/rawctl");
334 devfs_remove("raw");
335 class_device_destroy(raw_class, MKDEV(RAW_MAJOR, 0)); 320 class_device_destroy(raw_class, MKDEV(RAW_MAJOR, 0));
336 class_destroy(raw_class); 321 class_destroy(raw_class);
337 cdev_del(&raw_cdev); 322 cdev_del(&raw_cdev);
diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c
index aa43436d5d1b..3afc6a47ebbc 100644
--- a/drivers/char/rio/rio_linux.c
+++ b/drivers/char/rio/rio_linux.c
@@ -33,7 +33,6 @@
33 * */ 33 * */
34 34
35#include <linux/module.h> 35#include <linux/module.h>
36#include <linux/config.h>
37#include <linux/kdev_t.h> 36#include <linux/kdev_t.h>
38#include <asm/io.h> 37#include <asm/io.h>
39#include <linux/kernel.h> 38#include <linux/kernel.h>
@@ -1120,7 +1119,7 @@ static int __init rio_init(void)
1120 for (i = 0; i < p->RIONumHosts; i++) { 1119 for (i = 0; i < p->RIONumHosts; i++) {
1121 hp = &p->RIOHosts[i]; 1120 hp = &p->RIOHosts[i];
1122 if (hp->Ivec) { 1121 if (hp->Ivec) {
1123 int mode = SA_SHIRQ; 1122 int mode = IRQF_SHARED;
1124 if (hp->Ivec & 0x8000) { 1123 if (hp->Ivec & 0x8000) {
1125 mode = 0; 1124 mode = 0;
1126 hp->Ivec &= 0x7fff; 1125 hp->Ivec &= 0x7fff;
diff --git a/drivers/char/rio/rio_linux.h b/drivers/char/rio/rio_linux.h
index 55b9c97e8477..dc3f005614a3 100644
--- a/drivers/char/rio/rio_linux.h
+++ b/drivers/char/rio/rio_linux.h
@@ -23,7 +23,6 @@
23 * Version 1.0 -- July, 1999. 23 * Version 1.0 -- July, 1999.
24 * 24 *
25 */ 25 */
26#include <linux/config.h>
27 26
28#define RIO_NBOARDS 4 27#define RIO_NBOARDS 4
29#define RIO_PORTSPERBOARD 128 28#define RIO_PORTSPERBOARD 128
diff --git a/drivers/char/rio/rioinit.c b/drivers/char/rio/rioinit.c
index 12e34bc3f7ce..99f3df02b61c 100644
--- a/drivers/char/rio/rioinit.c
+++ b/drivers/char/rio/rioinit.c
@@ -33,7 +33,6 @@
33static char *_rioinit_c_sccs_ = "@(#)rioinit.c 1.3"; 33static char *_rioinit_c_sccs_ = "@(#)rioinit.c 1.3";
34#endif 34#endif
35 35
36#include <linux/config.h>
37#include <linux/module.h> 36#include <linux/module.h>
38#include <linux/slab.h> 37#include <linux/slab.h>
39#include <linux/errno.h> 38#include <linux/errno.h>
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
index 657c0d88f48c..f1c94f771af5 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -625,7 +625,7 @@ static inline int rc_setup_board(struct riscom_board * bp)
625 if (bp->flags & RC_BOARD_ACTIVE) 625 if (bp->flags & RC_BOARD_ACTIVE)
626 return 0; 626 return 0;
627 627
628 error = request_irq(bp->irq, rc_interrupt, SA_INTERRUPT, 628 error = request_irq(bp->irq, rc_interrupt, IRQF_DISABLED,
629 "RISCom/8", NULL); 629 "RISCom/8", NULL);
630 if (error) 630 if (error)
631 return error; 631 return error;
@@ -1634,7 +1634,6 @@ static inline int rc_init_drivers(void)
1634 memset(IRQ_to_board, 0, sizeof(IRQ_to_board)); 1634 memset(IRQ_to_board, 0, sizeof(IRQ_to_board));
1635 riscom_driver->owner = THIS_MODULE; 1635 riscom_driver->owner = THIS_MODULE;
1636 riscom_driver->name = "ttyL"; 1636 riscom_driver->name = "ttyL";
1637 riscom_driver->devfs_name = "tts/L";
1638 riscom_driver->major = RISCOM8_NORMAL_MAJOR; 1637 riscom_driver->major = RISCOM8_NORMAL_MAJOR;
1639 riscom_driver->type = TTY_DRIVER_TYPE_SERIAL; 1638 riscom_driver->type = TTY_DRIVER_TYPE_SERIAL;
1640 riscom_driver->subtype = SERIAL_TYPE_NORMAL; 1639 riscom_driver->subtype = SERIAL_TYPE_NORMAL;
diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c
index 0708c5164c83..0ac131881322 100644
--- a/drivers/char/rocket.c
+++ b/drivers/char/rocket.c
@@ -2426,8 +2426,7 @@ static int __init rp_init(void)
2426 */ 2426 */
2427 2427
2428 rocket_driver->owner = THIS_MODULE; 2428 rocket_driver->owner = THIS_MODULE;
2429 rocket_driver->flags = TTY_DRIVER_NO_DEVFS; 2429 rocket_driver->flags = TTY_DRIVER_DYNAMIC_DEV;
2430 rocket_driver->devfs_name = "tts/R";
2431 rocket_driver->name = "ttyR"; 2430 rocket_driver->name = "ttyR";
2432 rocket_driver->driver_name = "Comtrol RocketPort"; 2431 rocket_driver->driver_name = "Comtrol RocketPort";
2433 rocket_driver->major = TTY_ROCKET_MAJOR; 2432 rocket_driver->major = TTY_ROCKET_MAJOR;
@@ -2438,7 +2437,7 @@ static int __init rp_init(void)
2438 rocket_driver->init_termios.c_cflag = 2437 rocket_driver->init_termios.c_cflag =
2439 B9600 | CS8 | CREAD | HUPCL | CLOCAL; 2438 B9600 | CS8 | CREAD | HUPCL | CLOCAL;
2440#ifdef ROCKET_SOFT_FLOW 2439#ifdef ROCKET_SOFT_FLOW
2441 rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS; 2440 rocket_driver->flags |= TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
2442#endif 2441#endif
2443 tty_set_operations(rocket_driver, &rocket_ops); 2442 tty_set_operations(rocket_driver, &rocket_ops);
2444 2443
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index 0897b0c8d528..aefac4ac0bf5 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -61,7 +61,6 @@
61 * this driver.) 61 * this driver.)
62 */ 62 */
63 63
64#include <linux/config.h>
65#include <linux/interrupt.h> 64#include <linux/interrupt.h>
66#include <linux/module.h> 65#include <linux/module.h>
67#include <linux/kernel.h> 66#include <linux/kernel.h>
@@ -221,7 +220,7 @@ static inline unsigned char rtc_is_updating(void)
221 220
222#ifdef RTC_IRQ 221#ifdef RTC_IRQ
223/* 222/*
224 * A very tiny interrupt handler. It runs with SA_INTERRUPT set, 223 * A very tiny interrupt handler. It runs with IRQF_DISABLED set,
225 * but there is possibility of conflicting with the set_rtc_mmss() 224 * but there is possibility of conflicting with the set_rtc_mmss()
226 * call (the rtc irq and the timer irq can easily run at the same 225 * call (the rtc irq and the timer irq can easily run at the same
227 * time in two different CPUs). So we need to serialize 226 * time in two different CPUs). So we need to serialize
@@ -959,7 +958,7 @@ found:
959 * XXX Interrupt pin #7 in Espresso is shared between RTC and 958 * XXX Interrupt pin #7 in Espresso is shared between RTC and
960 * PCI Slot 2 INTA# (and some INTx# in Slot 1). 959 * PCI Slot 2 INTA# (and some INTx# in Slot 1).
961 */ 960 */
962 if (request_irq(rtc_irq, rtc_interrupt, SA_SHIRQ, "rtc", (void *)&rtc_port)) { 961 if (request_irq(rtc_irq, rtc_interrupt, IRQF_SHARED, "rtc", (void *)&rtc_port)) {
963 printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq); 962 printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq);
964 return -EIO; 963 return -EIO;
965 } 964 }
@@ -977,7 +976,7 @@ no_irq:
977 rtc_int_handler_ptr = rtc_interrupt; 976 rtc_int_handler_ptr = rtc_interrupt;
978 } 977 }
979 978
980 if(request_irq(RTC_IRQ, rtc_int_handler_ptr, SA_INTERRUPT, "rtc", NULL)) { 979 if(request_irq(RTC_IRQ, rtc_int_handler_ptr, IRQF_DISABLED, "rtc", NULL)) {
981 /* Yeah right, seeing as irq 8 doesn't even hit the bus. */ 980 /* Yeah right, seeing as irq 8 doesn't even hit the bus. */
982 printk(KERN_ERR "rtc: IRQ %d is not free.\n", RTC_IRQ); 981 printk(KERN_ERR "rtc: IRQ %d is not free.\n", RTC_IRQ);
983 release_region(RTC_PORT(0), RTC_IO_EXTENT); 982 release_region(RTC_PORT(0), RTC_IO_EXTENT);
diff --git a/drivers/char/s3c2410-rtc.c b/drivers/char/s3c2410-rtc.c
index b0038b19b505..5458ef1634e5 100644
--- a/drivers/char/s3c2410-rtc.c
+++ b/drivers/char/s3c2410-rtc.c
@@ -341,13 +341,13 @@ static int s3c2410_rtc_open(void)
341 int ret; 341 int ret;
342 342
343 ret = request_irq(s3c2410_rtc_alarmno, s3c2410_rtc_alarmirq, 343 ret = request_irq(s3c2410_rtc_alarmno, s3c2410_rtc_alarmirq,
344 SA_INTERRUPT, "s3c2410-rtc alarm", NULL); 344 IRQF_DISABLED, "s3c2410-rtc alarm", NULL);
345 345
346 if (ret) 346 if (ret)
347 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_alarmno); 347 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_alarmno);
348 348
349 ret = request_irq(s3c2410_rtc_tickno, s3c2410_rtc_tickirq, 349 ret = request_irq(s3c2410_rtc_tickno, s3c2410_rtc_tickirq,
350 SA_INTERRUPT, "s3c2410-rtc tick", NULL); 350 IRQF_DISABLED, "s3c2410-rtc tick", NULL);
351 351
352 if (ret) { 352 if (ret) {
353 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_tickno); 353 printk(KERN_ERR "IRQ%d already in use\n", s3c2410_rtc_tickno);
diff --git a/drivers/char/scx200_gpio.c b/drivers/char/scx200_gpio.c
index 5a280a330401..45083e5dd23b 100644
--- a/drivers/char/scx200_gpio.c
+++ b/drivers/char/scx200_gpio.c
@@ -126,9 +126,10 @@ static int __init scx200_gpio_init(void)
126undo_chrdev_region: 126undo_chrdev_region:
127 unregister_chrdev_region(dev, num_pins); 127 unregister_chrdev_region(dev, num_pins);
128undo_platform_device_add: 128undo_platform_device_add:
129 platform_device_put(pdev); 129 platform_device_del(pdev);
130undo_malloc: 130undo_malloc:
131 kfree(pdev); 131 platform_device_put(pdev);
132
132 return rc; 133 return rc;
133} 134}
134 135
@@ -136,7 +137,6 @@ static void __exit scx200_gpio_cleanup(void)
136{ 137{
137 kfree(scx200_devices); 138 kfree(scx200_devices);
138 unregister_chrdev_region(MKDEV(major, 0), num_pins); 139 unregister_chrdev_region(MKDEV(major, 0), num_pins);
139 platform_device_put(pdev);
140 platform_device_unregister(pdev); 140 platform_device_unregister(pdev);
141 /* kfree(pdev); */ 141 /* kfree(pdev); */
142} 142}
diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c
index 037c940ac71b..21a710cb4bba 100644
--- a/drivers/char/serial167.c
+++ b/drivers/char/serial167.c
@@ -44,7 +44,6 @@
44 * - replace bottom half handler with task queue handler 44 * - replace bottom half handler with task queue handler
45 */ 45 */
46 46
47#include <linux/config.h>
48#include <linux/errno.h> 47#include <linux/errno.h>
49#include <linux/signal.h> 48#include <linux/signal.h>
50#include <linux/sched.h> 49#include <linux/sched.h>
@@ -2235,7 +2234,6 @@ scrn[1] = '\0';
2235 /* Initialize the tty_driver structure */ 2234 /* Initialize the tty_driver structure */
2236 2235
2237 cy_serial_driver->owner = THIS_MODULE; 2236 cy_serial_driver->owner = THIS_MODULE;
2238 cy_serial_driver->devfs_name = "tts/";
2239 cy_serial_driver->name = "ttyS"; 2237 cy_serial_driver->name = "ttyS";
2240 cy_serial_driver->major = TTY_MAJOR; 2238 cy_serial_driver->major = TTY_MAJOR;
2241 cy_serial_driver->minor_start = 64; 2239 cy_serial_driver->minor_start = 64;
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 56c8243cdb73..203240b6c08f 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -105,7 +105,7 @@ scdrv_open(struct inode *inode, struct file *file)
105 105
106 /* hook this subchannel up to the system controller interrupt */ 106 /* hook this subchannel up to the system controller interrupt */
107 rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt, 107 rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt,
108 SA_SHIRQ | SA_INTERRUPT, 108 IRQF_SHARED | IRQF_DISABLED,
109 SYSCTL_BASENAME, sd); 109 SYSCTL_BASENAME, sd);
110 if (rv) { 110 if (rv) {
111 ia64_sn_irtr_close(sd->sd_nasid, sd->sd_subch); 111 ia64_sn_irtr_close(sd->sd_nasid, sd->sd_subch);
diff --git a/drivers/char/snsc_event.c b/drivers/char/snsc_event.c
index e234d50e142a..8b2210b633df 100644
--- a/drivers/char/snsc_event.c
+++ b/drivers/char/snsc_event.c
@@ -310,7 +310,7 @@ scdrv_event_init(struct sysctl_data_s *scd)
310 310
311 /* hook event subchannel up to the system controller interrupt */ 311 /* hook event subchannel up to the system controller interrupt */
312 rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt, 312 rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt,
313 SA_SHIRQ | SA_INTERRUPT, 313 IRQF_SHARED | IRQF_DISABLED,
314 "system controller events", event_sd); 314 "system controller events", event_sd);
315 if (rv) { 315 if (rv) {
316 printk(KERN_WARNING "%s: irq request failed (%d)\n", 316 printk(KERN_WARNING "%s: irq request failed (%d)\n",
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 43dfd8689dce..45508a039508 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -33,7 +33,6 @@
33 * 33 *
34 */ 34 */
35 35
36#include <linux/config.h>
37#include <linux/module.h> 36#include <linux/module.h>
38#include <linux/input.h> 37#include <linux/input.h>
39#include <linux/pci.h> 38#include <linux/pci.h>
@@ -1283,7 +1282,7 @@ static int __devinit sonypi_setup_irq(struct sonypi_device *dev,
1283 while (irq_list->irq) { 1282 while (irq_list->irq) {
1284 1283
1285 if (!request_irq(irq_list->irq, sonypi_irq, 1284 if (!request_irq(irq_list->irq, sonypi_irq,
1286 SA_SHIRQ, "sonypi", sonypi_irq)) { 1285 IRQF_SHARED, "sonypi", sonypi_irq)) {
1287 dev->irq = irq_list->irq; 1286 dev->irq = irq_list->irq;
1288 dev->bits = irq_list->bits; 1287 dev->bits = irq_list->bits;
1289 return 0; 1288 return 0;
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c
index d2d6b01dcd05..cb2859249d49 100644
--- a/drivers/char/specialix.c
+++ b/drivers/char/specialix.c
@@ -75,7 +75,6 @@
75 * Documentation/specialix.txt 75 * Documentation/specialix.txt
76 */ 76 */
77 77
78#include <linux/config.h>
79#include <linux/module.h> 78#include <linux/module.h>
80 79
81#include <asm/io.h> 80#include <asm/io.h>
@@ -1016,9 +1015,9 @@ static inline int sx_setup_board(struct specialix_board * bp)
1016 return 0; 1015 return 0;
1017 1016
1018 if (bp->flags & SX_BOARD_IS_PCI) 1017 if (bp->flags & SX_BOARD_IS_PCI)
1019 error = request_irq(bp->irq, sx_interrupt, SA_INTERRUPT | SA_SHIRQ, "specialix IO8+", bp); 1018 error = request_irq(bp->irq, sx_interrupt, IRQF_DISABLED | IRQF_SHARED, "specialix IO8+", bp);
1020 else 1019 else
1021 error = request_irq(bp->irq, sx_interrupt, SA_INTERRUPT, "specialix IO8+", bp); 1020 error = request_irq(bp->irq, sx_interrupt, IRQF_DISABLED, "specialix IO8+", bp);
1022 1021
1023 if (error) 1022 if (error)
1024 return error; 1023 return error;
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c
index 00b4a2187164..ed7b8eaf0367 100644
--- a/drivers/char/stallion.c
+++ b/drivers/char/stallion.c
@@ -26,7 +26,6 @@
26 26
27/*****************************************************************************/ 27/*****************************************************************************/
28 28
29#include <linux/config.h>
30#include <linux/module.h> 29#include <linux/module.h>
31#include <linux/slab.h> 30#include <linux/slab.h>
32#include <linux/interrupt.h> 31#include <linux/interrupt.h>
@@ -40,7 +39,6 @@
40#include <linux/ioport.h> 39#include <linux/ioport.h>
41#include <linux/init.h> 40#include <linux/init.h>
42#include <linux/smp_lock.h> 41#include <linux/smp_lock.h>
43#include <linux/devfs_fs_kernel.h>
44#include <linux/device.h> 42#include <linux/device.h>
45#include <linux/delay.h> 43#include <linux/delay.h>
46 44
@@ -757,11 +755,8 @@ static void __exit stallion_module_exit(void)
757 "errno=%d\n", -i); 755 "errno=%d\n", -i);
758 return; 756 return;
759 } 757 }
760 for (i = 0; i < 4; i++) { 758 for (i = 0; i < 4; i++)
761 devfs_remove("staliomem/%d", i);
762 class_device_destroy(stallion_class, MKDEV(STL_SIOMEMMAJOR, i)); 759 class_device_destroy(stallion_class, MKDEV(STL_SIOMEMMAJOR, i));
763 }
764 devfs_remove("staliomem");
765 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem"))) 760 if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
766 printk("STALLION: failed to un-register serial memory device, " 761 printk("STALLION: failed to un-register serial memory device, "
767 "errno=%d\n", -i); 762 "errno=%d\n", -i);
@@ -2307,7 +2302,7 @@ static inline int stl_initeio(stlbrd_t *brdp)
2307 brdp->nrpanels = 1; 2302 brdp->nrpanels = 1;
2308 brdp->state |= BRD_FOUND; 2303 brdp->state |= BRD_FOUND;
2309 brdp->hwid = status; 2304 brdp->hwid = status;
2310 if (request_irq(brdp->irq, stl_intr, SA_SHIRQ, name, brdp) != 0) { 2305 if (request_irq(brdp->irq, stl_intr, IRQF_SHARED, name, brdp) != 0) {
2311 printk("STALLION: failed to register interrupt " 2306 printk("STALLION: failed to register interrupt "
2312 "routine for %s irq=%d\n", name, brdp->irq); 2307 "routine for %s irq=%d\n", name, brdp->irq);
2313 rc = -ENODEV; 2308 rc = -ENODEV;
@@ -2517,7 +2512,7 @@ static inline int stl_initech(stlbrd_t *brdp)
2517 outb((brdp->ioctrlval | ECH_BRDDISABLE), brdp->ioctrl); 2512 outb((brdp->ioctrlval | ECH_BRDDISABLE), brdp->ioctrl);
2518 2513
2519 brdp->state |= BRD_FOUND; 2514 brdp->state |= BRD_FOUND;
2520 if (request_irq(brdp->irq, stl_intr, SA_SHIRQ, name, brdp) != 0) { 2515 if (request_irq(brdp->irq, stl_intr, IRQF_SHARED, name, brdp) != 0) {
2521 printk("STALLION: failed to register interrupt " 2516 printk("STALLION: failed to register interrupt "
2522 "routine for %s irq=%d\n", name, brdp->irq); 2517 "routine for %s irq=%d\n", name, brdp->irq);
2523 i = -ENODEV; 2518 i = -ENODEV;
@@ -3044,22 +3039,16 @@ static int __init stl_init(void)
3044 */ 3039 */
3045 if (register_chrdev(STL_SIOMEMMAJOR, "staliomem", &stl_fsiomem)) 3040 if (register_chrdev(STL_SIOMEMMAJOR, "staliomem", &stl_fsiomem))
3046 printk("STALLION: failed to register serial board device\n"); 3041 printk("STALLION: failed to register serial board device\n");
3047 devfs_mk_dir("staliomem");
3048 3042
3049 stallion_class = class_create(THIS_MODULE, "staliomem"); 3043 stallion_class = class_create(THIS_MODULE, "staliomem");
3050 for (i = 0; i < 4; i++) { 3044 for (i = 0; i < 4; i++)
3051 devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
3052 S_IFCHR|S_IRUSR|S_IWUSR,
3053 "staliomem/%d", i);
3054 class_device_create(stallion_class, NULL, 3045 class_device_create(stallion_class, NULL,
3055 MKDEV(STL_SIOMEMMAJOR, i), NULL, 3046 MKDEV(STL_SIOMEMMAJOR, i), NULL,
3056 "staliomem%d", i); 3047 "staliomem%d", i);
3057 }
3058 3048
3059 stl_serial->owner = THIS_MODULE; 3049 stl_serial->owner = THIS_MODULE;
3060 stl_serial->driver_name = stl_drvname; 3050 stl_serial->driver_name = stl_drvname;
3061 stl_serial->name = "ttyE"; 3051 stl_serial->name = "ttyE";
3062 stl_serial->devfs_name = "tts/E";
3063 stl_serial->major = STL_SERIALMAJOR; 3052 stl_serial->major = STL_SERIALMAJOR;
3064 stl_serial->minor_start = 0; 3053 stl_serial->minor_start = 0;
3065 stl_serial->type = TTY_DRIVER_TYPE_SERIAL; 3054 stl_serial->type = TTY_DRIVER_TYPE_SERIAL;
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index 76b9107f7f81..45c193aa11db 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -1993,7 +1993,7 @@ static int sx_init_board (struct sx_board *board)
1993 if(board->irq > 0) { 1993 if(board->irq > 0) {
1994 /* fixed irq, probably PCI */ 1994 /* fixed irq, probably PCI */
1995 if(sx_irqmask & (1 << board->irq)) { /* may we use this irq? */ 1995 if(sx_irqmask & (1 << board->irq)) { /* may we use this irq? */
1996 if(request_irq(board->irq, sx_interrupt, SA_SHIRQ | SA_INTERRUPT, "sx", board)) { 1996 if(request_irq(board->irq, sx_interrupt, IRQF_SHARED | IRQF_DISABLED, "sx", board)) {
1997 printk(KERN_ERR "sx: Cannot allocate irq %d.\n", board->irq); 1997 printk(KERN_ERR "sx: Cannot allocate irq %d.\n", board->irq);
1998 board->irq = 0; 1998 board->irq = 0;
1999 } 1999 }
@@ -2005,7 +2005,7 @@ static int sx_init_board (struct sx_board *board)
2005 int irqmask = sx_irqmask & (IS_SX_BOARD(board) ? SX_ISA_IRQ_MASK : SI2_ISA_IRQ_MASK); 2005 int irqmask = sx_irqmask & (IS_SX_BOARD(board) ? SX_ISA_IRQ_MASK : SI2_ISA_IRQ_MASK);
2006 for(irqnr = 15; irqnr > 0; irqnr--) 2006 for(irqnr = 15; irqnr > 0; irqnr--)
2007 if(irqmask & (1 << irqnr)) 2007 if(irqmask & (1 << irqnr))
2008 if(! request_irq(irqnr, sx_interrupt, SA_SHIRQ | SA_INTERRUPT, "sx", board)) 2008 if(! request_irq(irqnr, sx_interrupt, IRQF_SHARED | IRQF_DISABLED, "sx", board))
2009 break; 2009 break;
2010 if(! irqnr) 2010 if(! irqnr)
2011 printk(KERN_ERR "sx: Cannot allocate IRQ.\n"); 2011 printk(KERN_ERR "sx: Cannot allocate IRQ.\n");
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c
index fee2aca3f6a5..df782dd1098c 100644
--- a/drivers/char/synclink.c
+++ b/drivers/char/synclink.c
@@ -8150,7 +8150,7 @@ static int __devinit synclink_init_one (struct pci_dev *dev,
8150 8150
8151 info->bus_type = MGSL_BUS_TYPE_PCI; 8151 info->bus_type = MGSL_BUS_TYPE_PCI;
8152 info->io_addr_size = 8; 8152 info->io_addr_size = 8;
8153 info->irq_flags = SA_SHIRQ; 8153 info->irq_flags = IRQF_SHARED;
8154 8154
8155 if (dev->device == 0x0210) { 8155 if (dev->device == 0x0210) {
8156 /* Version 1 PCI9030 based universal PCI adapter */ 8156 /* Version 1 PCI9030 based universal PCI adapter */
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c
index 4e35d4181224..e829594195c1 100644
--- a/drivers/char/synclink_gt.c
+++ b/drivers/char/synclink_gt.c
@@ -46,7 +46,6 @@
46//#define DBGRBUF(info) dump_rbufs(info) 46//#define DBGRBUF(info) dump_rbufs(info)
47 47
48 48
49#include <linux/config.h>
50#include <linux/module.h> 49#include <linux/module.h>
51#include <linux/version.h> 50#include <linux/version.h>
52#include <linux/errno.h> 51#include <linux/errno.h>
@@ -3344,7 +3343,7 @@ static struct slgt_info *alloc_dev(int adapter_num, int port_num, struct pci_dev
3344 info->phys_reg_addr = pci_resource_start(pdev,0); 3343 info->phys_reg_addr = pci_resource_start(pdev,0);
3345 3344
3346 info->bus_type = MGSL_BUS_TYPE_PCI; 3345 info->bus_type = MGSL_BUS_TYPE_PCI;
3347 info->irq_flags = SA_SHIRQ; 3346 info->irq_flags = IRQF_SHARED;
3348 3347
3349 info->init_error = -1; /* assume error, set to 0 on successful init */ 3348 info->init_error = -1; /* assume error, set to 0 on successful init */
3350 } 3349 }
diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c
index 21bf15ad9980..1e443a233f51 100644
--- a/drivers/char/synclinkmp.c
+++ b/drivers/char/synclinkmp.c
@@ -34,7 +34,6 @@
34 34
35#define MAX_DEVICES 12 35#define MAX_DEVICES 12
36 36
37#include <linux/config.h>
38#include <linux/module.h> 37#include <linux/module.h>
39#include <linux/errno.h> 38#include <linux/errno.h>
40#include <linux/signal.h> 39#include <linux/signal.h>
@@ -3836,7 +3835,7 @@ static SLMP_INFO *alloc_dev(int adapter_num, int port_num, struct pci_dev *pdev)
3836 info->phys_statctrl_base &= ~(PAGE_SIZE-1); 3835 info->phys_statctrl_base &= ~(PAGE_SIZE-1);
3837 3836
3838 info->bus_type = MGSL_BUS_TYPE_PCI; 3837 info->bus_type = MGSL_BUS_TYPE_PCI;
3839 info->irq_flags = SA_SHIRQ; 3838 info->irq_flags = IRQF_SHARED;
3840 3839
3841 init_timer(&info->tx_timer); 3840 init_timer(&info->tx_timer);
3842 info->tx_timer.data = (unsigned long)info; 3841 info->tx_timer.data = (unsigned long)info;
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
index 35082dc12eae..a064ee9181c0 100644
--- a/drivers/char/sysrq.c
+++ b/drivers/char/sysrq.c
@@ -12,7 +12,6 @@
12 * based upon discusions in irc://irc.openprojects.net/#kernelnewbies 12 * based upon discusions in irc://irc.openprojects.net/#kernelnewbies
13 */ 13 */
14 14
15#include <linux/config.h>
16#include <linux/sched.h> 15#include <linux/sched.h>
17#include <linux/interrupt.h> 16#include <linux/interrupt.h>
18#include <linux/mm.h> 17#include <linux/mm.h>
diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c
index 079db5a935a1..e0633a119d29 100644
--- a/drivers/char/tipar.c
+++ b/drivers/char/tipar.c
@@ -42,7 +42,6 @@
42 */ 42 */
43#undef DEBUG /* change to #define to get debugging 43#undef DEBUG /* change to #define to get debugging
44 * output - for pr_debug() */ 44 * output - for pr_debug() */
45#include <linux/config.h>
46#include <linux/module.h> 45#include <linux/module.h>
47#include <linux/types.h> 46#include <linux/types.h>
48#include <linux/errno.h> 47#include <linux/errno.h>
@@ -56,7 +55,6 @@
56#include <linux/ioport.h> 55#include <linux/ioport.h>
57#include <asm/io.h> 56#include <asm/io.h>
58#include <linux/bitops.h> 57#include <linux/bitops.h>
59#include <linux/devfs_fs_kernel.h> /* DevFs support */
60#include <linux/parport.h> /* Our code depend on parport */ 58#include <linux/parport.h> /* Our code depend on parport */
61#include <linux/device.h> 59#include <linux/device.h>
62 60
@@ -443,12 +441,6 @@ tipar_register(int nr, struct parport *port)
443 441
444 class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR, 442 class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR,
445 TIPAR_MINOR + nr), NULL, "par%d", nr); 443 TIPAR_MINOR + nr), NULL, "par%d", nr);
446 /* Use devfs, tree: /dev/ticables/par/[0..2] */
447 err = devfs_mk_cdev(MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr),
448 S_IFCHR | S_IRUGO | S_IWUGO,
449 "ticables/par/%d", nr);
450 if (err)
451 goto out_class;
452 444
453 /* Display informations */ 445 /* Display informations */
454 pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq == 446 pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq ==
@@ -460,11 +452,7 @@ tipar_register(int nr, struct parport *port)
460 pr_info("tipar%d: link cable not found\n", nr); 452 pr_info("tipar%d: link cable not found\n", nr);
461 453
462 err = 0; 454 err = 0;
463 goto out;
464 455
465out_class:
466 class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr));
467 class_destroy(tipar_class);
468out: 456out:
469 return err; 457 return err;
470} 458}
@@ -507,9 +495,6 @@ tipar_init_module(void)
507 goto out; 495 goto out;
508 } 496 }
509 497
510 /* Use devfs with tree: /dev/ticables/par/[0..2] */
511 devfs_mk_dir("ticables/par");
512
513 tipar_class = class_create(THIS_MODULE, "ticables"); 498 tipar_class = class_create(THIS_MODULE, "ticables");
514 if (IS_ERR(tipar_class)) { 499 if (IS_ERR(tipar_class)) {
515 err = PTR_ERR(tipar_class); 500 err = PTR_ERR(tipar_class);
@@ -528,7 +513,6 @@ out_class:
528 class_destroy(tipar_class); 513 class_destroy(tipar_class);
529 514
530out_chrdev: 515out_chrdev:
531 devfs_remove("ticables/par");
532 unregister_chrdev(TIPAR_MAJOR, "tipar"); 516 unregister_chrdev(TIPAR_MAJOR, "tipar");
533out: 517out:
534 return err; 518 return err;
@@ -549,10 +533,8 @@ tipar_cleanup_module(void)
549 continue; 533 continue;
550 parport_unregister_device(table[i].dev); 534 parport_unregister_device(table[i].dev);
551 class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i)); 535 class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i));
552 devfs_remove("ticables/par/%d", i);
553 } 536 }
554 class_destroy(tipar_class); 537 class_destroy(tipar_class);
555 devfs_remove("ticables/par");
556 538
557 pr_info("tipar: module unloaded\n"); 539 pr_info("tipar: module unloaded\n");
558} 540}
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index ef68d152d3e4..952b829e2cb4 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -27,7 +27,6 @@
27 * MPCBL0010 ATCA computer. 27 * MPCBL0010 ATCA computer.
28 */ 28 */
29 29
30#include <linux/config.h>
31#include <linux/module.h> 30#include <linux/module.h>
32#include <linux/init.h> 31#include <linux/init.h>
33#include <linux/sched.h> 32#include <linux/sched.h>
@@ -209,7 +208,7 @@ static int tlclk_open(struct inode *inode, struct file *filp)
209 /* This device is wired through the FPGA IO space of the ATCA blade 208 /* This device is wired through the FPGA IO space of the ATCA blade
210 * we can't share this IRQ */ 209 * we can't share this IRQ */
211 result = request_irq(telclk_interrupt, &tlclk_interrupt, 210 result = request_irq(telclk_interrupt, &tlclk_interrupt,
212 SA_INTERRUPT, "telco_clock", tlclk_interrupt); 211 IRQF_DISABLED, "telco_clock", tlclk_interrupt);
213 if (result == -EBUSY) { 212 if (result == -EBUSY) {
214 printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n"); 213 printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n");
215 return -EBUSY; 214 return -EBUSY;
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 8ea70625f7ea..abb0f2aeae66 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -522,7 +522,7 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev,
522 iowrite8(i, chip->vendor.iobase + 522 iowrite8(i, chip->vendor.iobase +
523 TPM_INT_VECTOR(chip->vendor.locality)); 523 TPM_INT_VECTOR(chip->vendor.locality));
524 if (request_irq 524 if (request_irq
525 (i, tis_int_probe, SA_SHIRQ, 525 (i, tis_int_probe, IRQF_SHARED,
526 chip->vendor.miscdev.name, chip) != 0) { 526 chip->vendor.miscdev.name, chip) != 0) {
527 dev_info(chip->dev, 527 dev_info(chip->dev,
528 "Unable to request irq: %d for probe\n", 528 "Unable to request irq: %d for probe\n",
@@ -557,7 +557,7 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev,
557 chip->vendor.iobase + 557 chip->vendor.iobase +
558 TPM_INT_VECTOR(chip->vendor.locality)); 558 TPM_INT_VECTOR(chip->vendor.locality));
559 if (request_irq 559 if (request_irq
560 (chip->vendor.irq, tis_int_handler, SA_SHIRQ, 560 (chip->vendor.irq, tis_int_handler, IRQF_SHARED,
561 chip->vendor.miscdev.name, chip) != 0) { 561 chip->vendor.miscdev.name, chip) != 0) {
562 dev_info(chip->dev, 562 dev_info(chip->dev,
563 "Unable to request irq: %d for use\n", 563 "Unable to request irq: %d for use\n",
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 8d19f7281f0b..615e934da05f 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -65,7 +65,6 @@
65 * alloc_tty_struct() always uses kmalloc() -- Andrew Morton <andrewm@uow.edu.eu> 17Mar01 65 * alloc_tty_struct() always uses kmalloc() -- Andrew Morton <andrewm@uow.edu.eu> 17Mar01
66 */ 66 */
67 67
68#include <linux/config.h>
69#include <linux/types.h> 68#include <linux/types.h>
70#include <linux/major.h> 69#include <linux/major.h>
71#include <linux/errno.h> 70#include <linux/errno.h>
@@ -102,7 +101,6 @@
102#include <linux/kbd_kern.h> 101#include <linux/kbd_kern.h>
103#include <linux/vt_kern.h> 102#include <linux/vt_kern.h>
104#include <linux/selection.h> 103#include <linux/selection.h>
105#include <linux/devfs_fs_kernel.h>
106 104
107#include <linux/kmod.h> 105#include <linux/kmod.h>
108 106
@@ -2955,8 +2953,8 @@ static struct class *tty_class;
2955 * Returns a pointer to the class device (or ERR_PTR(-EFOO) on error). 2953 * Returns a pointer to the class device (or ERR_PTR(-EFOO) on error).
2956 * 2954 *
2957 * This call is required to be made to register an individual tty device if 2955 * This call is required to be made to register an individual tty device if
2958 * the tty driver's flags have the TTY_DRIVER_NO_DEVFS bit set. If that 2956 * the tty driver's flags have the TTY_DRIVER_DYNAMIC_DEV bit set. If that
2959 * bit is not set, this function should not be called. 2957 * bit is not set, this function should not be called by a tty driver.
2960 */ 2958 */
2961struct class_device *tty_register_device(struct tty_driver *driver, 2959struct class_device *tty_register_device(struct tty_driver *driver,
2962 unsigned index, struct device *device) 2960 unsigned index, struct device *device)
@@ -2970,9 +2968,6 @@ struct class_device *tty_register_device(struct tty_driver *driver,
2970 return ERR_PTR(-EINVAL); 2968 return ERR_PTR(-EINVAL);
2971 } 2969 }
2972 2970
2973 devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
2974 "%s%d", driver->devfs_name, index + driver->name_base);
2975
2976 if (driver->type == TTY_DRIVER_TYPE_PTY) 2971 if (driver->type == TTY_DRIVER_TYPE_PTY)
2977 pty_line_name(driver, index, name); 2972 pty_line_name(driver, index, name);
2978 else 2973 else
@@ -2991,7 +2986,6 @@ struct class_device *tty_register_device(struct tty_driver *driver,
2991 */ 2986 */
2992void tty_unregister_device(struct tty_driver *driver, unsigned index) 2987void tty_unregister_device(struct tty_driver *driver, unsigned index)
2993{ 2988{
2994 devfs_remove("%s%d", driver->devfs_name, index + driver->name_base);
2995 class_device_destroy(tty_class, MKDEV(driver->major, driver->minor_start) + index); 2989 class_device_destroy(tty_class, MKDEV(driver->major, driver->minor_start) + index);
2996} 2990}
2997 2991
@@ -3113,7 +3107,7 @@ int tty_register_driver(struct tty_driver *driver)
3113 3107
3114 list_add(&driver->tty_drivers, &tty_drivers); 3108 list_add(&driver->tty_drivers, &tty_drivers);
3115 3109
3116 if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) { 3110 if ( !(driver->flags & TTY_DRIVER_DYNAMIC_DEV) ) {
3117 for(i = 0; i < driver->num; i++) 3111 for(i = 0; i < driver->num; i++)
3118 tty_register_device(driver, i, NULL); 3112 tty_register_device(driver, i, NULL);
3119 } 3113 }
@@ -3156,7 +3150,7 @@ int tty_unregister_driver(struct tty_driver *driver)
3156 driver->termios_locked[i] = NULL; 3150 driver->termios_locked[i] = NULL;
3157 kfree(tp); 3151 kfree(tp);
3158 } 3152 }
3159 if (!(driver->flags & TTY_DRIVER_NO_DEVFS)) 3153 if (!(driver->flags & TTY_DRIVER_DYNAMIC_DEV))
3160 tty_unregister_device(driver, i); 3154 tty_unregister_device(driver, i);
3161 } 3155 }
3162 p = driver->ttys; 3156 p = driver->ttys;
@@ -3232,14 +3226,12 @@ static int __init tty_init(void)
3232 if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) || 3226 if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) ||
3233 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0) 3227 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0)
3234 panic("Couldn't register /dev/tty driver\n"); 3228 panic("Couldn't register /dev/tty driver\n");
3235 devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 0), S_IFCHR|S_IRUGO|S_IWUGO, "tty");
3236 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty"); 3229 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 0), NULL, "tty");
3237 3230
3238 cdev_init(&console_cdev, &console_fops); 3231 cdev_init(&console_cdev, &console_fops);
3239 if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) || 3232 if (cdev_add(&console_cdev, MKDEV(TTYAUX_MAJOR, 1), 1) ||
3240 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0) 3233 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 1), 1, "/dev/console") < 0)
3241 panic("Couldn't register /dev/console driver\n"); 3234 panic("Couldn't register /dev/console driver\n");
3242 devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 1), S_IFCHR|S_IRUSR|S_IWUSR, "console");
3243 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL, "console"); 3235 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 1), NULL, "console");
3244 3236
3245#ifdef CONFIG_UNIX98_PTYS 3237#ifdef CONFIG_UNIX98_PTYS
@@ -3247,7 +3239,6 @@ static int __init tty_init(void)
3247 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || 3239 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
3248 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0) 3240 register_chrdev_region(MKDEV(TTYAUX_MAJOR, 2), 1, "/dev/ptmx") < 0)
3249 panic("Couldn't register /dev/ptmx driver\n"); 3241 panic("Couldn't register /dev/ptmx driver\n");
3250 devfs_mk_cdev(MKDEV(TTYAUX_MAJOR, 2), S_IFCHR|S_IRUGO|S_IWUGO, "ptmx");
3251 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx"); 3242 class_device_create(tty_class, NULL, MKDEV(TTYAUX_MAJOR, 2), NULL, "ptmx");
3252#endif 3243#endif
3253 3244
@@ -3256,7 +3247,6 @@ static int __init tty_init(void)
3256 if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) || 3247 if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
3257 register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0) 3248 register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
3258 panic("Couldn't register /dev/tty0 driver\n"); 3249 panic("Couldn't register /dev/tty0 driver\n");
3259 devfs_mk_cdev(MKDEV(TTY_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vc/0");
3260 class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0"); 3250 class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
3261 3251
3262 vty_init(); 3252 vty_init();
diff --git a/drivers/char/vc_screen.c b/drivers/char/vc_screen.c
index 3c1dafaa3441..45e9bd81bc0e 100644
--- a/drivers/char/vc_screen.c
+++ b/drivers/char/vc_screen.c
@@ -21,12 +21,10 @@
21 * - making it shorter - scr_readw are macros which expand in PRETTY long code 21 * - making it shorter - scr_readw are macros which expand in PRETTY long code
22 */ 22 */
23 23
24#include <linux/config.h>
25#include <linux/kernel.h> 24#include <linux/kernel.h>
26#include <linux/major.h> 25#include <linux/major.h>
27#include <linux/errno.h> 26#include <linux/errno.h>
28#include <linux/tty.h> 27#include <linux/tty.h>
29#include <linux/devfs_fs_kernel.h>
30#include <linux/sched.h> 28#include <linux/sched.h>
31#include <linux/interrupt.h> 29#include <linux/interrupt.h>
32#include <linux/mm.h> 30#include <linux/mm.h>
@@ -478,12 +476,6 @@ static struct class *vc_class;
478 476
479void vcs_make_devfs(struct tty_struct *tty) 477void vcs_make_devfs(struct tty_struct *tty)
480{ 478{
481 devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 1),
482 S_IFCHR|S_IRUSR|S_IWUSR,
483 "vcc/%u", tty->index + 1);
484 devfs_mk_cdev(MKDEV(VCS_MAJOR, tty->index + 129),
485 S_IFCHR|S_IRUSR|S_IWUSR,
486 "vcc/a%u", tty->index + 1);
487 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 1), 479 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 1),
488 NULL, "vcs%u", tty->index + 1); 480 NULL, "vcs%u", tty->index + 1);
489 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 129), 481 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, tty->index + 129),
@@ -491,8 +483,6 @@ void vcs_make_devfs(struct tty_struct *tty)
491} 483}
492void vcs_remove_devfs(struct tty_struct *tty) 484void vcs_remove_devfs(struct tty_struct *tty)
493{ 485{
494 devfs_remove("vcc/%u", tty->index + 1);
495 devfs_remove("vcc/a%u", tty->index + 1);
496 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 1)); 486 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 1));
497 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 129)); 487 class_device_destroy(vc_class, MKDEV(VCS_MAJOR, tty->index + 129));
498} 488}
@@ -503,8 +493,6 @@ int __init vcs_init(void)
503 panic("unable to get major %d for vcs device", VCS_MAJOR); 493 panic("unable to get major %d for vcs device", VCS_MAJOR);
504 vc_class = class_create(THIS_MODULE, "vc"); 494 vc_class = class_create(THIS_MODULE, "vc");
505 495
506 devfs_mk_cdev(MKDEV(VCS_MAJOR, 0), S_IFCHR|S_IRUSR|S_IWUSR, "vcc/0");
507 devfs_mk_cdev(MKDEV(VCS_MAJOR, 128), S_IFCHR|S_IRUSR|S_IWUSR, "vcc/a0");
508 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs"); 496 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs");
509 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa"); 497 class_device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa");
510 return 0; 498 return 0;
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c
index 4e5360388748..766f7864c6c6 100644
--- a/drivers/char/viocons.c
+++ b/drivers/char/viocons.c
@@ -25,7 +25,6 @@
25 * along with this program; if not, write to the Free Software Foundation, 25 * along with this program; if not, write to the Free Software Foundation,
26 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 26 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 */ 27 */
28#include <linux/config.h>
29#include <linux/kernel.h> 28#include <linux/kernel.h>
30#include <linux/proc_fs.h> 29#include <linux/proc_fs.h>
31#include <linux/errno.h> 30#include <linux/errno.h>
@@ -1152,7 +1151,6 @@ static int __init viocons_init2(void)
1152 viotty_driver = alloc_tty_driver(VTTY_PORTS); 1151 viotty_driver = alloc_tty_driver(VTTY_PORTS);
1153 viotty_driver->owner = THIS_MODULE; 1152 viotty_driver->owner = THIS_MODULE;
1154 viotty_driver->driver_name = "vioconsole"; 1153 viotty_driver->driver_name = "vioconsole";
1155 viotty_driver->devfs_name = "vcs/";
1156 viotty_driver->name = "tty"; 1154 viotty_driver->name = "tty";
1157 viotty_driver->name_base = 1; 1155 viotty_driver->name_base = 1;
1158 viotty_driver->major = TTY_MAJOR; 1156 viotty_driver->major = TTY_MAJOR;
diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c
index 11c7e9de5958..7d42c8ec8dbc 100644
--- a/drivers/char/viotape.c
+++ b/drivers/char/viotape.c
@@ -31,7 +31,6 @@
31 * the OS/400 partition. The format of the messages is defined in 31 * the OS/400 partition. The format of the messages is defined in
32 * iseries/vio.h 32 * iseries/vio.h
33 */ 33 */
34#include <linux/config.h>
35#include <linux/module.h> 34#include <linux/module.h>
36#include <linux/kernel.h> 35#include <linux/kernel.h>
37#include <linux/errno.h> 36#include <linux/errno.h>
@@ -43,7 +42,6 @@
43#include <linux/dma-mapping.h> 42#include <linux/dma-mapping.h>
44#include <linux/fs.h> 43#include <linux/fs.h>
45#include <linux/cdev.h> 44#include <linux/cdev.h>
46#include <linux/devfs_fs_kernel.h>
47#include <linux/major.h> 45#include <linux/major.h>
48#include <linux/completion.h> 46#include <linux/completion.h>
49#include <linux/proc_fs.h> 47#include <linux/proc_fs.h>
@@ -246,7 +244,6 @@ static struct device *tape_device[VIOTAPE_MAX_TAPE];
246 */ 244 */
247static struct { 245static struct {
248 unsigned char cur_part; 246 unsigned char cur_part;
249 int dev_handle;
250 unsigned char part_stat_rwi[MAX_PARTITIONS]; 247 unsigned char part_stat_rwi[MAX_PARTITIONS];
251} state[VIOTAPE_MAX_TAPE]; 248} state[VIOTAPE_MAX_TAPE];
252 249
@@ -959,12 +956,7 @@ static int viotape_probe(struct vio_dev *vdev, const struct vio_device_id *id)
959 "iseries!vt%d", i); 956 "iseries!vt%d", i);
960 class_device_create(tape_class, NULL, MKDEV(VIOTAPE_MAJOR, i | 0x80), 957 class_device_create(tape_class, NULL, MKDEV(VIOTAPE_MAJOR, i | 0x80),
961 NULL, "iseries!nvt%d", i); 958 NULL, "iseries!nvt%d", i);
962 devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i), S_IFCHR | S_IRUSR | S_IWUSR,
963 "iseries/vt%d", i);
964 devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i | 0x80),
965 S_IFCHR | S_IRUSR | S_IWUSR, "iseries/nvt%d", i);
966 sprintf(tapename, "iseries/vt%d", i); 959 sprintf(tapename, "iseries/vt%d", i);
967 state[i].dev_handle = devfs_register_tape(tapename);
968 printk(VIOTAPE_KERN_INFO "tape %s is iSeries " 960 printk(VIOTAPE_KERN_INFO "tape %s is iSeries "
969 "resource %10.10s type %4.4s, model %3.3s\n", 961 "resource %10.10s type %4.4s, model %3.3s\n",
970 tapename, viotape_unitinfo[i].rsrcname, 962 tapename, viotape_unitinfo[i].rsrcname,
@@ -976,9 +968,6 @@ static int viotape_remove(struct vio_dev *vdev)
976{ 968{
977 int i = vdev->unit_address; 969 int i = vdev->unit_address;
978 970
979 devfs_remove("iseries/nvt%d", i);
980 devfs_remove("iseries/vt%d", i);
981 devfs_unregister_tape(state[i].dev_handle);
982 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80)); 971 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80));
983 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i)); 972 class_device_destroy(tape_class, MKDEV(VIOTAPE_MAJOR, i));
984 return 0; 973 return 0;
diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c
index fd00822ac145..bfe5ea948f6a 100644
--- a/drivers/char/vme_scc.c
+++ b/drivers/char/vme_scc.c
@@ -14,7 +14,6 @@
14 */ 14 */
15 15
16#include <linux/module.h> 16#include <linux/module.h>
17#include <linux/config.h>
18#include <linux/kdev_t.h> 17#include <linux/kdev_t.h>
19#include <asm/io.h> 18#include <asm/io.h>
20#include <linux/kernel.h> 19#include <linux/kernel.h>
@@ -147,7 +146,6 @@ static int scc_init_drivers(void)
147 scc_driver->owner = THIS_MODULE; 146 scc_driver->owner = THIS_MODULE;
148 scc_driver->driver_name = "scc"; 147 scc_driver->driver_name = "scc";
149 scc_driver->name = "ttyS"; 148 scc_driver->name = "ttyS";
150 scc_driver->devfs_name = "tts/";
151 scc_driver->major = TTY_MAJOR; 149 scc_driver->major = TTY_MAJOR;
152 scc_driver->minor_start = SCC_MINOR_BASE; 150 scc_driver->minor_start = SCC_MINOR_BASE;
153 scc_driver->type = TTY_DRIVER_TYPE_SERIAL; 151 scc_driver->type = TTY_DRIVER_TYPE_SERIAL;
@@ -205,13 +203,13 @@ static int mvme147_scc_init(void)
205 port->datap = port->ctrlp + 1; 203 port->datap = port->ctrlp + 1;
206 port->port_a = &scc_ports[0]; 204 port->port_a = &scc_ports[0];
207 port->port_b = &scc_ports[1]; 205 port->port_b = &scc_ports[1];
208 request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, SA_INTERRUPT, 206 request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED,
209 "SCC-A TX", port); 207 "SCC-A TX", port);
210 request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, SA_INTERRUPT, 208 request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED,
211 "SCC-A status", port); 209 "SCC-A status", port);
212 request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, SA_INTERRUPT, 210 request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED,
213 "SCC-A RX", port); 211 "SCC-A RX", port);
214 request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, SA_INTERRUPT, 212 request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED,
215 "SCC-A special cond", port); 213 "SCC-A special cond", port);
216 { 214 {
217 SCC_ACCESS_INIT(port); 215 SCC_ACCESS_INIT(port);
@@ -232,13 +230,13 @@ static int mvme147_scc_init(void)
232 port->datap = port->ctrlp + 1; 230 port->datap = port->ctrlp + 1;
233 port->port_a = &scc_ports[0]; 231 port->port_a = &scc_ports[0];
234 port->port_b = &scc_ports[1]; 232 port->port_b = &scc_ports[1];
235 request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, SA_INTERRUPT, 233 request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED,
236 "SCC-B TX", port); 234 "SCC-B TX", port);
237 request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, SA_INTERRUPT, 235 request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED,
238 "SCC-B status", port); 236 "SCC-B status", port);
239 request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, SA_INTERRUPT, 237 request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED,
240 "SCC-B RX", port); 238 "SCC-B RX", port);
241 request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, SA_INTERRUPT, 239 request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED,
242 "SCC-B special cond", port); 240 "SCC-B special cond", port);
243 { 241 {
244 SCC_ACCESS_INIT(port); 242 SCC_ACCESS_INIT(port);
@@ -275,13 +273,13 @@ static int mvme162_scc_init(void)
275 port->datap = port->ctrlp + 2; 273 port->datap = port->ctrlp + 2;
276 port->port_a = &scc_ports[0]; 274 port->port_a = &scc_ports[0];
277 port->port_b = &scc_ports[1]; 275 port->port_b = &scc_ports[1];
278 request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, SA_INTERRUPT, 276 request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED,
279 "SCC-A TX", port); 277 "SCC-A TX", port);
280 request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, SA_INTERRUPT, 278 request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED,
281 "SCC-A status", port); 279 "SCC-A status", port);
282 request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, SA_INTERRUPT, 280 request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED,
283 "SCC-A RX", port); 281 "SCC-A RX", port);
284 request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, SA_INTERRUPT, 282 request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED,
285 "SCC-A special cond", port); 283 "SCC-A special cond", port);
286 { 284 {
287 SCC_ACCESS_INIT(port); 285 SCC_ACCESS_INIT(port);
@@ -302,13 +300,13 @@ static int mvme162_scc_init(void)
302 port->datap = port->ctrlp + 2; 300 port->datap = port->ctrlp + 2;
303 port->port_a = &scc_ports[0]; 301 port->port_a = &scc_ports[0];
304 port->port_b = &scc_ports[1]; 302 port->port_b = &scc_ports[1];
305 request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, SA_INTERRUPT, 303 request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED,
306 "SCC-B TX", port); 304 "SCC-B TX", port);
307 request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, SA_INTERRUPT, 305 request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED,
308 "SCC-B status", port); 306 "SCC-B status", port);
309 request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, SA_INTERRUPT, 307 request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED,
310 "SCC-B RX", port); 308 "SCC-B RX", port);
311 request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, SA_INTERRUPT, 309 request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED,
312 "SCC-B special cond", port); 310 "SCC-B special cond", port);
313 311
314 { 312 {
@@ -343,13 +341,13 @@ static int bvme6000_scc_init(void)
343 port->datap = port->ctrlp + 4; 341 port->datap = port->ctrlp + 4;
344 port->port_a = &scc_ports[0]; 342 port->port_a = &scc_ports[0];
345 port->port_b = &scc_ports[1]; 343 port->port_b = &scc_ports[1];
346 request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, SA_INTERRUPT, 344 request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED,
347 "SCC-A TX", port); 345 "SCC-A TX", port);
348 request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, SA_INTERRUPT, 346 request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED,
349 "SCC-A status", port); 347 "SCC-A status", port);
350 request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, SA_INTERRUPT, 348 request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED,
351 "SCC-A RX", port); 349 "SCC-A RX", port);
352 request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, SA_INTERRUPT, 350 request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED,
353 "SCC-A special cond", port); 351 "SCC-A special cond", port);
354 { 352 {
355 SCC_ACCESS_INIT(port); 353 SCC_ACCESS_INIT(port);
@@ -370,13 +368,13 @@ static int bvme6000_scc_init(void)
370 port->datap = port->ctrlp + 4; 368 port->datap = port->ctrlp + 4;
371 port->port_a = &scc_ports[0]; 369 port->port_a = &scc_ports[0];
372 port->port_b = &scc_ports[1]; 370 port->port_b = &scc_ports[1];
373 request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, SA_INTERRUPT, 371 request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED,
374 "SCC-B TX", port); 372 "SCC-B TX", port);
375 request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, SA_INTERRUPT, 373 request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED,
376 "SCC-B status", port); 374 "SCC-B status", port);
377 request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, SA_INTERRUPT, 375 request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED,
378 "SCC-B RX", port); 376 "SCC-B RX", port);
379 request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, SA_INTERRUPT, 377 request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED,
380 "SCC-B special cond", port); 378 "SCC-B special cond", port);
381 379
382 { 380 {
diff --git a/drivers/char/vr41xx_giu.c b/drivers/char/vr41xx_giu.c
index 05e6e814d86f..073da48c092e 100644
--- a/drivers/char/vr41xx_giu.c
+++ b/drivers/char/vr41xx_giu.c
@@ -689,9 +689,9 @@ static int __devinit giu_probe(struct platform_device *dev)
689 689
690 for (i = GIU_IRQ_BASE; i <= GIU_IRQ_LAST; i++) { 690 for (i = GIU_IRQ_BASE; i <= GIU_IRQ_LAST; i++) {
691 if (i < GIU_IRQ(GIUINT_HIGH_OFFSET)) 691 if (i < GIU_IRQ(GIUINT_HIGH_OFFSET))
692 irq_desc[i].handler = &giuint_low_irq_type; 692 irq_desc[i].chip = &giuint_low_irq_type;
693 else 693 else
694 irq_desc[i].handler = &giuint_high_irq_type; 694 irq_desc[i].chip = &giuint_high_irq_type;
695 } 695 }
696 696
697 return cascade_irq(GIUINT_IRQ, giu_get_irq); 697 return cascade_irq(GIUINT_IRQ, giu_get_irq);
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index 714d95ff2f1e..3ef823d7d255 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -79,7 +79,6 @@
79#include <linux/mm.h> 79#include <linux/mm.h>
80#include <linux/console.h> 80#include <linux/console.h>
81#include <linux/init.h> 81#include <linux/init.h>
82#include <linux/devfs_fs_kernel.h>
83#include <linux/vt_kern.h> 82#include <linux/vt_kern.h>
84#include <linux/selection.h> 83#include <linux/selection.h>
85#include <linux/tiocl.h> 84#include <linux/tiocl.h>
@@ -87,7 +86,6 @@
87#include <linux/consolemap.h> 86#include <linux/consolemap.h>
88#include <linux/timer.h> 87#include <linux/timer.h>
89#include <linux/interrupt.h> 88#include <linux/interrupt.h>
90#include <linux/config.h>
91#include <linux/workqueue.h> 89#include <linux/workqueue.h>
92#include <linux/bootmem.h> 90#include <linux/bootmem.h>
93#include <linux/pm.h> 91#include <linux/pm.h>
@@ -2663,7 +2661,6 @@ int __init vty_init(void)
2663 if (!console_driver) 2661 if (!console_driver)
2664 panic("Couldn't allocate console driver\n"); 2662 panic("Couldn't allocate console driver\n");
2665 console_driver->owner = THIS_MODULE; 2663 console_driver->owner = THIS_MODULE;
2666 console_driver->devfs_name = "vc/";
2667 console_driver->name = "tty"; 2664 console_driver->name = "tty";
2668 console_driver->name_base = 1; 2665 console_driver->name_base = 1;
2669 console_driver->major = TTY_MAJOR; 2666 console_driver->major = TTY_MAJOR;
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index 24011e7c81ff..eccffaf26faa 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -10,7 +10,6 @@
10 * Check put/get_user, cleanups - acme@conectiva.com.br - Jun 2001 10 * Check put/get_user, cleanups - acme@conectiva.com.br - Jun 2001
11 */ 11 */
12 12
13#include <linux/config.h>
14#include <linux/types.h> 13#include <linux/types.h>
15#include <linux/errno.h> 14#include <linux/errno.h>
16#include <linux/sched.h> 15#include <linux/sched.h>
diff --git a/drivers/char/watchdog/at91_wdt.c b/drivers/char/watchdog/at91_wdt.c
index 00080655533d..f61dedc3c96c 100644
--- a/drivers/char/watchdog/at91_wdt.c
+++ b/drivers/char/watchdog/at91_wdt.c
@@ -9,7 +9,6 @@
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/config.h>
13#include <linux/errno.h> 12#include <linux/errno.h>
14#include <linux/fs.h> 13#include <linux/fs.h>
15#include <linux/init.h> 14#include <linux/init.h>
diff --git a/drivers/char/watchdog/booke_wdt.c b/drivers/char/watchdog/booke_wdt.c
index b6640606b44d..537f5c6729bf 100644
--- a/drivers/char/watchdog/booke_wdt.c
+++ b/drivers/char/watchdog/booke_wdt.c
@@ -14,7 +14,6 @@
14 * option) any later version. 14 * option) any later version.
15 */ 15 */
16 16
17#include <linux/config.h>
18#include <linux/module.h> 17#include <linux/module.h>
19#include <linux/fs.h> 18#include <linux/fs.h>
20#include <linux/miscdevice.h> 19#include <linux/miscdevice.h>
diff --git a/drivers/char/watchdog/eurotechwdt.c b/drivers/char/watchdog/eurotechwdt.c
index 25c2f2575611..ea670de4fab7 100644
--- a/drivers/char/watchdog/eurotechwdt.c
+++ b/drivers/char/watchdog/eurotechwdt.c
@@ -40,7 +40,6 @@
40 * Added Matt Domsch's nowayout module option. 40 * Added Matt Domsch's nowayout module option.
41 */ 41 */
42 42
43#include <linux/config.h>
44#include <linux/interrupt.h> 43#include <linux/interrupt.h>
45#include <linux/module.h> 44#include <linux/module.h>
46#include <linux/moduleparam.h> 45#include <linux/moduleparam.h>
@@ -421,7 +420,7 @@ static int __init eurwdt_init(void)
421 goto out; 420 goto out;
422 } 421 }
423 422
424 ret = request_irq(irq, eurwdt_interrupt, SA_INTERRUPT, "eurwdt", NULL); 423 ret = request_irq(irq, eurwdt_interrupt, IRQF_DISABLED, "eurwdt", NULL);
425 if(ret) { 424 if(ret) {
426 printk(KERN_ERR "eurwdt: IRQ %d is not free.\n", irq); 425 printk(KERN_ERR "eurwdt: IRQ %d is not free.\n", irq);
427 goto outmisc; 426 goto outmisc;
diff --git a/drivers/char/watchdog/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c
index cf60329eec85..a2e53c715b36 100644
--- a/drivers/char/watchdog/ib700wdt.c
+++ b/drivers/char/watchdog/ib700wdt.c
@@ -31,7 +31,6 @@
31 * 31 *
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/module.h> 34#include <linux/module.h>
36#include <linux/types.h> 35#include <linux/types.h>
37#include <linux/miscdevice.h> 36#include <linux/miscdevice.h>
diff --git a/drivers/char/watchdog/ibmasr.c b/drivers/char/watchdog/ibmasr.c
index 294c474ae485..b0741cbdc139 100644
--- a/drivers/char/watchdog/ibmasr.c
+++ b/drivers/char/watchdog/ibmasr.c
@@ -10,7 +10,6 @@
10 * of the GNU Public License, incorporated herein by reference. 10 * of the GNU Public License, incorporated herein by reference.
11 */ 11 */
12 12
13#include <linux/config.h>
14#include <linux/fs.h> 13#include <linux/fs.h>
15#include <linux/kernel.h> 14#include <linux/kernel.h>
16#include <linux/slab.h> 15#include <linux/slab.h>
diff --git a/drivers/char/watchdog/indydog.c b/drivers/char/watchdog/indydog.c
index b4b94daba67e..d387979b2434 100644
--- a/drivers/char/watchdog/indydog.c
+++ b/drivers/char/watchdog/indydog.c
@@ -13,7 +13,6 @@
13 13
14#include <linux/module.h> 14#include <linux/module.h>
15#include <linux/moduleparam.h> 15#include <linux/moduleparam.h>
16#include <linux/config.h>
17#include <linux/types.h> 16#include <linux/types.h>
18#include <linux/kernel.h> 17#include <linux/kernel.h>
19#include <linux/fs.h> 18#include <linux/fs.h>
diff --git a/drivers/char/watchdog/ixp2000_wdt.c b/drivers/char/watchdog/ixp2000_wdt.c
index 0cfb9b9c4a4b..aa29a7d68759 100644
--- a/drivers/char/watchdog/ixp2000_wdt.c
+++ b/drivers/char/watchdog/ixp2000_wdt.c
@@ -16,7 +16,6 @@
16 * warranty of any kind, whether express or implied. 16 * warranty of any kind, whether express or implied.
17 */ 17 */
18 18
19#include <linux/config.h>
20#include <linux/module.h> 19#include <linux/module.h>
21#include <linux/moduleparam.h> 20#include <linux/moduleparam.h>
22#include <linux/types.h> 21#include <linux/types.h>
diff --git a/drivers/char/watchdog/ixp4xx_wdt.c b/drivers/char/watchdog/ixp4xx_wdt.c
index 3800835ca8f3..e6a3fe83fa01 100644
--- a/drivers/char/watchdog/ixp4xx_wdt.c
+++ b/drivers/char/watchdog/ixp4xx_wdt.c
@@ -13,7 +13,6 @@
13 * warranty of any kind, whether express or implied. 13 * warranty of any kind, whether express or implied.
14 */ 14 */
15 15
16#include <linux/config.h>
17#include <linux/module.h> 16#include <linux/module.h>
18#include <linux/moduleparam.h> 17#include <linux/moduleparam.h>
19#include <linux/types.h> 18#include <linux/types.h>
diff --git a/drivers/char/watchdog/machzwd.c b/drivers/char/watchdog/machzwd.c
index a9a20aad61e7..b67b4878ae0f 100644
--- a/drivers/char/watchdog/machzwd.c
+++ b/drivers/char/watchdog/machzwd.c
@@ -28,7 +28,6 @@
28 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT 28 * Added nowayout module option to override CONFIG_WATCHDOG_NOWAYOUT
29 */ 29 */
30 30
31#include <linux/config.h>
32#include <linux/module.h> 31#include <linux/module.h>
33#include <linux/moduleparam.h> 32#include <linux/moduleparam.h>
34#include <linux/types.h> 33#include <linux/types.h>
diff --git a/drivers/char/watchdog/mixcomwd.c b/drivers/char/watchdog/mixcomwd.c
index d8dede575402..433c27f98159 100644
--- a/drivers/char/watchdog/mixcomwd.c
+++ b/drivers/char/watchdog/mixcomwd.c
@@ -37,7 +37,6 @@
37 37
38#include <linux/module.h> 38#include <linux/module.h>
39#include <linux/moduleparam.h> 39#include <linux/moduleparam.h>
40#include <linux/config.h>
41#include <linux/types.h> 40#include <linux/types.h>
42#include <linux/miscdevice.h> 41#include <linux/miscdevice.h>
43#include <linux/ioport.h> 42#include <linux/ioport.h>
diff --git a/drivers/char/watchdog/mpc83xx_wdt.c b/drivers/char/watchdog/mpc83xx_wdt.c
index 5d6f5061603a..dac1381af364 100644
--- a/drivers/char/watchdog/mpc83xx_wdt.c
+++ b/drivers/char/watchdog/mpc83xx_wdt.c
@@ -15,7 +15,6 @@
15 * option) any later version. 15 * option) any later version.
16 */ 16 */
17 17
18#include <linux/config.h>
19#include <linux/fs.h> 18#include <linux/fs.h>
20#include <linux/init.h> 19#include <linux/init.h>
21#include <linux/kernel.h> 20#include <linux/kernel.h>
diff --git a/drivers/char/watchdog/mpc8xx_wdt.c b/drivers/char/watchdog/mpc8xx_wdt.c
index b2fc71e20850..11f0ccd4c4d4 100644
--- a/drivers/char/watchdog/mpc8xx_wdt.c
+++ b/drivers/char/watchdog/mpc8xx_wdt.c
@@ -9,7 +9,6 @@
9 * or implied. 9 * or implied.
10 */ 10 */
11 11
12#include <linux/config.h>
13#include <linux/fs.h> 12#include <linux/fs.h>
14#include <linux/init.h> 13#include <linux/init.h>
15#include <linux/kernel.h> 14#include <linux/kernel.h>
diff --git a/drivers/char/watchdog/mpcore_wdt.c b/drivers/char/watchdog/mpcore_wdt.c
index 2c2c51773200..c2d492c852fc 100644
--- a/drivers/char/watchdog/mpcore_wdt.c
+++ b/drivers/char/watchdog/mpcore_wdt.c
@@ -21,7 +21,6 @@
21 */ 21 */
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/moduleparam.h> 23#include <linux/moduleparam.h>
24#include <linux/config.h>
25#include <linux/types.h> 24#include <linux/types.h>
26#include <linux/miscdevice.h> 25#include <linux/miscdevice.h>
27#include <linux/watchdog.h> 26#include <linux/watchdog.h>
@@ -356,7 +355,7 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev)
356 goto err_misc; 355 goto err_misc;
357 } 356 }
358 357
359 ret = request_irq(wdt->irq, mpcore_wdt_fire, SA_INTERRUPT, "mpcore_wdt", wdt); 358 ret = request_irq(wdt->irq, mpcore_wdt_fire, IRQF_DISABLED, "mpcore_wdt", wdt);
360 if (ret) { 359 if (ret) {
361 dev_printk(KERN_ERR, _dev, "cannot register IRQ%d for watchdog\n", wdt->irq); 360 dev_printk(KERN_ERR, _dev, "cannot register IRQ%d for watchdog\n", wdt->irq);
362 goto err_irq; 361 goto err_irq;
diff --git a/drivers/char/watchdog/mv64x60_wdt.c b/drivers/char/watchdog/mv64x60_wdt.c
index f1b9cf89f153..20a6cbb0fbb8 100644
--- a/drivers/char/watchdog/mv64x60_wdt.c
+++ b/drivers/char/watchdog/mv64x60_wdt.c
@@ -15,7 +15,6 @@
15 * or implied. 15 * or implied.
16 */ 16 */
17 17
18#include <linux/config.h>
19#include <linux/fs.h> 18#include <linux/fs.h>
20#include <linux/init.h> 19#include <linux/init.h>
21#include <linux/kernel.h> 20#include <linux/kernel.h>
diff --git a/drivers/char/watchdog/pcwd_usb.c b/drivers/char/watchdog/pcwd_usb.c
index 0d072bed501d..92bf8c1a0f0d 100644
--- a/drivers/char/watchdog/pcwd_usb.c
+++ b/drivers/char/watchdog/pcwd_usb.c
@@ -24,7 +24,6 @@
24 * http://www.berkprod.com/ or http://www.pcwatchdog.com/ 24 * http://www.berkprod.com/ or http://www.pcwatchdog.com/
25 */ 25 */
26 26
27#include <linux/config.h>
28#include <linux/kernel.h> 27#include <linux/kernel.h>
29#include <linux/errno.h> 28#include <linux/errno.h>
30#include <linux/init.h> 29#include <linux/init.h>
diff --git a/drivers/char/watchdog/s3c2410_wdt.c b/drivers/char/watchdog/s3c2410_wdt.c
index 1ea04e9b2b0b..f267dad26071 100644
--- a/drivers/char/watchdog/s3c2410_wdt.c
+++ b/drivers/char/watchdog/s3c2410_wdt.c
@@ -37,7 +37,6 @@
37 37
38#include <linux/module.h> 38#include <linux/module.h>
39#include <linux/moduleparam.h> 39#include <linux/moduleparam.h>
40#include <linux/config.h>
41#include <linux/types.h> 40#include <linux/types.h>
42#include <linux/timer.h> 41#include <linux/timer.h>
43#include <linux/miscdevice.h> 42#include <linux/miscdevice.h>
diff --git a/drivers/char/watchdog/sa1100_wdt.c b/drivers/char/watchdog/sa1100_wdt.c
index 522a9370db94..b22e95c5470c 100644
--- a/drivers/char/watchdog/sa1100_wdt.c
+++ b/drivers/char/watchdog/sa1100_wdt.c
@@ -17,7 +17,6 @@
17 * 17 *
18 * 27/11/2000 Initial release 18 * 27/11/2000 Initial release
19 */ 19 */
20#include <linux/config.h>
21#include <linux/module.h> 20#include <linux/module.h>
22#include <linux/moduleparam.h> 21#include <linux/moduleparam.h>
23#include <linux/types.h> 22#include <linux/types.h>
diff --git a/drivers/char/watchdog/sbc8360.c b/drivers/char/watchdog/sbc8360.c
index c6cbf808d8c2..6562aa910ace 100644
--- a/drivers/char/watchdog/sbc8360.c
+++ b/drivers/char/watchdog/sbc8360.c
@@ -36,7 +36,6 @@
36 * 36 *
37 */ 37 */
38 38
39#include <linux/config.h>
40#include <linux/module.h> 39#include <linux/module.h>
41#include <linux/types.h> 40#include <linux/types.h>
42#include <linux/miscdevice.h> 41#include <linux/miscdevice.h>
diff --git a/drivers/char/watchdog/sbc_epx_c3.c b/drivers/char/watchdog/sbc_epx_c3.c
index 837b1ec3ffe3..09867fadc720 100644
--- a/drivers/char/watchdog/sbc_epx_c3.c
+++ b/drivers/char/watchdog/sbc_epx_c3.c
@@ -15,7 +15,6 @@
15 15
16#include <linux/module.h> 16#include <linux/module.h>
17#include <linux/moduleparam.h> 17#include <linux/moduleparam.h>
18#include <linux/config.h>
19#include <linux/types.h> 18#include <linux/types.h>
20#include <linux/kernel.h> 19#include <linux/kernel.h>
21#include <linux/fs.h> 20#include <linux/fs.h>
diff --git a/drivers/char/watchdog/sc1200wdt.c b/drivers/char/watchdog/sc1200wdt.c
index 20b88f9b7be2..78ef6333c181 100644
--- a/drivers/char/watchdog/sc1200wdt.c
+++ b/drivers/char/watchdog/sc1200wdt.c
@@ -27,7 +27,6 @@
27 * 27 *
28 */ 28 */
29 29
30#include <linux/config.h>
31#include <linux/module.h> 30#include <linux/module.h>
32#include <linux/moduleparam.h> 31#include <linux/moduleparam.h>
33#include <linux/miscdevice.h> 32#include <linux/miscdevice.h>
diff --git a/drivers/char/watchdog/scx200_wdt.c b/drivers/char/watchdog/scx200_wdt.c
index b4a102a2d7e3..c0b4754e8de0 100644
--- a/drivers/char/watchdog/scx200_wdt.c
+++ b/drivers/char/watchdog/scx200_wdt.c
@@ -17,7 +17,6 @@
17 of any nature resulting due to the use of this software. This 17 of any nature resulting due to the use of this software. This
18 software is provided AS-IS with no warranties. */ 18 software is provided AS-IS with no warranties. */
19 19
20#include <linux/config.h>
21#include <linux/module.h> 20#include <linux/module.h>
22#include <linux/moduleparam.h> 21#include <linux/moduleparam.h>
23#include <linux/init.h> 22#include <linux/init.h>
diff --git a/drivers/char/watchdog/shwdt.c b/drivers/char/watchdog/shwdt.c
index 1f4cab55b2ef..803701b675c0 100644
--- a/drivers/char/watchdog/shwdt.c
+++ b/drivers/char/watchdog/shwdt.c
@@ -17,7 +17,6 @@
17 * Added expect close support, made emulated timeout runtime changeable 17 * Added expect close support, made emulated timeout runtime changeable
18 * general cleanups, add some ioctls 18 * general cleanups, add some ioctls
19 */ 19 */
20#include <linux/config.h>
21#include <linux/module.h> 20#include <linux/module.h>
22#include <linux/moduleparam.h> 21#include <linux/moduleparam.h>
23#include <linux/init.h> 22#include <linux/init.h>
diff --git a/drivers/char/watchdog/softdog.c b/drivers/char/watchdog/softdog.c
index a91edaf3a350..79ce5c655428 100644
--- a/drivers/char/watchdog/softdog.c
+++ b/drivers/char/watchdog/softdog.c
@@ -38,7 +38,6 @@
38 38
39#include <linux/module.h> 39#include <linux/module.h>
40#include <linux/moduleparam.h> 40#include <linux/moduleparam.h>
41#include <linux/config.h>
42#include <linux/types.h> 41#include <linux/types.h>
43#include <linux/timer.h> 42#include <linux/timer.h>
44#include <linux/miscdevice.h> 43#include <linux/miscdevice.h>
diff --git a/drivers/char/watchdog/w83977f_wdt.c b/drivers/char/watchdog/w83977f_wdt.c
index a7ff64c8921f..c31849e4c5c2 100644
--- a/drivers/char/watchdog/w83977f_wdt.c
+++ b/drivers/char/watchdog/w83977f_wdt.c
@@ -17,7 +17,6 @@
17 17
18#include <linux/module.h> 18#include <linux/module.h>
19#include <linux/moduleparam.h> 19#include <linux/moduleparam.h>
20#include <linux/config.h>
21#include <linux/types.h> 20#include <linux/types.h>
22#include <linux/kernel.h> 21#include <linux/kernel.h>
23#include <linux/fs.h> 22#include <linux/fs.h>
diff --git a/drivers/char/watchdog/wd501p.h b/drivers/char/watchdog/wd501p.h
index 84e60eb74337..a4504f40394d 100644
--- a/drivers/char/watchdog/wd501p.h
+++ b/drivers/char/watchdog/wd501p.h
@@ -19,7 +19,6 @@
19 * 19 *
20 */ 20 */
21 21
22#include <linux/config.h>
23 22
24#define WDT_COUNT0 (io+0) 23#define WDT_COUNT0 (io+0)
25#define WDT_COUNT1 (io+1) 24#define WDT_COUNT1 (io+1)
diff --git a/drivers/char/watchdog/wdrtas.c b/drivers/char/watchdog/wdrtas.c
index dacfe31caccf..3a462c34b92a 100644
--- a/drivers/char/watchdog/wdrtas.c
+++ b/drivers/char/watchdog/wdrtas.c
@@ -26,7 +26,6 @@
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27 */ 27 */
28 28
29#include <linux/config.h>
30#include <linux/fs.h> 29#include <linux/fs.h>
31#include <linux/init.h> 30#include <linux/init.h>
32#include <linux/kernel.h> 31#include <linux/kernel.h>
diff --git a/drivers/char/watchdog/wdt.c b/drivers/char/watchdog/wdt.c
index ec7e401228ee..a1d972c8f44c 100644
--- a/drivers/char/watchdog/wdt.c
+++ b/drivers/char/watchdog/wdt.c
@@ -31,7 +31,6 @@
31 * Matt Domsch : Added nowayout module option 31 * Matt Domsch : Added nowayout module option
32 */ 32 */
33 33
34#include <linux/config.h>
35#include <linux/interrupt.h> 34#include <linux/interrupt.h>
36#include <linux/module.h> 35#include <linux/module.h>
37#include <linux/moduleparam.h> 36#include <linux/moduleparam.h>
@@ -581,7 +580,7 @@ static int __init wdt_init(void)
581 goto out; 580 goto out;
582 } 581 }
583 582
584 ret = request_irq(irq, wdt_interrupt, SA_INTERRUPT, "wdt501p", NULL); 583 ret = request_irq(irq, wdt_interrupt, IRQF_DISABLED, "wdt501p", NULL);
585 if(ret) { 584 if(ret) {
586 printk(KERN_ERR "wdt: IRQ %d is not free.\n", irq); 585 printk(KERN_ERR "wdt: IRQ %d is not free.\n", irq);
587 goto outreg; 586 goto outreg;
diff --git a/drivers/char/watchdog/wdt977.c b/drivers/char/watchdog/wdt977.c
index 3843900e94c4..3cde2b9bb763 100644
--- a/drivers/char/watchdog/wdt977.c
+++ b/drivers/char/watchdog/wdt977.c
@@ -24,7 +24,6 @@
24 24
25#include <linux/module.h> 25#include <linux/module.h>
26#include <linux/moduleparam.h> 26#include <linux/moduleparam.h>
27#include <linux/config.h>
28#include <linux/types.h> 27#include <linux/types.h>
29#include <linux/kernel.h> 28#include <linux/kernel.h>
30#include <linux/fs.h> 29#include <linux/fs.h>
diff --git a/drivers/char/watchdog/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c
index 4b3311993d48..7529ecdbabae 100644
--- a/drivers/char/watchdog/wdt_pci.c
+++ b/drivers/char/watchdog/wdt_pci.c
@@ -35,7 +35,6 @@
35 * Matt Domsch : nowayout module option 35 * Matt Domsch : nowayout module option
36 */ 36 */
37 37
38#include <linux/config.h>
39#include <linux/interrupt.h> 38#include <linux/interrupt.h>
40#include <linux/module.h> 39#include <linux/module.h>
41#include <linux/moduleparam.h> 40#include <linux/moduleparam.h>
@@ -618,7 +617,7 @@ static int __devinit wdtpci_init_one (struct pci_dev *dev,
618 goto out_pci; 617 goto out_pci;
619 } 618 }
620 619
621 if (request_irq (irq, wdtpci_interrupt, SA_INTERRUPT | SA_SHIRQ, 620 if (request_irq (irq, wdtpci_interrupt, IRQF_DISABLED | IRQF_SHARED,
622 "wdt_pci", &wdtpci_miscdev)) { 621 "wdt_pci", &wdtpci_miscdev)) {
623 printk (KERN_ERR PFX "IRQ %d is not free\n", irq); 622 printk (KERN_ERR PFX "IRQ %d is not free\n", irq);
624 goto out_reg; 623 goto out_reg;