summaryrefslogtreecommitdiffstats
path: root/arch/mips/lasat
AgeCommit message (Expand)Author
2008-07-15[MIPS] Remove mips_machtype for LASAT machinesThomas Bogendoerfer
2008-06-16[MIPS] Lasat: sysctl fixupThomas Horsten
2008-06-16[MIPS] Lasat: bring back from the deadThomas Horsten
2008-01-29[MIPS] Lasat: Convert pvc_sem semaphore to mutexDaniel Walker
2008-01-11[MIPS] Lasat: Fix built in separate object directory.WANG Cong
2007-11-15[MIPS] Lasat: Fix overlap of interrupt number ranges.Yoichi Yuasa
2007-10-29[MIPS] time: Merge lasat plat_timer_setup into plat_time_init.Ralf Baechle
2007-10-16[MIPS] Lasat: Fix build by conversion to irq_cpu.c.Ralf Baechle
2007-10-11[MIPS] Deforest the function pointer jungle in the time code.Ralf Baechle
2007-10-11[MIPS] ARC: Get rid of mips_machgroupRalf Baechle
2007-10-11[MIPS] Add back support for LASAT platformsBrian Murphy
2007-07-10[MIPS] remove LASAT Networks platforms supportYoichi Yuasa
2007-03-04[MIPS] Fix and cleanup the mess that a dozen prom_printf variants are.Ralf Baechle
2007-03-04[MIPS] No need to write c0_compare in plat_timer_setupAtsushi Nemoto
2007-02-14[PATCH] sysctl: remove insert_at_head from register_sysctlEric W. Biederman
2007-02-14[PATCH] sysctl: C99 convert arch/mips/lasat/sysctl.c and remove ABI breakageEric W. Biederman
2007-02-06[MIPS] use name instead of typename for each irq_chipAtsushi Nemoto
2007-02-06[MIPS] prom_free_prom_memory cleanupAtsushi Nemoto
2006-12-10[PATCH] sysctl: remove unused "context" paramAlexey Dobriyan
2006-12-08[PATCH] struct path: convert mipsJosef Sipek
2006-12-06[MIPS] Compile __do_IRQ() when really neededFranck Bui-Huu
2006-11-30[MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irqAtsushi Nemoto
2006-11-30[MIPS] IRQ cleanupsAtsushi Nemoto
2006-10-08[MIPS] Complete fixes after removal of pt_regs argument to int handlers.Ralf Baechle
2006-10-01[SERIAL] Remove wrong asm/serial.h inclusionsRussell King
2006-07-13[MIPS] Replace board_timer_setup function pointer by plat_timer_setup.Ralf Baechle
2006-07-13[MIPS] Eleminate interrupt migration helper use.Ralf Baechle
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel
2006-06-29[PATCH] genirq: rename desc->handler to desc->chipIngo Molnar
2006-06-19[MIPS] Cleanup memory managment initialization.Ralf Baechle
2006-04-19[MIPS] Rewrite all the assembler interrupt handlers to C.Ralf Baechle
2006-03-27[PATCH] mips: fixed collision of rtc function nameYoichi Yuasa
2006-03-27[PATCH] Notifier chain update: API changesAlan Stern
2006-03-26[PATCH] sem2mutex: misc static one-file mutexesIngo Molnar
2006-03-21[MIPS] War on whitespace: cleanup initial spaces followed by tabs.Ralf Baechle
2006-02-08Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds
2006-02-07[MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again.Ralf Baechle
2006-02-05[SERIAL] uart_port flags member should use UPF_*Russell King
2006-02-05[SERIAL] uart_port iotype member should use UPIO_*Russell King
2005-11-07Use rtc_lock to protect RTC operationsAtsushi Nemoto
2005-10-29Sliceup Kconfig; it's grown too large.Ralf Baechle
2005-10-29Convert struct hw_interrupt_type initializations to ISO C99 namedRalf Baechle
2005-10-29Get rid of early_init. There's more need to make this form ofRalf Baechle
2005-09-05[PATCH] mips: nuke trailing whitespaceRalf Baechle
2005-04-16Linux-2.6.12-rc2Linus Torvalds
ss="n">mq_lock); /* * The next 2 defines are here bc this is the only file * compiled when either CONFIG_SYSVIPC and CONFIG_POSIX_MQUEUE * and not CONFIG_IPC_NS. */ struct ipc_namespace init_ipc_ns = { .count = ATOMIC_INIT(1), #ifdef CONFIG_POSIX_MQUEUE .mq_queues_max = DFLT_QUEUESMAX, .mq_msg_max = DFLT_MSGMAX, .mq_msgsize_max = DFLT_MSGSIZEMAX, #endif }; atomic_t nr_ipc_ns = ATOMIC_INIT(1); struct msg_msgseg { struct msg_msgseg* next; /* the next part of the message follows immediately */ }; #define DATALEN_MSG (PAGE_SIZE-sizeof(struct msg_msg)) #define DATALEN_SEG (PAGE_SIZE-sizeof(struct msg_msgseg)) struct msg_msg *load_msg(const void __user *src, int len) { struct msg_msg *msg; struct msg_msgseg **pseg; int err; int alen; alen = len; if (alen > DATALEN_MSG) alen = DATALEN_MSG; msg = kmalloc(sizeof(*msg) + alen, GFP_KERNEL); if (msg == NULL) return ERR_PTR(-ENOMEM); msg->next = NULL; msg->security = NULL; if (copy_from_user(msg + 1, src, alen)) { err = -EFAULT; goto out_err; } len -= alen; src = ((char __user *)src) + alen; pseg = &msg->next; while (len > 0) { struct msg_msgseg *seg; alen = len; if (alen > DATALEN_SEG) alen = DATALEN_SEG; seg = kmalloc(sizeof(*seg) + alen, GFP_KERNEL); if (seg == NULL) { err = -ENOMEM; goto out_err; } *pseg = seg; seg->next = NULL; if (copy_from_user(seg + 1, src, alen)) { err = -EFAULT; goto out_err; } pseg = &seg->next; len -= alen; src = ((char __user *)src) + alen; } err = security_msg_msg_alloc(msg); if (err) goto out_err; return msg; out_err: free_msg(msg); return ERR_PTR(err); } int store_msg(void __user *dest, struct msg_msg *msg, int len) { int alen; struct msg_msgseg *seg; alen = len; if (alen > DATALEN_MSG) alen = DATALEN_MSG; if (copy_to_user(dest, msg + 1, alen)) return -1; len -= alen; dest = ((char __user *)dest) + alen; seg = msg->next; while (len > 0) { alen = len; if (alen > DATALEN_SEG) alen = DATALEN_SEG; if (copy_to_user(dest, seg + 1, alen)) return -1; len -= alen; dest = ((char __user *)dest) + alen; seg = seg->next; } return 0; } void free_msg(struct msg_msg *msg) { struct msg_msgseg *seg; security_msg_msg_free(msg); seg = msg->next; kfree(msg); while (seg != NULL) { struct msg_msgseg *tmp = seg->next; kfree(seg); seg = tmp; } }