aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2005-12-30 00:35:53 -0500
committerLen Brown <len.brown@intel.com>2005-12-30 00:35:53 -0500
commitc1a959d8ef4e343f11c8c0f9a693815b6dc76886 (patch)
treebc5630e668d1e3d08c71091d17d011dd0468c71b
parent6968e50c2b53805219618203db3d98566dfa1fdd (diff)
parent9e625ff8a37aefcc177b19614ffcffb5bc6eeea1 (diff)
Pull linus into release branch
-rw-r--r--arch/powerpc/mm/hash_utils_64.c2
-rw-r--r--arch/um/os-Linux/start_up.c22
-rw-r--r--arch/um/os-Linux/user_syms.c5
-rw-r--r--arch/um/sys-i386/Makefile8
-rw-r--r--arch/um/sys-x86_64/Makefile5
-rw-r--r--arch/x86_64/mm/init.c2
-rw-r--r--drivers/char/drm/radeon_cp.c11
-rw-r--r--drivers/char/vc_screen.c2
-rw-r--r--drivers/media/video/saa7134/Kconfig4
-rw-r--r--drivers/mmc/mmc_block.c14
-rw-r--r--drivers/serial/amba-pl011.c2
-rw-r--r--drivers/usb/input/aiptek.c2
-rw-r--r--fs/hostfs/hostfs_kern.c9
13 files changed, 49 insertions, 39 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index a33583f3b0e7..a606504678bd 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -514,7 +514,7 @@ void __init htab_initialize(void)
514#undef KB 514#undef KB
515#undef MB 515#undef MB
516 516
517void __init htab_initialize_secondary(void) 517void htab_initialize_secondary(void)
518{ 518{
519 if (!platform_is_lpar()) 519 if (!platform_is_lpar())
520 mtspr(SPRN_SDR1, _SDR1); 520 mtspr(SPRN_SDR1, _SDR1);
diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c
index 37517d49c4ae..29a9e3f43763 100644
--- a/arch/um/os-Linux/start_up.c
+++ b/arch/um/os-Linux/start_up.c
@@ -116,16 +116,16 @@ static int stop_ptraced_child(int pid, void *stack, int exitcode,
116 if(!WIFEXITED(status) || (WEXITSTATUS(status) != exitcode)) { 116 if(!WIFEXITED(status) || (WEXITSTATUS(status) != exitcode)) {
117 int exit_with = WEXITSTATUS(status); 117 int exit_with = WEXITSTATUS(status);
118 if (exit_with == 2) 118 if (exit_with == 2)
119 printk("check_ptrace : child exited with status 2. " 119 printf("check_ptrace : child exited with status 2. "
120 "Serious trouble happening! Try updating your " 120 "Serious trouble happening! Try updating your "
121 "host skas patch!\nDisabling SYSEMU support."); 121 "host skas patch!\nDisabling SYSEMU support.");
122 printk("check_ptrace : child exited with exitcode %d, while " 122 printf("check_ptrace : child exited with exitcode %d, while "
123 "expecting %d; status 0x%x", exit_with, 123 "expecting %d; status 0x%x", exit_with,
124 exitcode, status); 124 exitcode, status);
125 if (mustpanic) 125 if (mustpanic)
126 panic("\n"); 126 panic("\n");
127 else 127 else
128 printk("\n"); 128 printf("\n");
129 ret = -1; 129 ret = -1;
130 } 130 }
131 131
@@ -183,7 +183,7 @@ static void __init check_sysemu(void)
183 void *stack; 183 void *stack;
184 int pid, n, status, count=0; 184 int pid, n, status, count=0;
185 185
186 printk("Checking syscall emulation patch for ptrace..."); 186 printf("Checking syscall emulation patch for ptrace...");
187 sysemu_supported = 0; 187 sysemu_supported = 0;
188 pid = start_ptraced_child(&stack); 188 pid = start_ptraced_child(&stack);
189 189
@@ -207,10 +207,10 @@ static void __init check_sysemu(void)
207 goto fail_stopped; 207 goto fail_stopped;
208 208
209 sysemu_supported = 1; 209 sysemu_supported = 1;
210 printk("OK\n"); 210 printf("OK\n");
211 set_using_sysemu(!force_sysemu_disabled); 211 set_using_sysemu(!force_sysemu_disabled);
212 212
213 printk("Checking advanced syscall emulation patch for ptrace..."); 213 printf("Checking advanced syscall emulation patch for ptrace...");
214 pid = start_ptraced_child(&stack); 214 pid = start_ptraced_child(&stack);
215 215
216 if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0, 216 if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0,
@@ -246,7 +246,7 @@ static void __init check_sysemu(void)
246 goto fail_stopped; 246 goto fail_stopped;
247 247
248 sysemu_supported = 2; 248 sysemu_supported = 2;
249 printk("OK\n"); 249 printf("OK\n");
250 250
251 if ( !force_sysemu_disabled ) 251 if ( !force_sysemu_disabled )
252 set_using_sysemu(sysemu_supported); 252 set_using_sysemu(sysemu_supported);
@@ -255,7 +255,7 @@ static void __init check_sysemu(void)
255fail: 255fail:
256 stop_ptraced_child(pid, stack, 1, 0); 256 stop_ptraced_child(pid, stack, 1, 0);
257fail_stopped: 257fail_stopped:
258 printk("missing\n"); 258 printf("missing\n");
259} 259}
260 260
261static void __init check_ptrace(void) 261static void __init check_ptrace(void)
@@ -263,7 +263,7 @@ static void __init check_ptrace(void)
263 void *stack; 263 void *stack;
264 int pid, syscall, n, status; 264 int pid, syscall, n, status;
265 265
266 printk("Checking that ptrace can change system call numbers..."); 266 printf("Checking that ptrace can change system call numbers...");
267 pid = start_ptraced_child(&stack); 267 pid = start_ptraced_child(&stack);
268 268
269 if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0, (void *)PTRACE_O_TRACESYSGOOD) < 0) 269 if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0, (void *)PTRACE_O_TRACESYSGOOD) < 0)
@@ -292,7 +292,7 @@ static void __init check_ptrace(void)
292 } 292 }
293 } 293 }
294 stop_ptraced_child(pid, stack, 0, 1); 294 stop_ptraced_child(pid, stack, 0, 1);
295 printk("OK\n"); 295 printf("OK\n");
296 check_sysemu(); 296 check_sysemu();
297} 297}
298 298
@@ -472,6 +472,8 @@ int can_do_skas(void)
472 472
473int have_devanon = 0; 473int have_devanon = 0;
474 474
475/* Runs on boot kernel stack - already safe to use printk. */
476
475void check_devanon(void) 477void check_devanon(void)
476{ 478{
477 int fd; 479 int fd;
diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c
index 56d3f870926b..8da6ab31152a 100644
--- a/arch/um/os-Linux/user_syms.c
+++ b/arch/um/os-Linux/user_syms.c
@@ -34,6 +34,11 @@ EXPORT_SYMBOL(strstr);
34 int sym(void); \ 34 int sym(void); \
35 EXPORT_SYMBOL(sym); 35 EXPORT_SYMBOL(sym);
36 36
37extern void readdir64(void) __attribute__((weak));
38EXPORT_SYMBOL(readdir64);
39extern void truncate64(void) __attribute__((weak));
40EXPORT_SYMBOL(truncate64);
41
37#ifdef SUBARCH_i386 42#ifdef SUBARCH_i386
38EXPORT_SYMBOL(vsyscall_ehdr); 43EXPORT_SYMBOL(vsyscall_ehdr);
39EXPORT_SYMBOL(vsyscall_end); 44EXPORT_SYMBOL(vsyscall_end);
diff --git a/arch/um/sys-i386/Makefile b/arch/um/sys-i386/Makefile
index 150059dbee12..f5fd5b0156d0 100644
--- a/arch/um/sys-i386/Makefile
+++ b/arch/um/sys-i386/Makefile
@@ -1,6 +1,8 @@
1obj-y = bitops.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \ 1obj-y := bitops.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
2 ptrace_user.o semaphore.o signal.o sigcontext.o stub.o stub_segv.o \ 2 ptrace_user.o semaphore.o signal.o sigcontext.o syscalls.o sysrq.o \
3 syscalls.o sysrq.o sys_call_table.o 3 sys_call_table.o
4
5obj-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o
4 6
5obj-$(CONFIG_HIGHMEM) += highmem.o 7obj-$(CONFIG_HIGHMEM) += highmem.o
6obj-$(CONFIG_MODULES) += module.o 8obj-$(CONFIG_MODULES) += module.o
diff --git a/arch/um/sys-x86_64/Makefile b/arch/um/sys-x86_64/Makefile
index 00b2025427df..a351091fbd99 100644
--- a/arch/um/sys-x86_64/Makefile
+++ b/arch/um/sys-x86_64/Makefile
@@ -6,8 +6,9 @@
6 6
7#XXX: why into lib-y? 7#XXX: why into lib-y?
8lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o ldt.o mem.o memcpy.o \ 8lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o ldt.o mem.o memcpy.o \
9 ptrace.o ptrace_user.o sigcontext.o signal.o stub.o \ 9 ptrace.o ptrace_user.o sigcontext.o signal.o syscalls.o \
10 stub_segv.o syscalls.o syscall_table.o sysrq.o thunk.o 10 syscall_table.o sysrq.o thunk.o
11lib-$(CONFIG_MODE_SKAS) += stub.o stub_segv.o
11 12
12obj-y := ksyms.o 13obj-y := ksyms.o
13obj-$(CONFIG_MODULES) += module.o um_module.o 14obj-$(CONFIG_MODULES) += module.o um_module.o
diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c
index 286f6a624c3a..c016dfe84784 100644
--- a/arch/x86_64/mm/init.c
+++ b/arch/x86_64/mm/init.c
@@ -348,7 +348,7 @@ size_zones(unsigned long *z, unsigned long *h,
348 } 348 }
349 349
350 /* Compute holes */ 350 /* Compute holes */
351 w = 0; 351 w = start_pfn;
352 for (i = 0; i < MAX_NR_ZONES; i++) { 352 for (i = 0; i < MAX_NR_ZONES; i++) {
353 unsigned long s = w; 353 unsigned long s = w;
354 w += z[i]; 354 w += z[i];
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c
index b517ae515801..342302d46743 100644
--- a/drivers/char/drm/radeon_cp.c
+++ b/drivers/char/drm/radeon_cp.c
@@ -1312,8 +1312,6 @@ static void radeon_set_pcigart(drm_radeon_private_t * dev_priv, int on)
1312static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) 1312static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
1313{ 1313{
1314 drm_radeon_private_t *dev_priv = dev->dev_private; 1314 drm_radeon_private_t *dev_priv = dev->dev_private;
1315 unsigned int mem_size, aper_size;
1316
1317 DRM_DEBUG("\n"); 1315 DRM_DEBUG("\n");
1318 1316
1319 dev_priv->is_pci = init->is_pci; 1317 dev_priv->is_pci = init->is_pci;
@@ -1523,13 +1521,8 @@ static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
1523 + dev_priv->fb_location) >> 10)); 1521 + dev_priv->fb_location) >> 10));
1524 1522
1525 dev_priv->gart_size = init->gart_size; 1523 dev_priv->gart_size = init->gart_size;
1526 1524 dev_priv->gart_vm_start = dev_priv->fb_location
1527 mem_size = RADEON_READ(RADEON_CONFIG_MEMSIZE); 1525 + RADEON_READ(RADEON_CONFIG_APER_SIZE);
1528 if (mem_size == 0)
1529 mem_size = 0x800000;
1530 aper_size = max(RADEON_READ(RADEON_CONFIG_APER_SIZE), mem_size);
1531
1532 dev_priv->gart_vm_start = dev_priv->fb_location + aper_size;
1533 1526
1534#if __OS_HAS_AGP 1527#if __OS_HAS_AGP
1535 if (!dev_priv->is_pci) 1528 if (!dev_priv->is_pci)
diff --git a/drivers/char/vc_screen.c b/drivers/char/vc_screen.c
index f66c7ad6fd38..3c1dafaa3441 100644
--- a/drivers/char/vc_screen.c
+++ b/drivers/char/vc_screen.c
@@ -419,7 +419,7 @@ vcs_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
419 while (this_round > 1) { 419 while (this_round > 1) {
420 unsigned short w; 420 unsigned short w;
421 421
422 w = get_unaligned(((const unsigned short *)con_buf0)); 422 w = get_unaligned(((unsigned short *)con_buf0));
423 vcs_scr_writew(vc, w, org++); 423 vcs_scr_writew(vc, w, org++);
424 con_buf0 += 2; 424 con_buf0 += 2;
425 this_round -= 2; 425 this_round -= 2;
diff --git a/drivers/media/video/saa7134/Kconfig b/drivers/media/video/saa7134/Kconfig
index c0f604a6fe42..8a5c3e71b37d 100644
--- a/drivers/media/video/saa7134/Kconfig
+++ b/drivers/media/video/saa7134/Kconfig
@@ -14,7 +14,7 @@ config VIDEO_SAA7134
14 14
15config VIDEO_SAA7134_ALSA 15config VIDEO_SAA7134_ALSA
16 tristate "Philips SAA7134 DMA audio support" 16 tristate "Philips SAA7134 DMA audio support"
17 depends on VIDEO_SAA7134 && SOUND && SND && (!VIDEO_SAA7134_OSS || VIDEO_SAA7134_OSS = m) 17 depends on VIDEO_SAA7134 && SND
18 select SND_PCM_OSS 18 select SND_PCM_OSS
19 ---help--- 19 ---help---
20 This is a video4linux driver for direct (DMA) audio in 20 This is a video4linux driver for direct (DMA) audio in
@@ -25,7 +25,7 @@ config VIDEO_SAA7134_ALSA
25 25
26config VIDEO_SAA7134_OSS 26config VIDEO_SAA7134_OSS
27 tristate "Philips SAA7134 DMA audio support (OSS, DEPRECATED)" 27 tristate "Philips SAA7134 DMA audio support (OSS, DEPRECATED)"
28 depends on VIDEO_SAA7134 && SOUND_PRIME && (!VIDEO_SAA7134_ALSA || VIDEO_SAA7134_ALSA = m) 28 depends on VIDEO_SAA7134 && SOUND_PRIME && !VIDEO_SAA7134_ALSA
29 ---help--- 29 ---help---
30 This is a video4linux driver for direct (DMA) audio in 30 This is a video4linux driver for direct (DMA) audio in
31 Philips SAA713x based TV cards using OSS 31 Philips SAA713x based TV cards using OSS
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
index d91fcf7c3178..abcf19116d70 100644
--- a/drivers/mmc/mmc_block.c
+++ b/drivers/mmc/mmc_block.c
@@ -359,7 +359,12 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
359 md->block_bits = card->csd.read_blkbits; 359 md->block_bits = card->csd.read_blkbits;
360 360
361 blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits); 361 blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
362 set_capacity(md->disk, card->csd.capacity); 362
363 /*
364 * The CSD capacity field is in units of read_blkbits.
365 * set_capacity takes units of 512 bytes.
366 */
367 set_capacity(md->disk, card->csd.capacity << (card->csd.read_blkbits - 9));
363 } 368 }
364 out: 369 out:
365 return md; 370 return md;
@@ -373,7 +378,7 @@ mmc_blk_set_blksize(struct mmc_blk_data *md, struct mmc_card *card)
373 378
374 mmc_card_claim_host(card); 379 mmc_card_claim_host(card);
375 cmd.opcode = MMC_SET_BLOCKLEN; 380 cmd.opcode = MMC_SET_BLOCKLEN;
376 cmd.arg = 1 << card->csd.read_blkbits; 381 cmd.arg = 1 << md->block_bits;
377 cmd.flags = MMC_RSP_R1; 382 cmd.flags = MMC_RSP_R1;
378 err = mmc_wait_for_cmd(card->host, &cmd, 5); 383 err = mmc_wait_for_cmd(card->host, &cmd, 5);
379 mmc_card_release_host(card); 384 mmc_card_release_host(card);
@@ -412,10 +417,9 @@ static int mmc_blk_probe(struct mmc_card *card)
412 if (err) 417 if (err)
413 goto out; 418 goto out;
414 419
415 printk(KERN_INFO "%s: %s %s %dKiB %s\n", 420 printk(KERN_INFO "%s: %s %s %luKiB %s\n",
416 md->disk->disk_name, mmc_card_id(card), mmc_card_name(card), 421 md->disk->disk_name, mmc_card_id(card), mmc_card_name(card),
417 (card->csd.capacity << card->csd.read_blkbits) / 1024, 422 get_capacity(md->disk) >> 1, mmc_blk_readonly(card)?"(ro)":"");
418 mmc_blk_readonly(card)?"(ro)":"");
419 423
420 mmc_set_drvdata(card, md); 424 mmc_set_drvdata(card, md);
421 add_disk(md->disk); 425 add_disk(md->disk);
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index 89d7bd3eaee3..d84476ee6592 100644
--- a/drivers/serial/amba-pl011.c
+++ b/drivers/serial/amba-pl011.c
@@ -160,7 +160,7 @@ pl011_rx_chars(struct uart_amba_port *uap)
160 flag = TTY_FRAME; 160 flag = TTY_FRAME;
161 } 161 }
162 162
163 if (uart_handle_sysrq_char(&uap->port, ch, regs)) 163 if (uart_handle_sysrq_char(&uap->port, ch & 255, regs))
164 goto ignore_char; 164 goto ignore_char;
165 165
166 uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); 166 uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag);
diff --git a/drivers/usb/input/aiptek.c b/drivers/usb/input/aiptek.c
index 1c3b472a3bca..0e2505c073db 100644
--- a/drivers/usb/input/aiptek.c
+++ b/drivers/usb/input/aiptek.c
@@ -2103,7 +2103,7 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id)
2103 * values. 2103 * values.
2104 */ 2104 */
2105 input_set_abs_params(inputdev, ABS_X, 0, 2999, 0, 0); 2105 input_set_abs_params(inputdev, ABS_X, 0, 2999, 0, 0);
2106 input_set_abs_params(inputdev, ABS_X, 0, 2249, 0, 0); 2106 input_set_abs_params(inputdev, ABS_Y, 0, 2249, 0, 0);
2107 input_set_abs_params(inputdev, ABS_PRESSURE, 0, 511, 0, 0); 2107 input_set_abs_params(inputdev, ABS_PRESSURE, 0, 511, 0, 0);
2108 input_set_abs_params(inputdev, ABS_TILT_X, AIPTEK_TILT_MIN, AIPTEK_TILT_MAX, 0, 0); 2108 input_set_abs_params(inputdev, ABS_TILT_X, AIPTEK_TILT_MIN, AIPTEK_TILT_MAX, 0, 0);
2109 input_set_abs_params(inputdev, ABS_TILT_Y, AIPTEK_TILT_MIN, AIPTEK_TILT_MAX, 0, 0); 2109 input_set_abs_params(inputdev, ABS_TILT_Y, AIPTEK_TILT_MIN, AIPTEK_TILT_MAX, 0, 0);
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 4684eb7d48c6..b3ad0bd0312f 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -501,11 +501,16 @@ int hostfs_commit_write(struct file *file, struct page *page, unsigned from,
501 long long start; 501 long long start;
502 int err = 0; 502 int err = 0;
503 503
504 start = (long long) (page->index << PAGE_CACHE_SHIFT) + from; 504 start = (((long long) page->index) << PAGE_CACHE_SHIFT) + from;
505 buffer = kmap(page); 505 buffer = kmap(page);
506 err = write_file(FILE_HOSTFS_I(file)->fd, &start, buffer + from, 506 err = write_file(FILE_HOSTFS_I(file)->fd, &start, buffer + from,
507 to - from); 507 to - from);
508 if(err > 0) err = 0; 508 if(err > 0) err = 0;
509
510 /* Actually, if !err, write_file has added to-from to start, so, despite
511 * the appearance, we are comparing i_size against the _last_ written
512 * location, as we should. */
513
509 if(!err && (start > inode->i_size)) 514 if(!err && (start > inode->i_size))
510 inode->i_size = start; 515 inode->i_size = start;
511 516
@@ -910,10 +915,8 @@ static struct inode_operations hostfs_dir_iops = {
910int hostfs_link_readpage(struct file *file, struct page *page) 915int hostfs_link_readpage(struct file *file, struct page *page)
911{ 916{
912 char *buffer, *name; 917 char *buffer, *name;
913 long long start;
914 int err; 918 int err;
915 919
916 start = page->index << PAGE_CACHE_SHIFT;
917 buffer = kmap(page); 920 buffer = kmap(page);
918 name = inode_name(page->mapping->host, 0); 921 name = inode_name(page->mapping->host, 0);
919 if(name == NULL) return(-ENOMEM); 922 if(name == NULL) return(-ENOMEM);