diff options
Diffstat (limited to 'include')
43 files changed, 407 insertions, 148 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index c627bc408a6b..9ad142476f33 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h  | |||
| @@ -108,6 +108,21 @@ typedef int (*acpi_op_unbind) (struct acpi_device *device); | |||
| 108 | typedef int (*acpi_op_match) (struct acpi_device *device, | 108 | typedef int (*acpi_op_match) (struct acpi_device *device, | 
| 109 | struct acpi_driver *driver); | 109 | struct acpi_driver *driver); | 
| 110 | 110 | ||
| 111 | struct acpi_bus_ops { | ||
| 112 | u32 acpi_op_add:1; | ||
| 113 | u32 acpi_op_remove:1; | ||
| 114 | u32 acpi_op_lock:1; | ||
| 115 | u32 acpi_op_start:1; | ||
| 116 | u32 acpi_op_stop:1; | ||
| 117 | u32 acpi_op_suspend:1; | ||
| 118 | u32 acpi_op_resume:1; | ||
| 119 | u32 acpi_op_scan:1; | ||
| 120 | u32 acpi_op_bind:1; | ||
| 121 | u32 acpi_op_unbind:1; | ||
| 122 | u32 acpi_op_match:1; | ||
| 123 | u32 reserved:21; | ||
| 124 | }; | ||
| 125 | |||
| 111 | struct acpi_device_ops { | 126 | struct acpi_device_ops { | 
| 112 | acpi_op_add add; | 127 | acpi_op_add add; | 
| 113 | acpi_op_remove remove; | 128 | acpi_op_remove remove; | 
| @@ -327,9 +342,9 @@ int acpi_bus_generate_event (struct acpi_device *device, u8 type, int data); | |||
| 327 | int acpi_bus_receive_event (struct acpi_bus_event *event); | 342 | int acpi_bus_receive_event (struct acpi_bus_event *event); | 
| 328 | int acpi_bus_register_driver (struct acpi_driver *driver); | 343 | int acpi_bus_register_driver (struct acpi_driver *driver); | 
| 329 | int acpi_bus_unregister_driver (struct acpi_driver *driver); | 344 | int acpi_bus_unregister_driver (struct acpi_driver *driver); | 
| 330 | int acpi_bus_scan (struct acpi_device *start); | ||
| 331 | int acpi_bus_add (struct acpi_device **child, struct acpi_device *parent, | 345 | int acpi_bus_add (struct acpi_device **child, struct acpi_device *parent, | 
| 332 | acpi_handle handle, int type); | 346 | acpi_handle handle, int type); | 
| 347 | int acpi_bus_start (struct acpi_device *device); | ||
| 333 | 348 | ||
| 334 | 349 | ||
| 335 | int acpi_match_ids (struct acpi_device *device, char *ids); | 350 | int acpi_match_ids (struct acpi_device *device, char *ids); | 
diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index c62e92ec43b2..4ec722d73381 100644 --- a/include/acpi/acpi_drivers.h +++ b/include/acpi/acpi_drivers.h  | |||
| @@ -68,6 +68,7 @@ void acpi_pci_irq_del_prt (int segment, int bus); | |||
| 68 | 68 | ||
| 69 | struct pci_bus; | 69 | struct pci_bus; | 
| 70 | 70 | ||
| 71 | acpi_status acpi_get_pci_id (acpi_handle handle, struct acpi_pci_id *id); | ||
| 71 | int acpi_pci_bind (struct acpi_device *device); | 72 | int acpi_pci_bind (struct acpi_device *device); | 
| 72 | int acpi_pci_unbind (struct acpi_device *device); | 73 | int acpi_pci_unbind (struct acpi_device *device); | 
| 73 | int acpi_pci_bind_root (struct acpi_device *device, struct acpi_pci_id *id, struct pci_bus *bus); | 74 | int acpi_pci_bind_root (struct acpi_device *device, struct acpi_pci_id *id, struct pci_bus *bus); | 
diff --git a/include/asm-alpha/pci.h b/include/asm-alpha/pci.h index 0c7b57bc043a..b7806aa3785c 100644 --- a/include/asm-alpha/pci.h +++ b/include/asm-alpha/pci.h  | |||
| @@ -223,6 +223,25 @@ pci_dac_dma_sync_single_for_device(struct pci_dev *pdev, dma64_addr_t dma_addr, | |||
| 223 | /* Nothing to do. */ | 223 | /* Nothing to do. */ | 
| 224 | } | 224 | } | 
| 225 | 225 | ||
| 226 | #ifdef CONFIG_PCI | ||
| 227 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 228 | enum pci_dma_burst_strategy *strat, | ||
| 229 | unsigned long *strategy_parameter) | ||
| 230 | { | ||
| 231 | unsigned long cacheline_size; | ||
| 232 | u8 byte; | ||
| 233 | |||
| 234 | pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE, &byte); | ||
| 235 | if (byte == 0) | ||
| 236 | cacheline_size = 1024; | ||
| 237 | else | ||
| 238 | cacheline_size = (int) byte * 4; | ||
| 239 | |||
| 240 | *strat = PCI_DMA_BURST_BOUNDARY; | ||
| 241 | *strategy_parameter = cacheline_size; | ||
| 242 | } | ||
| 243 | #endif | ||
| 244 | |||
| 226 | /* TODO: integrate with include/asm-generic/pci.h ? */ | 245 | /* TODO: integrate with include/asm-generic/pci.h ? */ | 
| 227 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 246 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 
| 228 | { | 247 | { | 
diff --git a/include/asm-arm/arch-s3c2410/audio.h b/include/asm-arm/arch-s3c2410/audio.h new file mode 100644 index 000000000000..0d276e67f2fb --- /dev/null +++ b/include/asm-arm/arch-s3c2410/audio.h  | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | /* linux/include/asm-arm/arch-s3c2410/audio.h | ||
| 2 | * | ||
| 3 | * (c) 2004-2005 Simtec Electronics | ||
| 4 | * http://www.simtec.co.uk/products/SWLINUX/ | ||
| 5 | * Ben Dooks <ben@simtec.co.uk> | ||
| 6 | * | ||
| 7 | * S3C24XX - Audio platfrom_device info | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License version 2 as | ||
| 11 | * published by the Free Software Foundation. | ||
| 12 | * | ||
| 13 | * Changelog: | ||
| 14 | * 20-Nov-2004 BJD Created file | ||
| 15 | * 07-Mar-2005 BJD Added suspend/resume calls | ||
| 16 | */ | ||
| 17 | |||
| 18 | #ifndef __ASM_ARCH_AUDIO_H | ||
| 19 | #define __ASM_ARCH_AUDIO_H __FILE__ | ||
| 20 | |||
| 21 | /* struct s3c24xx_iis_ops | ||
| 22 | * | ||
| 23 | * called from the s3c24xx audio core to deal with the architecture | ||
| 24 | * or the codec's setup and control. | ||
| 25 | * | ||
| 26 | * the pointer to itself is passed through in case the caller wants to | ||
| 27 | * embed this in an larger structure for easy reference to it's context. | ||
| 28 | */ | ||
| 29 | |||
| 30 | struct s3c24xx_iis_ops { | ||
| 31 | struct module *owner; | ||
| 32 | |||
| 33 | int (*startup)(struct s3c24xx_iis_ops *me); | ||
| 34 | void (*shutdown)(struct s3c24xx_iis_ops *me); | ||
| 35 | int (*suspend)(struct s3c24xx_iis_ops *me); | ||
| 36 | int (*resume)(struct s3c24xx_iis_ops *me); | ||
| 37 | |||
| 38 | int (*open)(struct s3c24xx_iis_ops *me, snd_pcm_substream_t *strm); | ||
| 39 | int (*close)(struct s3c24xx_iis_ops *me, snd_pcm_substream_t *strm); | ||
| 40 | int (*prepare)(struct s3c24xx_iis_ops *me, snd_pcm_substream_t *strm, snd_pcm_runtime_t *rt); | ||
| 41 | }; | ||
| 42 | |||
| 43 | struct s3c24xx_platdata_iis { | ||
| 44 | const char *codec_clk; | ||
| 45 | struct s3c24xx_iis_ops *ops; | ||
| 46 | int (*match_dev)(struct device *dev); | ||
| 47 | }; | ||
| 48 | |||
| 49 | #endif /* __ASM_ARCH_AUDIO_H */ | ||
diff --git a/include/asm-arm/pci.h b/include/asm-arm/pci.h index 40ffaefbeb1a..e300646fe650 100644 --- a/include/asm-arm/pci.h +++ b/include/asm-arm/pci.h  | |||
| @@ -42,6 +42,16 @@ static inline void pcibios_penalize_isa_irq(int irq) | |||
| 42 | #define pci_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME) | 42 | #define pci_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME) | 
| 43 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL)) | 43 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL)) | 
| 44 | 44 | ||
| 45 | #ifdef CONFIG_PCI | ||
| 46 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 47 | enum pci_dma_burst_strategy *strat, | ||
| 48 | unsigned long *strategy_parameter) | ||
| 49 | { | ||
| 50 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 51 | *strategy_parameter = ~0UL; | ||
| 52 | } | ||
| 53 | #endif | ||
| 54 | |||
| 45 | #define HAVE_PCI_MMAP | 55 | #define HAVE_PCI_MMAP | 
| 46 | extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | 56 | extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | 
| 47 | enum pci_mmap_state mmap_state, int write_combine); | 57 | enum pci_mmap_state mmap_state, int write_combine); | 
diff --git a/include/asm-frv/pci.h b/include/asm-frv/pci.h index a6a469231f62..b4efe5e3591a 100644 --- a/include/asm-frv/pci.h +++ b/include/asm-frv/pci.h  | |||
| @@ -57,6 +57,16 @@ extern void pci_free_consistent(struct pci_dev *hwdev, size_t size, | |||
| 57 | */ | 57 | */ | 
| 58 | #define PCI_DMA_BUS_IS_PHYS (1) | 58 | #define PCI_DMA_BUS_IS_PHYS (1) | 
| 59 | 59 | ||
| 60 | #ifdef CONFIG_PCI | ||
| 61 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 62 | enum pci_dma_burst_strategy *strat, | ||
| 63 | unsigned long *strategy_parameter) | ||
| 64 | { | ||
| 65 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 66 | *strategy_parameter = ~0UL; | ||
| 67 | } | ||
| 68 | #endif | ||
| 69 | |||
| 60 | /* | 70 | /* | 
| 61 | * These are pretty much arbitary with the CoMEM implementation. | 71 | * These are pretty much arbitary with the CoMEM implementation. | 
| 62 | * We have the whole address space to ourselves. | 72 | * We have the whole address space to ourselves. | 
diff --git a/include/asm-i386/pci.h b/include/asm-i386/pci.h index fb749b85a739..3561899eb826 100644 --- a/include/asm-i386/pci.h +++ b/include/asm-i386/pci.h  | |||
| @@ -99,6 +99,16 @@ static inline void pcibios_add_platform_entries(struct pci_dev *dev) | |||
| 99 | { | 99 | { | 
| 100 | } | 100 | } | 
| 101 | 101 | ||
| 102 | #ifdef CONFIG_PCI | ||
| 103 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 104 | enum pci_dma_burst_strategy *strat, | ||
| 105 | unsigned long *strategy_parameter) | ||
| 106 | { | ||
| 107 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 108 | *strategy_parameter = ~0UL; | ||
| 109 | } | ||
| 110 | #endif | ||
| 111 | |||
| 102 | #endif /* __KERNEL__ */ | 112 | #endif /* __KERNEL__ */ | 
| 103 | 113 | ||
| 104 | /* implement the pci_ DMA API in terms of the generic device dma_ one */ | 114 | /* implement the pci_ DMA API in terms of the generic device dma_ one */ | 
diff --git a/include/asm-ia64/iosapic.h b/include/asm-ia64/iosapic.h index 38a7a72791cc..1093f35b3b90 100644 --- a/include/asm-ia64/iosapic.h +++ b/include/asm-ia64/iosapic.h  | |||
| @@ -71,8 +71,11 @@ static inline void iosapic_eoi(char __iomem *iosapic, u32 vector) | |||
| 71 | } | 71 | } | 
| 72 | 72 | ||
| 73 | extern void __init iosapic_system_init (int pcat_compat); | 73 | extern void __init iosapic_system_init (int pcat_compat); | 
| 74 | extern void __init iosapic_init (unsigned long address, | 74 | extern int __devinit iosapic_init (unsigned long address, | 
| 75 | unsigned int gsi_base); | 75 | unsigned int gsi_base); | 
| 76 | #ifdef CONFIG_HOTPLUG | ||
| 77 | extern int iosapic_remove (unsigned int gsi_base); | ||
| 78 | #endif /* CONFIG_HOTPLUG */ | ||
| 76 | extern int gsi_to_vector (unsigned int gsi); | 79 | extern int gsi_to_vector (unsigned int gsi); | 
| 77 | extern int gsi_to_irq (unsigned int gsi); | 80 | extern int gsi_to_irq (unsigned int gsi); | 
| 78 | extern void iosapic_enable_intr (unsigned int vector); | 81 | extern void iosapic_enable_intr (unsigned int vector); | 
| @@ -94,11 +97,14 @@ extern unsigned int iosapic_version (char __iomem *addr); | |||
| 94 | 97 | ||
| 95 | extern void iosapic_pci_fixup (int); | 98 | extern void iosapic_pci_fixup (int); | 
| 96 | #ifdef CONFIG_NUMA | 99 | #ifdef CONFIG_NUMA | 
| 97 | extern void __init map_iosapic_to_node (unsigned int, int); | 100 | extern void __devinit map_iosapic_to_node (unsigned int, int); | 
| 98 | #endif | 101 | #endif | 
| 99 | #else | 102 | #else | 
| 100 | #define iosapic_system_init(pcat_compat) do { } while (0) | 103 | #define iosapic_system_init(pcat_compat) do { } while (0) | 
| 101 | #define iosapic_init(address,gsi_base) do { } while (0) | 104 | #define iosapic_init(address,gsi_base) (-EINVAL) | 
| 105 | #ifdef CONFIG_HOTPLUG | ||
| 106 | #define iosapic_remove(gsi_base) (-ENODEV) | ||
| 107 | #endif /* CONFIG_HOTPLUG */ | ||
| 102 | #define iosapic_register_intr(gsi,polarity,trigger) (gsi) | 108 | #define iosapic_register_intr(gsi,polarity,trigger) (gsi) | 
| 103 | #define iosapic_unregister_intr(irq) do { } while (0) | 109 | #define iosapic_unregister_intr(irq) do { } while (0) | 
| 104 | #define iosapic_override_isa_irq(isa_irq,gsi,polarity,trigger) do { } while (0) | 110 | #define iosapic_override_isa_irq(isa_irq,gsi,polarity,trigger) do { } while (0) | 
diff --git a/include/asm-ia64/pci.h b/include/asm-ia64/pci.h index a8314ee4e7d2..0c4c5d801d3f 100644 --- a/include/asm-ia64/pci.h +++ b/include/asm-ia64/pci.h  | |||
| @@ -82,6 +82,25 @@ extern int pcibios_prep_mwi (struct pci_dev *); | |||
| 82 | #define sg_dma_len(sg) ((sg)->dma_length) | 82 | #define sg_dma_len(sg) ((sg)->dma_length) | 
| 83 | #define sg_dma_address(sg) ((sg)->dma_address) | 83 | #define sg_dma_address(sg) ((sg)->dma_address) | 
| 84 | 84 | ||
| 85 | #ifdef CONFIG_PCI | ||
| 86 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 87 | enum pci_dma_burst_strategy *strat, | ||
| 88 | unsigned long *strategy_parameter) | ||
| 89 | { | ||
| 90 | unsigned long cacheline_size; | ||
| 91 | u8 byte; | ||
| 92 | |||
| 93 | pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE, &byte); | ||
| 94 | if (byte == 0) | ||
| 95 | cacheline_size = 1024; | ||
| 96 | else | ||
| 97 | cacheline_size = (int) byte * 4; | ||
| 98 | |||
| 99 | *strat = PCI_DMA_BURST_MULTIPLE; | ||
| 100 | *strategy_parameter = cacheline_size; | ||
| 101 | } | ||
| 102 | #endif | ||
| 103 | |||
| 85 | #define HAVE_PCI_MMAP | 104 | #define HAVE_PCI_MMAP | 
| 86 | extern int pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma, | 105 | extern int pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma, | 
| 87 | enum pci_mmap_state mmap_state, int write_combine); | 106 | enum pci_mmap_state mmap_state, int write_combine); | 
diff --git a/include/asm-mips/pci.h b/include/asm-mips/pci.h index c9c576b48556..2d323b6e147d 100644 --- a/include/asm-mips/pci.h +++ b/include/asm-mips/pci.h  | |||
| @@ -130,6 +130,16 @@ extern void pci_dac_dma_sync_single_for_cpu(struct pci_dev *pdev, | |||
| 130 | extern void pci_dac_dma_sync_single_for_device(struct pci_dev *pdev, | 130 | extern void pci_dac_dma_sync_single_for_device(struct pci_dev *pdev, | 
| 131 | dma64_addr_t dma_addr, size_t len, int direction); | 131 | dma64_addr_t dma_addr, size_t len, int direction); | 
| 132 | 132 | ||
| 133 | #ifdef CONFIG_PCI | ||
| 134 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 135 | enum pci_dma_burst_strategy *strat, | ||
| 136 | unsigned long *strategy_parameter) | ||
| 137 | { | ||
| 138 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 139 | *strategy_parameter = ~0UL; | ||
| 140 | } | ||
| 141 | #endif | ||
| 142 | |||
| 133 | extern void pcibios_resource_to_bus(struct pci_dev *dev, | 143 | extern void pcibios_resource_to_bus(struct pci_dev *dev, | 
| 134 | struct pci_bus_region *region, struct resource *res); | 144 | struct pci_bus_region *region, struct resource *res); | 
| 135 | 145 | ||
diff --git a/include/asm-parisc/pci.h b/include/asm-parisc/pci.h index 0763c2982fb0..ee741c150176 100644 --- a/include/asm-parisc/pci.h +++ b/include/asm-parisc/pci.h  | |||
| @@ -230,6 +230,25 @@ extern inline void pcibios_register_hba(struct pci_hba_data *x) | |||
| 230 | /* export the pci_ DMA API in terms of the dma_ one */ | 230 | /* export the pci_ DMA API in terms of the dma_ one */ | 
| 231 | #include <asm-generic/pci-dma-compat.h> | 231 | #include <asm-generic/pci-dma-compat.h> | 
| 232 | 232 | ||
| 233 | #ifdef CONFIG_PCI | ||
| 234 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 235 | enum pci_dma_burst_strategy *strat, | ||
| 236 | unsigned long *strategy_parameter) | ||
| 237 | { | ||
| 238 | unsigned long cacheline_size; | ||
| 239 | u8 byte; | ||
| 240 | |||
| 241 | pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE, &byte); | ||
| 242 | if (byte == 0) | ||
| 243 | cacheline_size = 1024; | ||
| 244 | else | ||
| 245 | cacheline_size = (int) byte * 4; | ||
| 246 | |||
| 247 | *strat = PCI_DMA_BURST_MULTIPLE; | ||
| 248 | *strategy_parameter = cacheline_size; | ||
| 249 | } | ||
| 250 | #endif | ||
| 251 | |||
| 233 | extern void | 252 | extern void | 
| 234 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | 253 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | 
| 235 | struct resource *res); | 254 | struct resource *res); | 
diff --git a/include/asm-ppc/pci.h b/include/asm-ppc/pci.h index ce5ae6d048f5..db0a2a0ec74d 100644 --- a/include/asm-ppc/pci.h +++ b/include/asm-ppc/pci.h  | |||
| @@ -69,6 +69,16 @@ extern unsigned long pci_bus_to_phys(unsigned int ba, int busnr); | |||
| 69 | #define pci_unmap_len(PTR, LEN_NAME) (0) | 69 | #define pci_unmap_len(PTR, LEN_NAME) (0) | 
| 70 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) | 70 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0) | 
| 71 | 71 | ||
| 72 | #ifdef CONFIG_PCI | ||
| 73 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 74 | enum pci_dma_burst_strategy *strat, | ||
| 75 | unsigned long *strategy_parameter) | ||
| 76 | { | ||
| 77 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 78 | *strategy_parameter = ~0UL; | ||
| 79 | } | ||
| 80 | #endif | ||
| 81 | |||
| 72 | /* | 82 | /* | 
| 73 | * At present there are very few 32-bit PPC machines that can have | 83 | * At present there are very few 32-bit PPC machines that can have | 
| 74 | * memory above the 4GB point, and we don't support that. | 84 | * memory above the 4GB point, and we don't support that. | 
| @@ -103,6 +113,12 @@ extern pgprot_t pci_phys_mem_access_prot(struct file *file, | |||
| 103 | unsigned long size, | 113 | unsigned long size, | 
| 104 | pgprot_t prot); | 114 | pgprot_t prot); | 
| 105 | 115 | ||
| 116 | #define HAVE_ARCH_PCI_RESOURCE_TO_USER | ||
| 117 | extern void pci_resource_to_user(const struct pci_dev *dev, int bar, | ||
| 118 | const struct resource *rsrc, | ||
| 119 | u64 *start, u64 *end); | ||
| 120 | |||
| 121 | |||
| 106 | #endif /* __KERNEL__ */ | 122 | #endif /* __KERNEL__ */ | 
| 107 | 123 | ||
| 108 | #endif /* __PPC_PCI_H */ | 124 | #endif /* __PPC_PCI_H */ | 
diff --git a/include/asm-ppc64/byteorder.h b/include/asm-ppc64/byteorder.h index 80327532de64..8b57da62b674 100644 --- a/include/asm-ppc64/byteorder.h +++ b/include/asm-ppc64/byteorder.h  | |||
| @@ -40,7 +40,6 @@ static __inline__ void st_le32(volatile __u32 *addr, const __u32 val) | |||
| 40 | __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); | 40 | __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr)); | 
| 41 | } | 41 | } | 
| 42 | 42 | ||
| 43 | #if 0 | ||
| 44 | static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 value) | 43 | static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 value) | 
| 45 | { | 44 | { | 
| 46 | __u16 result; | 45 | __u16 result; | 
| @@ -63,17 +62,8 @@ static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 value) | |||
| 63 | return result; | 62 | return result; | 
| 64 | } | 63 | } | 
| 65 | 64 | ||
| 66 | static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 value) | ||
| 67 | { | ||
| 68 | __u64 result; | ||
| 69 | #error implement me | ||
| 70 | } | ||
| 71 | |||
| 72 | #define __arch__swab16(x) ___arch__swab16(x) | 65 | #define __arch__swab16(x) ___arch__swab16(x) | 
| 73 | #define __arch__swab32(x) ___arch__swab32(x) | 66 | #define __arch__swab32(x) ___arch__swab32(x) | 
| 74 | #define __arch__swab64(x) ___arch__swab64(x) | ||
| 75 | |||
| 76 | #endif | ||
| 77 | 67 | ||
| 78 | /* The same, but returns converted value from the location pointer by addr. */ | 68 | /* The same, but returns converted value from the location pointer by addr. */ | 
| 79 | #define __arch__swab16p(addr) ld_le16(addr) | 69 | #define __arch__swab16p(addr) ld_le16(addr) | 
diff --git a/include/asm-ppc64/pci.h b/include/asm-ppc64/pci.h index 6cd593f660a0..d12dfce21e20 100644 --- a/include/asm-ppc64/pci.h +++ b/include/asm-ppc64/pci.h  | |||
| @@ -78,6 +78,25 @@ static inline int pci_dac_dma_supported(struct pci_dev *hwdev,u64 mask) | |||
| 78 | return 0; | 78 | return 0; | 
| 79 | } | 79 | } | 
| 80 | 80 | ||
| 81 | #ifdef CONFIG_PCI | ||
| 82 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 83 | enum pci_dma_burst_strategy *strat, | ||
| 84 | unsigned long *strategy_parameter) | ||
| 85 | { | ||
| 86 | unsigned long cacheline_size; | ||
| 87 | u8 byte; | ||
| 88 | |||
| 89 | pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE, &byte); | ||
| 90 | if (byte == 0) | ||
| 91 | cacheline_size = 1024; | ||
| 92 | else | ||
| 93 | cacheline_size = (int) byte * 4; | ||
| 94 | |||
| 95 | *strat = PCI_DMA_BURST_MULTIPLE; | ||
| 96 | *strategy_parameter = cacheline_size; | ||
| 97 | } | ||
| 98 | #endif | ||
| 99 | |||
| 81 | extern int pci_domain_nr(struct pci_bus *bus); | 100 | extern int pci_domain_nr(struct pci_bus *bus); | 
| 82 | 101 | ||
| 83 | /* Decide whether to display the domain number in /proc */ | 102 | /* Decide whether to display the domain number in /proc */ | 
| @@ -136,6 +155,13 @@ extern pgprot_t pci_phys_mem_access_prot(struct file *file, | |||
| 136 | unsigned long size, | 155 | unsigned long size, | 
| 137 | pgprot_t prot); | 156 | pgprot_t prot); | 
| 138 | 157 | ||
| 158 | #ifdef CONFIG_PPC_MULTIPLATFORM | ||
| 159 | #define HAVE_ARCH_PCI_RESOURCE_TO_USER | ||
| 160 | extern void pci_resource_to_user(const struct pci_dev *dev, int bar, | ||
| 161 | const struct resource *rsrc, | ||
| 162 | u64 *start, u64 *end); | ||
| 163 | #endif /* CONFIG_PPC_MULTIPLATFORM */ | ||
| 164 | |||
| 139 | 165 | ||
| 140 | #endif /* __KERNEL__ */ | 166 | #endif /* __KERNEL__ */ | 
| 141 | 167 | ||
diff --git a/include/asm-sh/pci.h b/include/asm-sh/pci.h index 9c3b63d0105e..26044889c770 100644 --- a/include/asm-sh/pci.h +++ b/include/asm-sh/pci.h  | |||
| @@ -96,6 +96,16 @@ static inline void pcibios_penalize_isa_irq(int irq) | |||
| 96 | #define sg_dma_address(sg) (virt_to_bus((sg)->dma_address)) | 96 | #define sg_dma_address(sg) (virt_to_bus((sg)->dma_address)) | 
| 97 | #define sg_dma_len(sg) ((sg)->length) | 97 | #define sg_dma_len(sg) ((sg)->length) | 
| 98 | 98 | ||
| 99 | #ifdef CONFIG_PCI | ||
| 100 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 101 | enum pci_dma_burst_strategy *strat, | ||
| 102 | unsigned long *strategy_parameter) | ||
| 103 | { | ||
| 104 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 105 | *strategy_parameter = ~0UL; | ||
| 106 | } | ||
| 107 | #endif | ||
| 108 | |||
| 99 | /* Board-specific fixup routines. */ | 109 | /* Board-specific fixup routines. */ | 
| 100 | extern void pcibios_fixup(void); | 110 | extern void pcibios_fixup(void); | 
| 101 | extern void pcibios_fixup_irqs(void); | 111 | extern void pcibios_fixup_irqs(void); | 
diff --git a/include/asm-sh64/pci.h b/include/asm-sh64/pci.h index 8cc14e139750..c68870e02d91 100644 --- a/include/asm-sh64/pci.h +++ b/include/asm-sh64/pci.h  | |||
| @@ -86,6 +86,16 @@ static inline void pcibios_penalize_isa_irq(int irq) | |||
| 86 | #define sg_dma_address(sg) ((sg)->dma_address) | 86 | #define sg_dma_address(sg) ((sg)->dma_address) | 
| 87 | #define sg_dma_len(sg) ((sg)->length) | 87 | #define sg_dma_len(sg) ((sg)->length) | 
| 88 | 88 | ||
| 89 | #ifdef CONFIG_PCI | ||
| 90 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 91 | enum pci_dma_burst_strategy *strat, | ||
| 92 | unsigned long *strategy_parameter) | ||
| 93 | { | ||
| 94 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 95 | *strategy_parameter = ~0UL; | ||
| 96 | } | ||
| 97 | #endif | ||
| 98 | |||
| 89 | /* Board-specific fixup routines. */ | 99 | /* Board-specific fixup routines. */ | 
| 90 | extern void pcibios_fixup(void); | 100 | extern void pcibios_fixup(void); | 
| 91 | extern void pcibios_fixup_irqs(void); | 101 | extern void pcibios_fixup_irqs(void); | 
diff --git a/include/asm-sparc/pci.h b/include/asm-sparc/pci.h index d200a25a7373..44bb38758c96 100644 --- a/include/asm-sparc/pci.h +++ b/include/asm-sparc/pci.h  | |||
| @@ -144,6 +144,16 @@ extern inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask) | |||
| 144 | 144 | ||
| 145 | #define pci_dac_dma_supported(dev, mask) (0) | 145 | #define pci_dac_dma_supported(dev, mask) (0) | 
| 146 | 146 | ||
| 147 | #ifdef CONFIG_PCI | ||
| 148 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 149 | enum pci_dma_burst_strategy *strat, | ||
| 150 | unsigned long *strategy_parameter) | ||
| 151 | { | ||
| 152 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 153 | *strategy_parameter = ~0UL; | ||
| 154 | } | ||
| 155 | #endif | ||
| 156 | |||
| 147 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) | 157 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) | 
| 148 | { | 158 | { | 
| 149 | } | 159 | } | 
diff --git a/include/asm-sparc64/pci.h b/include/asm-sparc64/pci.h index 2a0c85cd1c11..84e41c1ef3f8 100644 --- a/include/asm-sparc64/pci.h +++ b/include/asm-sparc64/pci.h  | |||
| @@ -220,6 +220,25 @@ static inline int pci_dma_mapping_error(dma_addr_t dma_addr) | |||
| 220 | return (dma_addr == PCI_DMA_ERROR_CODE); | 220 | return (dma_addr == PCI_DMA_ERROR_CODE); | 
| 221 | } | 221 | } | 
| 222 | 222 | ||
| 223 | #ifdef CONFIG_PCI | ||
| 224 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 225 | enum pci_dma_burst_strategy *strat, | ||
| 226 | unsigned long *strategy_parameter) | ||
| 227 | { | ||
| 228 | unsigned long cacheline_size; | ||
| 229 | u8 byte; | ||
| 230 | |||
| 231 | pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE, &byte); | ||
| 232 | if (byte == 0) | ||
| 233 | cacheline_size = 1024; | ||
| 234 | else | ||
| 235 | cacheline_size = (int) byte * 4; | ||
| 236 | |||
| 237 | *strat = PCI_DMA_BURST_BOUNDARY; | ||
| 238 | *strategy_parameter = cacheline_size; | ||
| 239 | } | ||
| 240 | #endif | ||
| 241 | |||
| 223 | /* Return the index of the PCI controller for device PDEV. */ | 242 | /* Return the index of the PCI controller for device PDEV. */ | 
| 224 | 243 | ||
| 225 | extern int pci_domain_nr(struct pci_bus *bus); | 244 | extern int pci_domain_nr(struct pci_bus *bus); | 
diff --git a/include/asm-v850/pci.h b/include/asm-v850/pci.h index e41941447b49..8e79be0fe99d 100644 --- a/include/asm-v850/pci.h +++ b/include/asm-v850/pci.h  | |||
| @@ -81,6 +81,16 @@ extern void | |||
| 81 | pci_free_consistent (struct pci_dev *pdev, size_t size, void *cpu_addr, | 81 | pci_free_consistent (struct pci_dev *pdev, size_t size, void *cpu_addr, | 
| 82 | dma_addr_t dma_addr); | 82 | dma_addr_t dma_addr); | 
| 83 | 83 | ||
| 84 | #ifdef CONFIG_PCI | ||
| 85 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 86 | enum pci_dma_burst_strategy *strat, | ||
| 87 | unsigned long *strategy_parameter) | ||
| 88 | { | ||
| 89 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 90 | *strategy_parameter = ~0UL; | ||
| 91 | } | ||
| 92 | #endif | ||
| 93 | |||
| 84 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) | 94 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) | 
| 85 | { | 95 | { | 
| 86 | } | 96 | } | 
diff --git a/include/asm-x86_64/pci.h b/include/asm-x86_64/pci.h index 8712520ca47f..c1961db88fac 100644 --- a/include/asm-x86_64/pci.h +++ b/include/asm-x86_64/pci.h  | |||
| @@ -123,6 +123,16 @@ pci_dac_dma_sync_single_for_device(struct pci_dev *pdev, dma64_addr_t dma_addr, | |||
| 123 | flush_write_buffers(); | 123 | flush_write_buffers(); | 
| 124 | } | 124 | } | 
| 125 | 125 | ||
| 126 | #ifdef CONFIG_PCI | ||
| 127 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | ||
| 128 | enum pci_dma_burst_strategy *strat, | ||
| 129 | unsigned long *strategy_parameter) | ||
| 130 | { | ||
| 131 | *strat = PCI_DMA_BURST_INFINITY; | ||
| 132 | *strategy_parameter = ~0UL; | ||
| 133 | } | ||
| 134 | #endif | ||
| 135 | |||
| 126 | #define HAVE_PCI_MMAP | 136 | #define HAVE_PCI_MMAP | 
| 127 | extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | 137 | extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | 
| 128 | enum pci_mmap_state mmap_state, int write_combine); | 138 | enum pci_mmap_state mmap_state, int write_combine); | 
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index b123cc08773d..ef8483673aa3 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h  | |||
| @@ -342,11 +342,19 @@ struct acpi_table_ecdt { | |||
| 342 | 342 | ||
| 343 | /* PCI MMCONFIG */ | 343 | /* PCI MMCONFIG */ | 
| 344 | 344 | ||
| 345 | /* Defined in PCI Firmware Specification 3.0 */ | ||
| 346 | struct acpi_table_mcfg_config { | ||
| 347 | u32 base_address; | ||
| 348 | u32 base_reserved; | ||
| 349 | u16 pci_segment_group_number; | ||
| 350 | u8 start_bus_number; | ||
| 351 | u8 end_bus_number; | ||
| 352 | u8 reserved[4]; | ||
| 353 | } __attribute__ ((packed)); | ||
| 345 | struct acpi_table_mcfg { | 354 | struct acpi_table_mcfg { | 
| 346 | struct acpi_table_header header; | 355 | struct acpi_table_header header; | 
| 347 | u8 reserved[8]; | 356 | u8 reserved[8]; | 
| 348 | u32 base_address; | 357 | struct acpi_table_mcfg_config config[0]; | 
| 349 | u32 base_reserved; | ||
| 350 | } __attribute__ ((packed)); | 358 | } __attribute__ ((packed)); | 
| 351 | 359 | ||
| 352 | /* Table Handlers */ | 360 | /* Table Handlers */ | 
| @@ -391,6 +399,7 @@ int acpi_table_parse (enum acpi_table_id id, acpi_table_handler handler); | |||
| 391 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); | 399 | int acpi_get_table_header_early (enum acpi_table_id id, struct acpi_table_header **header); | 
| 392 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 400 | int acpi_table_parse_madt (enum acpi_madt_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 
| 393 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 401 | int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler handler, unsigned int max_entries); | 
| 402 | int acpi_parse_mcfg (unsigned long phys_addr, unsigned long size); | ||
| 394 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); | 403 | void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); | 
| 395 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); | 404 | void acpi_table_print_madt_entry (acpi_table_entry_header *madt); | 
| 396 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); | 405 | void acpi_table_print_srat_entry (acpi_table_entry_header *srat); | 
| @@ -407,9 +416,13 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu); | |||
| 407 | int acpi_unmap_lsapic(int cpu); | 416 | int acpi_unmap_lsapic(int cpu); | 
| 408 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ | 417 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ | 
| 409 | 418 | ||
| 419 | int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); | ||
| 420 | int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); | ||
| 421 | |||
| 410 | extern int acpi_mp_config; | 422 | extern int acpi_mp_config; | 
| 411 | 423 | ||
| 412 | extern u32 pci_mmcfg_base_addr; | 424 | extern struct acpi_table_mcfg_config *pci_mmcfg_config; | 
| 425 | extern int pci_mmcfg_config_num; | ||
| 413 | 426 | ||
| 414 | extern int sbf_port ; | 427 | extern int sbf_port ; | 
| 415 | 428 | ||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 21a8674cd149..0881b5cdee3d 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h  | |||
| @@ -96,6 +96,7 @@ struct io_context { | |||
| 96 | 96 | ||
| 97 | void put_io_context(struct io_context *ioc); | 97 | void put_io_context(struct io_context *ioc); | 
| 98 | void exit_io_context(void); | 98 | void exit_io_context(void); | 
| 99 | struct io_context *current_io_context(int gfp_flags); | ||
| 99 | struct io_context *get_io_context(int gfp_flags); | 100 | struct io_context *get_io_context(int gfp_flags); | 
| 100 | void copy_io_context(struct io_context **pdst, struct io_context **psrc); | 101 | void copy_io_context(struct io_context **pdst, struct io_context **psrc); | 
| 101 | void swap_io_context(struct io_context **ioc1, struct io_context **ioc2); | 102 | void swap_io_context(struct io_context **ioc1, struct io_context **ioc2); | 
diff --git a/include/linux/byteorder/swabb.h b/include/linux/byteorder/swabb.h index d28d9a804d3b..d5f2a3205109 100644 --- a/include/linux/byteorder/swabb.h +++ b/include/linux/byteorder/swabb.h  | |||
| @@ -92,29 +92,32 @@ | |||
| 92 | #endif /* OPTIMIZE */ | 92 | #endif /* OPTIMIZE */ | 
| 93 | 93 | ||
| 94 | 94 | ||
| 95 | static __inline__ __const__ __u32 __fswahw32(__u32 x) | 95 | static inline __u32 __fswahw32(__u32 x) | 
| 96 | { | 96 | { | 
| 97 | return __arch__swahw32(x); | 97 | return __arch__swahw32(x); | 
| 98 | } | 98 | } | 
| 99 | static __inline__ __u32 __swahw32p(__u32 *x) | 99 | |
| 100 | static inline __u32 __swahw32p(__u32 *x) | ||
| 100 | { | 101 | { | 
| 101 | return __arch__swahw32p(x); | 102 | return __arch__swahw32p(x); | 
| 102 | } | 103 | } | 
| 103 | static __inline__ void __swahw32s(__u32 *addr) | 104 | |
| 105 | static inline void __swahw32s(__u32 *addr) | ||
| 104 | { | 106 | { | 
| 105 | __arch__swahw32s(addr); | 107 | __arch__swahw32s(addr); | 
| 106 | } | 108 | } | 
| 107 | 109 | ||
| 108 | 110 | static inline __u32 __fswahb32(__u32 x) | |
| 109 | static __inline__ __const__ __u32 __fswahb32(__u32 x) | ||
| 110 | { | 111 | { | 
| 111 | return __arch__swahb32(x); | 112 | return __arch__swahb32(x); | 
| 112 | } | 113 | } | 
| 113 | static __inline__ __u32 __swahb32p(__u32 *x) | 114 | |
| 115 | static inline __u32 __swahb32p(__u32 *x) | ||
| 114 | { | 116 | { | 
| 115 | return __arch__swahb32p(x); | 117 | return __arch__swahb32p(x); | 
| 116 | } | 118 | } | 
| 117 | static __inline__ void __swahb32s(__u32 *addr) | 119 | |
| 120 | static inline void __swahb32s(__u32 *addr) | ||
| 118 | { | 121 | { | 
| 119 | __arch__swahb32s(addr); | 122 | __arch__swahb32s(addr); | 
| 120 | } | 123 | } | 
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index a1478258d002..cf3847edc50f 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h  | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #define _LINUX_ETHERDEVICE_H | 25 | #define _LINUX_ETHERDEVICE_H | 
| 26 | 26 | ||
| 27 | #include <linux/if_ether.h> | 27 | #include <linux/if_ether.h> | 
| 28 | #include <linux/netdevice.h> | ||
| 28 | #include <linux/random.h> | 29 | #include <linux/random.h> | 
| 29 | 30 | ||
| 30 | #ifdef __KERNEL__ | 31 | #ifdef __KERNEL__ | 
| @@ -65,7 +66,7 @@ static inline int is_zero_ether_addr(const u8 *addr) | |||
| 65 | */ | 66 | */ | 
| 66 | static inline int is_multicast_ether_addr(const u8 *addr) | 67 | static inline int is_multicast_ether_addr(const u8 *addr) | 
| 67 | { | 68 | { | 
| 68 | return addr[0] & 0x01; | 69 | return ((addr[0] != 0xff) && (0x01 & addr[0])); | 
| 69 | } | 70 | } | 
| 70 | 71 | ||
| 71 | /** | 72 | /** | 
diff --git a/include/linux/i2c-dev.h b/include/linux/i2c-dev.h index d228230ffe5d..541695679762 100644 --- a/include/linux/i2c-dev.h +++ b/include/linux/i2c-dev.h  | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #define _LINUX_I2C_DEV_H | 25 | #define _LINUX_I2C_DEV_H | 
| 26 | 26 | ||
| 27 | #include <linux/types.h> | 27 | #include <linux/types.h> | 
| 28 | #include <linux/compiler.h> | ||
| 28 | 29 | ||
| 29 | /* Some IOCTL commands are defined in <linux/i2c.h> */ | 30 | /* Some IOCTL commands are defined in <linux/i2c.h> */ | 
| 30 | /* Note: 10-bit addresses are NOT supported! */ | 31 | /* Note: 10-bit addresses are NOT supported! */ | 
diff --git a/include/linux/in6.h b/include/linux/in6.h index f8256c582845..dcf5720ffcbb 100644 --- a/include/linux/in6.h +++ b/include/linux/in6.h  | |||
| @@ -156,7 +156,7 @@ struct in6_flowlabel_req | |||
| 156 | #define IPV6_CHECKSUM 7 | 156 | #define IPV6_CHECKSUM 7 | 
| 157 | #define IPV6_HOPLIMIT 8 | 157 | #define IPV6_HOPLIMIT 8 | 
| 158 | #define IPV6_NEXTHOP 9 | 158 | #define IPV6_NEXTHOP 9 | 
| 159 | #define IPV6_AUTHHDR 10 | 159 | #define IPV6_AUTHHDR 10 /* obsolete */ | 
| 160 | #define IPV6_FLOWINFO 11 | 160 | #define IPV6_FLOWINFO 11 | 
| 161 | 161 | ||
| 162 | #define IPV6_UNICAST_HOPS 16 | 162 | #define IPV6_UNICAST_HOPS 16 | 
diff --git a/include/linux/irq.h b/include/linux/irq.h index 12277799c007..069d3b84d311 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h  | |||
| @@ -85,9 +85,10 @@ extern int no_irq_affinity; | |||
| 85 | extern int noirqdebug_setup(char *str); | 85 | extern int noirqdebug_setup(char *str); | 
| 86 | 86 | ||
| 87 | extern fastcall int handle_IRQ_event(unsigned int irq, struct pt_regs *regs, | 87 | extern fastcall int handle_IRQ_event(unsigned int irq, struct pt_regs *regs, | 
| 88 | struct irqaction *action); | 88 | struct irqaction *action); | 
| 89 | extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs); | 89 | extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs); | 
| 90 | extern void note_interrupt(unsigned int irq, irq_desc_t *desc, int action_ret); | 90 | extern void note_interrupt(unsigned int irq, irq_desc_t *desc, | 
| 91 | int action_ret, struct pt_regs *regs); | ||
| 91 | extern int can_request_irq(unsigned int irq, unsigned long irqflags); | 92 | extern int can_request_irq(unsigned int irq, unsigned long irqflags); | 
| 92 | 93 | ||
| 93 | extern void init_irq_proc(void); | 94 | extern void init_irq_proc(void); | 
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 3029cad63a01..27e4d164a108 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h  | |||
| @@ -168,6 +168,7 @@ __nlmsg_put(struct sk_buff *skb, u32 pid, u32 seq, int type, int len, int flags) | |||
| 168 | nlh->nlmsg_flags = flags; | 168 | nlh->nlmsg_flags = flags; | 
| 169 | nlh->nlmsg_pid = pid; | 169 | nlh->nlmsg_pid = pid; | 
| 170 | nlh->nlmsg_seq = seq; | 170 | nlh->nlmsg_seq = seq; | 
| 171 | memset(NLMSG_DATA(nlh) + len, 0, NLMSG_ALIGN(size) - size); | ||
| 171 | return nlh; | 172 | return nlh; | 
| 172 | } | 173 | } | 
| 173 | 174 | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index b5238bd18830..66798b46f308 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h  | |||
| @@ -734,16 +734,20 @@ void pcibios_update_irq(struct pci_dev *, int irq); | |||
| 734 | /* Generic PCI functions used internally */ | 734 | /* Generic PCI functions used internally */ | 
| 735 | 735 | ||
| 736 | extern struct pci_bus *pci_find_bus(int domain, int busnr); | 736 | extern struct pci_bus *pci_find_bus(int domain, int busnr); | 
| 737 | void pci_bus_add_devices(struct pci_bus *bus); | ||
| 737 | struct pci_bus *pci_scan_bus_parented(struct device *parent, int bus, struct pci_ops *ops, void *sysdata); | 738 | struct pci_bus *pci_scan_bus_parented(struct device *parent, int bus, struct pci_ops *ops, void *sysdata); | 
| 738 | static inline struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, void *sysdata) | 739 | static inline struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, void *sysdata) | 
| 739 | { | 740 | { | 
| 740 | return pci_scan_bus_parented(NULL, bus, ops, sysdata); | 741 | struct pci_bus *root_bus; | 
| 742 | root_bus = pci_scan_bus_parented(NULL, bus, ops, sysdata); | ||
| 743 | if (root_bus) | ||
| 744 | pci_bus_add_devices(root_bus); | ||
| 745 | return root_bus; | ||
| 741 | } | 746 | } | 
| 742 | int pci_scan_slot(struct pci_bus *bus, int devfn); | 747 | int pci_scan_slot(struct pci_bus *bus, int devfn); | 
| 743 | struct pci_dev * pci_scan_single_device(struct pci_bus *bus, int devfn); | 748 | struct pci_dev * pci_scan_single_device(struct pci_bus *bus, int devfn); | 
| 744 | unsigned int pci_scan_child_bus(struct pci_bus *bus); | 749 | unsigned int pci_scan_child_bus(struct pci_bus *bus); | 
| 745 | void pci_bus_add_device(struct pci_dev *dev); | 750 | void pci_bus_add_device(struct pci_dev *dev); | 
| 746 | void pci_bus_add_devices(struct pci_bus *bus); | ||
| 747 | void pci_name_device(struct pci_dev *dev); | 751 | void pci_name_device(struct pci_dev *dev); | 
| 748 | char *pci_class_name(u32 class); | 752 | char *pci_class_name(u32 class); | 
| 749 | void pci_read_bridge_bases(struct pci_bus *child); | 753 | void pci_read_bridge_bases(struct pci_bus *child); | 
| @@ -870,6 +874,15 @@ int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass | |||
| 870 | #define pci_pool_alloc(pool, flags, handle) dma_pool_alloc(pool, flags, handle) | 874 | #define pci_pool_alloc(pool, flags, handle) dma_pool_alloc(pool, flags, handle) | 
| 871 | #define pci_pool_free(pool, vaddr, addr) dma_pool_free(pool, vaddr, addr) | 875 | #define pci_pool_free(pool, vaddr, addr) dma_pool_free(pool, vaddr, addr) | 
| 872 | 876 | ||
| 877 | enum pci_dma_burst_strategy { | ||
| 878 | PCI_DMA_BURST_INFINITY, /* make bursts as large as possible, | ||
| 879 | strategy_parameter is N/A */ | ||
| 880 | PCI_DMA_BURST_BOUNDARY, /* disconnect at every strategy_parameter | ||
| 881 | byte boundaries */ | ||
| 882 | PCI_DMA_BURST_MULTIPLE, /* disconnect at some multiple of | ||
| 883 | strategy_parameter byte boundaries */ | ||
| 884 | }; | ||
| 885 | |||
| 873 | #if defined(CONFIG_ISA) || defined(CONFIG_EISA) | 886 | #if defined(CONFIG_ISA) || defined(CONFIG_EISA) | 
| 874 | extern struct pci_dev *isa_bridge; | 887 | extern struct pci_dev *isa_bridge; | 
| 875 | #endif | 888 | #endif | 
| @@ -972,6 +985,8 @@ static inline int pci_proc_domain(struct pci_bus *bus) | |||
| 972 | } | 985 | } | 
| 973 | #endif | 986 | #endif | 
| 974 | 987 | ||
| 988 | #define pci_dma_burst_advice(pdev, strat, strategy_parameter) do { } while (0) | ||
| 989 | |||
| 975 | #endif /* !CONFIG_PCI */ | 990 | #endif /* !CONFIG_PCI */ | 
| 976 | 991 | ||
| 977 | /* these helpers provide future and backwards compatibility | 992 | /* these helpers provide future and backwards compatibility | 
| @@ -1016,6 +1031,20 @@ static inline char *pci_name(struct pci_dev *pdev) | |||
| 1016 | #define pci_pretty_name(dev) "" | 1031 | #define pci_pretty_name(dev) "" | 
| 1017 | #endif | 1032 | #endif | 
| 1018 | 1033 | ||
| 1034 | |||
| 1035 | /* Some archs don't want to expose struct resource to userland as-is | ||
| 1036 | * in sysfs and /proc | ||
| 1037 | */ | ||
| 1038 | #ifndef HAVE_ARCH_PCI_RESOURCE_TO_USER | ||
| 1039 | static inline void pci_resource_to_user(const struct pci_dev *dev, int bar, | ||
| 1040 | const struct resource *rsrc, u64 *start, u64 *end) | ||
| 1041 | { | ||
| 1042 | *start = rsrc->start; | ||
| 1043 | *end = rsrc->end; | ||
| 1044 | } | ||
| 1045 | #endif /* HAVE_ARCH_PCI_RESOURCE_TO_USER */ | ||
| 1046 | |||
| 1047 | |||
| 1019 | /* | 1048 | /* | 
| 1020 | * The world is not perfect and supplies us with broken PCI devices. | 1049 | * The world is not perfect and supplies us with broken PCI devices. | 
| 1021 | * For at least a part of these bugs we need a work-around, so both | 1050 | * For at least a part of these bugs we need a work-around, so both | 
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 1e0bc6a8d653..c3ee1ae4545a 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h  | |||
| @@ -62,6 +62,8 @@ | |||
| 62 | 62 | ||
| 63 | #define PCI_BASE_CLASS_SYSTEM 0x08 | 63 | #define PCI_BASE_CLASS_SYSTEM 0x08 | 
| 64 | #define PCI_CLASS_SYSTEM_PIC 0x0800 | 64 | #define PCI_CLASS_SYSTEM_PIC 0x0800 | 
| 65 | #define PCI_CLASS_SYSTEM_PIC_IOAPIC 0x080010 | ||
| 66 | #define PCI_CLASS_SYSTEM_PIC_IOXAPIC 0x080020 | ||
| 65 | #define PCI_CLASS_SYSTEM_DMA 0x0801 | 67 | #define PCI_CLASS_SYSTEM_DMA 0x0801 | 
| 66 | #define PCI_CLASS_SYSTEM_TIMER 0x0802 | 68 | #define PCI_CLASS_SYSTEM_TIMER 0x0802 | 
| 67 | #define PCI_CLASS_SYSTEM_RTC 0x0803 | 69 | #define PCI_CLASS_SYSTEM_RTC 0x0803 | 
diff --git a/include/linux/pkt_cls.h b/include/linux/pkt_cls.h index 25d2d67c1faf..bd2c5a2bbbf5 100644 --- a/include/linux/pkt_cls.h +++ b/include/linux/pkt_cls.h  | |||
| @@ -276,6 +276,7 @@ struct tc_rsvp_pinfo | |||
| 276 | __u8 protocol; | 276 | __u8 protocol; | 
| 277 | __u8 tunnelid; | 277 | __u8 tunnelid; | 
| 278 | __u8 tunnelhdr; | 278 | __u8 tunnelhdr; | 
| 279 | __u8 pad; | ||
| 279 | }; | 280 | }; | 
| 280 | 281 | ||
| 281 | /* ROUTE filter */ | 282 | /* ROUTE filter */ | 
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index 1d9da36eb9db..60ffcb9c5791 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h  | |||
| @@ -221,9 +221,11 @@ struct tc_gred_qopt | |||
| 221 | /* gred setup */ | 221 | /* gred setup */ | 
| 222 | struct tc_gred_sopt | 222 | struct tc_gred_sopt | 
| 223 | { | 223 | { | 
| 224 | __u32 DPs; | 224 | __u32 DPs; | 
| 225 | __u32 def_DP; | 225 | __u32 def_DP; | 
| 226 | __u8 grio; | 226 | __u8 grio; | 
| 227 | __u8 pad1; | ||
| 228 | __u16 pad2; | ||
| 227 | }; | 229 | }; | 
| 228 | 230 | ||
| 229 | /* HTB section */ | 231 | /* HTB section */ | 
| @@ -351,6 +353,7 @@ struct tc_cbq_ovl | |||
| 351 | #define TC_CBQ_OVL_DROP 3 | 353 | #define TC_CBQ_OVL_DROP 3 | 
| 352 | #define TC_CBQ_OVL_RCLASSIC 4 | 354 | #define TC_CBQ_OVL_RCLASSIC 4 | 
| 353 | unsigned char priority2; | 355 | unsigned char priority2; | 
| 356 | __u16 pad; | ||
| 354 | __u32 penalty; | 357 | __u32 penalty; | 
| 355 | }; | 358 | }; | 
| 356 | 359 | ||
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index d021888b58f1..657c05ab8f9e 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h  | |||
| @@ -363,6 +363,8 @@ enum | |||
| 363 | struct rta_session | 363 | struct rta_session | 
| 364 | { | 364 | { | 
| 365 | __u8 proto; | 365 | __u8 proto; | 
| 366 | __u8 pad1; | ||
| 367 | __u16 pad2; | ||
| 366 | 368 | ||
| 367 | union { | 369 | union { | 
| 368 | struct { | 370 | struct { | 
| @@ -635,10 +637,13 @@ struct ifinfomsg | |||
| 635 | struct prefixmsg | 637 | struct prefixmsg | 
| 636 | { | 638 | { | 
| 637 | unsigned char prefix_family; | 639 | unsigned char prefix_family; | 
| 640 | unsigned char prefix_pad1; | ||
| 641 | unsigned short prefix_pad2; | ||
| 638 | int prefix_ifindex; | 642 | int prefix_ifindex; | 
| 639 | unsigned char prefix_type; | 643 | unsigned char prefix_type; | 
| 640 | unsigned char prefix_len; | 644 | unsigned char prefix_len; | 
| 641 | unsigned char prefix_flags; | 645 | unsigned char prefix_flags; | 
| 646 | unsigned char prefix_pad3; | ||
| 642 | }; | 647 | }; | 
| 643 | 648 | ||
| 644 | enum | 649 | enum | 
| @@ -898,7 +903,9 @@ extern void __rta_fill(struct sk_buff *skb, int attrtype, int attrlen, const voi | |||
| 898 | memcpy(skb_put(skb, attrlen), data, attrlen); }) | 903 | memcpy(skb_put(skb, attrlen), data, attrlen); }) | 
| 899 | 904 | ||
| 900 | #define RTA_PUT_NOHDR(skb, attrlen, data) \ | 905 | #define RTA_PUT_NOHDR(skb, attrlen, data) \ | 
| 901 | RTA_APPEND(skb, RTA_ALIGN(attrlen), data) | 906 | ({ RTA_APPEND(skb, RTA_ALIGN(attrlen), data); \ | 
| 907 | memset(skb->tail - (RTA_ALIGN(attrlen) - attrlen), 0, \ | ||
| 908 | RTA_ALIGN(attrlen) - attrlen); }) | ||
| 902 | 909 | ||
| 903 | #define RTA_PUT_U8(skb, attrtype, value) \ | 910 | #define RTA_PUT_U8(skb, attrtype, value) \ | 
| 904 | ({ u8 _tmp = (value); \ | 911 | ({ u8 _tmp = (value); \ | 
| @@ -978,6 +985,7 @@ __rta_reserve(struct sk_buff *skb, int attrtype, int attrlen) | |||
| 978 | rta = (struct rtattr*)skb_put(skb, RTA_ALIGN(size)); | 985 | rta = (struct rtattr*)skb_put(skb, RTA_ALIGN(size)); | 
| 979 | rta->rta_type = attrtype; | 986 | rta->rta_type = attrtype; | 
| 980 | rta->rta_len = size; | 987 | rta->rta_len = size; | 
| 988 | memset(RTA_DATA(rta) + attrlen, 0, RTA_ALIGN(size) - size); | ||
| 981 | return rta; | 989 | return rta; | 
| 982 | } | 990 | } | 
| 983 | 991 | ||
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index ebfe1250f0a4..5b5f434ac9a0 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h  | |||
| @@ -641,6 +641,7 @@ enum { | |||
| 641 | NET_SCTP_ADDIP_ENABLE = 13, | 641 | NET_SCTP_ADDIP_ENABLE = 13, | 
| 642 | NET_SCTP_PRSCTP_ENABLE = 14, | 642 | NET_SCTP_PRSCTP_ENABLE = 14, | 
| 643 | NET_SCTP_SNDBUF_POLICY = 15, | 643 | NET_SCTP_SNDBUF_POLICY = 15, | 
| 644 | NET_SCTP_SACK_TIMEOUT = 16, | ||
| 644 | }; | 645 | }; | 
| 645 | 646 | ||
| 646 | /* /proc/sys/net/bridge */ | 647 | /* /proc/sys/net/bridge */ | 
diff --git a/include/linux/usb_ch9.h b/include/linux/usb_ch9.h index 39e7ff4ffd28..ee21e6bf3867 100644 --- a/include/linux/usb_ch9.h +++ b/include/linux/usb_ch9.h  | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | #ifndef __LINUX_USB_CH9_H | 19 | #ifndef __LINUX_USB_CH9_H | 
| 20 | #define __LINUX_USB_CH9_H | 20 | #define __LINUX_USB_CH9_H | 
| 21 | 21 | ||
| 22 | #include <asm/types.h> /* __u8 etc */ | 22 | #include <linux/types.h> /* __u8 etc */ | 
| 23 | 23 | ||
| 24 | /*-------------------------------------------------------------------------*/ | 24 | /*-------------------------------------------------------------------------*/ | 
| 25 | 25 | ||
| @@ -294,8 +294,8 @@ struct usb_endpoint_descriptor { | |||
| 294 | __le16 wMaxPacketSize; | 294 | __le16 wMaxPacketSize; | 
| 295 | __u8 bInterval; | 295 | __u8 bInterval; | 
| 296 | 296 | ||
| 297 | // NOTE: these two are _only_ in audio endpoints. | 297 | /* NOTE: these two are _only_ in audio endpoints. */ | 
| 298 | // use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. | 298 | /* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */ | 
| 299 | __u8 bRefresh; | 299 | __u8 bRefresh; | 
| 300 | __u8 bSynchAddress; | 300 | __u8 bSynchAddress; | 
| 301 | } __attribute__ ((packed)); | 301 | } __attribute__ ((packed)); | 
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 4e0edce53760..acbfc525576d 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h  | |||
| @@ -221,6 +221,8 @@ struct v4l2_pix_format | |||
| 221 | /* Vendor-specific formats */ | 221 | /* Vendor-specific formats */ | 
| 222 | #define V4L2_PIX_FMT_WNVA v4l2_fourcc('W','N','V','A') /* Winnov hw compress */ | 222 | #define V4L2_PIX_FMT_WNVA v4l2_fourcc('W','N','V','A') /* Winnov hw compress */ | 
| 223 | #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S','9','1','0') /* SN9C10x compression */ | 223 | #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S','9','1','0') /* SN9C10x compression */ | 
| 224 | #define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P','W','C','1') /* pwc older webcam */ | ||
| 225 | #define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P','W','C','2') /* pwc newer webcam */ | ||
| 224 | 226 | ||
| 225 | /* | 227 | /* | 
| 226 | * F O R M A T E N U M E R A T I O N | 228 | * F O R M A T E N U M E R A T I O N | 
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index d5c3fe1bf33d..542dbaee6512 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h  | |||
| @@ -85,7 +85,7 @@ static inline void wait_on_inode(struct inode *inode) | |||
| 85 | /* | 85 | /* | 
| 86 | * mm/page-writeback.c | 86 | * mm/page-writeback.c | 
| 87 | */ | 87 | */ | 
| 88 | int wakeup_bdflush(long nr_pages); | 88 | int wakeup_pdflush(long nr_pages); | 
| 89 | void laptop_io_completion(void); | 89 | void laptop_io_completion(void); | 
| 90 | void laptop_sync_completion(void); | 90 | void laptop_sync_completion(void); | 
| 91 | void throttle_vm_writeout(void); | 91 | void throttle_vm_writeout(void); | 
diff --git a/include/linux/xattr_acl.h b/include/linux/xattr_acl.h deleted file mode 100644 index 7a1f9b93a45f..000000000000 --- a/include/linux/xattr_acl.h +++ /dev/null  | |||
| @@ -1,50 +0,0 @@ | |||
| 1 | /* | ||
| 2 | File: linux/xattr_acl.h | ||
| 3 | |||
| 4 | (extended attribute representation of access control lists) | ||
| 5 | |||
| 6 | (C) 2000 Andreas Gruenbacher, <a.gruenbacher@computer.org> | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef _LINUX_XATTR_ACL_H | ||
| 10 | #define _LINUX_XATTR_ACL_H | ||
| 11 | |||
| 12 | #include <linux/posix_acl.h> | ||
| 13 | |||
| 14 | #define XATTR_NAME_ACL_ACCESS "system.posix_acl_access" | ||
| 15 | #define XATTR_NAME_ACL_DEFAULT "system.posix_acl_default" | ||
| 16 | |||
| 17 | #define XATTR_ACL_VERSION 0x0002 | ||
| 18 | |||
| 19 | typedef struct { | ||
| 20 | __u16 e_tag; | ||
| 21 | __u16 e_perm; | ||
| 22 | __u32 e_id; | ||
| 23 | } xattr_acl_entry; | ||
| 24 | |||
| 25 | typedef struct { | ||
| 26 | __u32 a_version; | ||
| 27 | xattr_acl_entry a_entries[0]; | ||
| 28 | } xattr_acl_header; | ||
| 29 | |||
| 30 | static inline size_t xattr_acl_size(int count) | ||
| 31 | { | ||
| 32 | return sizeof(xattr_acl_header) + count * sizeof(xattr_acl_entry); | ||
| 33 | } | ||
| 34 | |||
| 35 | static inline int xattr_acl_count(size_t size) | ||
| 36 | { | ||
| 37 | if (size < sizeof(xattr_acl_header)) | ||
| 38 | return -1; | ||
| 39 | size -= sizeof(xattr_acl_header); | ||
| 40 | if (size % sizeof(xattr_acl_entry)) | ||
| 41 | return -1; | ||
| 42 | return size / sizeof(xattr_acl_entry); | ||
| 43 | } | ||
| 44 | |||
| 45 | struct posix_acl * posix_acl_from_xattr(const void *value, size_t size); | ||
| 46 | int posix_acl_to_xattr(const struct posix_acl *acl, void *buffer, size_t size); | ||
| 47 | |||
| 48 | |||
| 49 | |||
| 50 | #endif /* _LINUX_XATTR_ACL_H */ | ||
diff --git a/include/media/tuner.h b/include/media/tuner.h index 2dd8310901e8..4794c5632360 100644 --- a/include/media/tuner.h +++ b/include/media/tuner.h  | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | 1 | ||
| 2 | /* | 2 | /* $Id: tuner.h,v 1.33 2005/06/21 14:58:08 mkrufky Exp $ | 
| 3 | * | ||
| 3 | tuner.h - definition for different tuners | 4 | tuner.h - definition for different tuners | 
| 4 | 5 | ||
| 5 | Copyright (C) 1997 Markus Schroeder (schroedm@uni-duesseldorf.de) | 6 | Copyright (C) 1997 Markus Schroeder (schroedm@uni-duesseldorf.de) | 
| @@ -23,6 +24,8 @@ | |||
| 23 | #ifndef _TUNER_H | 24 | #ifndef _TUNER_H | 
| 24 | #define _TUNER_H | 25 | #define _TUNER_H | 
| 25 | 26 | ||
| 27 | #include <linux/videodev2.h> | ||
| 28 | |||
| 26 | #include "id.h" | 29 | #include "id.h" | 
| 27 | 30 | ||
| 28 | #define ADDR_UNSET (255) | 31 | #define ADDR_UNSET (255) | 
| @@ -88,7 +91,7 @@ | |||
| 88 | #define TUNER_LG_NTSC_TAPE 47 | 91 | #define TUNER_LG_NTSC_TAPE 47 | 
| 89 | 92 | ||
| 90 | #define TUNER_TNF_8831BGFF 48 | 93 | #define TUNER_TNF_8831BGFF 48 | 
| 91 | #define TUNER_MICROTUNE_4042FI5 49 /* FusionHDTV 3 Gold - 4042 FI5 (3X 8147) */ | 94 | #define TUNER_MICROTUNE_4042FI5 49 /* DViCO FusionHDTV 3 Gold-Q - 4042 FI5 (3X 8147) */ | 
| 92 | #define TUNER_TCL_2002N 50 | 95 | #define TUNER_TCL_2002N 50 | 
| 93 | #define TUNER_PHILIPS_FM1256_IH3 51 | 96 | #define TUNER_PHILIPS_FM1256_IH3 51 | 
| 94 | 97 | ||
| @@ -98,18 +101,18 @@ | |||
| 98 | #define TUNER_LG_PAL_TAPE 55 /* Hauppauge PVR-150 PAL */ | 101 | #define TUNER_LG_PAL_TAPE 55 /* Hauppauge PVR-150 PAL */ | 
| 99 | 102 | ||
| 100 | #define TUNER_PHILIPS_FQ1216AME_MK4 56 /* Hauppauge PVR-150 PAL */ | 103 | #define TUNER_PHILIPS_FQ1216AME_MK4 56 /* Hauppauge PVR-150 PAL */ | 
| 101 | #define TUNER_PHILIPS_FQ1236A_MK4 57 /* Hauppauge PVR-500MCE NTSC */ | 104 | #define TUNER_PHILIPS_FQ1236A_MK4 57 /* Hauppauge PVR-500MCE NTSC */ | 
| 102 | 105 | ||
| 103 | #define TUNER_YMEC_TVF_8531MF 58 | 106 | #define TUNER_YMEC_TVF_8531MF 58 | 
| 104 | #define TUNER_YMEC_TVF_5533MF 59 /* Pixelview Pro Ultra NTSC */ | 107 | #define TUNER_YMEC_TVF_5533MF 59 /* Pixelview Pro Ultra NTSC */ | 
| 105 | #define TUNER_THOMSON_DTT7611 60 | 108 | #define TUNER_THOMSON_DTT7611 60 /* DViCO FusionHDTV 3 Gold-T */ | 
| 106 | #define TUNER_TENA_9533_DI 61 | 109 | #define TUNER_TENA_9533_DI 61 | 
| 110 | |||
| 107 | #define TUNER_TEA5767 62 /* Only FM Radio Tuner */ | 111 | #define TUNER_TEA5767 62 /* Only FM Radio Tuner */ | 
| 112 | #define TUNER_PHILIPS_FMD1216ME_MK3 63 | ||
| 108 | 113 | ||
| 109 | #define TEA5767_TUNER_NAME "Philips TEA5767HN FM Radio" | 114 | #define TEA5767_TUNER_NAME "Philips TEA5767HN FM Radio" | 
| 110 | 115 | ||
| 111 | #define TUNER_THOMSON_DTT7611 60 | ||
| 112 | |||
| 113 | #define NOTUNER 0 | 116 | #define NOTUNER 0 | 
| 114 | #define PAL 1 /* PAL_BG */ | 117 | #define PAL 1 /* PAL_BG */ | 
| 115 | #define PAL_I 2 | 118 | #define PAL_I 2 | 
| @@ -194,11 +197,15 @@ struct tuner { | |||
| 194 | unsigned char i2c_easy_mode[2]; | 197 | unsigned char i2c_easy_mode[2]; | 
| 195 | unsigned char i2c_set_freq[8]; | 198 | unsigned char i2c_set_freq[8]; | 
| 196 | 199 | ||
| 200 | /* used to keep track of audmode */ | ||
| 201 | unsigned int audmode; | ||
| 202 | |||
| 197 | /* function ptrs */ | 203 | /* function ptrs */ | 
| 198 | void (*tv_freq)(struct i2c_client *c, unsigned int freq); | 204 | void (*tv_freq)(struct i2c_client *c, unsigned int freq); | 
| 199 | void (*radio_freq)(struct i2c_client *c, unsigned int freq); | 205 | void (*radio_freq)(struct i2c_client *c, unsigned int freq); | 
| 200 | int (*has_signal)(struct i2c_client *c); | 206 | int (*has_signal)(struct i2c_client *c); | 
| 201 | int (*is_stereo)(struct i2c_client *c); | 207 | int (*is_stereo)(struct i2c_client *c); | 
| 208 | int (*set_tuner)(struct i2c_client *c, struct v4l2_tuner *v); | ||
| 202 | }; | 209 | }; | 
| 203 | 210 | ||
| 204 | extern unsigned int tuner_debug; | 211 | extern unsigned int tuner_debug; | 
| @@ -206,6 +213,7 @@ extern unsigned const int tuner_count; | |||
| 206 | 213 | ||
| 207 | extern int microtune_init(struct i2c_client *c); | 214 | extern int microtune_init(struct i2c_client *c); | 
| 208 | extern int tda8290_init(struct i2c_client *c); | 215 | extern int tda8290_init(struct i2c_client *c); | 
| 216 | extern int tea5767_tuner_init(struct i2c_client *c); | ||
| 209 | extern int default_tuner_init(struct i2c_client *c); | 217 | extern int default_tuner_init(struct i2c_client *c); | 
| 210 | 218 | ||
| 211 | #define tuner_warn(fmt, arg...) \ | 219 | #define tuner_warn(fmt, arg...) \ | 
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index 7fe57f957a51..db09580ad14b 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h  | |||
| @@ -94,6 +94,8 @@ struct eapol { | |||
| 94 | u16 length; | 94 | u16 length; | 
| 95 | } __attribute__ ((packed)); | 95 | } __attribute__ ((packed)); | 
| 96 | 96 | ||
| 97 | #define IEEE80211_1ADDR_LEN 10 | ||
| 98 | #define IEEE80211_2ADDR_LEN 16 | ||
| 97 | #define IEEE80211_3ADDR_LEN 24 | 99 | #define IEEE80211_3ADDR_LEN 24 | 
| 98 | #define IEEE80211_4ADDR_LEN 30 | 100 | #define IEEE80211_4ADDR_LEN 30 | 
| 99 | #define IEEE80211_FCS_LEN 4 | 101 | #define IEEE80211_FCS_LEN 4 | 
| @@ -300,23 +302,6 @@ struct ieee80211_snap_hdr { | |||
| 300 | #define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 9 | 302 | #define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 9 | 
| 301 | 303 | ||
| 302 | 304 | ||
| 303 | /* Information Element IDs */ | ||
| 304 | #define WLAN_EID_SSID 0 | ||
| 305 | #define WLAN_EID_SUPP_RATES 1 | ||
| 306 | #define WLAN_EID_FH_PARAMS 2 | ||
| 307 | #define WLAN_EID_DS_PARAMS 3 | ||
| 308 | #define WLAN_EID_CF_PARAMS 4 | ||
| 309 | #define WLAN_EID_TIM 5 | ||
| 310 | #define WLAN_EID_IBSS_PARAMS 6 | ||
| 311 | #define WLAN_EID_CHALLENGE 16 | ||
| 312 | #define WLAN_EID_RSN 48 | ||
| 313 | #define WLAN_EID_GENERIC 221 | ||
| 314 | |||
| 315 | #define IEEE80211_MGMT_HDR_LEN 24 | ||
| 316 | #define IEEE80211_DATA_HDR3_LEN 24 | ||
| 317 | #define IEEE80211_DATA_HDR4_LEN 30 | ||
| 318 | |||
| 319 | |||
| 320 | #define IEEE80211_STATMASK_SIGNAL (1<<0) | 305 | #define IEEE80211_STATMASK_SIGNAL (1<<0) | 
| 321 | #define IEEE80211_STATMASK_RSSI (1<<1) | 306 | #define IEEE80211_STATMASK_RSSI (1<<1) | 
| 322 | #define IEEE80211_STATMASK_NOISE (1<<2) | 307 | #define IEEE80211_STATMASK_NOISE (1<<2) | 
| @@ -441,6 +426,10 @@ struct ieee80211_stats { | |||
| 441 | 426 | ||
| 442 | struct ieee80211_device; | 427 | struct ieee80211_device; | 
| 443 | 428 | ||
| 429 | #if 0 /* for later */ | ||
| 430 | #include "ieee80211_crypt.h" | ||
| 431 | #endif | ||
| 432 | |||
| 444 | #define SEC_KEY_1 (1<<0) | 433 | #define SEC_KEY_1 (1<<0) | 
| 445 | #define SEC_KEY_2 (1<<1) | 434 | #define SEC_KEY_2 (1<<1) | 
| 446 | #define SEC_KEY_3 (1<<2) | 435 | #define SEC_KEY_3 (1<<2) | 
| @@ -488,15 +477,6 @@ Total: 28-2340 bytes | |||
| 488 | 477 | ||
| 489 | */ | 478 | */ | 
| 490 | 479 | ||
| 491 | struct ieee80211_header_data { | ||
| 492 | u16 frame_ctl; | ||
| 493 | u16 duration_id; | ||
| 494 | u8 addr1[6]; | ||
| 495 | u8 addr2[6]; | ||
| 496 | u8 addr3[6]; | ||
| 497 | u16 seq_ctrl; | ||
| 498 | }; | ||
| 499 | |||
| 500 | #define BEACON_PROBE_SSID_ID_POSITION 12 | 480 | #define BEACON_PROBE_SSID_ID_POSITION 12 | 
| 501 | 481 | ||
| 502 | /* Management Frame Information Element Types */ | 482 | /* Management Frame Information Element Types */ | 
| @@ -541,7 +521,7 @@ struct ieee80211_info_element { | |||
| 541 | */ | 521 | */ | 
| 542 | 522 | ||
| 543 | struct ieee80211_authentication { | 523 | struct ieee80211_authentication { | 
| 544 | struct ieee80211_header_data header; | 524 | struct ieee80211_hdr_3addr header; | 
| 545 | u16 algorithm; | 525 | u16 algorithm; | 
| 546 | u16 transaction; | 526 | u16 transaction; | 
| 547 | u16 status; | 527 | u16 status; | 
| @@ -550,7 +530,7 @@ struct ieee80211_authentication { | |||
| 550 | 530 | ||
| 551 | 531 | ||
| 552 | struct ieee80211_probe_response { | 532 | struct ieee80211_probe_response { | 
| 553 | struct ieee80211_header_data header; | 533 | struct ieee80211_hdr_3addr header; | 
| 554 | u32 time_stamp[2]; | 534 | u32 time_stamp[2]; | 
| 555 | u16 beacon_interval; | 535 | u16 beacon_interval; | 
| 556 | u16 capability; | 536 | u16 capability; | 
| @@ -648,12 +628,6 @@ enum ieee80211_state { | |||
| 648 | #define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] | 628 | #define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] | 
| 649 | 629 | ||
| 650 | 630 | ||
| 651 | extern inline int is_broadcast_ether_addr(const u8 *addr) | ||
| 652 | { | ||
| 653 | return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ | ||
| 654 | (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); | ||
| 655 | } | ||
| 656 | |||
| 657 | #define CFG_IEEE80211_RESERVE_FCS (1<<0) | 631 | #define CFG_IEEE80211_RESERVE_FCS (1<<0) | 
| 658 | #define CFG_IEEE80211_COMPUTE_FCS (1<<1) | 632 | #define CFG_IEEE80211_COMPUTE_FCS (1<<1) | 
| 659 | 633 | ||
| @@ -787,21 +761,21 @@ extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mod | |||
| 787 | 761 | ||
| 788 | extern inline int ieee80211_get_hdrlen(u16 fc) | 762 | extern inline int ieee80211_get_hdrlen(u16 fc) | 
| 789 | { | 763 | { | 
| 790 | int hdrlen = 24; | 764 | int hdrlen = IEEE80211_3ADDR_LEN; | 
| 791 | 765 | ||
| 792 | switch (WLAN_FC_GET_TYPE(fc)) { | 766 | switch (WLAN_FC_GET_TYPE(fc)) { | 
| 793 | case IEEE80211_FTYPE_DATA: | 767 | case IEEE80211_FTYPE_DATA: | 
| 794 | if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS)) | 768 | if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS)) | 
| 795 | hdrlen = 30; /* Addr4 */ | 769 | hdrlen = IEEE80211_4ADDR_LEN; | 
| 796 | break; | 770 | break; | 
| 797 | case IEEE80211_FTYPE_CTL: | 771 | case IEEE80211_FTYPE_CTL: | 
| 798 | switch (WLAN_FC_GET_STYPE(fc)) { | 772 | switch (WLAN_FC_GET_STYPE(fc)) { | 
| 799 | case IEEE80211_STYPE_CTS: | 773 | case IEEE80211_STYPE_CTS: | 
| 800 | case IEEE80211_STYPE_ACK: | 774 | case IEEE80211_STYPE_ACK: | 
| 801 | hdrlen = 10; | 775 | hdrlen = IEEE80211_1ADDR_LEN; | 
| 802 | break; | 776 | break; | 
| 803 | default: | 777 | default: | 
| 804 | hdrlen = 16; | 778 | hdrlen = IEEE80211_2ADDR_LEN; | 
| 805 | break; | 779 | break; | 
| 806 | } | 780 | } | 
| 807 | break; | 781 | break; | 
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 771b47e30f86..69324465e8b3 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h  | |||
| @@ -183,7 +183,6 @@ struct ipv6_txoptions | |||
| 183 | struct ipv6_opt_hdr *hopopt; | 183 | struct ipv6_opt_hdr *hopopt; | 
| 184 | struct ipv6_opt_hdr *dst0opt; | 184 | struct ipv6_opt_hdr *dst0opt; | 
| 185 | struct ipv6_rt_hdr *srcrt; /* Routing Header */ | 185 | struct ipv6_rt_hdr *srcrt; /* Routing Header */ | 
| 186 | struct ipv6_opt_hdr *auth; | ||
| 187 | struct ipv6_opt_hdr *dst1opt; | 186 | struct ipv6_opt_hdr *dst1opt; | 
| 188 | 187 | ||
| 189 | /* Option buffer, as read by IPV6_PKTOPTIONS, starts here. */ | 188 | /* Option buffer, as read by IPV6_PKTOPTIONS, starts here. */ | 
diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h index 4868c7f7749d..5999e5684bbf 100644 --- a/include/net/sctp/constants.h +++ b/include/net/sctp/constants.h  | |||
| @@ -263,23 +263,11 @@ enum { SCTP_MIN_PMTU = 576 }; | |||
| 263 | enum { SCTP_MAX_DUP_TSNS = 16 }; | 263 | enum { SCTP_MAX_DUP_TSNS = 16 }; | 
| 264 | enum { SCTP_MAX_GABS = 16 }; | 264 | enum { SCTP_MAX_GABS = 16 }; | 
| 265 | 265 | ||
| 266 | /* Here we define the default timers. */ | 266 | /* Heartbeat interval - 30 secs */ | 
| 267 | #define SCTP_DEFAULT_TIMEOUT_HEARTBEAT (30 * HZ) | ||
| 267 | 268 | ||
| 268 | /* cookie timer def = ? seconds */ | 269 | /* Delayed sack timer - 200ms */ | 
| 269 | #define SCTP_DEFAULT_TIMEOUT_T1_COOKIE (3 * HZ) | ||
| 270 | |||
| 271 | /* init timer def = 3 seconds */ | ||
| 272 | #define SCTP_DEFAULT_TIMEOUT_T1_INIT (3 * HZ) | ||
| 273 | |||
| 274 | /* shutdown timer def = 300 ms */ | ||
| 275 | #define SCTP_DEFAULT_TIMEOUT_T2_SHUTDOWN ((300 * HZ) / 1000) | ||
| 276 | |||
| 277 | /* 0 seconds + RTO */ | ||
| 278 | #define SCTP_DEFAULT_TIMEOUT_HEARTBEAT (10 * HZ) | ||
| 279 | |||
| 280 | /* recv timer def = 200ms (in usec) */ | ||
| 281 | #define SCTP_DEFAULT_TIMEOUT_SACK ((200 * HZ) / 1000) | 270 | #define SCTP_DEFAULT_TIMEOUT_SACK ((200 * HZ) / 1000) | 
| 282 | #define SCTP_DEFAULT_TIMEOUT_SACK_MAX ((500 * HZ) / 1000) /* 500 ms */ | ||
| 283 | 271 | ||
| 284 | /* RTO.Initial - 3 seconds | 272 | /* RTO.Initial - 3 seconds | 
| 285 | * RTO.Min - 1 second | 273 | * RTO.Min - 1 second | 
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index dfad4d3c581c..47727c7cc628 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h  | |||
| @@ -161,6 +161,9 @@ extern struct sctp_globals { | |||
| 161 | */ | 161 | */ | 
| 162 | int sndbuf_policy; | 162 | int sndbuf_policy; | 
| 163 | 163 | ||
| 164 | /* Delayed SACK timeout 200ms default*/ | ||
| 165 | int sack_timeout; | ||
| 166 | |||
| 164 | /* HB.interval - 30 seconds */ | 167 | /* HB.interval - 30 seconds */ | 
| 165 | int hb_interval; | 168 | int hb_interval; | 
| 166 | 169 | ||
| @@ -217,6 +220,7 @@ extern struct sctp_globals { | |||
| 217 | #define sctp_sndbuf_policy (sctp_globals.sndbuf_policy) | 220 | #define sctp_sndbuf_policy (sctp_globals.sndbuf_policy) | 
| 218 | #define sctp_max_retrans_path (sctp_globals.max_retrans_path) | 221 | #define sctp_max_retrans_path (sctp_globals.max_retrans_path) | 
| 219 | #define sctp_max_retrans_init (sctp_globals.max_retrans_init) | 222 | #define sctp_max_retrans_init (sctp_globals.max_retrans_init) | 
| 223 | #define sctp_sack_timeout (sctp_globals.sack_timeout) | ||
| 220 | #define sctp_hb_interval (sctp_globals.hb_interval) | 224 | #define sctp_hb_interval (sctp_globals.hb_interval) | 
| 221 | #define sctp_max_instreams (sctp_globals.max_instreams) | 225 | #define sctp_max_instreams (sctp_globals.max_instreams) | 
| 222 | #define sctp_max_outstreams (sctp_globals.max_outstreams) | 226 | #define sctp_max_outstreams (sctp_globals.max_outstreams) | 
