]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - arch/sparc/prom/init_64.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-kernels.git] / arch / sparc / prom / init_64.c
CommitLineData
b2441318 1// SPDX-License-Identifier: GPL-2.0
b00dc837 2/*
1da177e4
LT
3 * init.c: Initialize internal variables used by the PROM
4 * library functions.
5 *
6 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
7 * Copyright (C) 1996,1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
8 */
9
10#include <linux/kernel.h>
11#include <linux/init.h>
12#include <linux/string.h>
13#include <linux/ctype.h>
14
15#include <asm/openprom.h>
16#include <asm/oplib.h>
17
90a6646b
DM
18/* OBP version string. */
19char prom_version[80];
1da177e4
LT
20
21/* The root node of the prom device tree. */
bce5feea 22int prom_stdout;
8d125562 23phandle prom_chosen_node;
1da177e4
LT
24
25/* You must call prom_init() before you attempt to use any of the
e393d1bd
GU
26 * routines in the prom library.
27 * It gets passed the pointer to the PROM vector.
1da177e4
LT
28 */
29
ef3e035c 30extern void prom_cif_init(void *);
1da177e4 31
ef3e035c 32void __init prom_init(void *cif_handler)
1da177e4 33{
8d125562 34 phandle node;
1da177e4 35
ef3e035c 36 prom_cif_init(cif_handler);
1da177e4 37
bff06d55 38 prom_chosen_node = prom_finddevice(prom_chosen_path);
4a3a2552 39 if (!prom_chosen_node || (s32)prom_chosen_node == -1)
1da177e4
LT
40 prom_halt();
41
d82ace7d 42 prom_stdout = prom_getint(prom_chosen_node, "stdout");
1da177e4
LT
43
44 node = prom_finddevice("/openprom");
4a3a2552 45 if (!node || (s32)node == -1)
1da177e4
LT
46 prom_halt();
47
90a6646b 48 prom_getstring(node, "version", prom_version, sizeof(prom_version));
1da177e4 49
d82ace7d 50 prom_printf("\n");
ce22e1d3 51}
1da177e4 52
ce22e1d3
DM
53void __init prom_init_report(void)
54{
90a6646b 55 printk("PROMLIB: Sun IEEE Boot Prom '%s'\n", prom_version);
d82ace7d 56 printk("PROMLIB: Root node compatible: %s\n", prom_root_compatible);
1da177e4 57}