Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC32]: Make flush_tlb_kernel_range() an inline function.
[SERIAL]: Fix 32-bit warnings in sunzilog.c and sunsu.c
[SPARC32]: Kill unused vars and macros from prom/console.c
[SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS.
[VIDEO]: Do not prom_halt() in cg3 and bw2 device probe.
[SUNVDC]: Use slice 0xff on VD_DISK_TYPE_DISK.

+87 -30
+2 -1
arch/sparc/lib/Makefile
··· 8 8 strlen.o checksum.o blockops.o memscan.o memcmp.o strncmp.o \ 9 9 strncpy_from_user.o divdi3.o udivdi3.o strlen_user.o \ 10 10 copy_user.o locks.o atomic.o \ 11 - lshrdi3.o ashldi3.o rwsem.o muldi3.o bitext.o 11 + lshrdi3.o ashldi3.o rwsem.o muldi3.o bitext.o \ 12 + cmpdi2.o 12 13 13 14 obj-y += iomap.o atomic32.o
+27
arch/sparc/lib/cmpdi2.c
··· 1 + #include <linux/module.h> 2 + 3 + #include "libgcc.h" 4 + 5 + word_type __cmpdi2(long long a, long long b) 6 + { 7 + const DWunion au = { 8 + .ll = a 9 + }; 10 + const DWunion bu = { 11 + .ll = b 12 + }; 13 + 14 + if (au.s.high < bu.s.high) 15 + return 0; 16 + else if (au.s.high > bu.s.high) 17 + return 2; 18 + 19 + if ((unsigned int) au.s.low < (unsigned int) bu.s.low) 20 + return 0; 21 + else if ((unsigned int) au.s.low > (unsigned int) bu.s.low) 22 + return 2; 23 + 24 + return 1; 25 + } 26 + 27 + EXPORT_SYMBOL(__cmpdi2);
+18
arch/sparc/lib/libgcc.h
··· 1 + #ifndef __ASM_LIBGCC_H 2 + #define __ASM_LIBGCC_H 3 + 4 + #include <asm/byteorder.h> 5 + 6 + typedef int word_type __attribute__ ((mode (__word__))); 7 + 8 + struct DWstruct { 9 + int high, low; 10 + }; 11 + 12 + typedef union 13 + { 14 + struct DWstruct s; 15 + long long ll; 16 + } DWunion; 17 + 18 + #endif /* __ASM_LIBGCC_H */
-3
arch/sparc/prom/console.c
··· 17 17 18 18 extern void restore_current(void); 19 19 20 - static char con_name_jmc[] = "/obio/su@"; /* "/obio/su@0,3002f8"; */ 21 - #define CON_SIZE_JMC (sizeof(con_name_jmc)) 22 - 23 20 /* Non blocking get character from console input device, returns -1 24 21 * if no input was taken. This can be used for polling. 25 22 */
+1 -1
drivers/block/sunvdc.c
··· 417 417 desc->req_id = port->req_id; 418 418 desc->operation = op; 419 419 if (port->vdisk_type == VD_DISK_TYPE_DISK) { 420 - desc->slice = 2; 420 + desc->slice = 0xff; 421 421 } else { 422 422 desc->slice = 0; 423 423 }
+3 -2
drivers/serial/sunsu.c
··· 1198 1198 if (up->port.type == PORT_UNKNOWN) 1199 1199 return -ENODEV; 1200 1200 1201 - printk("%s: %s port at %lx, irq %u\n", 1201 + printk("%s: %s port at %llx, irq %u\n", 1202 1202 to_of_device(up->port.dev)->node->full_name, 1203 1203 (up->su_type == SU_PORT_KBD) ? "Keyboard" : "Mouse", 1204 - up->port.mapbase, up->port.irq); 1204 + (unsigned long long) up->port.mapbase, 1205 + up->port.irq); 1205 1206 1206 1207 #ifdef CONFIG_SERIO 1207 1208 serio = &up->serio;
+8 -6
drivers/serial/sunzilog.c
··· 1431 1431 return err; 1432 1432 } 1433 1433 } else { 1434 - printk(KERN_INFO "%s: Keyboard at MMIO 0x%lx (irq = %d) " 1434 + printk(KERN_INFO "%s: Keyboard at MMIO 0x%llx (irq = %d) " 1435 1435 "is a %s\n", 1436 - op->dev.bus_id, up[0].port.mapbase, op->irqs[0], 1437 - sunzilog_type (&up[0].port)); 1438 - printk(KERN_INFO "%s: Mouse at MMIO 0x%lx (irq = %d) " 1436 + op->dev.bus_id, 1437 + (unsigned long long) up[0].port.mapbase, 1438 + op->irqs[0], sunzilog_type(&up[0].port)); 1439 + printk(KERN_INFO "%s: Mouse at MMIO 0x%llx (irq = %d) " 1439 1440 "is a %s\n", 1440 - op->dev.bus_id, up[1].port.mapbase, op->irqs[0], 1441 - sunzilog_type (&up[1].port)); 1441 + op->dev.bus_id, 1442 + (unsigned long long) up[1].port.mapbase, 1443 + op->irqs[0], sunzilog_type(&up[1].port)); 1442 1444 } 1443 1445 1444 1446 dev_set_drvdata(&op->dev, &up[0]);
+13 -9
drivers/video/bw2.c
··· 233 233 0x10, 0x20, 0 234 234 }; 235 235 236 - static void __devinit bw2_do_default_mode(struct bw2_par *par, 237 - struct fb_info *info, 238 - int *linebytes) 236 + static int __devinit bw2_do_default_mode(struct bw2_par *par, 237 + struct fb_info *info, 238 + int *linebytes) 239 239 { 240 240 u8 status, mon; 241 241 u8 *p; ··· 266 266 break; 267 267 268 268 case BWTWO_SR_ID_NOCONN: 269 - return; 269 + return 0; 270 270 271 271 default: 272 - prom_printf("bw2: can't handle SR %02x\n", 273 - status); 274 - prom_halt(); 272 + printk(KERN_ERR "bw2: can't handle SR %02x\n", 273 + status); 274 + return -EINVAL; 275 275 } 276 276 for ( ; *p; p += 2) { 277 277 u8 __iomem *regp = &((u8 __iomem *)par->regs)[p[0]]; 278 278 sbus_writeb(p[1], regp); 279 279 } 280 + return 0; 280 281 } 281 282 282 283 static int __devinit bw2_probe(struct of_device *op, const struct of_device_id *match) ··· 313 312 if (!par->regs) 314 313 goto out_release_fb; 315 314 316 - if (!of_find_property(dp, "width", NULL)) 317 - bw2_do_default_mode(par, info, &linebytes); 315 + if (!of_find_property(dp, "width", NULL)) { 316 + err = bw2_do_default_mode(par, info, &linebytes); 317 + if (err) 318 + goto out_unmap_regs; 319 + } 318 320 319 321 par->fbsize = PAGE_ALIGN(linebytes * info->var.yres); 320 322
+10 -7
drivers/video/cg3.c
··· 315 315 4, 0xff, 5, 0x00, 6, 0x70, 7, 0x00, 0 316 316 }; 317 317 318 - static void __devinit cg3_do_default_mode(struct cg3_par *par) 318 + static int __devinit cg3_do_default_mode(struct cg3_par *par) 319 319 { 320 320 enum cg3_type type; 321 321 u8 *p; ··· 332 332 else 333 333 type = CG3_AT_66HZ; 334 334 } else { 335 - prom_printf("cgthree: can't handle SR %02x\n", 336 - status); 337 - prom_halt(); 338 - return; 335 + printk(KERN_ERR "cgthree: can't handle SR %02x\n", 336 + status); 337 + return -EINVAL; 339 338 } 340 339 } 341 340 ··· 350 351 regp = (u8 __iomem *)&par->regs->cmap.control; 351 352 sbus_writeb(p[1], regp); 352 353 } 354 + return 0; 353 355 } 354 356 355 357 static int __devinit cg3_probe(struct of_device *op, ··· 400 400 401 401 cg3_blank(0, info); 402 402 403 - if (!of_find_property(dp, "width", NULL)) 404 - cg3_do_default_mode(par); 403 + if (!of_find_property(dp, "width", NULL)) { 404 + err = cg3_do_default_mode(par); 405 + if (err) 406 + goto out_unmap_screen; 407 + } 405 408 406 409 if (fb_alloc_cmap(&info->cmap, 256, 0)) 407 410 goto out_unmap_screen;
+5 -1
include/asm-sparc/tlbflush.h
··· 57 57 /* 58 58 * This is a kludge, until I know better. --zaitcev XXX 59 59 */ 60 - #define flush_tlb_kernel_range(start, end) flush_tlb_all() 60 + static inline void flush_tlb_kernel_range(unsigned long start, 61 + unsigned long end) 62 + { 63 + flush_tlb_all(); 64 + } 61 65 62 66 #endif /* _SPARC_TLBFLUSH_H */