aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/acpi.h8
-rw-r--r--include/linux/atmel_pdc.h36
-rw-r--r--include/linux/debugfs.h10
-rw-r--r--include/linux/device.h1
-rw-r--r--include/linux/ide.h28
-rw-r--r--include/linux/kexec.h1
-rw-r--r--include/linux/kmod.h2
-rw-r--r--include/linux/libata.h5
-rw-r--r--include/linux/module.h53
-rw-r--r--include/linux/moduleparam.h12
-rw-r--r--include/linux/pci.h3
-rw-r--r--include/linux/pci_ids.h1
-rw-r--r--include/linux/usb.h2
-rw-r--r--include/linux/usb/cdc.h7
-rw-r--r--include/linux/usb/ch9.h20
-rw-r--r--include/linux/usb/serial.h6
-rw-r--r--include/linux/usb_usual.h4
-rw-r--r--include/linux/usbdevice_fs.h4
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
76typedef int (*acpi_table_handler) (struct acpi_table_header *table); 76typedef int (*acpi_table_handler) (struct acpi_table_header *table);
77 77
78typedef int (*acpi_madt_entry_handler) (struct acpi_subtable_header *header, const unsigned long end); 78typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, const unsigned long end);
79 79
80char * __acpi_map_table (unsigned long phys_addr, unsigned long size); 80char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
81unsigned long acpi_find_rsdp (void); 81unsigned long acpi_find_rsdp (void);
@@ -85,8 +85,10 @@ int acpi_numa_init (void);
85 85
86int acpi_table_init (void); 86int acpi_table_init (void);
87int acpi_table_parse (char *id, acpi_table_handler handler); 87int acpi_table_parse (char *id, acpi_table_handler handler);
88int acpi_table_parse_madt (enum acpi_madt_type id, acpi_madt_entry_handler handler, unsigned int max_entries); 88int __init acpi_table_parse_entries(char *id, unsigned long table_size,
89int 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);
90int acpi_table_parse_madt (enum acpi_madt_type id, acpi_table_entry_handler handler, unsigned int max_entries);
91int acpi_table_parse_srat (enum acpi_srat_type id, acpi_table_entry_handler handler, unsigned int max_entries);
90int acpi_parse_mcfg (struct acpi_table_header *header); 92int acpi_parse_mcfg (struct acpi_table_header *header);
91void acpi_table_print_madt_entry (struct acpi_subtable_header *madt); 93void acpi_table_print_madt_entry (struct acpi_subtable_header *madt);
92void acpi_table_print_srat_entry (struct acpi_subtable_header *srat); 94void 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
34struct dentry *debugfs_create_dir(const char *name, struct dentry *parent); 34struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);
35 35
36struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
37 const char *dest);
38
36void debugfs_remove(struct dentry *dentry); 39void debugfs_remove(struct dentry *dentry);
37 40
38struct dentry *debugfs_create_u8(const char *name, mode_t mode, 41struct 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
76static 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
73static inline void debugfs_remove(struct dentry *dentry) 83static 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 *);
1280int __ide_dma_bad_drive(ide_drive_t *); 1276int __ide_dma_bad_drive(ide_drive_t *);
1281int __ide_dma_good_drive(ide_drive_t *); 1277int __ide_dma_good_drive(ide_drive_t *);
1282int ide_use_dma(ide_drive_t *); 1278int ide_use_dma(ide_drive_t *);
1283int __ide_dma_off(ide_drive_t *); 1279void ide_dma_off(ide_drive_t *);
1284void ide_dma_verbose(ide_drive_t *); 1280void ide_dma_verbose(ide_drive_t *);
1281int ide_set_dma(ide_drive_t *);
1285ide_startstop_t ide_dma_intr(ide_drive_t *); 1282ide_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 *);
1291extern int ide_release_dma(ide_hwif_t *); 1288extern int ide_release_dma(ide_hwif_t *);
1292extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int); 1289extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int);
1293 1290
1294extern int __ide_dma_host_off(ide_drive_t *); 1291void ide_dma_host_off(ide_drive_t *);
1295extern int __ide_dma_off_quietly(ide_drive_t *); 1292void ide_dma_off_quietly(ide_drive_t *);
1296extern int __ide_dma_host_on(ide_drive_t *); 1293void ide_dma_host_on(ide_drive_t *);
1297extern int __ide_dma_on(ide_drive_t *); 1294extern int __ide_dma_on(ide_drive_t *);
1298extern int __ide_dma_check(ide_drive_t *); 1295extern int __ide_dma_check(ide_drive_t *);
1299extern int ide_dma_setup(ide_drive_t *); 1296extern 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
1307static inline int ide_use_dma(ide_drive_t *drive) { return 0; } 1304static inline int ide_use_dma(ide_drive_t *drive) { return 0; }
1308static inline int __ide_dma_off(ide_drive_t *drive) { return 0; } 1305static inline void ide_dma_off(ide_drive_t *drive) { ; }
1309static inline void ide_dma_verbose(ide_drive_t *drive) { ; } 1306static inline void ide_dma_verbose(ide_drive_t *drive) { ; }
1307static 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);
1354extern char *ide_xfer_verbose(u8 xfer_rate); 1352extern char *ide_xfer_verbose(u8 xfer_rate);
1355extern void ide_toggle_bounce(ide_drive_t *drive, int on); 1353extern void ide_toggle_bounce(ide_drive_t *drive, int on);
1356extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate); 1354extern int ide_set_xfer_rate(ide_drive_t *drive, u8 rate);
1355int ide_use_fast_pio(ide_drive_t *);
1357 1356
1358u8 ide_dump_status(ide_drive_t *, const char *, u8); 1357u8 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. */
31extern void kmod_sysfs_init(void);
31extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2))); 32extern int request_module(const char * name, ...) __attribute__ ((format (printf, 1, 2)));
32#else 33#else
34static inline void kmod_sysfs_init(void) {};
33static inline int request_module(const char * name, ...) { return -ENOSYS; } 35static 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);
77void sort_main_extable(void); 77void sort_main_extable(void);
78 78
79extern 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) \
83extern const struct gtype##_id __mod_##gtype##_table \ 81extern const struct gtype##_id __mod_##gtype##_table \
@@ -467,10 +465,6 @@ int unregister_module_notifier(struct notifier_block * nb);
467 465
468extern void print_modules(void); 466extern void print_modules(void);
469 467
470struct device_driver;
471void module_add_driver(struct module *, struct device_driver *);
472void 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
571struct device_driver; 567struct device_driver;
568#ifdef CONFIG_SYSFS
572struct module; 569struct module;
573 570
574static inline void module_add_driver(struct module *module, struct device_driver *driver) 571extern struct subsystem module_subsys;
572
573int mod_sysfs_init(struct module *mod);
574int mod_sysfs_setup(struct module *mod,
575 struct kernel_param *kparam,
576 unsigned int num_params);
577int module_add_modinfo_attrs(struct module *mod);
578void module_remove_modinfo_attrs(struct module *mod);
579
580#else /* !CONFIG_SYSFS */
581
582static inline int mod_sysfs_init(struct module *mod)
575{ 583{
584 return 0;
576} 585}
577 586
578static inline void module_remove_driver(struct device_driver *driver) 587static 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 */ 594static inline int module_add_modinfo_attrs(struct module *mod)
595{
596 return 0;
597}
598
599static 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
606void module_add_driver(struct module *mod, struct device_driver *drv);
607void module_remove_driver(struct device_driver *drv);
608
609#else /* not both CONFIG_SYSFS && CONFIG_MODULES */
610
611static inline void module_add_driver(struct module *mod, struct device_driver *drv)
612{ }
613
614static 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
170struct module; 170struct module;
171 171
172#if defined(CONFIG_SYSFS) && defined(CONFIG_MODULES)
172extern int module_param_sysfs_setup(struct module *mod, 173extern 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
176extern void module_param_sysfs_remove(struct module *mod); 177extern void module_param_sysfs_remove(struct module *mod);
178#else
179static 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
186static 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
857extern unsigned long pci_cardbus_io_size;
858extern 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
941struct urb; 941struct 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 */
77struct usb_cdc_union_desc { 84struct 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);
269extern int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port); 273extern int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port);
270extern void usb_serial_generic_read_bulk_callback (struct urb *urb); 274extern void usb_serial_generic_read_bulk_callback (struct urb *urb);
271extern void usb_serial_generic_write_bulk_callback (struct urb *urb); 275extern void usb_serial_generic_write_bulk_callback (struct urb *urb);
276extern void usb_serial_generic_throttle (struct usb_serial_port *port);
277extern void usb_serial_generic_unthrottle (struct usb_serial_port *port);
272extern void usb_serial_generic_shutdown (struct usb_serial *serial); 278extern void usb_serial_generic_shutdown (struct usb_serial *serial);
273extern int usb_serial_generic_register (int debug); 279extern int usb_serial_generic_register (int debug);
274extern void usb_serial_generic_deregister (void); 280extern 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 ,
52enum { US_DO_ALL_FLAGS }; 54enum { 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)