// SPDX-License-Identifier: GPL-2.0 /* * p1275.c: Sun IEEE 1275 PROM low level interface routines * * Copyright (C) 1996,1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) */ #include <linux/kernel.h> #include <linux/sched.h> #include <linux/smp.h> #include <linux/string.h> #include <linux/spinlock.h> #include <linux/irqflags.h> #include <asm/openprom.h> #include <asm/oplib.h> #include <asm/spitfire.h> #include <asm/pstate.h> #include <asm/ldc.h> struct { long prom_callback; /* 0x00 */ void (*prom_cif_handler)(long *); /* 0x08 */ } p1275buf; extern void prom_world(int); extern void prom_cif_direct(unsigned long *args); extern void prom_cif_callback(void); /* * This provides SMP safety on the p1275buf. */ DEFINE_RAW_SPINLOCK(prom_entry_lock);
void p1275_cmd_direct(unsigned long *args) { unsigned long flags; local_save_flags(flags); local_irq_restore((unsigned long)PIL_NMI); raw_spin_lock(&prom_entry_lock); prom_world(1); prom_cif_direct(args); prom_world(0); raw_spin_unlock(&prom_entry_lock); local_irq_restore(flags); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Linus Torvalds (pre-git) | 26 | 43.33% | 3 | 37.50% |
David S. Miller | 24 | 40.00% | 3 | 37.50% |
Linus Torvalds | 6 | 10.00% | 1 | 12.50% |
David Howells | 4 | 6.67% | 1 | 12.50% |
Total | 60 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Linus Torvalds (pre-git) | 29 | 100.00% | 2 | 100.00% |
Total | 29 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Linus Torvalds (pre-git) | 118 | 67.82% | 9 | 47.37% |
David S. Miller | 41 | 23.56% | 5 | 26.32% |
Linus Torvalds | 6 | 3.45% | 1 | 5.26% |
David Howells | 4 | 2.30% | 1 | 5.26% |
Thomas Gleixner | 3 | 1.72% | 1 | 5.26% |
Adrian Bunk | 1 | 0.57% | 1 | 5.26% |
Greg Kroah-Hartman | 1 | 0.57% | 1 | 5.26% |
Total | 174 | 100.00% | 19 | 100.00% |