diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/acpi.h | 8 | ||||
-rw-r--r-- | include/linux/atmel_pdc.h | 36 | ||||
-rw-r--r-- | include/linux/debugfs.h | 10 | ||||
-rw-r--r-- | include/linux/device.h | 1 | ||||
-rw-r--r-- | include/linux/ide.h | 28 | ||||
-rw-r--r-- | include/linux/kexec.h | 1 | ||||
-rw-r--r-- | include/linux/kmod.h | 2 | ||||
-rw-r--r-- | include/linux/libata.h | 5 | ||||
-rw-r--r-- | include/linux/module.h | 53 | ||||
-rw-r--r-- | include/linux/moduleparam.h | 12 | ||||
-rw-r--r-- | include/linux/pci.h | 3 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 1 | ||||
-rw-r--r-- | include/linux/usb.h | 2 | ||||
-rw-r--r-- | include/linux/usb/cdc.h | 7 | ||||
-rw-r--r-- | include/linux/usb/ch9.h | 20 | ||||
-rw-r--r-- | include/linux/usb/serial.h | 6 | ||||
-rw-r--r-- | include/linux/usb_usual.h | 4 | ||||
-rw-r--r-- | include/linux/usbdevice_fs.h | 4 |
18 files changed, 162 insertions, 41 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 815f1fb4ce21..8bcfaa4c66ae 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -75,7 +75,7 @@ enum acpi_address_range_id { | |||
75 | 75 | ||
76 | typedef int (*acpi_table_handler) (struct acpi_table_header *table); | 76 | typedef int (*acpi_table_handler) (struct acpi_table_header *table); |
77 | 77 | ||
78 | typedef int (*acpi_madt_entry_handler) (struct acpi_subtable_header *header, const unsigned long end); | 78 | typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, const unsigned long end); |
79 | 79 | ||
80 | char * __acpi_map_table (unsigned long phys_addr, unsigned long size); | 80 | char * __acpi_map_table (unsigned long phys_addr, unsigned long size); |
81 | unsigned long acpi_find_rsdp (void); | 81 | unsigned long acpi_find_rsdp (void); |
@@ -85,8 +85,10 @@ int acpi_numa_init (void); | |||
85 | 85 | ||
86 | int acpi_table_init (void); | 86 | int acpi_table_init (void); |
87 | int acpi_table_parse (char *id, acpi_table_handler handler); | 87 | int acpi_table_parse (char *id, acpi_table_handler handler); |
88 | int acpi_table_parse_madt (enum acpi_madt_type id, acpi_madt_entry_handler handler, unsigned int max_entries); | 88 | int __init acpi_table_parse_entries(char *id, unsigned long table_size, |
89 | int acpi_table_parse_srat (enum acpi_srat_type id, acpi_madt_entry_handler handler, unsigned int max_entries); | 89 | int entry_id, acpi_table_entry_handler handler, unsigned int max_entries); |
90 | int acpi_table_parse_madt (enum acpi_madt_type id, acpi_table_entry_handler handler, unsigned int max_entries); | ||
91 | int acpi_table_parse_srat (enum acpi_srat_type id, acpi_table_entry_handler handler, unsigned int max_entries); | ||
90 | int acpi_parse_mcfg (struct acpi_table_header *header); | 92 | int acpi_parse_mcfg (struct acpi_table_header *header); |
91 | void acpi_table_print_madt_entry (struct acpi_subtable_header *madt); | 93 | void acpi_table_print_madt_entry (struct acpi_subtable_header *madt); |
92 | void acpi_table_print_srat_entry (struct acpi_subtable_header *srat); | 94 | void acpi_table_print_srat_entry (struct acpi_subtable_header *srat); |
diff --git a/include/linux/atmel_pdc.h b/include/linux/atmel_pdc.h new file mode 100644 index 000000000000..5058a31d2ce8 --- /dev/null +++ b/include/linux/atmel_pdc.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * include/linux/atmel_pdc.h | ||
3 | * | ||
4 | * Copyright (C) 2005 Ivan Kokshaysky | ||
5 | * Copyright (C) SAN People | ||
6 | * | ||
7 | * Peripheral Data Controller (PDC) registers. | ||
8 | * Based on AT91RM9200 datasheet revision E. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | */ | ||
15 | |||
16 | #ifndef ATMEL_PDC_H | ||
17 | #define ATMEL_PDC_H | ||
18 | |||
19 | #define ATMEL_PDC_RPR 0x100 /* Receive Pointer Register */ | ||
20 | #define ATMEL_PDC_RCR 0x104 /* Receive Counter Register */ | ||
21 | #define ATMEL_PDC_TPR 0x108 /* Transmit Pointer Register */ | ||
22 | #define ATMEL_PDC_TCR 0x10c /* Transmit Counter Register */ | ||
23 | #define ATMEL_PDC_RNPR 0x110 /* Receive Next Pointer Register */ | ||
24 | #define ATMEL_PDC_RNCR 0x114 /* Receive Next Counter Register */ | ||
25 | #define ATMEL_PDC_TNPR 0x118 /* Transmit Next Pointer Register */ | ||
26 | #define ATMEL_PDC_TNCR 0x11c /* Transmit Next Counter Register */ | ||
27 | |||
28 | #define ATMEL_PDC_PTCR 0x120 /* Transfer Control Register */ | ||
29 | #define ATMEL_PDC_RXTEN (1 << 0) /* Receiver Transfer Enable */ | ||
30 | #define ATMEL_PDC_RXTDIS (1 << 1) /* Receiver Transfer Disable */ | ||
31 | #define ATMEL_PDC_TXTEN (1 << 8) /* Transmitter Transfer Enable */ | ||
32 | #define ATMEL_PDC_TXTDIS (1 << 9) /* Transmitter Transfer Disable */ | ||
33 | |||
34 | #define ATMEL_PDC_PTSR 0x124 /* Transfer Status Register */ | ||
35 | |||
36 | #endif | ||
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h index 047567d34ca7..9fa0983d1aa8 100644 --- a/include/linux/debugfs.h +++ b/include/linux/debugfs.h | |||
@@ -33,6 +33,9 @@ struct dentry *debugfs_create_file(const char *name, mode_t mode, | |||
33 | 33 | ||
34 | struct dentry *debugfs_create_dir(const char *name, struct dentry *parent); | 34 | struct dentry *debugfs_create_dir(const char *name, struct dentry *parent); |
35 | 35 | ||
36 | struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent, | ||
37 | const char *dest); | ||
38 | |||
36 | void debugfs_remove(struct dentry *dentry); | 39 | void debugfs_remove(struct dentry *dentry); |
37 | 40 | ||
38 | struct dentry *debugfs_create_u8(const char *name, mode_t mode, | 41 | struct dentry *debugfs_create_u8(const char *name, mode_t mode, |
@@ -70,6 +73,13 @@ static inline struct dentry *debugfs_create_dir(const char *name, | |||
70 | return ERR_PTR(-ENODEV); | 73 | return ERR_PTR(-ENODEV); |
71 | } | 74 | } |
72 | 75 | ||
76 | static inline struct dentry *debugfs_create_symlink(const char *name, | ||
77 | struct dentry *parent, | ||
78 | const char *dest) | ||
79 | { | ||
80 | return ERR_PTR(-ENODEV); | ||
81 | } | ||
82 | |||
73 | static inline void debugfs_remove(struct dentry *dentry) | 83 | static inline void debugfs_remove(struct dentry *dentry) |
74 | { } | 84 | { } |
75 | 85 | ||
diff --git a/include/linux/device.h b/include/linux/device.h index 26e4692f2d1a..d5b1b7b3558e 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -2,6 +2,7 @@ | |||
2 | * device.h - generic, centralized driver model | 2 | * device.h - generic, centralized driver model |
3 | * | 3 | * |
4 | * Copyright (c) 2001-2003 Patrick Mochel <mochel@osdl.org> | 4 | * Copyright (c) 2001-2003 Patrick Mochel <mochel@osdl.org> |
5 | * Copyright (c) 2004-2007 Greg Kroah-Hartman <gregkh@suse.de> | ||
5 | * | 6 | * |
6 | * This file is released under the GPLv2 | 7 | * This file is released under the GPLv2 |
7 | * | 8 | * |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 04e0fa97ac99..79c028251c70 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -636,7 +636,6 @@ typedef struct ide_drive_s { | |||
636 | unsigned int bios_cyl; /* BIOS/fdisk/LILO number of cyls */ | 636 | unsigned int bios_cyl; /* BIOS/fdisk/LILO number of cyls */ |
637 | unsigned int cyl; /* "real" number of cyls */ | 637 | unsigned int cyl; /* "real" number of cyls */ |
638 | unsigned int drive_data; /* use by tuneproc/selectproc */ | 638 | unsigned int drive_data; /* use by tuneproc/selectproc */ |
639 | unsigned int usage; /* current "open()" count for drive */ | ||
640 | unsigned int failures; /* current failure count */ | 639 | unsigned int failures; /* current failure count */ |
641 | unsigned int max_failures; /* maximum allowed failure count */ | 640 | unsigned int max_failures; /* maximum allowed failure count */ |
642 | u64 probed_capacity;/* initial reported media capacity (ide-cd only currently) */ | 641 | u64 probed_capacity;/* initial reported media capacity (ide-cd only currently) */ |
@@ -736,23 +735,22 @@ typedef struct hwif_s { | |||
736 | int (*ide_dma_end)(ide_drive_t *drive); | 735 | int (*ide_dma_end)(ide_drive_t *drive); |
737 | int (*ide_dma_check)(ide_drive_t *drive); | 736 | int (*ide_dma_check)(ide_drive_t *drive); |
738 | int (*ide_dma_on)(ide_drive_t *drive); | 737 | int (*ide_dma_on)(ide_drive_t *drive); |
739 | int (*ide_dma_off_quietly)(ide_drive_t *drive); | 738 | void (*dma_off_quietly)(ide_drive_t *drive); |
740 | int (*ide_dma_test_irq)(ide_drive_t *drive); | 739 | int (*ide_dma_test_irq)(ide_drive_t *drive); |
741 | int (*ide_dma_host_on)(ide_drive_t *drive); | 740 | void (*ide_dma_clear_irq)(ide_drive_t *drive); |
742 | int (*ide_dma_host_off)(ide_drive_t *drive); | 741 | void (*dma_host_on)(ide_drive_t *drive); |
742 | void (*dma_host_off)(ide_drive_t *drive); | ||
743 | int (*ide_dma_lostirq)(ide_drive_t *drive); | 743 | int (*ide_dma_lostirq)(ide_drive_t *drive); |
744 | int (*ide_dma_timeout)(ide_drive_t *drive); | 744 | int (*ide_dma_timeout)(ide_drive_t *drive); |
745 | 745 | ||
746 | void (*OUTB)(u8 addr, unsigned long port); | 746 | void (*OUTB)(u8 addr, unsigned long port); |
747 | void (*OUTBSYNC)(ide_drive_t *drive, u8 addr, unsigned long port); | 747 | void (*OUTBSYNC)(ide_drive_t *drive, u8 addr, unsigned long port); |
748 | void (*OUTW)(u16 addr, unsigned long port); | 748 | void (*OUTW)(u16 addr, unsigned long port); |
749 | void (*OUTL)(u32 addr, unsigned long port); | ||
750 | void (*OUTSW)(unsigned long port, void *addr, u32 count); | 749 | void (*OUTSW)(unsigned long port, void *addr, u32 count); |
751 | void (*OUTSL)(unsigned long port, void *addr, u32 count); | 750 | void (*OUTSL)(unsigned long port, void *addr, u32 count); |
752 | 751 | ||
753 | u8 (*INB)(unsigned long port); | 752 | u8 (*INB)(unsigned long port); |
754 | u16 (*INW)(unsigned long port); | 753 | u16 (*INW)(unsigned long port); |
755 | u32 (*INL)(unsigned long port); | ||
756 | void (*INSW)(unsigned long port, void *addr, u32 count); | 754 | void (*INSW)(unsigned long port, void *addr, u32 count); |
757 | void (*INSL)(unsigned long port, void *addr, u32 count); | 755 | void (*INSL)(unsigned long port, void *addr, u32 count); |
758 | 756 | ||
@@ -774,7 +772,6 @@ typedef struct hwif_s { | |||
774 | unsigned int cursg; | 772 | unsigned int cursg; |
775 | unsigned int cursg_ofs; | 773 | unsigned int cursg_ofs; |
776 | 774 | ||
777 | int mmio; /* hosts iomio (0) or custom (2) select */ | ||
778 | int rqsize; /* max sectors per request */ | 775 | int rqsize; /* max sectors per request */ |
779 | int irq; /* our irq number */ | 776 | int irq; /* our irq number */ |
780 | 777 | ||
@@ -802,12 +799,11 @@ typedef struct hwif_s { | |||
802 | unsigned udma_four : 1; /* 1=ATA-66 capable, 0=default */ | 799 | unsigned udma_four : 1; /* 1=ATA-66 capable, 0=default */ |
803 | unsigned no_lba48 : 1; /* 1 = cannot do LBA48 */ | 800 | unsigned no_lba48 : 1; /* 1 = cannot do LBA48 */ |
804 | unsigned no_lba48_dma : 1; /* 1 = cannot do LBA48 DMA */ | 801 | unsigned no_lba48_dma : 1; /* 1 = cannot do LBA48 DMA */ |
805 | unsigned no_dsc : 1; /* 0 default, 1 dsc_overlap disabled */ | ||
806 | unsigned auto_poll : 1; /* supports nop auto-poll */ | 802 | unsigned auto_poll : 1; /* supports nop auto-poll */ |
807 | unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */ | 803 | unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */ |
808 | unsigned no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */ | 804 | unsigned no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */ |
809 | unsigned err_stops_fifo : 1; /* 1=data FIFO is cleared by an error */ | 805 | unsigned err_stops_fifo : 1; /* 1=data FIFO is cleared by an error */ |
810 | unsigned atapi_irq_bogon : 1; /* Generates spurious DMA interrupts in PIO mode */ | 806 | unsigned mmio : 1; /* host uses MMIO */ |
811 | 807 | ||
812 | struct device gendev; | 808 | struct device gendev; |
813 | struct completion gendev_rel_comp; /* To deal with device release() */ | 809 | struct completion gendev_rel_comp; /* To deal with device release() */ |
@@ -1280,8 +1276,9 @@ int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); | |||
1280 | int __ide_dma_bad_drive(ide_drive_t *); | 1276 | int __ide_dma_bad_drive(ide_drive_t *); |
1281 | int __ide_dma_good_drive(ide_drive_t *); | 1277 | int __ide_dma_good_drive(ide_drive_t *); |
1282 | int ide_use_dma(ide_drive_t *); | 1278 | int ide_use_dma(ide_drive_t *); |
1283 | int __ide_dma_off(ide_drive_t *); | 1279 | void ide_dma_off(ide_drive_t *); |
1284 | void ide_dma_verbose(ide_drive_t *); | 1280 | void ide_dma_verbose(ide_drive_t *); |
1281 | int ide_set_dma(ide_drive_t *); | ||
1285 | ide_startstop_t ide_dma_intr(ide_drive_t *); | 1282 | ide_startstop_t ide_dma_intr(ide_drive_t *); |
1286 | 1283 | ||
1287 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI | 1284 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI |
@@ -1291,9 +1288,9 @@ extern void ide_destroy_dmatable(ide_drive_t *); | |||
1291 | extern int ide_release_dma(ide_hwif_t *); | 1288 | extern int ide_release_dma(ide_hwif_t *); |
1292 | extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int); | 1289 | extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int); |
1293 | 1290 | ||
1294 | extern int __ide_dma_host_off(ide_drive_t *); | 1291 | void ide_dma_host_off(ide_drive_t *); |
1295 | extern int __ide_dma_off_quietly(ide_drive_t *); | 1292 | void ide_dma_off_quietly(ide_drive_t *); |
1296 | extern int __ide_dma_host_on(ide_drive_t *); | 1293 | void ide_dma_host_on(ide_drive_t *); |
1297 | extern int __ide_dma_on(ide_drive_t *); | 1294 | extern int __ide_dma_on(ide_drive_t *); |
1298 | extern int __ide_dma_check(ide_drive_t *); | 1295 | extern int __ide_dma_check(ide_drive_t *); |
1299 | extern int ide_dma_setup(ide_drive_t *); | 1296 | extern int ide_dma_setup(ide_drive_t *); |
@@ -1305,8 +1302,9 @@ extern int __ide_dma_timeout(ide_drive_t *); | |||
1305 | 1302 | ||
1306 | #else | 1303 | #else |
1307 | static inline int ide_use_dma(ide_drive_t *drive) { return 0; } | 1304 | static inline int ide_use_dma(ide_drive_t *drive) { return 0; } |
1308 | static inline int __ide_dma_off(ide_drive_t *drive) { return 0; } | 1305 | static inline void ide_dma_off(ide_drive_t *drive) { ; } |
1309 | static inline void ide_dma_verbose(ide_drive_t *drive) { ; } | 1306 | static inline void ide_dma_verbose(ide_drive_t *drive) { ; } |
1307 | static inline int ide_set_dma(ide_drive_t *drive) { return 1; } | ||
1310 | #endif /* CONFIG_BLK_DEV_IDEDMA */ | 1308 | #endif /* CONFIG_BLK_DEV_IDEDMA */ |
1311 | 1309 | ||
1312 | #ifndef CONFIG_BLK_DEV_IDEDMA_PCI | 1310 | #ifndef CONFIG_BLK_DEV_IDEDMA_PCI |
@@ -1354,6 +1352,7 @@ extern int ide_dma_enable(ide_drive_t *drive); | |||
1354 | extern char *ide_xfer_verbose(u8 xfer_rate); | 1352 | extern char *ide_xfer_verbose(u8 xfer_rate); |
1355 | extern void ide_toggle_bounce(ide_drive_t *drive, int on); | 1353 | extern void ide_toggle_bounce(ide_drive_t *drive, int on); |
1356 | extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate); | 1354 | extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate); |
1355 | int ide_use_fast_pio(ide_drive_t *); | ||
1357 | 1356 | ||
1358 | u8 ide_dump_status(ide_drive_t *, const char *, u8); | 1357 | u8 ide_dump_status(ide_drive_t *, const char *, u8); |
1359 | 1358 | ||
@@ -1367,7 +1366,6 @@ typedef struct ide_pio_data_s { | |||
1367 | u8 pio_mode; | 1366 | u8 pio_mode; |
1368 | u8 use_iordy; | 1367 | u8 use_iordy; |
1369 | u8 overridden; | 1368 | u8 overridden; |
1370 | u8 blacklisted; | ||
1371 | unsigned int cycle_time; | 1369 | unsigned int cycle_time; |
1372 | } ide_pio_data_t; | 1370 | } ide_pio_data_t; |
1373 | 1371 | ||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index d02425cdd801..696e5ec63f77 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
@@ -125,6 +125,7 @@ extern struct kimage *kexec_crash_image; | |||
125 | #define KEXEC_ARCH_PPC (20 << 16) | 125 | #define KEXEC_ARCH_PPC (20 << 16) |
126 | #define KEXEC_ARCH_PPC64 (21 << 16) | 126 | #define KEXEC_ARCH_PPC64 (21 << 16) |
127 | #define KEXEC_ARCH_IA_64 (50 << 16) | 127 | #define KEXEC_ARCH_IA_64 (50 << 16) |
128 | #define KEXEC_ARCH_ARM (40 << 16) | ||
128 | #define KEXEC_ARCH_S390 (22 << 16) | 129 | #define KEXEC_ARCH_S390 (22 << 16) |
129 | #define KEXEC_ARCH_SH (42 << 16) | 130 | #define KEXEC_ARCH_SH (42 << 16) |
130 | #define KEXEC_ARCH_MIPS_LE (10 << 16) | 131 | #define KEXEC_ARCH_MIPS_LE (10 << 16) |
diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 10f505c8431d..cc8e674ae27a 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h | |||
@@ -28,8 +28,10 @@ | |||
28 | #ifdef CONFIG_KMOD | 28 | #ifdef CONFIG_KMOD |
29 | /* modprobe exit status on success, -ve on error. Return value | 29 | /* modprobe exit status on success, -ve on error. Return value |
30 | * usually useless though. */ | 30 | * usually useless though. */ |
31 | extern void kmod_sysfs_init(void); | ||
31 | extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2))); | 32 | extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2))); |
32 | #else | 33 | #else |
34 | static inline void kmod_sysfs_init(void) {}; | ||
33 | static inline int request_module(const char * name, ...) { return -ENOSYS; } | 35 | static inline int request_module(const char * name, ...) { return -ENOSYS; } |
34 | #endif | 36 | #endif |
35 | 37 | ||
diff --git a/include/linux/libata.h b/include/linux/libata.h index b870b20df43c..86762a9f52ba 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/ata.h> | 35 | #include <linux/ata.h> |
36 | #include <linux/workqueue.h> | 36 | #include <linux/workqueue.h> |
37 | #include <scsi/scsi_host.h> | 37 | #include <scsi/scsi_host.h> |
38 | #include <linux/acpi.h> | ||
38 | 39 | ||
39 | /* | 40 | /* |
40 | * Define if arch has non-standard setup. This is a _PCI_ standard | 41 | * Define if arch has non-standard setup. This is a _PCI_ standard |
@@ -495,6 +496,10 @@ struct ata_device { | |||
495 | /* error history */ | 496 | /* error history */ |
496 | struct ata_ering ering; | 497 | struct ata_ering ering; |
497 | unsigned int horkage; /* List of broken features */ | 498 | unsigned int horkage; /* List of broken features */ |
499 | #ifdef CONFIG_SATA_ACPI | ||
500 | /* ACPI objects info */ | ||
501 | acpi_handle obj_handle; | ||
502 | #endif | ||
498 | }; | 503 | }; |
499 | 504 | ||
500 | /* Offset into struct ata_device. Fields above it are maintained | 505 | /* Offset into struct ata_device. Fields above it are maintained |
diff --git a/include/linux/module.h b/include/linux/module.h index 419d3ef293dd..95679eb8571e 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
@@ -76,8 +76,6 @@ void sort_extable(struct exception_table_entry *start, | |||
76 | struct exception_table_entry *finish); | 76 | struct exception_table_entry *finish); |
77 | void sort_main_extable(void); | 77 | void sort_main_extable(void); |
78 | 78 | ||
79 | extern struct subsystem module_subsys; | ||
80 | |||
81 | #ifdef MODULE | 79 | #ifdef MODULE |
82 | #define MODULE_GENERIC_TABLE(gtype,name) \ | 80 | #define MODULE_GENERIC_TABLE(gtype,name) \ |
83 | extern const struct gtype##_id __mod_##gtype##_table \ | 81 | extern const struct gtype##_id __mod_##gtype##_table \ |
@@ -467,10 +465,6 @@ int unregister_module_notifier(struct notifier_block * nb); | |||
467 | 465 | ||
468 | extern void print_modules(void); | 466 | extern void print_modules(void); |
469 | 467 | ||
470 | struct device_driver; | ||
471 | void module_add_driver(struct module *, struct device_driver *); | ||
472 | void module_remove_driver(struct device_driver *); | ||
473 | |||
474 | #else /* !CONFIG_MODULES... */ | 468 | #else /* !CONFIG_MODULES... */ |
475 | #define EXPORT_SYMBOL(sym) | 469 | #define EXPORT_SYMBOL(sym) |
476 | #define EXPORT_SYMBOL_GPL(sym) | 470 | #define EXPORT_SYMBOL_GPL(sym) |
@@ -568,18 +562,59 @@ static inline void print_modules(void) | |||
568 | { | 562 | { |
569 | } | 563 | } |
570 | 564 | ||
565 | #endif /* CONFIG_MODULES */ | ||
566 | |||
571 | struct device_driver; | 567 | struct device_driver; |
568 | #ifdef CONFIG_SYSFS | ||
572 | struct module; | 569 | struct module; |
573 | 570 | ||
574 | static inline void module_add_driver(struct module *module, struct device_driver *driver) | 571 | extern struct subsystem module_subsys; |
572 | |||
573 | int mod_sysfs_init(struct module *mod); | ||
574 | int mod_sysfs_setup(struct module *mod, | ||
575 | struct kernel_param *kparam, | ||
576 | unsigned int num_params); | ||
577 | int module_add_modinfo_attrs(struct module *mod); | ||
578 | void module_remove_modinfo_attrs(struct module *mod); | ||
579 | |||
580 | #else /* !CONFIG_SYSFS */ | ||
581 | |||
582 | static inline int mod_sysfs_init(struct module *mod) | ||
575 | { | 583 | { |
584 | return 0; | ||
576 | } | 585 | } |
577 | 586 | ||
578 | static inline void module_remove_driver(struct device_driver *driver) | 587 | static inline int mod_sysfs_setup(struct module *mod, |
588 | struct kernel_param *kparam, | ||
589 | unsigned int num_params) | ||
579 | { | 590 | { |
591 | return 0; | ||
580 | } | 592 | } |
581 | 593 | ||
582 | #endif /* CONFIG_MODULES */ | 594 | static inline int module_add_modinfo_attrs(struct module *mod) |
595 | { | ||
596 | return 0; | ||
597 | } | ||
598 | |||
599 | static inline void module_remove_modinfo_attrs(struct module *mod) | ||
600 | { } | ||
601 | |||
602 | #endif /* CONFIG_SYSFS */ | ||
603 | |||
604 | #if defined(CONFIG_SYSFS) && defined(CONFIG_MODULES) | ||
605 | |||
606 | void module_add_driver(struct module *mod, struct device_driver *drv); | ||
607 | void module_remove_driver(struct device_driver *drv); | ||
608 | |||
609 | #else /* not both CONFIG_SYSFS && CONFIG_MODULES */ | ||
610 | |||
611 | static inline void module_add_driver(struct module *mod, struct device_driver *drv) | ||
612 | { } | ||
613 | |||
614 | static inline void module_remove_driver(struct device_driver *drv) | ||
615 | { } | ||
616 | |||
617 | #endif | ||
583 | 618 | ||
584 | #define symbol_request(x) try_then_request_module(symbol_get(x), "symbol:" #x) | 619 | #define symbol_request(x) try_then_request_module(symbol_get(x), "symbol:" #x) |
585 | 620 | ||
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 4a189dadb160..b26b2e5fedc7 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h | |||
@@ -169,10 +169,22 @@ extern int param_get_string(char *buffer, struct kernel_param *kp); | |||
169 | 169 | ||
170 | struct module; | 170 | struct module; |
171 | 171 | ||
172 | #if defined(CONFIG_SYSFS) && defined(CONFIG_MODULES) | ||
172 | extern int module_param_sysfs_setup(struct module *mod, | 173 | extern int module_param_sysfs_setup(struct module *mod, |
173 | struct kernel_param *kparam, | 174 | struct kernel_param *kparam, |
174 | unsigned int num_params); | 175 | unsigned int num_params); |
175 | 176 | ||
176 | extern void module_param_sysfs_remove(struct module *mod); | 177 | extern void module_param_sysfs_remove(struct module *mod); |
178 | #else | ||
179 | static inline int module_param_sysfs_setup(struct module *mod, | ||
180 | struct kernel_param *kparam, | ||
181 | unsigned int num_params) | ||
182 | { | ||
183 | return 0; | ||
184 | } | ||
185 | |||
186 | static inline void module_param_sysfs_remove(struct module *mod) | ||
187 | { } | ||
188 | #endif | ||
177 | 189 | ||
178 | #endif /* _LINUX_MODULE_PARAMS_H */ | 190 | #endif /* _LINUX_MODULE_PARAMS_H */ |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 98c8765a488e..2c4b6842dfb9 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -854,5 +854,8 @@ extern int pci_pci_problems; | |||
854 | #define PCIPCI_ALIMAGIK 32 /* Need low latency setting */ | 854 | #define PCIPCI_ALIMAGIK 32 /* Need low latency setting */ |
855 | #define PCIAGP_FAIL 64 /* No PCI to AGP DMA */ | 855 | #define PCIAGP_FAIL 64 /* No PCI to AGP DMA */ |
856 | 856 | ||
857 | extern unsigned long pci_cardbus_io_size; | ||
858 | extern unsigned long pci_cardbus_mem_size; | ||
859 | |||
857 | #endif /* __KERNEL__ */ | 860 | #endif /* __KERNEL__ */ |
858 | #endif /* LINUX_PCI_H */ | 861 | #endif /* LINUX_PCI_H */ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 182a96f77c84..600308fdf9ce 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2089,6 +2089,7 @@ | |||
2089 | #define PCI_VENDOR_ID_PASEMI 0x1959 | 2089 | #define PCI_VENDOR_ID_PASEMI 0x1959 |
2090 | 2090 | ||
2091 | #define PCI_VENDOR_ID_ATTANSIC 0x1969 | 2091 | #define PCI_VENDOR_ID_ATTANSIC 0x1969 |
2092 | #define PCI_DEVICE_ID_ATTANSIC_L1 0x1048 | ||
2092 | 2093 | ||
2093 | #define PCI_VENDOR_ID_JMICRON 0x197B | 2094 | #define PCI_VENDOR_ID_JMICRON 0x197B |
2094 | #define PCI_DEVICE_ID_JMICRON_JMB360 0x2360 | 2095 | #define PCI_DEVICE_ID_JMICRON_JMB360 0x2360 |
diff --git a/include/linux/usb.h b/include/linux/usb.h index b5c226a87ed8..a8e8d1ecebb1 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -935,7 +935,7 @@ struct usb_iso_packet_descriptor { | |||
935 | unsigned int offset; | 935 | unsigned int offset; |
936 | unsigned int length; /* expected length */ | 936 | unsigned int length; /* expected length */ |
937 | unsigned int actual_length; | 937 | unsigned int actual_length; |
938 | unsigned int status; | 938 | int status; |
939 | }; | 939 | }; |
940 | 940 | ||
941 | struct urb; | 941 | struct urb; |
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h index ba617c372455..956edf3bbecb 100644 --- a/include/linux/usb/cdc.h +++ b/include/linux/usb/cdc.h | |||
@@ -73,6 +73,13 @@ struct usb_cdc_acm_descriptor { | |||
73 | __u8 bmCapabilities; | 73 | __u8 bmCapabilities; |
74 | } __attribute__ ((packed)); | 74 | } __attribute__ ((packed)); |
75 | 75 | ||
76 | /* capabilities from 5.2.3.3 */ | ||
77 | |||
78 | #define USB_CDC_COMM_FEATURE 0x01 | ||
79 | #define USB_CDC_CAP_LINE 0x02 | ||
80 | #define USB_CDC_CAP_BRK 0x04 | ||
81 | #define USB_CDC_CAP_NOTIFY 0x08 | ||
82 | |||
76 | /* "Union Functional Descriptor" from CDC spec 5.2.3.8 */ | 83 | /* "Union Functional Descriptor" from CDC spec 5.2.3.8 */ |
77 | struct usb_cdc_union_desc { | 84 | struct usb_cdc_union_desc { |
78 | __u8 bLength; | 85 | __u8 bLength; |
diff --git a/include/linux/usb/ch9.h b/include/linux/usb/ch9.h index ae7833749fa2..245c72531228 100644 --- a/include/linux/usb/ch9.h +++ b/include/linux/usb/ch9.h | |||
@@ -367,7 +367,7 @@ struct usb_debug_descriptor { | |||
367 | /* bulk endpoints with 8 byte maxpacket */ | 367 | /* bulk endpoints with 8 byte maxpacket */ |
368 | __u8 bDebugInEndpoint; | 368 | __u8 bDebugInEndpoint; |
369 | __u8 bDebugOutEndpoint; | 369 | __u8 bDebugOutEndpoint; |
370 | }; | 370 | } __attribute__((packed)); |
371 | 371 | ||
372 | /*-------------------------------------------------------------------------*/ | 372 | /*-------------------------------------------------------------------------*/ |
373 | 373 | ||
@@ -396,7 +396,7 @@ struct usb_security_descriptor { | |||
396 | 396 | ||
397 | __le16 wTotalLength; | 397 | __le16 wTotalLength; |
398 | __u8 bNumEncryptionTypes; | 398 | __u8 bNumEncryptionTypes; |
399 | }; | 399 | } __attribute__((packed)); |
400 | 400 | ||
401 | /*-------------------------------------------------------------------------*/ | 401 | /*-------------------------------------------------------------------------*/ |
402 | 402 | ||
@@ -410,7 +410,7 @@ struct usb_key_descriptor { | |||
410 | __u8 tTKID[3]; | 410 | __u8 tTKID[3]; |
411 | __u8 bReserved; | 411 | __u8 bReserved; |
412 | __u8 bKeyData[0]; | 412 | __u8 bKeyData[0]; |
413 | }; | 413 | } __attribute__((packed)); |
414 | 414 | ||
415 | /*-------------------------------------------------------------------------*/ | 415 | /*-------------------------------------------------------------------------*/ |
416 | 416 | ||
@@ -426,7 +426,7 @@ struct usb_encryption_descriptor { | |||
426 | #define USB_ENC_TYPE_RSA_1 3 /* rsa3072/sha1 auth */ | 426 | #define USB_ENC_TYPE_RSA_1 3 /* rsa3072/sha1 auth */ |
427 | __u8 bEncryptionValue; /* use in SET_ENCRYPTION */ | 427 | __u8 bEncryptionValue; /* use in SET_ENCRYPTION */ |
428 | __u8 bAuthKeyIndex; | 428 | __u8 bAuthKeyIndex; |
429 | }; | 429 | } __attribute__((packed)); |
430 | 430 | ||
431 | 431 | ||
432 | /*-------------------------------------------------------------------------*/ | 432 | /*-------------------------------------------------------------------------*/ |
@@ -438,7 +438,7 @@ struct usb_bos_descriptor { | |||
438 | 438 | ||
439 | __le16 wTotalLength; | 439 | __le16 wTotalLength; |
440 | __u8 bNumDeviceCaps; | 440 | __u8 bNumDeviceCaps; |
441 | }; | 441 | } __attribute__((packed)); |
442 | 442 | ||
443 | /*-------------------------------------------------------------------------*/ | 443 | /*-------------------------------------------------------------------------*/ |
444 | 444 | ||
@@ -447,7 +447,7 @@ struct usb_dev_cap_header { | |||
447 | __u8 bLength; | 447 | __u8 bLength; |
448 | __u8 bDescriptorType; | 448 | __u8 bDescriptorType; |
449 | __u8 bDevCapabilityType; | 449 | __u8 bDevCapabilityType; |
450 | }; | 450 | } __attribute__((packed)); |
451 | 451 | ||
452 | #define USB_CAP_TYPE_WIRELESS_USB 1 | 452 | #define USB_CAP_TYPE_WIRELESS_USB 1 |
453 | 453 | ||
@@ -475,7 +475,7 @@ struct usb_wireless_cap_descriptor { /* Ultra Wide Band */ | |||
475 | __u8 bmFFITXPowerInfo; /* FFI power levels */ | 475 | __u8 bmFFITXPowerInfo; /* FFI power levels */ |
476 | __le16 bmBandGroup; | 476 | __le16 bmBandGroup; |
477 | __u8 bReserved; | 477 | __u8 bReserved; |
478 | }; | 478 | } __attribute__((packed)); |
479 | 479 | ||
480 | /*-------------------------------------------------------------------------*/ | 480 | /*-------------------------------------------------------------------------*/ |
481 | 481 | ||
@@ -496,7 +496,7 @@ struct usb_wireless_ep_comp_descriptor { | |||
496 | #define USB_ENDPOINT_SWITCH_NO 0 | 496 | #define USB_ENDPOINT_SWITCH_NO 0 |
497 | #define USB_ENDPOINT_SWITCH_SWITCH 1 | 497 | #define USB_ENDPOINT_SWITCH_SWITCH 1 |
498 | #define USB_ENDPOINT_SWITCH_SCALE 2 | 498 | #define USB_ENDPOINT_SWITCH_SCALE 2 |
499 | }; | 499 | } __attribute__((packed)); |
500 | 500 | ||
501 | /*-------------------------------------------------------------------------*/ | 501 | /*-------------------------------------------------------------------------*/ |
502 | 502 | ||
@@ -512,7 +512,7 @@ struct usb_handshake { | |||
512 | __u8 CDID[16]; | 512 | __u8 CDID[16]; |
513 | __u8 nonce[16]; | 513 | __u8 nonce[16]; |
514 | __u8 MIC[8]; | 514 | __u8 MIC[8]; |
515 | }; | 515 | } __attribute__((packed)); |
516 | 516 | ||
517 | /*-------------------------------------------------------------------------*/ | 517 | /*-------------------------------------------------------------------------*/ |
518 | 518 | ||
@@ -524,7 +524,7 @@ struct usb_connection_context { | |||
524 | __u8 CHID[16]; /* persistent host id */ | 524 | __u8 CHID[16]; /* persistent host id */ |
525 | __u8 CDID[16]; /* device id (unique w/in host context) */ | 525 | __u8 CDID[16]; /* device id (unique w/in host context) */ |
526 | __u8 CK[16]; /* connection key */ | 526 | __u8 CK[16]; /* connection key */ |
527 | }; | 527 | } __attribute__((packed)); |
528 | 528 | ||
529 | /*-------------------------------------------------------------------------*/ | 529 | /*-------------------------------------------------------------------------*/ |
530 | 530 | ||
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index 33dcd8576696..32acbae28d24 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h | |||
@@ -54,6 +54,8 @@ | |||
54 | * @write_wait: a wait_queue_head_t used by the port. | 54 | * @write_wait: a wait_queue_head_t used by the port. |
55 | * @work: work queue entry for the line discipline waking up. | 55 | * @work: work queue entry for the line discipline waking up. |
56 | * @open_count: number of times this port has been opened. | 56 | * @open_count: number of times this port has been opened. |
57 | * @throttled: nonzero if the read urb is inactive to throttle the device | ||
58 | * @throttle_req: nonzero if the tty wants to throttle us | ||
57 | * | 59 | * |
58 | * This structure is used by the usb-serial core and drivers for the specific | 60 | * This structure is used by the usb-serial core and drivers for the specific |
59 | * ports of a device. | 61 | * ports of a device. |
@@ -88,6 +90,8 @@ struct usb_serial_port { | |||
88 | wait_queue_head_t write_wait; | 90 | wait_queue_head_t write_wait; |
89 | struct work_struct work; | 91 | struct work_struct work; |
90 | int open_count; | 92 | int open_count; |
93 | char throttled; | ||
94 | char throttle_req; | ||
91 | struct device dev; | 95 | struct device dev; |
92 | }; | 96 | }; |
93 | #define to_usb_serial_port(d) container_of(d, struct usb_serial_port, dev) | 97 | #define to_usb_serial_port(d) container_of(d, struct usb_serial_port, dev) |
@@ -269,6 +273,8 @@ extern int usb_serial_generic_write_room (struct usb_serial_port *port); | |||
269 | extern int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port); | 273 | extern int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port); |
270 | extern void usb_serial_generic_read_bulk_callback (struct urb *urb); | 274 | extern void usb_serial_generic_read_bulk_callback (struct urb *urb); |
271 | extern void usb_serial_generic_write_bulk_callback (struct urb *urb); | 275 | extern void usb_serial_generic_write_bulk_callback (struct urb *urb); |
276 | extern void usb_serial_generic_throttle (struct usb_serial_port *port); | ||
277 | extern void usb_serial_generic_unthrottle (struct usb_serial_port *port); | ||
272 | extern void usb_serial_generic_shutdown (struct usb_serial *serial); | 278 | extern void usb_serial_generic_shutdown (struct usb_serial *serial); |
273 | extern int usb_serial_generic_register (int debug); | 279 | extern int usb_serial_generic_register (int debug); |
274 | extern void usb_serial_generic_deregister (void); | 280 | extern void usb_serial_generic_deregister (void); |
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h index 2ae76fe52ff7..1b792b9286ba 100644 --- a/include/linux/usb_usual.h +++ b/include/linux/usb_usual.h | |||
@@ -46,7 +46,9 @@ | |||
46 | US_FLAG(MAX_SECTORS_64, 0x00000400) \ | 46 | US_FLAG(MAX_SECTORS_64, 0x00000400) \ |
47 | /* Sets max_sectors to 64 */ \ | 47 | /* Sets max_sectors to 64 */ \ |
48 | US_FLAG(IGNORE_DEVICE, 0x00000800) \ | 48 | US_FLAG(IGNORE_DEVICE, 0x00000800) \ |
49 | /* Don't claim device */ | 49 | /* Don't claim device */ \ |
50 | US_FLAG(CAPACITY_HEURISTICS, 0x00001000) \ | ||
51 | /* sometimes sizes is too big */ | ||
50 | 52 | ||
51 | #define US_FLAG(name, value) US_FL_##name = value , | 53 | #define US_FLAG(name, value) US_FL_##name = value , |
52 | enum { US_DO_ALL_FLAGS }; | 54 | enum { US_DO_ALL_FLAGS }; |
diff --git a/include/linux/usbdevice_fs.h b/include/linux/usbdevice_fs.h index 617d8a1c59ae..342dd5a7e8bb 100644 --- a/include/linux/usbdevice_fs.h +++ b/include/linux/usbdevice_fs.h | |||
@@ -159,9 +159,9 @@ struct usbdevfs_ioctl32 { | |||
159 | #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) | 159 | #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) |
160 | #define USBDEVFS_DISCARDURB _IO('U', 11) | 160 | #define USBDEVFS_DISCARDURB _IO('U', 11) |
161 | #define USBDEVFS_REAPURB _IOW('U', 12, void *) | 161 | #define USBDEVFS_REAPURB _IOW('U', 12, void *) |
162 | #define USBDEVFS_REAPURB32 _IOW('U', 12, u32) | 162 | #define USBDEVFS_REAPURB32 _IOW('U', 12, __u32) |
163 | #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) | 163 | #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) |
164 | #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, u32) | 164 | #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32) |
165 | #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) | 165 | #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) |
166 | #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) | 166 | #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) |
167 | #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) | 167 | #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) |