diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-12 10:53:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-12 10:53:06 -0400 |
commit | 75c0b3b466388f2fad60fda57b6ca2c4fabbcaf7 (patch) | |
tree | 11de004529d01abded73a9392715baebab2e2a6d /drivers | |
parent | 3568bd9720b4a775f28a718fcbb462ce2f386988 (diff) | |
parent | a904f5f9eb7a55baacb2f4c1423cac8a8eb78a3a (diff) |
Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
ARM: 6870/1: The mandatory barrier rmb() must be a dsb() in for device accesses
ARM: 6892/1: handle ptrace requests to change PC during interrupted system calls
ARM: 6890/1: memmap: only free allocated memmap entries when using SPARSEMEM
ARM: zImage: the page table memory must be considered before relocation
ARM: zImage: make sure not to relocate on top of the relocation code
ARM: zImage: Fix bad SP address after relocating kernel
ARM: zImage: make sure the stack is 64-bit aligned
ARM: RiscPC: acornfb: fix section mismatches
ARM: RiscPC: etherh: fix section mismatches
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/arm/etherh.c | 4 | ||||
-rw-r--r-- | drivers/video/acornfb.c | 26 |
2 files changed, 12 insertions, 18 deletions
diff --git a/drivers/net/arm/etherh.c b/drivers/net/arm/etherh.c index 4af235d41fda..fbfb5b47c506 100644 --- a/drivers/net/arm/etherh.c +++ b/drivers/net/arm/etherh.c | |||
@@ -527,7 +527,7 @@ static void __init etherh_banner(void) | |||
527 | * Read the ethernet address string from the on board rom. | 527 | * Read the ethernet address string from the on board rom. |
528 | * This is an ascii string... | 528 | * This is an ascii string... |
529 | */ | 529 | */ |
530 | static int __init etherh_addr(char *addr, struct expansion_card *ec) | 530 | static int __devinit etherh_addr(char *addr, struct expansion_card *ec) |
531 | { | 531 | { |
532 | struct in_chunk_dir cd; | 532 | struct in_chunk_dir cd; |
533 | char *s; | 533 | char *s; |
@@ -655,7 +655,7 @@ static const struct net_device_ops etherh_netdev_ops = { | |||
655 | static u32 etherh_regoffsets[16]; | 655 | static u32 etherh_regoffsets[16]; |
656 | static u32 etherm_regoffsets[16]; | 656 | static u32 etherm_regoffsets[16]; |
657 | 657 | ||
658 | static int __init | 658 | static int __devinit |
659 | etherh_probe(struct expansion_card *ec, const struct ecard_id *id) | 659 | etherh_probe(struct expansion_card *ec, const struct ecard_id *id) |
660 | { | 660 | { |
661 | const struct etherh_data *data = id->data; | 661 | const struct etherh_data *data = id->data; |
diff --git a/drivers/video/acornfb.c b/drivers/video/acornfb.c index 82acb8dc4aa1..6183a57eb69d 100644 --- a/drivers/video/acornfb.c +++ b/drivers/video/acornfb.c | |||
@@ -66,7 +66,7 @@ | |||
66 | * have. Allow 1% either way on the nominal for TVs. | 66 | * have. Allow 1% either way on the nominal for TVs. |
67 | */ | 67 | */ |
68 | #define NR_MONTYPES 6 | 68 | #define NR_MONTYPES 6 |
69 | static struct fb_monspecs monspecs[NR_MONTYPES] __initdata = { | 69 | static struct fb_monspecs monspecs[NR_MONTYPES] __devinitdata = { |
70 | { /* TV */ | 70 | { /* TV */ |
71 | .hfmin = 15469, | 71 | .hfmin = 15469, |
72 | .hfmax = 15781, | 72 | .hfmax = 15781, |
@@ -873,7 +873,7 @@ static struct fb_ops acornfb_ops = { | |||
873 | /* | 873 | /* |
874 | * Everything after here is initialisation!!! | 874 | * Everything after here is initialisation!!! |
875 | */ | 875 | */ |
876 | static struct fb_videomode modedb[] __initdata = { | 876 | static struct fb_videomode modedb[] __devinitdata = { |
877 | { /* 320x256 @ 50Hz */ | 877 | { /* 320x256 @ 50Hz */ |
878 | NULL, 50, 320, 256, 125000, 92, 62, 35, 19, 38, 2, | 878 | NULL, 50, 320, 256, 125000, 92, 62, 35, 19, 38, 2, |
879 | FB_SYNC_COMP_HIGH_ACT, | 879 | FB_SYNC_COMP_HIGH_ACT, |
@@ -925,8 +925,7 @@ static struct fb_videomode modedb[] __initdata = { | |||
925 | } | 925 | } |
926 | }; | 926 | }; |
927 | 927 | ||
928 | static struct fb_videomode __initdata | 928 | static struct fb_videomode acornfb_default_mode __devinitdata = { |
929 | acornfb_default_mode = { | ||
930 | .name = NULL, | 929 | .name = NULL, |
931 | .refresh = 60, | 930 | .refresh = 60, |
932 | .xres = 640, | 931 | .xres = 640, |
@@ -942,7 +941,7 @@ acornfb_default_mode = { | |||
942 | .vmode = FB_VMODE_NONINTERLACED | 941 | .vmode = FB_VMODE_NONINTERLACED |
943 | }; | 942 | }; |
944 | 943 | ||
945 | static void __init acornfb_init_fbinfo(void) | 944 | static void __devinit acornfb_init_fbinfo(void) |
946 | { | 945 | { |
947 | static int first = 1; | 946 | static int first = 1; |
948 | 947 | ||
@@ -1018,8 +1017,7 @@ static void __init acornfb_init_fbinfo(void) | |||
1018 | * size can optionally be followed by 'M' or 'K' for | 1017 | * size can optionally be followed by 'M' or 'K' for |
1019 | * MB or KB respectively. | 1018 | * MB or KB respectively. |
1020 | */ | 1019 | */ |
1021 | static void __init | 1020 | static void __devinit acornfb_parse_mon(char *opt) |
1022 | acornfb_parse_mon(char *opt) | ||
1023 | { | 1021 | { |
1024 | char *p = opt; | 1022 | char *p = opt; |
1025 | 1023 | ||
@@ -1066,8 +1064,7 @@ bad: | |||
1066 | current_par.montype = -1; | 1064 | current_par.montype = -1; |
1067 | } | 1065 | } |
1068 | 1066 | ||
1069 | static void __init | 1067 | static void __devinit acornfb_parse_montype(char *opt) |
1070 | acornfb_parse_montype(char *opt) | ||
1071 | { | 1068 | { |
1072 | current_par.montype = -2; | 1069 | current_par.montype = -2; |
1073 | 1070 | ||
@@ -1108,8 +1105,7 @@ acornfb_parse_montype(char *opt) | |||
1108 | } | 1105 | } |
1109 | } | 1106 | } |
1110 | 1107 | ||
1111 | static void __init | 1108 | static void __devinit acornfb_parse_dram(char *opt) |
1112 | acornfb_parse_dram(char *opt) | ||
1113 | { | 1109 | { |
1114 | unsigned int size; | 1110 | unsigned int size; |
1115 | 1111 | ||
@@ -1134,15 +1130,14 @@ acornfb_parse_dram(char *opt) | |||
1134 | static struct options { | 1130 | static struct options { |
1135 | char *name; | 1131 | char *name; |
1136 | void (*parse)(char *opt); | 1132 | void (*parse)(char *opt); |
1137 | } opt_table[] __initdata = { | 1133 | } opt_table[] __devinitdata = { |
1138 | { "mon", acornfb_parse_mon }, | 1134 | { "mon", acornfb_parse_mon }, |
1139 | { "montype", acornfb_parse_montype }, | 1135 | { "montype", acornfb_parse_montype }, |
1140 | { "dram", acornfb_parse_dram }, | 1136 | { "dram", acornfb_parse_dram }, |
1141 | { NULL, NULL } | 1137 | { NULL, NULL } |
1142 | }; | 1138 | }; |
1143 | 1139 | ||
1144 | int __init | 1140 | static int __devinit acornfb_setup(char *options) |
1145 | acornfb_setup(char *options) | ||
1146 | { | 1141 | { |
1147 | struct options *optp; | 1142 | struct options *optp; |
1148 | char *opt; | 1143 | char *opt; |
@@ -1179,8 +1174,7 @@ acornfb_setup(char *options) | |||
1179 | * Detect type of monitor connected | 1174 | * Detect type of monitor connected |
1180 | * For now, we just assume SVGA | 1175 | * For now, we just assume SVGA |
1181 | */ | 1176 | */ |
1182 | static int __init | 1177 | static int __devinit acornfb_detect_monitortype(void) |
1183 | acornfb_detect_monitortype(void) | ||
1184 | { | 1178 | { |
1185 | return 4; | 1179 | return 4; |
1186 | } | 1180 | } |