diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-25 12:11:02 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-25 12:12:22 -0400 |
| commit | 8f8741ca5e55a35dafa35f4eac2b70b08fae997e (patch) | |
| tree | 4f3d0d5f685a735d5d6265c1b3cafda71ff0683e /include | |
| parent | 0a6a2daf1c7a30c3ca66a8ddb8fc4ff7820051e2 (diff) | |
| parent | 6b16351acbd415e66ba16bf7d473ece1574cf0bc (diff) | |
Merge 3.5-rc4 into usb-linus
This is needed to sync up with the previous USB changes that were merged in
Linus's branch.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/bug.h | 8 | ||||
| -rw-r--r-- | include/asm-generic/pgtable.h | 10 | ||||
| -rw-r--r-- | include/drm/drm_pciids.h | 4 | ||||
| -rw-r--r-- | include/linux/compiler-gcc.h | 6 | ||||
| -rw-r--r-- | include/linux/kmsg_dump.h | 45 | ||||
| -rw-r--r-- | include/linux/mm_types.h | 10 | ||||
| -rw-r--r-- | include/linux/mmc/sdhci-spear.h | 2 | ||||
| -rw-r--r-- | include/linux/mmc/sdio.h | 2 | ||||
| -rw-r--r-- | include/linux/nfs_fs_sb.h | 1 | ||||
| -rw-r--r-- | include/linux/pata_arasan_cf_data.h | 2 | ||||
| -rw-r--r-- | include/linux/pstore_ram.h | 2 | ||||
| -rw-r--r-- | include/linux/pxa2xx_ssp.h | 2 | ||||
| -rw-r--r-- | include/linux/spi/pxa2xx_spi.h | 2 | ||||
| -rw-r--r-- | include/linux/vga_switcheroo.h | 6 |
14 files changed, 82 insertions, 20 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index 9f02005f217..506ec19a373 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h | |||
| @@ -2,7 +2,6 @@ | |||
| 2 | #define _ASM_GENERIC_BUG_H | 2 | #define _ASM_GENERIC_BUG_H |
| 3 | 3 | ||
| 4 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
| 5 | #include <linux/kernel.h> | ||
| 6 | 5 | ||
| 7 | #ifdef CONFIG_BUG | 6 | #ifdef CONFIG_BUG |
| 8 | 7 | ||
| @@ -32,6 +31,9 @@ struct bug_entry { | |||
| 32 | 31 | ||
| 33 | #endif /* CONFIG_GENERIC_BUG */ | 32 | #endif /* CONFIG_GENERIC_BUG */ |
| 34 | 33 | ||
| 34 | #ifndef __ASSEMBLY__ | ||
| 35 | #include <linux/kernel.h> | ||
| 36 | |||
| 35 | /* | 37 | /* |
| 36 | * Don't use BUG() or BUG_ON() unless there's really no way out; one | 38 | * Don't use BUG() or BUG_ON() unless there's really no way out; one |
| 37 | * example might be detecting data structure corruption in the middle | 39 | * example might be detecting data structure corruption in the middle |
| @@ -61,7 +63,6 @@ struct bug_entry { | |||
| 61 | * to provide better diagnostics. | 63 | * to provide better diagnostics. |
| 62 | */ | 64 | */ |
| 63 | #ifndef __WARN_TAINT | 65 | #ifndef __WARN_TAINT |
| 64 | #ifndef __ASSEMBLY__ | ||
| 65 | extern __printf(3, 4) | 66 | extern __printf(3, 4) |
| 66 | void warn_slowpath_fmt(const char *file, const int line, | 67 | void warn_slowpath_fmt(const char *file, const int line, |
| 67 | const char *fmt, ...); | 68 | const char *fmt, ...); |
| @@ -70,7 +71,6 @@ void warn_slowpath_fmt_taint(const char *file, const int line, unsigned taint, | |||
| 70 | const char *fmt, ...); | 71 | const char *fmt, ...); |
| 71 | extern void warn_slowpath_null(const char *file, const int line); | 72 | extern void warn_slowpath_null(const char *file, const int line); |
| 72 | #define WANT_WARN_ON_SLOWPATH | 73 | #define WANT_WARN_ON_SLOWPATH |
| 73 | #endif | ||
| 74 | #define __WARN() warn_slowpath_null(__FILE__, __LINE__) | 74 | #define __WARN() warn_slowpath_null(__FILE__, __LINE__) |
| 75 | #define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg) | 75 | #define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg) |
| 76 | #define __WARN_printf_taint(taint, arg...) \ | 76 | #define __WARN_printf_taint(taint, arg...) \ |
| @@ -203,4 +203,6 @@ extern void warn_slowpath_null(const char *file, const int line); | |||
| 203 | # define WARN_ON_SMP(x) ({0;}) | 203 | # define WARN_ON_SMP(x) ({0;}) |
| 204 | #endif | 204 | #endif |
| 205 | 205 | ||
| 206 | #endif /* __ASSEMBLY__ */ | ||
| 207 | |||
| 206 | #endif | 208 | #endif |
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 6f2b45a9b6b..ff4947b7a97 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
| @@ -484,6 +484,16 @@ static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd) | |||
| 484 | /* | 484 | /* |
| 485 | * The barrier will stabilize the pmdval in a register or on | 485 | * The barrier will stabilize the pmdval in a register or on |
| 486 | * the stack so that it will stop changing under the code. | 486 | * the stack so that it will stop changing under the code. |
| 487 | * | ||
| 488 | * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE, | ||
| 489 | * pmd_read_atomic is allowed to return a not atomic pmdval | ||
| 490 | * (for example pointing to an hugepage that has never been | ||
| 491 | * mapped in the pmd). The below checks will only care about | ||
| 492 | * the low part of the pmd with 32bit PAE x86 anyway, with the | ||
| 493 | * exception of pmd_none(). So the important thing is that if | ||
| 494 | * the low part of the pmd is found null, the high part will | ||
| 495 | * be also null or the pmd_none() check below would be | ||
| 496 | * confused. | ||
| 487 | */ | 497 | */ |
| 488 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE | 498 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE |
| 489 | barrier(); | 499 | barrier(); |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index 81368ab6c61..a7aec391b7b 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
| @@ -1,7 +1,3 @@ | |||
| 1 | /* | ||
| 2 | This file is auto-generated from the drm_pciids.txt in the DRM CVS | ||
| 3 | Please contact dri-devel@lists.sf.net to add new cards to this list | ||
| 4 | */ | ||
| 5 | #define radeon_PCI_IDS \ | 1 | #define radeon_PCI_IDS \ |
| 6 | {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ | 2 | {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ |
| 7 | {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 3 | {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index e5834aa24b9..6a6d7aefe12 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
| @@ -47,9 +47,9 @@ | |||
| 47 | */ | 47 | */ |
| 48 | #if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ | 48 | #if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ |
| 49 | !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) | 49 | !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) |
| 50 | # define inline inline __attribute__((always_inline)) | 50 | # define inline inline __attribute__((always_inline)) notrace |
| 51 | # define __inline__ __inline__ __attribute__((always_inline)) | 51 | # define __inline__ __inline__ __attribute__((always_inline)) notrace |
| 52 | # define __inline __inline __attribute__((always_inline)) | 52 | # define __inline __inline __attribute__((always_inline)) notrace |
| 53 | #else | 53 | #else |
| 54 | /* A lot of inline functions can cause havoc with function tracing */ | 54 | /* A lot of inline functions can cause havoc with function tracing */ |
| 55 | # define inline inline notrace | 55 | # define inline inline notrace |
diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h index 35f7237ec97..d6bd50110ec 100644 --- a/include/linux/kmsg_dump.h +++ b/include/linux/kmsg_dump.h | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | * is passed to the kernel. | 21 | * is passed to the kernel. |
| 22 | */ | 22 | */ |
| 23 | enum kmsg_dump_reason { | 23 | enum kmsg_dump_reason { |
| 24 | KMSG_DUMP_UNDEF, | ||
| 24 | KMSG_DUMP_PANIC, | 25 | KMSG_DUMP_PANIC, |
| 25 | KMSG_DUMP_OOPS, | 26 | KMSG_DUMP_OOPS, |
| 26 | KMSG_DUMP_EMERG, | 27 | KMSG_DUMP_EMERG, |
| @@ -31,23 +32,37 @@ enum kmsg_dump_reason { | |||
| 31 | 32 | ||
| 32 | /** | 33 | /** |
| 33 | * struct kmsg_dumper - kernel crash message dumper structure | 34 | * struct kmsg_dumper - kernel crash message dumper structure |
| 34 | * @dump: The callback which gets called on crashes. The buffer is passed | ||
| 35 | * as two sections, where s1 (length l1) contains the older | ||
| 36 | * messages and s2 (length l2) contains the newer. | ||
| 37 | * @list: Entry in the dumper list (private) | 35 | * @list: Entry in the dumper list (private) |
| 36 | * @dump: Call into dumping code which will retrieve the data with | ||
| 37 | * through the record iterator | ||
| 38 | * @max_reason: filter for highest reason number that should be dumped | ||
| 38 | * @registered: Flag that specifies if this is already registered | 39 | * @registered: Flag that specifies if this is already registered |
| 39 | */ | 40 | */ |
| 40 | struct kmsg_dumper { | 41 | struct kmsg_dumper { |
| 41 | void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason, | ||
| 42 | const char *s1, unsigned long l1, | ||
| 43 | const char *s2, unsigned long l2); | ||
| 44 | struct list_head list; | 42 | struct list_head list; |
| 45 | int registered; | 43 | void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason); |
| 44 | enum kmsg_dump_reason max_reason; | ||
| 45 | bool active; | ||
| 46 | bool registered; | ||
| 47 | |||
| 48 | /* private state of the kmsg iterator */ | ||
| 49 | u32 cur_idx; | ||
| 50 | u32 next_idx; | ||
| 51 | u64 cur_seq; | ||
| 52 | u64 next_seq; | ||
| 46 | }; | 53 | }; |
| 47 | 54 | ||
| 48 | #ifdef CONFIG_PRINTK | 55 | #ifdef CONFIG_PRINTK |
| 49 | void kmsg_dump(enum kmsg_dump_reason reason); | 56 | void kmsg_dump(enum kmsg_dump_reason reason); |
| 50 | 57 | ||
| 58 | bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, | ||
| 59 | char *line, size_t size, size_t *len); | ||
| 60 | |||
| 61 | bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, | ||
| 62 | char *buf, size_t size, size_t *len); | ||
| 63 | |||
| 64 | void kmsg_dump_rewind(struct kmsg_dumper *dumper); | ||
| 65 | |||
| 51 | int kmsg_dump_register(struct kmsg_dumper *dumper); | 66 | int kmsg_dump_register(struct kmsg_dumper *dumper); |
| 52 | 67 | ||
| 53 | int kmsg_dump_unregister(struct kmsg_dumper *dumper); | 68 | int kmsg_dump_unregister(struct kmsg_dumper *dumper); |
| @@ -56,6 +71,22 @@ static inline void kmsg_dump(enum kmsg_dump_reason reason) | |||
| 56 | { | 71 | { |
| 57 | } | 72 | } |
| 58 | 73 | ||
| 74 | static inline bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, | ||
| 75 | const char *line, size_t size, size_t *len) | ||
| 76 | { | ||
| 77 | return false; | ||
| 78 | } | ||
| 79 | |||
| 80 | static inline bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, | ||
| 81 | char *buf, size_t size, size_t *len) | ||
| 82 | { | ||
| 83 | return false; | ||
| 84 | } | ||
| 85 | |||
| 86 | static inline void kmsg_dump_rewind(struct kmsg_dumper *dumper) | ||
| 87 | { | ||
| 88 | } | ||
| 89 | |||
| 59 | static inline int kmsg_dump_register(struct kmsg_dumper *dumper) | 90 | static inline int kmsg_dump_register(struct kmsg_dumper *dumper) |
| 60 | { | 91 | { |
| 61 | return -EINVAL; | 92 | return -EINVAL; |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index dad95bdd06d..704a626d94a 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
| @@ -57,8 +57,18 @@ struct page { | |||
| 57 | }; | 57 | }; |
| 58 | 58 | ||
| 59 | union { | 59 | union { |
| 60 | #if defined(CONFIG_HAVE_CMPXCHG_DOUBLE) && \ | ||
| 61 | defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE) | ||
| 60 | /* Used for cmpxchg_double in slub */ | 62 | /* Used for cmpxchg_double in slub */ |
| 61 | unsigned long counters; | 63 | unsigned long counters; |
| 64 | #else | ||
| 65 | /* | ||
| 66 | * Keep _count separate from slub cmpxchg_double data. | ||
| 67 | * As the rest of the double word is protected by | ||
| 68 | * slab_lock but _count is not. | ||
| 69 | */ | ||
| 70 | unsigned counters; | ||
| 71 | #endif | ||
| 62 | 72 | ||
| 63 | struct { | 73 | struct { |
| 64 | 74 | ||
diff --git a/include/linux/mmc/sdhci-spear.h b/include/linux/mmc/sdhci-spear.h index 5cdc96da9dd..e78c0e236e9 100644 --- a/include/linux/mmc/sdhci-spear.h +++ b/include/linux/mmc/sdhci-spear.h | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * SDHCI declarations specific to ST SPEAr platform | 4 | * SDHCI declarations specific to ST SPEAr platform |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2010 ST Microelectronics | 6 | * Copyright (C) 2010 ST Microelectronics |
| 7 | * Viresh Kumar<viresh.kumar@st.com> | 7 | * Viresh Kumar <viresh.linux@gmail.com> |
| 8 | * | 8 | * |
| 9 | * This file is licensed under the terms of the GNU General Public | 9 | * This file is licensed under the terms of the GNU General Public |
| 10 | * License version 2. This program is licensed "as is" without any | 10 | * License version 2. This program is licensed "as is" without any |
diff --git a/include/linux/mmc/sdio.h b/include/linux/mmc/sdio.h index c9fe66c58f8..17446d3c360 100644 --- a/include/linux/mmc/sdio.h +++ b/include/linux/mmc/sdio.h | |||
| @@ -98,7 +98,9 @@ | |||
| 98 | 98 | ||
| 99 | #define SDIO_CCCR_IF 0x07 /* bus interface controls */ | 99 | #define SDIO_CCCR_IF 0x07 /* bus interface controls */ |
| 100 | 100 | ||
| 101 | #define SDIO_BUS_WIDTH_MASK 0x03 /* data bus width setting */ | ||
| 101 | #define SDIO_BUS_WIDTH_1BIT 0x00 | 102 | #define SDIO_BUS_WIDTH_1BIT 0x00 |
| 103 | #define SDIO_BUS_WIDTH_RESERVED 0x01 | ||
| 102 | #define SDIO_BUS_WIDTH_4BIT 0x02 | 104 | #define SDIO_BUS_WIDTH_4BIT 0x02 |
| 103 | #define SDIO_BUS_ECSI 0x20 /* Enable continuous SPI interrupt */ | 105 | #define SDIO_BUS_ECSI 0x20 /* Enable continuous SPI interrupt */ |
| 104 | #define SDIO_BUS_SCSI 0x40 /* Support continuous SPI interrupt */ | 106 | #define SDIO_BUS_SCSI 0x40 /* Support continuous SPI interrupt */ |
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index fbb78fb09bd..f58325a1d8f 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
| @@ -25,6 +25,7 @@ struct nfs41_impl_id; | |||
| 25 | */ | 25 | */ |
| 26 | struct nfs_client { | 26 | struct nfs_client { |
| 27 | atomic_t cl_count; | 27 | atomic_t cl_count; |
| 28 | atomic_t cl_mds_count; | ||
| 28 | int cl_cons_state; /* current construction state (-ve: init error) */ | 29 | int cl_cons_state; /* current construction state (-ve: init error) */ |
| 29 | #define NFS_CS_READY 0 /* ready to be used */ | 30 | #define NFS_CS_READY 0 /* ready to be used */ |
| 30 | #define NFS_CS_INITING 1 /* busy initialising */ | 31 | #define NFS_CS_INITING 1 /* busy initialising */ |
diff --git a/include/linux/pata_arasan_cf_data.h b/include/linux/pata_arasan_cf_data.h index a6ee9aa898b..a7b4fc386e6 100644 --- a/include/linux/pata_arasan_cf_data.h +++ b/include/linux/pata_arasan_cf_data.h | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * Arasan Compact Flash host controller platform data header file | 4 | * Arasan Compact Flash host controller platform data header file |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2011 ST Microelectronics | 6 | * Copyright (C) 2011 ST Microelectronics |
| 7 | * Viresh Kumar <viresh.kumar@st.com> | 7 | * Viresh Kumar <viresh.linux@gmail.com> |
| 8 | * | 8 | * |
| 9 | * This file is licensed under the terms of the GNU General Public | 9 | * This file is licensed under the terms of the GNU General Public |
| 10 | * License version 2. This program is licensed "as is" without any | 10 | * License version 2. This program is licensed "as is" without any |
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h index 7ed7fd4dba4..3b823d49a85 100644 --- a/include/linux/pstore_ram.h +++ b/include/linux/pstore_ram.h | |||
| @@ -69,12 +69,14 @@ struct persistent_ram_zone * __init persistent_ram_new(phys_addr_t start, | |||
| 69 | size_t size, | 69 | size_t size, |
| 70 | bool ecc); | 70 | bool ecc); |
| 71 | void persistent_ram_free(struct persistent_ram_zone *prz); | 71 | void persistent_ram_free(struct persistent_ram_zone *prz); |
| 72 | void persistent_ram_zap(struct persistent_ram_zone *prz); | ||
| 72 | struct persistent_ram_zone *persistent_ram_init_ringbuffer(struct device *dev, | 73 | struct persistent_ram_zone *persistent_ram_init_ringbuffer(struct device *dev, |
| 73 | bool ecc); | 74 | bool ecc); |
| 74 | 75 | ||
| 75 | int persistent_ram_write(struct persistent_ram_zone *prz, const void *s, | 76 | int persistent_ram_write(struct persistent_ram_zone *prz, const void *s, |
| 76 | unsigned int count); | 77 | unsigned int count); |
| 77 | 78 | ||
| 79 | void persistent_ram_save_old(struct persistent_ram_zone *prz); | ||
| 78 | size_t persistent_ram_old_size(struct persistent_ram_zone *prz); | 80 | size_t persistent_ram_old_size(struct persistent_ram_zone *prz); |
| 79 | void *persistent_ram_old(struct persistent_ram_zone *prz); | 81 | void *persistent_ram_old(struct persistent_ram_zone *prz); |
| 80 | void persistent_ram_free_old(struct persistent_ram_zone *prz); | 82 | void persistent_ram_free_old(struct persistent_ram_zone *prz); |
diff --git a/include/linux/pxa2xx_ssp.h b/include/linux/pxa2xx_ssp.h index 44835fb3979..f36632061c6 100644 --- a/include/linux/pxa2xx_ssp.h +++ b/include/linux/pxa2xx_ssp.h | |||
| @@ -160,7 +160,9 @@ enum pxa_ssp_type { | |||
| 160 | PXA25x_SSP, /* pxa 210, 250, 255, 26x */ | 160 | PXA25x_SSP, /* pxa 210, 250, 255, 26x */ |
| 161 | PXA25x_NSSP, /* pxa 255, 26x (including ASSP) */ | 161 | PXA25x_NSSP, /* pxa 255, 26x (including ASSP) */ |
| 162 | PXA27x_SSP, | 162 | PXA27x_SSP, |
| 163 | PXA3xx_SSP, | ||
| 163 | PXA168_SSP, | 164 | PXA168_SSP, |
| 165 | PXA910_SSP, | ||
| 164 | CE4100_SSP, | 166 | CE4100_SSP, |
| 165 | }; | 167 | }; |
| 166 | 168 | ||
diff --git a/include/linux/spi/pxa2xx_spi.h b/include/linux/spi/pxa2xx_spi.h index d3e1075f7b6..c73d1445c77 100644 --- a/include/linux/spi/pxa2xx_spi.h +++ b/include/linux/spi/pxa2xx_spi.h | |||
| @@ -43,7 +43,7 @@ struct pxa2xx_spi_chip { | |||
| 43 | void (*cs_control)(u32 command); | 43 | void (*cs_control)(u32 command); |
| 44 | }; | 44 | }; |
| 45 | 45 | ||
| 46 | #ifdef CONFIG_ARCH_PXA | 46 | #if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP) |
| 47 | 47 | ||
| 48 | #include <linux/clk.h> | 48 | #include <linux/clk.h> |
| 49 | #include <mach/dma.h> | 49 | #include <mach/dma.h> |
diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h index 60da41fe9dc..ddb419cf453 100644 --- a/include/linux/vga_switcheroo.h +++ b/include/linux/vga_switcheroo.h | |||
| @@ -7,8 +7,13 @@ | |||
| 7 | * vga_switcheroo.h - Support for laptop with dual GPU using one set of outputs | 7 | * vga_switcheroo.h - Support for laptop with dual GPU using one set of outputs |
| 8 | */ | 8 | */ |
| 9 | 9 | ||
| 10 | #ifndef _LINUX_VGA_SWITCHEROO_H_ | ||
| 11 | #define _LINUX_VGA_SWITCHEROO_H_ | ||
| 12 | |||
| 10 | #include <linux/fb.h> | 13 | #include <linux/fb.h> |
| 11 | 14 | ||
| 15 | struct pci_dev; | ||
| 16 | |||
| 12 | enum vga_switcheroo_state { | 17 | enum vga_switcheroo_state { |
| 13 | VGA_SWITCHEROO_OFF, | 18 | VGA_SWITCHEROO_OFF, |
| 14 | VGA_SWITCHEROO_ON, | 19 | VGA_SWITCHEROO_ON, |
| @@ -71,3 +76,4 @@ static inline int vga_switcheroo_get_client_state(struct pci_dev *dev) { return | |||
| 71 | 76 | ||
| 72 | 77 | ||
| 73 | #endif | 78 | #endif |
| 79 | #endif /* _LINUX_VGA_SWITCHEROO_H_ */ | ||
