diff options
author | Joel Becker <jlbec@evilplan.org> | 2011-05-26 00:51:55 -0400 |
---|---|---|
committer | Joel Becker <jlbec@evilplan.org> | 2011-05-26 00:51:55 -0400 |
commit | ece928df16494becd43f999aff9bd530182e7e81 (patch) | |
tree | 905042764ea5d8ab6eda63666406e19f607bcf4c /include | |
parent | 3d1c1829ebe7e8bb48a997b39b4865abc9197e5e (diff) | |
parent | dda54e76d7dba0532ebdd72e0b4f492a03f83225 (diff) |
Merge branch 'move_extents' of git://oss.oracle.com/git/tye/linux-2.6 into ocfs2-merge-window
Conflicts:
fs/ocfs2/ioctl.c
Diffstat (limited to 'include')
28 files changed, 454 insertions, 122 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index b4bfe338ea0e..e9b8e5926bef 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
@@ -184,22 +184,18 @@ static inline int pmd_same(pmd_t pmd_a, pmd_t pmd_b) | |||
184 | #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ | 184 | #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ |
185 | #endif | 185 | #endif |
186 | 186 | ||
187 | #ifndef __HAVE_ARCH_PAGE_TEST_DIRTY | 187 | #ifndef __HAVE_ARCH_PAGE_TEST_AND_CLEAR_DIRTY |
188 | #define page_test_dirty(page) (0) | 188 | #define page_test_and_clear_dirty(pfn, mapped) (0) |
189 | #endif | 189 | #endif |
190 | 190 | ||
191 | #ifndef __HAVE_ARCH_PAGE_CLEAR_DIRTY | 191 | #ifndef __HAVE_ARCH_PAGE_TEST_AND_CLEAR_DIRTY |
192 | #define page_clear_dirty(page, mapped) do { } while (0) | ||
193 | #endif | ||
194 | |||
195 | #ifndef __HAVE_ARCH_PAGE_TEST_DIRTY | ||
196 | #define pte_maybe_dirty(pte) pte_dirty(pte) | 192 | #define pte_maybe_dirty(pte) pte_dirty(pte) |
197 | #else | 193 | #else |
198 | #define pte_maybe_dirty(pte) (1) | 194 | #define pte_maybe_dirty(pte) (1) |
199 | #endif | 195 | #endif |
200 | 196 | ||
201 | #ifndef __HAVE_ARCH_PAGE_TEST_AND_CLEAR_YOUNG | 197 | #ifndef __HAVE_ARCH_PAGE_TEST_AND_CLEAR_YOUNG |
202 | #define page_test_and_clear_young(page) (0) | 198 | #define page_test_and_clear_young(pfn) (0) |
203 | #endif | 199 | #endif |
204 | 200 | ||
205 | #ifndef __HAVE_ARCH_PGD_OFFSET_GATE | 201 | #ifndef __HAVE_ARCH_PGD_OFFSET_GATE |
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 077c00d94f6e..db22d136ad08 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
@@ -15,7 +15,7 @@ | |||
15 | * HEAD_TEXT_SECTION | 15 | * HEAD_TEXT_SECTION |
16 | * INIT_TEXT_SECTION(PAGE_SIZE) | 16 | * INIT_TEXT_SECTION(PAGE_SIZE) |
17 | * INIT_DATA_SECTION(...) | 17 | * INIT_DATA_SECTION(...) |
18 | * PERCPU(CACHELINE_SIZE, PAGE_SIZE) | 18 | * PERCPU_SECTION(CACHELINE_SIZE) |
19 | * __init_end = .; | 19 | * __init_end = .; |
20 | * | 20 | * |
21 | * _stext = .; | 21 | * _stext = .; |
@@ -682,6 +682,28 @@ | |||
682 | } | 682 | } |
683 | 683 | ||
684 | /** | 684 | /** |
685 | * PERCPU_INPUT - the percpu input sections | ||
686 | * @cacheline: cacheline size | ||
687 | * | ||
688 | * The core percpu section names and core symbols which do not rely | ||
689 | * directly upon load addresses. | ||
690 | * | ||
691 | * @cacheline is used to align subsections to avoid false cacheline | ||
692 | * sharing between subsections for different purposes. | ||
693 | */ | ||
694 | #define PERCPU_INPUT(cacheline) \ | ||
695 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ | ||
696 | *(.data..percpu..first) \ | ||
697 | . = ALIGN(PAGE_SIZE); \ | ||
698 | *(.data..percpu..page_aligned) \ | ||
699 | . = ALIGN(cacheline); \ | ||
700 | *(.data..percpu..readmostly) \ | ||
701 | . = ALIGN(cacheline); \ | ||
702 | *(.data..percpu) \ | ||
703 | *(.data..percpu..shared_aligned) \ | ||
704 | VMLINUX_SYMBOL(__per_cpu_end) = .; | ||
705 | |||
706 | /** | ||
685 | * PERCPU_VADDR - define output section for percpu area | 707 | * PERCPU_VADDR - define output section for percpu area |
686 | * @cacheline: cacheline size | 708 | * @cacheline: cacheline size |
687 | * @vaddr: explicit base address (optional) | 709 | * @vaddr: explicit base address (optional) |
@@ -703,52 +725,33 @@ | |||
703 | * | 725 | * |
704 | * Note that this macros defines __per_cpu_load as an absolute symbol. | 726 | * Note that this macros defines __per_cpu_load as an absolute symbol. |
705 | * If there is no need to put the percpu section at a predetermined | 727 | * If there is no need to put the percpu section at a predetermined |
706 | * address, use PERCPU(). | 728 | * address, use PERCPU_SECTION. |
707 | */ | 729 | */ |
708 | #define PERCPU_VADDR(cacheline, vaddr, phdr) \ | 730 | #define PERCPU_VADDR(cacheline, vaddr, phdr) \ |
709 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ | 731 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ |
710 | .data..percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load) \ | 732 | .data..percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load) \ |
711 | - LOAD_OFFSET) { \ | 733 | - LOAD_OFFSET) { \ |
712 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ | 734 | PERCPU_INPUT(cacheline) \ |
713 | *(.data..percpu..first) \ | ||
714 | . = ALIGN(PAGE_SIZE); \ | ||
715 | *(.data..percpu..page_aligned) \ | ||
716 | . = ALIGN(cacheline); \ | ||
717 | *(.data..percpu..readmostly) \ | ||
718 | . = ALIGN(cacheline); \ | ||
719 | *(.data..percpu) \ | ||
720 | *(.data..percpu..shared_aligned) \ | ||
721 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | ||
722 | } phdr \ | 735 | } phdr \ |
723 | . = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data..percpu); | 736 | . = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data..percpu); |
724 | 737 | ||
725 | /** | 738 | /** |
726 | * PERCPU - define output section for percpu area, simple version | 739 | * PERCPU_SECTION - define output section for percpu area, simple version |
727 | * @cacheline: cacheline size | 740 | * @cacheline: cacheline size |
728 | * @align: required alignment | ||
729 | * | 741 | * |
730 | * Align to @align and outputs output section for percpu area. This macro | 742 | * Align to PAGE_SIZE and outputs output section for percpu area. This |
731 | * doesn't manipulate @vaddr or @phdr and __per_cpu_load and | 743 | * macro doesn't manipulate @vaddr or @phdr and __per_cpu_load and |
732 | * __per_cpu_start will be identical. | 744 | * __per_cpu_start will be identical. |
733 | * | 745 | * |
734 | * This macro is equivalent to ALIGN(@align); PERCPU_VADDR(@cacheline,,) | 746 | * This macro is equivalent to ALIGN(PAGE_SIZE); PERCPU_VADDR(@cacheline,,) |
735 | * except that __per_cpu_load is defined as a relative symbol against | 747 | * except that __per_cpu_load is defined as a relative symbol against |
736 | * .data..percpu which is required for relocatable x86_32 configuration. | 748 | * .data..percpu which is required for relocatable x86_32 configuration. |
737 | */ | 749 | */ |
738 | #define PERCPU(cacheline, align) \ | 750 | #define PERCPU_SECTION(cacheline) \ |
739 | . = ALIGN(align); \ | 751 | . = ALIGN(PAGE_SIZE); \ |
740 | .data..percpu : AT(ADDR(.data..percpu) - LOAD_OFFSET) { \ | 752 | .data..percpu : AT(ADDR(.data..percpu) - LOAD_OFFSET) { \ |
741 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ | 753 | VMLINUX_SYMBOL(__per_cpu_load) = .; \ |
742 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ | 754 | PERCPU_INPUT(cacheline) \ |
743 | *(.data..percpu..first) \ | ||
744 | . = ALIGN(PAGE_SIZE); \ | ||
745 | *(.data..percpu..page_aligned) \ | ||
746 | . = ALIGN(cacheline); \ | ||
747 | *(.data..percpu..readmostly) \ | ||
748 | . = ALIGN(cacheline); \ | ||
749 | *(.data..percpu) \ | ||
750 | *(.data..percpu..shared_aligned) \ | ||
751 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | ||
752 | } | 755 | } |
753 | 756 | ||
754 | 757 | ||
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 202424d17ed7..738b3a5faa12 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -122,10 +122,14 @@ struct drm_device; | |||
122 | * using the DRM_DEBUG_KMS and DRM_DEBUG. | 122 | * using the DRM_DEBUG_KMS and DRM_DEBUG. |
123 | */ | 123 | */ |
124 | 124 | ||
125 | extern void drm_ut_debug_printk(unsigned int request_level, | 125 | extern __attribute__((format (printf, 4, 5))) |
126 | void drm_ut_debug_printk(unsigned int request_level, | ||
126 | const char *prefix, | 127 | const char *prefix, |
127 | const char *function_name, | 128 | const char *function_name, |
128 | const char *format, ...); | 129 | const char *format, ...); |
130 | extern __attribute__((format (printf, 2, 3))) | ||
131 | int drm_err(const char *func, const char *format, ...); | ||
132 | |||
129 | /***********************************************************************/ | 133 | /***********************************************************************/ |
130 | /** \name DRM template customization defaults */ | 134 | /** \name DRM template customization defaults */ |
131 | /*@{*/ | 135 | /*@{*/ |
@@ -181,21 +185,11 @@ extern void drm_ut_debug_printk(unsigned int request_level, | |||
181 | * \param fmt printf() like format string. | 185 | * \param fmt printf() like format string. |
182 | * \param arg arguments | 186 | * \param arg arguments |
183 | */ | 187 | */ |
184 | #define DRM_ERROR(fmt, arg...) \ | 188 | #define DRM_ERROR(fmt, ...) \ |
185 | printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) | 189 | drm_err(__func__, fmt, ##__VA_ARGS__) |
186 | |||
187 | /** | ||
188 | * Memory error output. | ||
189 | * | ||
190 | * \param area memory area where the error occurred. | ||
191 | * \param fmt printf() like format string. | ||
192 | * \param arg arguments | ||
193 | */ | ||
194 | #define DRM_MEM_ERROR(area, fmt, arg...) \ | ||
195 | printk(KERN_ERR "[" DRM_NAME ":%s:%s] *ERROR* " fmt , __func__, \ | ||
196 | drm_mem_stats[area].name , ##arg) | ||
197 | 190 | ||
198 | #define DRM_INFO(fmt, arg...) printk(KERN_INFO "[" DRM_NAME "] " fmt , ##arg) | 191 | #define DRM_INFO(fmt, ...) \ |
192 | printk(KERN_INFO "[" DRM_NAME "] " fmt, ##__VA_ARGS__) | ||
199 | 193 | ||
200 | /** | 194 | /** |
201 | * Debug output. | 195 | * Debug output. |
@@ -1000,6 +994,22 @@ struct drm_minor { | |||
1000 | struct drm_mode_group mode_group; | 994 | struct drm_mode_group mode_group; |
1001 | }; | 995 | }; |
1002 | 996 | ||
997 | /* mode specified on the command line */ | ||
998 | struct drm_cmdline_mode { | ||
999 | bool specified; | ||
1000 | bool refresh_specified; | ||
1001 | bool bpp_specified; | ||
1002 | int xres, yres; | ||
1003 | int bpp; | ||
1004 | int refresh; | ||
1005 | bool rb; | ||
1006 | bool interlace; | ||
1007 | bool cvt; | ||
1008 | bool margins; | ||
1009 | enum drm_connector_force force; | ||
1010 | }; | ||
1011 | |||
1012 | |||
1003 | struct drm_pending_vblank_event { | 1013 | struct drm_pending_vblank_event { |
1004 | struct drm_pending_event base; | 1014 | struct drm_pending_event base; |
1005 | int pipe; | 1015 | int pipe; |
@@ -1395,6 +1405,15 @@ extern int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, | |||
1395 | struct drm_crtc *refcrtc); | 1405 | struct drm_crtc *refcrtc); |
1396 | extern void drm_calc_timestamping_constants(struct drm_crtc *crtc); | 1406 | extern void drm_calc_timestamping_constants(struct drm_crtc *crtc); |
1397 | 1407 | ||
1408 | extern bool | ||
1409 | drm_mode_parse_command_line_for_connector(const char *mode_option, | ||
1410 | struct drm_connector *connector, | ||
1411 | struct drm_cmdline_mode *mode); | ||
1412 | |||
1413 | extern struct drm_display_mode * | ||
1414 | drm_mode_create_from_cmdline_mode(struct drm_device *dev, | ||
1415 | struct drm_cmdline_mode *cmd); | ||
1416 | |||
1398 | /* Modesetting support */ | 1417 | /* Modesetting support */ |
1399 | extern void drm_vblank_pre_modeset(struct drm_device *dev, int crtc); | 1418 | extern void drm_vblank_pre_modeset(struct drm_device *dev, int crtc); |
1400 | extern void drm_vblank_post_modeset(struct drm_device *dev, int crtc); | 1419 | extern void drm_vblank_post_modeset(struct drm_device *dev, int crtc); |
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index d94684b7ba34..9573e0ce3120 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -183,7 +183,9 @@ enum subpixel_order { | |||
183 | SubPixelNone, | 183 | SubPixelNone, |
184 | }; | 184 | }; |
185 | 185 | ||
186 | 186 | #define DRM_COLOR_FORMAT_RGB444 (1<<0) | |
187 | #define DRM_COLOR_FORMAT_YCRCB444 (1<<1) | ||
188 | #define DRM_COLOR_FORMAT_YCRCB422 (1<<2) | ||
187 | /* | 189 | /* |
188 | * Describes a given display (e.g. CRT or flat panel) and its limitations. | 190 | * Describes a given display (e.g. CRT or flat panel) and its limitations. |
189 | */ | 191 | */ |
@@ -198,8 +200,10 @@ struct drm_display_info { | |||
198 | unsigned int min_vfreq, max_vfreq; | 200 | unsigned int min_vfreq, max_vfreq; |
199 | unsigned int min_hfreq, max_hfreq; | 201 | unsigned int min_hfreq, max_hfreq; |
200 | unsigned int pixel_clock; | 202 | unsigned int pixel_clock; |
203 | unsigned int bpc; | ||
201 | 204 | ||
202 | enum subpixel_order subpixel_order; | 205 | enum subpixel_order subpixel_order; |
206 | u32 color_formats; | ||
203 | 207 | ||
204 | char *raw_edid; /* if any */ | 208 | char *raw_edid; /* if any */ |
205 | }; | 209 | }; |
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h index 83a389e44543..91567bbdb027 100644 --- a/include/drm/drm_dp_helper.h +++ b/include/drm/drm_dp_helper.h | |||
@@ -53,6 +53,7 @@ | |||
53 | 53 | ||
54 | #define DP_MAX_LANE_COUNT 0x002 | 54 | #define DP_MAX_LANE_COUNT 0x002 |
55 | # define DP_MAX_LANE_COUNT_MASK 0x1f | 55 | # define DP_MAX_LANE_COUNT_MASK 0x1f |
56 | # define DP_TPS3_SUPPORTED (1 << 6) | ||
56 | # define DP_ENHANCED_FRAME_CAP (1 << 7) | 57 | # define DP_ENHANCED_FRAME_CAP (1 << 7) |
57 | 58 | ||
58 | #define DP_MAX_DOWNSPREAD 0x003 | 59 | #define DP_MAX_DOWNSPREAD 0x003 |
@@ -71,10 +72,13 @@ | |||
71 | 72 | ||
72 | #define DP_MAIN_LINK_CHANNEL_CODING 0x006 | 73 | #define DP_MAIN_LINK_CHANNEL_CODING 0x006 |
73 | 74 | ||
75 | #define DP_TRAINING_AUX_RD_INTERVAL 0x00e | ||
76 | |||
74 | /* link configuration */ | 77 | /* link configuration */ |
75 | #define DP_LINK_BW_SET 0x100 | 78 | #define DP_LINK_BW_SET 0x100 |
76 | # define DP_LINK_BW_1_62 0x06 | 79 | # define DP_LINK_BW_1_62 0x06 |
77 | # define DP_LINK_BW_2_7 0x0a | 80 | # define DP_LINK_BW_2_7 0x0a |
81 | # define DP_LINK_BW_5_4 0x14 | ||
78 | 82 | ||
79 | #define DP_LANE_COUNT_SET 0x101 | 83 | #define DP_LANE_COUNT_SET 0x101 |
80 | # define DP_LANE_COUNT_MASK 0x0f | 84 | # define DP_LANE_COUNT_MASK 0x0f |
@@ -84,6 +88,7 @@ | |||
84 | # define DP_TRAINING_PATTERN_DISABLE 0 | 88 | # define DP_TRAINING_PATTERN_DISABLE 0 |
85 | # define DP_TRAINING_PATTERN_1 1 | 89 | # define DP_TRAINING_PATTERN_1 1 |
86 | # define DP_TRAINING_PATTERN_2 2 | 90 | # define DP_TRAINING_PATTERN_2 2 |
91 | # define DP_TRAINING_PATTERN_3 3 | ||
87 | # define DP_TRAINING_PATTERN_MASK 0x3 | 92 | # define DP_TRAINING_PATTERN_MASK 0x3 |
88 | 93 | ||
89 | # define DP_LINK_QUAL_PATTERN_DISABLE (0 << 2) | 94 | # define DP_LINK_QUAL_PATTERN_DISABLE (0 << 2) |
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h index 5881fad91faa..eacb415b309a 100644 --- a/include/drm/drm_edid.h +++ b/include/drm/drm_edid.h | |||
@@ -155,12 +155,35 @@ struct detailed_timing { | |||
155 | #define DRM_EDID_INPUT_SEPARATE_SYNCS (1 << 3) | 155 | #define DRM_EDID_INPUT_SEPARATE_SYNCS (1 << 3) |
156 | #define DRM_EDID_INPUT_BLANK_TO_BLACK (1 << 4) | 156 | #define DRM_EDID_INPUT_BLANK_TO_BLACK (1 << 4) |
157 | #define DRM_EDID_INPUT_VIDEO_LEVEL (3 << 5) | 157 | #define DRM_EDID_INPUT_VIDEO_LEVEL (3 << 5) |
158 | #define DRM_EDID_INPUT_DIGITAL (1 << 7) /* bits below must be zero if set */ | 158 | #define DRM_EDID_INPUT_DIGITAL (1 << 7) |
159 | #define DRM_EDID_DIGITAL_DEPTH_MASK (7 << 4) | ||
160 | #define DRM_EDID_DIGITAL_DEPTH_UNDEF (0 << 4) | ||
161 | #define DRM_EDID_DIGITAL_DEPTH_6 (1 << 4) | ||
162 | #define DRM_EDID_DIGITAL_DEPTH_8 (2 << 4) | ||
163 | #define DRM_EDID_DIGITAL_DEPTH_10 (3 << 4) | ||
164 | #define DRM_EDID_DIGITAL_DEPTH_12 (4 << 4) | ||
165 | #define DRM_EDID_DIGITAL_DEPTH_14 (5 << 4) | ||
166 | #define DRM_EDID_DIGITAL_DEPTH_16 (6 << 4) | ||
167 | #define DRM_EDID_DIGITAL_DEPTH_RSVD (7 << 4) | ||
168 | #define DRM_EDID_DIGITAL_TYPE_UNDEF (0) | ||
169 | #define DRM_EDID_DIGITAL_TYPE_DVI (1) | ||
170 | #define DRM_EDID_DIGITAL_TYPE_HDMI_A (2) | ||
171 | #define DRM_EDID_DIGITAL_TYPE_HDMI_B (3) | ||
172 | #define DRM_EDID_DIGITAL_TYPE_MDDI (4) | ||
173 | #define DRM_EDID_DIGITAL_TYPE_DP (5) | ||
159 | 174 | ||
160 | #define DRM_EDID_FEATURE_DEFAULT_GTF (1 << 0) | 175 | #define DRM_EDID_FEATURE_DEFAULT_GTF (1 << 0) |
161 | #define DRM_EDID_FEATURE_PREFERRED_TIMING (1 << 1) | 176 | #define DRM_EDID_FEATURE_PREFERRED_TIMING (1 << 1) |
162 | #define DRM_EDID_FEATURE_STANDARD_COLOR (1 << 2) | 177 | #define DRM_EDID_FEATURE_STANDARD_COLOR (1 << 2) |
178 | /* If analog */ | ||
163 | #define DRM_EDID_FEATURE_DISPLAY_TYPE (3 << 3) /* 00=mono, 01=rgb, 10=non-rgb, 11=unknown */ | 179 | #define DRM_EDID_FEATURE_DISPLAY_TYPE (3 << 3) /* 00=mono, 01=rgb, 10=non-rgb, 11=unknown */ |
180 | /* If digital */ | ||
181 | #define DRM_EDID_FEATURE_COLOR_MASK (3 << 3) | ||
182 | #define DRM_EDID_FEATURE_RGB (0 << 3) | ||
183 | #define DRM_EDID_FEATURE_RGB_YCRCB444 (1 << 3) | ||
184 | #define DRM_EDID_FEATURE_RGB_YCRCB422 (2 << 3) | ||
185 | #define DRM_EDID_FEATURE_RGB_YCRCB (3 << 3) /* both 4:4:4 and 4:2:2 */ | ||
186 | |||
164 | #define DRM_EDID_FEATURE_PM_ACTIVE_OFF (1 << 5) | 187 | #define DRM_EDID_FEATURE_PM_ACTIVE_OFF (1 << 5) |
165 | #define DRM_EDID_FEATURE_PM_SUSPEND (1 << 6) | 188 | #define DRM_EDID_FEATURE_PM_SUSPEND (1 << 6) |
166 | #define DRM_EDID_FEATURE_PM_STANDBY (1 << 7) | 189 | #define DRM_EDID_FEATURE_PM_STANDBY (1 << 7) |
diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index c99c3d3e7811..6e3076ad646e 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h | |||
@@ -40,20 +40,6 @@ struct drm_fb_helper_crtc { | |||
40 | struct drm_display_mode *desired_mode; | 40 | struct drm_display_mode *desired_mode; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | /* mode specified on the command line */ | ||
44 | struct drm_fb_helper_cmdline_mode { | ||
45 | bool specified; | ||
46 | bool refresh_specified; | ||
47 | bool bpp_specified; | ||
48 | int xres, yres; | ||
49 | int bpp; | ||
50 | int refresh; | ||
51 | bool rb; | ||
52 | bool interlace; | ||
53 | bool cvt; | ||
54 | bool margins; | ||
55 | }; | ||
56 | |||
57 | struct drm_fb_helper_surface_size { | 43 | struct drm_fb_helper_surface_size { |
58 | u32 fb_width; | 44 | u32 fb_width; |
59 | u32 fb_height; | 45 | u32 fb_height; |
@@ -74,8 +60,8 @@ struct drm_fb_helper_funcs { | |||
74 | }; | 60 | }; |
75 | 61 | ||
76 | struct drm_fb_helper_connector { | 62 | struct drm_fb_helper_connector { |
77 | struct drm_fb_helper_cmdline_mode cmdline_mode; | ||
78 | struct drm_connector *connector; | 63 | struct drm_connector *connector; |
64 | struct drm_cmdline_mode cmdline_mode; | ||
79 | }; | 65 | }; |
80 | 66 | ||
81 | struct drm_fb_helper { | 67 | struct drm_fb_helper { |
diff --git a/include/linux/capability.h b/include/linux/capability.h index 4554db0cde86..c42112350003 100644 --- a/include/linux/capability.h +++ b/include/linux/capability.h | |||
@@ -417,7 +417,6 @@ extern const kernel_cap_t __cap_init_eff_set; | |||
417 | 417 | ||
418 | # define CAP_EMPTY_SET ((kernel_cap_t){{ 0, 0 }}) | 418 | # define CAP_EMPTY_SET ((kernel_cap_t){{ 0, 0 }}) |
419 | # define CAP_FULL_SET ((kernel_cap_t){{ ~0, ~0 }}) | 419 | # define CAP_FULL_SET ((kernel_cap_t){{ ~0, ~0 }}) |
420 | # define CAP_INIT_EFF_SET ((kernel_cap_t){{ ~CAP_TO_MASK(CAP_SETPCAP), ~0 }}) | ||
421 | # define CAP_FS_SET ((kernel_cap_t){{ CAP_FS_MASK_B0 \ | 420 | # define CAP_FS_SET ((kernel_cap_t){{ CAP_FS_MASK_B0 \ |
422 | | CAP_TO_MASK(CAP_LINUX_IMMUTABLE), \ | 421 | | CAP_TO_MASK(CAP_LINUX_IMMUTABLE), \ |
423 | CAP_FS_MASK_B1 } }) | 422 | CAP_FS_MASK_B1 } }) |
@@ -427,11 +426,7 @@ extern const kernel_cap_t __cap_init_eff_set; | |||
427 | 426 | ||
428 | #endif /* _KERNEL_CAPABILITY_U32S != 2 */ | 427 | #endif /* _KERNEL_CAPABILITY_U32S != 2 */ |
429 | 428 | ||
430 | #define CAP_INIT_INH_SET CAP_EMPTY_SET | ||
431 | |||
432 | # define cap_clear(c) do { (c) = __cap_empty_set; } while (0) | 429 | # define cap_clear(c) do { (c) = __cap_empty_set; } while (0) |
433 | # define cap_set_full(c) do { (c) = __cap_full_set; } while (0) | ||
434 | # define cap_set_init_eff(c) do { (c) = __cap_init_eff_set; } while (0) | ||
435 | 430 | ||
436 | #define cap_raise(c, flag) ((c).cap[CAP_TO_INDEX(flag)] |= CAP_TO_MASK(flag)) | 431 | #define cap_raise(c, flag) ((c).cap[CAP_TO_INDEX(flag)] |= CAP_TO_MASK(flag)) |
437 | #define cap_lower(c, flag) ((c).cap[CAP_TO_INDEX(flag)] &= ~CAP_TO_MASK(flag)) | 432 | #define cap_lower(c, flag) ((c).cap[CAP_TO_INDEX(flag)] &= ~CAP_TO_MASK(flag)) |
diff --git a/include/linux/dlm_plock.h b/include/linux/dlm_plock.h index 2dd21243104f..3b1cc1be419f 100644 --- a/include/linux/dlm_plock.h +++ b/include/linux/dlm_plock.h | |||
@@ -14,7 +14,7 @@ | |||
14 | #define DLM_PLOCK_MISC_NAME "dlm_plock" | 14 | #define DLM_PLOCK_MISC_NAME "dlm_plock" |
15 | 15 | ||
16 | #define DLM_PLOCK_VERSION_MAJOR 1 | 16 | #define DLM_PLOCK_VERSION_MAJOR 1 |
17 | #define DLM_PLOCK_VERSION_MINOR 1 | 17 | #define DLM_PLOCK_VERSION_MINOR 2 |
18 | #define DLM_PLOCK_VERSION_PATCH 0 | 18 | #define DLM_PLOCK_VERSION_PATCH 0 |
19 | 19 | ||
20 | enum { | 20 | enum { |
@@ -23,12 +23,14 @@ enum { | |||
23 | DLM_PLOCK_OP_GET, | 23 | DLM_PLOCK_OP_GET, |
24 | }; | 24 | }; |
25 | 25 | ||
26 | #define DLM_PLOCK_FL_CLOSE 1 | ||
27 | |||
26 | struct dlm_plock_info { | 28 | struct dlm_plock_info { |
27 | __u32 version[3]; | 29 | __u32 version[3]; |
28 | __u8 optype; | 30 | __u8 optype; |
29 | __u8 ex; | 31 | __u8 ex; |
30 | __u8 wait; | 32 | __u8 wait; |
31 | __u8 pad; | 33 | __u8 flags; |
32 | __u32 pid; | 34 | __u32 pid; |
33 | __s32 nodeid; | 35 | __s32 nodeid; |
34 | __s32 rv; | 36 | __s32 rv; |
diff --git a/include/linux/gpio_keys.h b/include/linux/gpio_keys.h index dd1a56fbe924..b5ca4b2c08ec 100644 --- a/include/linux/gpio_keys.h +++ b/include/linux/gpio_keys.h | |||
@@ -3,14 +3,15 @@ | |||
3 | 3 | ||
4 | struct gpio_keys_button { | 4 | struct gpio_keys_button { |
5 | /* Configuration parameters */ | 5 | /* Configuration parameters */ |
6 | int code; /* input event code (KEY_*, SW_*) */ | 6 | unsigned int code; /* input event code (KEY_*, SW_*) */ |
7 | int gpio; | 7 | int gpio; |
8 | int active_low; | 8 | int active_low; |
9 | char *desc; | 9 | const char *desc; |
10 | int type; /* input event type (EV_KEY, EV_SW) */ | 10 | unsigned int type; /* input event type (EV_KEY, EV_SW, EV_ABS) */ |
11 | int wakeup; /* configure the button as a wake-up source */ | 11 | int wakeup; /* configure the button as a wake-up source */ |
12 | int debounce_interval; /* debounce ticks interval in msecs */ | 12 | int debounce_interval; /* debounce ticks interval in msecs */ |
13 | bool can_disable; | 13 | bool can_disable; |
14 | int value; /* axis value for EV_ABS */ | ||
14 | }; | 15 | }; |
15 | 16 | ||
16 | struct gpio_keys_platform_data { | 17 | struct gpio_keys_platform_data { |
@@ -21,6 +22,7 @@ struct gpio_keys_platform_data { | |||
21 | unsigned int rep:1; /* enable input subsystem auto repeat */ | 22 | unsigned int rep:1; /* enable input subsystem auto repeat */ |
22 | int (*enable)(struct device *dev); | 23 | int (*enable)(struct device *dev); |
23 | void (*disable)(struct device *dev); | 24 | void (*disable)(struct device *dev); |
25 | const char *name; /* input device name */ | ||
24 | }; | 26 | }; |
25 | 27 | ||
26 | #endif | 28 | #endif |
diff --git a/include/linux/i2c/i2c-sh_mobile.h b/include/linux/i2c/i2c-sh_mobile.h new file mode 100644 index 000000000000..beda7081aead --- /dev/null +++ b/include/linux/i2c/i2c-sh_mobile.h | |||
@@ -0,0 +1,10 @@ | |||
1 | #ifndef __I2C_SH_MOBILE_H__ | ||
2 | #define __I2C_SH_MOBILE_H__ | ||
3 | |||
4 | #include <linux/platform_device.h> | ||
5 | |||
6 | struct i2c_sh_mobile_platform_data { | ||
7 | unsigned long bus_speed; | ||
8 | }; | ||
9 | |||
10 | #endif /* __I2C_SH_MOBILE_H__ */ | ||
diff --git a/include/linux/i2c/mpr121_touchkey.h b/include/linux/i2c/mpr121_touchkey.h new file mode 100644 index 000000000000..f0bcc38bbb97 --- /dev/null +++ b/include/linux/i2c/mpr121_touchkey.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* Header file for Freescale MPR121 Capacitive Touch Sensor */ | ||
2 | |||
3 | #ifndef _MPR121_TOUCHKEY_H | ||
4 | #define _MPR121_TOUCHKEY_H | ||
5 | |||
6 | /** | ||
7 | * struct mpr121_platform_data - platform data for mpr121 sensor | ||
8 | * @keymap: pointer to array of KEY_* values representing keymap | ||
9 | * @keymap_size: size of the keymap | ||
10 | * @wakeup: configure the button as a wake-up source | ||
11 | * @vdd_uv: VDD voltage in uV | ||
12 | */ | ||
13 | struct mpr121_platform_data { | ||
14 | const unsigned short *keymap; | ||
15 | unsigned int keymap_size; | ||
16 | bool wakeup; | ||
17 | int vdd_uv; | ||
18 | }; | ||
19 | |||
20 | #endif /* _MPR121_TOUCHKEY_H */ | ||
diff --git a/include/linux/i2c/tsc2007.h b/include/linux/i2c/tsc2007.h index c6361fbb7bf9..591427a63b06 100644 --- a/include/linux/i2c/tsc2007.h +++ b/include/linux/i2c/tsc2007.h | |||
@@ -6,6 +6,13 @@ | |||
6 | struct tsc2007_platform_data { | 6 | struct tsc2007_platform_data { |
7 | u16 model; /* 2007. */ | 7 | u16 model; /* 2007. */ |
8 | u16 x_plate_ohms; | 8 | u16 x_plate_ohms; |
9 | u16 max_rt; /* max. resistance above which samples are ignored */ | ||
10 | unsigned long poll_delay; /* delay (in ms) after pen-down event | ||
11 | before polling starts */ | ||
12 | unsigned long poll_period; /* time (in ms) between samples */ | ||
13 | int fuzzx; /* fuzz factor for X, Y and pressure axes */ | ||
14 | int fuzzy; | ||
15 | int fuzzz; | ||
9 | 16 | ||
10 | int (*get_pendown_state)(void); | 17 | int (*get_pendown_state)(void); |
11 | void (*clear_penirq)(void); /* If needed, clear 2nd level | 18 | void (*clear_penirq)(void); /* If needed, clear 2nd level |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 689496bb6654..bafc58c00fc3 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -83,13 +83,6 @@ extern struct group_info init_groups; | |||
83 | #define INIT_IDS | 83 | #define INIT_IDS |
84 | #endif | 84 | #endif |
85 | 85 | ||
86 | /* | ||
87 | * Because of the reduced scope of CAP_SETPCAP when filesystem | ||
88 | * capabilities are in effect, it is safe to allow CAP_SETPCAP to | ||
89 | * be available in the default configuration. | ||
90 | */ | ||
91 | # define CAP_INIT_BSET CAP_FULL_SET | ||
92 | |||
93 | #ifdef CONFIG_RCU_BOOST | 86 | #ifdef CONFIG_RCU_BOOST |
94 | #define INIT_TASK_RCU_BOOST() \ | 87 | #define INIT_TASK_RCU_BOOST() \ |
95 | .rcu_boost_mutex = NULL, | 88 | .rcu_boost_mutex = NULL, |
diff --git a/include/linux/input/ad714x.h b/include/linux/input/ad714x.h index 0cbe5e81482e..d388d857bf14 100644 --- a/include/linux/input/ad714x.h +++ b/include/linux/input/ad714x.h | |||
@@ -6,7 +6,7 @@ | |||
6 | * The platform_data for the device's "struct device" holds this | 6 | * The platform_data for the device's "struct device" holds this |
7 | * information. | 7 | * information. |
8 | * | 8 | * |
9 | * Copyright 2009 Analog Devices Inc. | 9 | * Copyright 2009-2011 Analog Devices Inc. |
10 | * | 10 | * |
11 | * Licensed under the GPL-2 or later. | 11 | * Licensed under the GPL-2 or later. |
12 | */ | 12 | */ |
@@ -58,6 +58,7 @@ struct ad714x_platform_data { | |||
58 | struct ad714x_button_plat *button; | 58 | struct ad714x_button_plat *button; |
59 | unsigned short stage_cfg_reg[STAGE_NUM][STAGE_CFGREG_NUM]; | 59 | unsigned short stage_cfg_reg[STAGE_NUM][STAGE_CFGREG_NUM]; |
60 | unsigned short sys_cfg_reg[SYS_CFGREG_NUM]; | 60 | unsigned short sys_cfg_reg[SYS_CFGREG_NUM]; |
61 | unsigned long irqflags; | ||
61 | }; | 62 | }; |
62 | 63 | ||
63 | #endif | 64 | #endif |
diff --git a/include/linux/input/adp5589.h b/include/linux/input/adp5589.h new file mode 100644 index 000000000000..ef792ecfaabf --- /dev/null +++ b/include/linux/input/adp5589.h | |||
@@ -0,0 +1,213 @@ | |||
1 | /* | ||
2 | * Analog Devices ADP5589 I/O Expander and QWERTY Keypad Controller | ||
3 | * | ||
4 | * Copyright 2010-2011 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2. | ||
7 | */ | ||
8 | |||
9 | #ifndef _ADP5589_H | ||
10 | #define _ADP5589_H | ||
11 | |||
12 | #define ADP5589_ID 0x00 | ||
13 | #define ADP5589_INT_STATUS 0x01 | ||
14 | #define ADP5589_STATUS 0x02 | ||
15 | #define ADP5589_FIFO_1 0x03 | ||
16 | #define ADP5589_FIFO_2 0x04 | ||
17 | #define ADP5589_FIFO_3 0x05 | ||
18 | #define ADP5589_FIFO_4 0x06 | ||
19 | #define ADP5589_FIFO_5 0x07 | ||
20 | #define ADP5589_FIFO_6 0x08 | ||
21 | #define ADP5589_FIFO_7 0x09 | ||
22 | #define ADP5589_FIFO_8 0x0A | ||
23 | #define ADP5589_FIFO_9 0x0B | ||
24 | #define ADP5589_FIFO_10 0x0C | ||
25 | #define ADP5589_FIFO_11 0x0D | ||
26 | #define ADP5589_FIFO_12 0x0E | ||
27 | #define ADP5589_FIFO_13 0x0F | ||
28 | #define ADP5589_FIFO_14 0x10 | ||
29 | #define ADP5589_FIFO_15 0x11 | ||
30 | #define ADP5589_FIFO_16 0x12 | ||
31 | #define ADP5589_GPI_INT_STAT_A 0x13 | ||
32 | #define ADP5589_GPI_INT_STAT_B 0x14 | ||
33 | #define ADP5589_GPI_INT_STAT_C 0x15 | ||
34 | #define ADP5589_GPI_STATUS_A 0x16 | ||
35 | #define ADP5589_GPI_STATUS_B 0x17 | ||
36 | #define ADP5589_GPI_STATUS_C 0x18 | ||
37 | #define ADP5589_RPULL_CONFIG_A 0x19 | ||
38 | #define ADP5589_RPULL_CONFIG_B 0x1A | ||
39 | #define ADP5589_RPULL_CONFIG_C 0x1B | ||
40 | #define ADP5589_RPULL_CONFIG_D 0x1C | ||
41 | #define ADP5589_RPULL_CONFIG_E 0x1D | ||
42 | #define ADP5589_GPI_INT_LEVEL_A 0x1E | ||
43 | #define ADP5589_GPI_INT_LEVEL_B 0x1F | ||
44 | #define ADP5589_GPI_INT_LEVEL_C 0x20 | ||
45 | #define ADP5589_GPI_EVENT_EN_A 0x21 | ||
46 | #define ADP5589_GPI_EVENT_EN_B 0x22 | ||
47 | #define ADP5589_GPI_EVENT_EN_C 0x23 | ||
48 | #define ADP5589_GPI_INTERRUPT_EN_A 0x24 | ||
49 | #define ADP5589_GPI_INTERRUPT_EN_B 0x25 | ||
50 | #define ADP5589_GPI_INTERRUPT_EN_C 0x26 | ||
51 | #define ADP5589_DEBOUNCE_DIS_A 0x27 | ||
52 | #define ADP5589_DEBOUNCE_DIS_B 0x28 | ||
53 | #define ADP5589_DEBOUNCE_DIS_C 0x29 | ||
54 | #define ADP5589_GPO_DATA_OUT_A 0x2A | ||
55 | #define ADP5589_GPO_DATA_OUT_B 0x2B | ||
56 | #define ADP5589_GPO_DATA_OUT_C 0x2C | ||
57 | #define ADP5589_GPO_OUT_MODE_A 0x2D | ||
58 | #define ADP5589_GPO_OUT_MODE_B 0x2E | ||
59 | #define ADP5589_GPO_OUT_MODE_C 0x2F | ||
60 | #define ADP5589_GPIO_DIRECTION_A 0x30 | ||
61 | #define ADP5589_GPIO_DIRECTION_B 0x31 | ||
62 | #define ADP5589_GPIO_DIRECTION_C 0x32 | ||
63 | #define ADP5589_UNLOCK1 0x33 | ||
64 | #define ADP5589_UNLOCK2 0x34 | ||
65 | #define ADP5589_EXT_LOCK_EVENT 0x35 | ||
66 | #define ADP5589_UNLOCK_TIMERS 0x36 | ||
67 | #define ADP5589_LOCK_CFG 0x37 | ||
68 | #define ADP5589_RESET1_EVENT_A 0x38 | ||
69 | #define ADP5589_RESET1_EVENT_B 0x39 | ||
70 | #define ADP5589_RESET1_EVENT_C 0x3A | ||
71 | #define ADP5589_RESET2_EVENT_A 0x3B | ||
72 | #define ADP5589_RESET2_EVENT_B 0x3C | ||
73 | #define ADP5589_RESET_CFG 0x3D | ||
74 | #define ADP5589_PWM_OFFT_LOW 0x3E | ||
75 | #define ADP5589_PWM_OFFT_HIGH 0x3F | ||
76 | #define ADP5589_PWM_ONT_LOW 0x40 | ||
77 | #define ADP5589_PWM_ONT_HIGH 0x41 | ||
78 | #define ADP5589_PWM_CFG 0x42 | ||
79 | #define ADP5589_CLOCK_DIV_CFG 0x43 | ||
80 | #define ADP5589_LOGIC_1_CFG 0x44 | ||
81 | #define ADP5589_LOGIC_2_CFG 0x45 | ||
82 | #define ADP5589_LOGIC_FF_CFG 0x46 | ||
83 | #define ADP5589_LOGIC_INT_EVENT_EN 0x47 | ||
84 | #define ADP5589_POLL_PTIME_CFG 0x48 | ||
85 | #define ADP5589_PIN_CONFIG_A 0x49 | ||
86 | #define ADP5589_PIN_CONFIG_B 0x4A | ||
87 | #define ADP5589_PIN_CONFIG_C 0x4B | ||
88 | #define ADP5589_PIN_CONFIG_D 0x4C | ||
89 | #define ADP5589_GENERAL_CFG 0x4D | ||
90 | #define ADP5589_INT_EN 0x4E | ||
91 | |||
92 | #define ADP5589_DEVICE_ID_MASK 0xF | ||
93 | |||
94 | /* Put one of these structures in i2c_board_info platform_data */ | ||
95 | |||
96 | #define ADP5589_KEYMAPSIZE 88 | ||
97 | |||
98 | #define ADP5589_GPI_PIN_ROW0 97 | ||
99 | #define ADP5589_GPI_PIN_ROW1 98 | ||
100 | #define ADP5589_GPI_PIN_ROW2 99 | ||
101 | #define ADP5589_GPI_PIN_ROW3 100 | ||
102 | #define ADP5589_GPI_PIN_ROW4 101 | ||
103 | #define ADP5589_GPI_PIN_ROW5 102 | ||
104 | #define ADP5589_GPI_PIN_ROW6 103 | ||
105 | #define ADP5589_GPI_PIN_ROW7 104 | ||
106 | #define ADP5589_GPI_PIN_COL0 105 | ||
107 | #define ADP5589_GPI_PIN_COL1 106 | ||
108 | #define ADP5589_GPI_PIN_COL2 107 | ||
109 | #define ADP5589_GPI_PIN_COL3 108 | ||
110 | #define ADP5589_GPI_PIN_COL4 109 | ||
111 | #define ADP5589_GPI_PIN_COL5 110 | ||
112 | #define ADP5589_GPI_PIN_COL6 111 | ||
113 | #define ADP5589_GPI_PIN_COL7 112 | ||
114 | #define ADP5589_GPI_PIN_COL8 113 | ||
115 | #define ADP5589_GPI_PIN_COL9 114 | ||
116 | #define ADP5589_GPI_PIN_COL10 115 | ||
117 | #define GPI_LOGIC1 116 | ||
118 | #define GPI_LOGIC2 117 | ||
119 | |||
120 | #define ADP5589_GPI_PIN_ROW_BASE ADP5589_GPI_PIN_ROW0 | ||
121 | #define ADP5589_GPI_PIN_ROW_END ADP5589_GPI_PIN_ROW7 | ||
122 | #define ADP5589_GPI_PIN_COL_BASE ADP5589_GPI_PIN_COL0 | ||
123 | #define ADP5589_GPI_PIN_COL_END ADP5589_GPI_PIN_COL10 | ||
124 | |||
125 | #define ADP5589_GPI_PIN_BASE ADP5589_GPI_PIN_ROW_BASE | ||
126 | #define ADP5589_GPI_PIN_END ADP5589_GPI_PIN_COL_END | ||
127 | |||
128 | #define ADP5589_GPIMAPSIZE_MAX (ADP5589_GPI_PIN_END - ADP5589_GPI_PIN_BASE + 1) | ||
129 | |||
130 | struct adp5589_gpi_map { | ||
131 | unsigned short pin; | ||
132 | unsigned short sw_evt; | ||
133 | }; | ||
134 | |||
135 | /* scan_cycle_time */ | ||
136 | #define ADP5589_SCAN_CYCLE_10ms 0 | ||
137 | #define ADP5589_SCAN_CYCLE_20ms 1 | ||
138 | #define ADP5589_SCAN_CYCLE_30ms 2 | ||
139 | #define ADP5589_SCAN_CYCLE_40ms 3 | ||
140 | |||
141 | /* RESET_CFG */ | ||
142 | #define RESET_PULSE_WIDTH_500us 0 | ||
143 | #define RESET_PULSE_WIDTH_1ms 1 | ||
144 | #define RESET_PULSE_WIDTH_2ms 2 | ||
145 | #define RESET_PULSE_WIDTH_10ms 3 | ||
146 | |||
147 | #define RESET_TRIG_TIME_0ms (0 << 2) | ||
148 | #define RESET_TRIG_TIME_1000ms (1 << 2) | ||
149 | #define RESET_TRIG_TIME_1500ms (2 << 2) | ||
150 | #define RESET_TRIG_TIME_2000ms (3 << 2) | ||
151 | #define RESET_TRIG_TIME_2500ms (4 << 2) | ||
152 | #define RESET_TRIG_TIME_3000ms (5 << 2) | ||
153 | #define RESET_TRIG_TIME_3500ms (6 << 2) | ||
154 | #define RESET_TRIG_TIME_4000ms (7 << 2) | ||
155 | |||
156 | #define RESET_PASSTHRU_EN (1 << 5) | ||
157 | #define RESET1_POL_HIGH (1 << 6) | ||
158 | #define RESET1_POL_LOW (0 << 6) | ||
159 | #define RESET2_POL_HIGH (1 << 7) | ||
160 | #define RESET2_POL_LOW (0 << 7) | ||
161 | |||
162 | /* Mask Bits: | ||
163 | * C C C C C C C C C C C | R R R R R R R R | ||
164 | * 1 9 8 7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 | ||
165 | * 0 | ||
166 | * ---------------- BIT ------------------ | ||
167 | * 1 1 1 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 | ||
168 | * 8 7 6 5 4 3 2 1 0 9 8 | 7 6 5 4 3 2 1 0 | ||
169 | */ | ||
170 | |||
171 | #define ADP_ROW(x) (1 << (x)) | ||
172 | #define ADP_COL(x) (1 << (x + 8)) | ||
173 | |||
174 | struct adp5589_kpad_platform_data { | ||
175 | unsigned keypad_en_mask; /* Keypad (Rows/Columns) enable mask */ | ||
176 | const unsigned short *keymap; /* Pointer to keymap */ | ||
177 | unsigned short keymapsize; /* Keymap size */ | ||
178 | bool repeat; /* Enable key repeat */ | ||
179 | bool en_keylock; /* Enable key lock feature */ | ||
180 | unsigned char unlock_key1; /* Unlock Key 1 */ | ||
181 | unsigned char unlock_key2; /* Unlock Key 2 */ | ||
182 | unsigned char unlock_timer; /* Time in seconds [0..7] between the two unlock keys 0=disable */ | ||
183 | unsigned char scan_cycle_time; /* Time between consecutive scan cycles */ | ||
184 | unsigned char reset_cfg; /* Reset config */ | ||
185 | unsigned short reset1_key_1; /* Reset Key 1 */ | ||
186 | unsigned short reset1_key_2; /* Reset Key 2 */ | ||
187 | unsigned short reset1_key_3; /* Reset Key 3 */ | ||
188 | unsigned short reset2_key_1; /* Reset Key 1 */ | ||
189 | unsigned short reset2_key_2; /* Reset Key 2 */ | ||
190 | unsigned debounce_dis_mask; /* Disable debounce mask */ | ||
191 | unsigned pull_dis_mask; /* Disable all pull resistors mask */ | ||
192 | unsigned pullup_en_100k; /* Pull-Up 100k Enable Mask */ | ||
193 | unsigned pullup_en_300k; /* Pull-Up 300k Enable Mask */ | ||
194 | unsigned pulldown_en_300k; /* Pull-Down 300k Enable Mask */ | ||
195 | const struct adp5589_gpi_map *gpimap; | ||
196 | unsigned short gpimapsize; | ||
197 | const struct adp5589_gpio_platform_data *gpio_data; | ||
198 | }; | ||
199 | |||
200 | struct i2c_client; /* forward declaration */ | ||
201 | |||
202 | struct adp5589_gpio_platform_data { | ||
203 | int gpio_start; /* GPIO Chip base # */ | ||
204 | int (*setup)(struct i2c_client *client, | ||
205 | int gpio, unsigned ngpio, | ||
206 | void *context); | ||
207 | int (*teardown)(struct i2c_client *client, | ||
208 | int gpio, unsigned ngpio, | ||
209 | void *context); | ||
210 | void *context; | ||
211 | }; | ||
212 | |||
213 | #endif | ||
diff --git a/include/linux/key.h b/include/linux/key.h index b2bb01719561..ef19b99aff98 100644 --- a/include/linux/key.h +++ b/include/linux/key.h | |||
@@ -276,6 +276,19 @@ static inline key_serial_t key_serial(struct key *key) | |||
276 | return key ? key->serial : 0; | 276 | return key ? key->serial : 0; |
277 | } | 277 | } |
278 | 278 | ||
279 | /** | ||
280 | * key_is_instantiated - Determine if a key has been positively instantiated | ||
281 | * @key: The key to check. | ||
282 | * | ||
283 | * Return true if the specified key has been positively instantiated, false | ||
284 | * otherwise. | ||
285 | */ | ||
286 | static inline bool key_is_instantiated(const struct key *key) | ||
287 | { | ||
288 | return test_bit(KEY_FLAG_INSTANTIATED, &key->flags) && | ||
289 | !test_bit(KEY_FLAG_NEGATIVE, &key->flags); | ||
290 | } | ||
291 | |||
279 | #define rcu_dereference_key(KEY) \ | 292 | #define rcu_dereference_key(KEY) \ |
280 | (rcu_dereference_protected((KEY)->payload.rcudata, \ | 293 | (rcu_dereference_protected((KEY)->payload.rcudata, \ |
281 | rwsem_is_locked(&((struct key *)(KEY))->sem))) | 294 | rwsem_is_locked(&((struct key *)(KEY))->sem))) |
diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 310231823852..d4a5c84c503d 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/errno.h> | 24 | #include <linux/errno.h> |
25 | #include <linux/compiler.h> | 25 | #include <linux/compiler.h> |
26 | #include <linux/workqueue.h> | 26 | #include <linux/workqueue.h> |
27 | #include <linux/sysctl.h> | ||
27 | 28 | ||
28 | #define KMOD_PATH_LEN 256 | 29 | #define KMOD_PATH_LEN 256 |
29 | 30 | ||
@@ -109,6 +110,8 @@ call_usermodehelper(char *path, char **argv, char **envp, enum umh_wait wait) | |||
109 | NULL, NULL, NULL); | 110 | NULL, NULL, NULL); |
110 | } | 111 | } |
111 | 112 | ||
113 | extern struct ctl_table usermodehelper_table[]; | ||
114 | |||
112 | extern void usermodehelper_init(void); | 115 | extern void usermodehelper_init(void); |
113 | 116 | ||
114 | extern int usermodehelper_disable(void); | 117 | extern int usermodehelper_disable(void); |
diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 7135ebc8428c..3f46aedea42f 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h | |||
@@ -14,10 +14,6 @@ | |||
14 | #define asmlinkage CPP_ASMLINKAGE | 14 | #define asmlinkage CPP_ASMLINKAGE |
15 | #endif | 15 | #endif |
16 | 16 | ||
17 | #ifndef asmregparm | ||
18 | # define asmregparm | ||
19 | #endif | ||
20 | |||
21 | #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE) | 17 | #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE) |
22 | #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE) | 18 | #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE) |
23 | 19 | ||
diff --git a/include/linux/lsm_audit.h b/include/linux/lsm_audit.h index 112a55033352..88e78dedc2e8 100644 --- a/include/linux/lsm_audit.h +++ b/include/linux/lsm_audit.h | |||
@@ -27,7 +27,7 @@ | |||
27 | /* Auxiliary data to use in generating the audit record. */ | 27 | /* Auxiliary data to use in generating the audit record. */ |
28 | struct common_audit_data { | 28 | struct common_audit_data { |
29 | char type; | 29 | char type; |
30 | #define LSM_AUDIT_DATA_FS 1 | 30 | #define LSM_AUDIT_DATA_PATH 1 |
31 | #define LSM_AUDIT_DATA_NET 2 | 31 | #define LSM_AUDIT_DATA_NET 2 |
32 | #define LSM_AUDIT_DATA_CAP 3 | 32 | #define LSM_AUDIT_DATA_CAP 3 |
33 | #define LSM_AUDIT_DATA_IPC 4 | 33 | #define LSM_AUDIT_DATA_IPC 4 |
@@ -35,12 +35,13 @@ struct common_audit_data { | |||
35 | #define LSM_AUDIT_DATA_KEY 6 | 35 | #define LSM_AUDIT_DATA_KEY 6 |
36 | #define LSM_AUDIT_DATA_NONE 7 | 36 | #define LSM_AUDIT_DATA_NONE 7 |
37 | #define LSM_AUDIT_DATA_KMOD 8 | 37 | #define LSM_AUDIT_DATA_KMOD 8 |
38 | #define LSM_AUDIT_DATA_INODE 9 | ||
39 | #define LSM_AUDIT_DATA_DENTRY 10 | ||
38 | struct task_struct *tsk; | 40 | struct task_struct *tsk; |
39 | union { | 41 | union { |
40 | struct { | 42 | struct path path; |
41 | struct path path; | 43 | struct dentry *dentry; |
42 | struct inode *inode; | 44 | struct inode *inode; |
43 | } fs; | ||
44 | struct { | 45 | struct { |
45 | int netif; | 46 | int netif; |
46 | struct sock *sk; | 47 | struct sock *sk; |
diff --git a/include/linux/mtd/ubi.h b/include/linux/mtd/ubi.h index 84854edf4436..15da0e99f48a 100644 --- a/include/linux/mtd/ubi.h +++ b/include/linux/mtd/ubi.h | |||
@@ -21,7 +21,7 @@ | |||
21 | #ifndef __LINUX_UBI_H__ | 21 | #ifndef __LINUX_UBI_H__ |
22 | #define __LINUX_UBI_H__ | 22 | #define __LINUX_UBI_H__ |
23 | 23 | ||
24 | #include <asm/ioctl.h> | 24 | #include <linux/ioctl.h> |
25 | #include <linux/types.h> | 25 | #include <linux/types.h> |
26 | #include <mtd/ubi-user.h> | 26 | #include <mtd/ubi-user.h> |
27 | 27 | ||
@@ -87,7 +87,7 @@ enum { | |||
87 | * physical eraseblock size and on how much bytes UBI headers consume. But | 87 | * physical eraseblock size and on how much bytes UBI headers consume. But |
88 | * because of the volume alignment (@alignment), the usable size of logical | 88 | * because of the volume alignment (@alignment), the usable size of logical |
89 | * eraseblocks if a volume may be less. The following equation is true: | 89 | * eraseblocks if a volume may be less. The following equation is true: |
90 | * @usable_leb_size = LEB size - (LEB size mod @alignment), | 90 | * @usable_leb_size = LEB size - (LEB size mod @alignment), |
91 | * where LEB size is the logical eraseblock size defined by the UBI device. | 91 | * where LEB size is the logical eraseblock size defined by the UBI device. |
92 | * | 92 | * |
93 | * The alignment is multiple to the minimal flash input/output unit size or %1 | 93 | * The alignment is multiple to the minimal flash input/output unit size or %1 |
diff --git a/include/linux/mxm-wmi.h b/include/linux/mxm-wmi.h new file mode 100644 index 000000000000..617a2950523c --- /dev/null +++ b/include/linux/mxm-wmi.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * MXM WMI driver | ||
3 | * | ||
4 | * Copyright(C) 2010 Red Hat. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef MXM_WMI_H | ||
22 | #define MXM_WMI_H | ||
23 | |||
24 | /* discrete adapters */ | ||
25 | #define MXM_MXDS_ADAPTER_0 0x0 | ||
26 | #define MXM_MXDS_ADAPTER_1 0x0 | ||
27 | /* integrated adapter */ | ||
28 | #define MXM_MXDS_ADAPTER_IGD 0x10 | ||
29 | int mxm_wmi_call_mxds(int adapter); | ||
30 | int mxm_wmi_call_mxmx(int adapter); | ||
31 | bool mxm_wmi_supported(void); | ||
32 | |||
33 | #endif | ||
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 811183de1ef5..79a6700b7162 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -308,7 +308,7 @@ static inline void SetPageUptodate(struct page *page) | |||
308 | { | 308 | { |
309 | #ifdef CONFIG_S390 | 309 | #ifdef CONFIG_S390 |
310 | if (!test_and_set_bit(PG_uptodate, &page->flags)) | 310 | if (!test_and_set_bit(PG_uptodate, &page->flags)) |
311 | page_clear_dirty(page, 0); | 311 | page_set_storage_key(page_to_pfn(page), PAGE_DEFAULT_KEY, 0); |
312 | #else | 312 | #else |
313 | /* | 313 | /* |
314 | * Memory barrier must be issued before setting the PG_uptodate bit, | 314 | * Memory barrier must be issued before setting the PG_uptodate bit, |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 4604d1d5514d..c446b5ca2d38 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -941,8 +941,11 @@ int pci_cfg_space_size_ext(struct pci_dev *dev); | |||
941 | int pci_cfg_space_size(struct pci_dev *dev); | 941 | int pci_cfg_space_size(struct pci_dev *dev); |
942 | unsigned char pci_bus_max_busnr(struct pci_bus *bus); | 942 | unsigned char pci_bus_max_busnr(struct pci_bus *bus); |
943 | 943 | ||
944 | #define PCI_VGA_STATE_CHANGE_BRIDGE (1 << 0) | ||
945 | #define PCI_VGA_STATE_CHANGE_DECODES (1 << 1) | ||
946 | |||
944 | int pci_set_vga_state(struct pci_dev *pdev, bool decode, | 947 | int pci_set_vga_state(struct pci_dev *pdev, bool decode, |
945 | unsigned int command_bits, bool change_bridge); | 948 | unsigned int command_bits, u32 flags); |
946 | /* kmem_cache style wrapper around pci_alloc_consistent() */ | 949 | /* kmem_cache style wrapper around pci_alloc_consistent() */ |
947 | 950 | ||
948 | #include <linux/pci-dma.h> | 951 | #include <linux/pci-dma.h> |
@@ -1087,7 +1090,7 @@ static inline int pci_proc_domain(struct pci_bus *bus) | |||
1087 | 1090 | ||
1088 | /* some architectures require additional setup to direct VGA traffic */ | 1091 | /* some architectures require additional setup to direct VGA traffic */ |
1089 | typedef int (*arch_set_vga_state_t)(struct pci_dev *pdev, bool decode, | 1092 | typedef int (*arch_set_vga_state_t)(struct pci_dev *pdev, bool decode, |
1090 | unsigned int command_bits, bool change_bridge); | 1093 | unsigned int command_bits, u32 flags); |
1091 | extern void pci_register_set_vga_state(arch_set_vga_state_t func); | 1094 | extern void pci_register_set_vga_state(arch_set_vga_state_t func); |
1092 | 1095 | ||
1093 | #else /* CONFIG_PCI is not enabled */ | 1096 | #else /* CONFIG_PCI is not enabled */ |
diff --git a/include/linux/rotary_encoder.h b/include/linux/rotary_encoder.h index 215278b8df2a..3f594dce5716 100644 --- a/include/linux/rotary_encoder.h +++ b/include/linux/rotary_encoder.h | |||
@@ -10,6 +10,7 @@ struct rotary_encoder_platform_data { | |||
10 | unsigned int inverted_b; | 10 | unsigned int inverted_b; |
11 | bool relative_axis; | 11 | bool relative_axis; |
12 | bool rollover; | 12 | bool rollover; |
13 | bool half_period; | ||
13 | }; | 14 | }; |
14 | 15 | ||
15 | #endif /* __ROTARY_ENCODER_H__ */ | 16 | #endif /* __ROTARY_ENCODER_H__ */ |
diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h index 92bd0839d5b4..c64de9dd7631 100644 --- a/include/linux/spi/ads7846.h +++ b/include/linux/spi/ads7846.h | |||
@@ -14,7 +14,8 @@ enum ads7846_filter { | |||
14 | struct ads7846_platform_data { | 14 | struct ads7846_platform_data { |
15 | u16 model; /* 7843, 7845, 7846, 7873. */ | 15 | u16 model; /* 7843, 7845, 7846, 7873. */ |
16 | u16 vref_delay_usecs; /* 0 for external vref; etc */ | 16 | u16 vref_delay_usecs; /* 0 for external vref; etc */ |
17 | u16 vref_mv; /* external vref value, milliVolts */ | 17 | u16 vref_mv; /* external vref value, milliVolts |
18 | * ads7846: if 0, use internal vref */ | ||
18 | bool keep_vref_on; /* set to keep vref on for differential | 19 | bool keep_vref_on; /* set to keep vref on for differential |
19 | * measurements as well */ | 20 | * measurements as well */ |
20 | bool swap_xy; /* swap x and y axes */ | 21 | bool swap_xy; /* swap x and y axes */ |
diff --git a/include/mtd/ubi-user.h b/include/mtd/ubi-user.h index c0d47ad4b103..3c4109777aff 100644 --- a/include/mtd/ubi-user.h +++ b/include/mtd/ubi-user.h | |||
@@ -131,7 +131,7 @@ | |||
131 | * ~~~~~~~~~~~~~~~~~~~~~~~~~ | 131 | * ~~~~~~~~~~~~~~~~~~~~~~~~~ |
132 | * | 132 | * |
133 | * To set an UBI volume property the %UBI_IOCSETPROP ioctl command should be | 133 | * To set an UBI volume property the %UBI_IOCSETPROP ioctl command should be |
134 | * used. A pointer to a &struct ubi_set_prop_req object is expected to be | 134 | * used. A pointer to a &struct ubi_set_vol_prop_req object is expected to be |
135 | * passed. The object describes which property should be set, and to which value | 135 | * passed. The object describes which property should be set, and to which value |
136 | * it should be set. | 136 | * it should be set. |
137 | */ | 137 | */ |
@@ -186,7 +186,8 @@ | |||
186 | /* Check if LEB is mapped command */ | 186 | /* Check if LEB is mapped command */ |
187 | #define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32) | 187 | #define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32) |
188 | /* Set an UBI volume property */ | 188 | /* Set an UBI volume property */ |
189 | #define UBI_IOCSETPROP _IOW(UBI_VOL_IOC_MAGIC, 6, struct ubi_set_prop_req) | 189 | #define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, \ |
190 | struct ubi_set_vol_prop_req) | ||
190 | 191 | ||
191 | /* Maximum MTD device name length supported by UBI */ | 192 | /* Maximum MTD device name length supported by UBI */ |
192 | #define MAX_UBI_MTD_NAME_LEN 127 | 193 | #define MAX_UBI_MTD_NAME_LEN 127 |
@@ -223,13 +224,14 @@ enum { | |||
223 | }; | 224 | }; |
224 | 225 | ||
225 | /* | 226 | /* |
226 | * UBI set property ioctl constants | 227 | * UBI set volume property ioctl constants. |
227 | * | 228 | * |
228 | * @UBI_PROP_DIRECT_WRITE: allow / disallow user to directly write and | 229 | * @UBI_VOL_PROP_DIRECT_WRITE: allow (any non-zero value) or disallow (value 0) |
229 | * erase individual eraseblocks on dynamic volumes | 230 | * user to directly write and erase individual |
231 | * eraseblocks on dynamic volumes | ||
230 | */ | 232 | */ |
231 | enum { | 233 | enum { |
232 | UBI_PROP_DIRECT_WRITE = 1, | 234 | UBI_VOL_PROP_DIRECT_WRITE = 1, |
233 | }; | 235 | }; |
234 | 236 | ||
235 | /** | 237 | /** |
@@ -308,7 +310,7 @@ struct ubi_mkvol_req { | |||
308 | __s16 name_len; | 310 | __s16 name_len; |
309 | __s8 padding2[4]; | 311 | __s8 padding2[4]; |
310 | char name[UBI_MAX_VOLUME_NAME + 1]; | 312 | char name[UBI_MAX_VOLUME_NAME + 1]; |
311 | } __attribute__ ((packed)); | 313 | } __packed; |
312 | 314 | ||
313 | /** | 315 | /** |
314 | * struct ubi_rsvol_req - a data structure used in volume re-size requests. | 316 | * struct ubi_rsvol_req - a data structure used in volume re-size requests. |
@@ -324,7 +326,7 @@ struct ubi_mkvol_req { | |||
324 | struct ubi_rsvol_req { | 326 | struct ubi_rsvol_req { |
325 | __s64 bytes; | 327 | __s64 bytes; |
326 | __s32 vol_id; | 328 | __s32 vol_id; |
327 | } __attribute__ ((packed)); | 329 | } __packed; |
328 | 330 | ||
329 | /** | 331 | /** |
330 | * struct ubi_rnvol_req - volumes re-name request. | 332 | * struct ubi_rnvol_req - volumes re-name request. |
@@ -366,7 +368,7 @@ struct ubi_rnvol_req { | |||
366 | __s8 padding2[2]; | 368 | __s8 padding2[2]; |
367 | char name[UBI_MAX_VOLUME_NAME + 1]; | 369 | char name[UBI_MAX_VOLUME_NAME + 1]; |
368 | } ents[UBI_MAX_RNVOL]; | 370 | } ents[UBI_MAX_RNVOL]; |
369 | } __attribute__ ((packed)); | 371 | } __packed; |
370 | 372 | ||
371 | /** | 373 | /** |
372 | * struct ubi_leb_change_req - a data structure used in atomic LEB change | 374 | * struct ubi_leb_change_req - a data structure used in atomic LEB change |
@@ -381,7 +383,7 @@ struct ubi_leb_change_req { | |||
381 | __s32 bytes; | 383 | __s32 bytes; |
382 | __s8 dtype; | 384 | __s8 dtype; |
383 | __s8 padding[7]; | 385 | __s8 padding[7]; |
384 | } __attribute__ ((packed)); | 386 | } __packed; |
385 | 387 | ||
386 | /** | 388 | /** |
387 | * struct ubi_map_req - a data structure used in map LEB requests. | 389 | * struct ubi_map_req - a data structure used in map LEB requests. |
@@ -393,20 +395,20 @@ struct ubi_map_req { | |||
393 | __s32 lnum; | 395 | __s32 lnum; |
394 | __s8 dtype; | 396 | __s8 dtype; |
395 | __s8 padding[3]; | 397 | __s8 padding[3]; |
396 | } __attribute__ ((packed)); | 398 | } __packed; |
397 | 399 | ||
398 | 400 | ||
399 | /** | 401 | /** |
400 | * struct ubi_set_prop_req - a data structure used to set an ubi volume | 402 | * struct ubi_set_vol_prop_req - a data structure used to set an UBI volume |
401 | * property. | 403 | * property. |
402 | * @property: property to set (%UBI_PROP_DIRECT_WRITE) | 404 | * @property: property to set (%UBI_VOL_PROP_DIRECT_WRITE) |
403 | * @padding: reserved for future, not used, has to be zeroed | 405 | * @padding: reserved for future, not used, has to be zeroed |
404 | * @value: value to set | 406 | * @value: value to set |
405 | */ | 407 | */ |
406 | struct ubi_set_prop_req { | 408 | struct ubi_set_vol_prop_req { |
407 | __u8 property; | 409 | __u8 property; |
408 | __u8 padding[7]; | 410 | __u8 padding[7]; |
409 | __u64 value; | 411 | __u64 value; |
410 | } __attribute__ ((packed)); | 412 | } __packed; |
411 | 413 | ||
412 | #endif /* __UBI_USER_H__ */ | 414 | #endif /* __UBI_USER_H__ */ |
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h index 3fd5064dd43a..7b82080eb02c 100644 --- a/include/pcmcia/ds.h +++ b/include/pcmcia/ds.h | |||
@@ -56,7 +56,7 @@ struct pcmcia_driver { | |||
56 | int (*resume) (struct pcmcia_device *dev); | 56 | int (*resume) (struct pcmcia_device *dev); |
57 | 57 | ||
58 | struct module *owner; | 58 | struct module *owner; |
59 | struct pcmcia_device_id *id_table; | 59 | const struct pcmcia_device_id *id_table; |
60 | struct device_driver drv; | 60 | struct device_driver drv; |
61 | struct pcmcia_dynids dynids; | 61 | struct pcmcia_dynids dynids; |
62 | }; | 62 | }; |