Module Name:    src
Committed By:   jdc
Date:           Fri Oct 16 07:35:16 UTC 2020

Modified Files:
        src/sys/arch/sparc64/conf: files.sparc64
        src/sys/arch/sparc64/sparc64: autoconf.c
Added Files:
        src/sys/arch/sparc64/sparc64: ofw_patch.c ofw_patch.h

Log Message:
Move OFW patching routines into their own file.


To generate a diff of this commit:
cvs rdiff -u -r1.160 -r1.161 src/sys/arch/sparc64/conf/files.sparc64
cvs rdiff -u -r1.223 -r1.224 src/sys/arch/sparc64/sparc64/autoconf.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/sparc64/sparc64/ofw_patch.c \
    src/sys/arch/sparc64/sparc64/ofw_patch.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/sparc64/conf/files.sparc64
diff -u src/sys/arch/sparc64/conf/files.sparc64:1.160 src/sys/arch/sparc64/conf/files.sparc64:1.161
--- src/sys/arch/sparc64/conf/files.sparc64:1.160	Sun Oct 11 19:39:22 2020
+++ src/sys/arch/sparc64/conf/files.sparc64	Fri Oct 16 07:35:16 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: files.sparc64,v 1.160 2020/10/11 19:39:22 jdc Exp $
+#	$NetBSD: files.sparc64,v 1.161 2020/10/16 07:35:16 jdc Exp $
 
 # @(#)files.sparc64	8.1 (Berkeley) 7/19/93
 # sparc64-specific configuration info
@@ -142,7 +142,7 @@ file	dev/ebus/cs4231_ebus.c			audiocs_eb
 
 include	"dev/sdmmc/files.sdmmc"
 attach	wb at ebus with wb_ebus
-file	arch/sparc64/dev/wb_ebus.c		wb_ebus
+file	arch/sparc64/dev/wb_ebus.c              wb_ebus
 
 # PCMCIA bus (references fdc)
 include "dev/pcmcia/files.pcmcia"
@@ -255,6 +255,7 @@ file	arch/sparc64/sparc64/kobj_machdep.c
 # sparc64/sparc64/locore.s is handled specially in the makefile,
 # because it must come first in the "ld" command line.
 file	arch/sparc64/sparc64/machdep.c
+file	arch/sparc64/sparc64/ofw_patch.c
 file	arch/sparc64/sparc64/process_machdep.c
 file	arch/sparc64/sparc64/procfs_machdep.c	procfs
 file	arch/sparc64/sparc64/static_edid.c

Index: src/sys/arch/sparc64/sparc64/autoconf.c
diff -u src/sys/arch/sparc64/sparc64/autoconf.c:1.223 src/sys/arch/sparc64/sparc64/autoconf.c:1.224
--- src/sys/arch/sparc64/sparc64/autoconf.c:1.223	Sun Oct 11 19:39:22 2020
+++ src/sys/arch/sparc64/sparc64/autoconf.c	Fri Oct 16 07:35:16 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: autoconf.c,v 1.223 2020/10/11 19:39:22 jdc Exp $ */
+/*	$NetBSD: autoconf.c,v 1.224 2020/10/16 07:35:16 jdc Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.223 2020/10/11 19:39:22 jdc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.224 2020/10/16 07:35:16 jdc Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -92,7 +92,7 @@ __KERNEL_RCSID(0, "$NetBSD: autoconf.c,v
 #include <machine/pmap.h>
 #include <machine/bootinfo.h>
 #include <sparc64/sparc64/cache.h>
-#include <sparc64/sparc64/static_edid.h>
+#include <sparc64/sparc64/ofw_patch.h>
 #include <sparc64/sparc64/timerreg.h>
 #include <sparc64/dev/cbusvar.h>
 
@@ -180,16 +180,6 @@ struct intrmap intrmap[] = {
 	{ NULL,		0 }
 };
 
-#ifdef DEBUG
-#define ACDB_BOOTDEV	0x1
-#define	ACDB_PROBE	0x2
-#define ACDB_BOOTARGS	0x4
-int autoconf_debug = 0x0;
-#define DPRINTF(l, s)   do { if (autoconf_debug & l) printf s; } while (0)
-#else
-#define DPRINTF(l, s)
-#endif
-
 int console_node, console_instance;
 struct genfb_colormap_callback gfb_cb;
 static void of_set_palette(void *, int, int, int, int);
@@ -1047,180 +1037,6 @@ device_setofnode(device_t dev, int node)
 	    device_xname(dev), node));
 }
 
-static void
-add_gpio_LED(prop_array_t pins, const char *name, int num, int act, int def)
-{
-	prop_dictionary_t pin = prop_dictionary_create();
-	prop_dictionary_set_string(pin, "name", name);
-	prop_dictionary_set_uint32(pin, "type", 0);	/* 0 for LED, for now */
-	prop_dictionary_set_uint32(pin, "pin", num);
-	prop_dictionary_set_bool(pin, "active_high", act);
-	if (def != -1)
-		prop_dictionary_set_int32(pin, "default_state", def);
-	prop_array_add(pins, pin);
-	prop_object_release(pin);
-}
-	
-static void
-add_gpio_props_v210(device_t dev, void *aux)
-{
-	struct i2c_attach_args *ia = aux;
-	prop_dictionary_t dict = device_properties(dev);
-	prop_array_t pins;
-
-	switch (ia->ia_addr) {
-		case 0x38:	/* front panel LEDs */
-			pins = prop_array_create();
-			add_gpio_LED(pins, "indicator", 7, 0, -1);
-			add_gpio_LED(pins, "fault", 5, 0, 0);
-			add_gpio_LED(pins, "power", 4, 0, 1);
-			prop_dictionary_set(dict, "pins", pins);
-			prop_object_release(pins);
-			break;
-		case 0x23:	/* drive bay LEDs */
-			pins = prop_array_create();
-			add_gpio_LED(pins, "bay0_fault", 10, 0, 0);
-			add_gpio_LED(pins, "bay1_fault", 11, 0, 0);
-			add_gpio_LED(pins, "bay0_remove", 12, 0, 0);
-			add_gpio_LED(pins, "bay1_remove", 13, 0, 0);
-			prop_dictionary_set(dict, "pins", pins);
-			prop_object_release(pins);
-			break;
-	}
-}
-
-static void
-add_drivebay_props_v210(device_t dev, int ofnode, void *aux)
-{
-	struct scsipibus_attach_args *sa = aux;
-	int target = sa->sa_periph->periph_target;
-	char path[256]= "";
-
-	OF_package_to_path(ofnode, path, sizeof(path));
-
-	/* see if we're on the onboard controller's 1st channel */
-	if (strcmp(path, "/pci@1c,600000/scsi@2") != 0)
-		return;
-	/* yes, yes we are */
-	if ( target < 2) {
-		prop_dictionary_t dict = device_properties(dev);
-		char name[16];
-
-		snprintf(name, sizeof(name), "bay%d", target);		
-		prop_dictionary_set_string(dict, "location", name);
-	}
-}
-
-/*
- * Add SPARCle spdmem devices (0x50 and 0x51) that are not in the OFW tree
- */
-static void
-add_spdmem_props_sparcle(device_t busdev)
-{
-	prop_dictionary_t props = device_properties(busdev);
-	prop_array_t cfg = prop_array_create();
-	int i;
-
-	DPRINTF(ACDB_PROBE, ("\nAdding spdmem for SPARCle "));
-	for (i = 0x50; i <= 0x51; i++) {
-		prop_dictionary_t spd = prop_dictionary_create();
-		prop_dictionary_set_string(spd, "name", "dimm-spd");
-		prop_dictionary_set_uint32(spd, "addr", i);
-		prop_dictionary_set_uint64(spd, "cookie", 0);
-		prop_array_add(cfg, spd);
-		prop_object_release(spd);
-	}
-	prop_dictionary_set(props, "i2c-child-devices", cfg);
-	prop_object_release(cfg);
-}
-
-/*
- * Add V210/V240 environmental sensors that are not in the OFW tree.
- */
-static void
-add_env_sensors_v210(device_t busdev)
-{
-	prop_dictionary_t props = device_properties(busdev);
-	prop_array_t cfg = NULL;
-	prop_dictionary_t sens;
-	prop_data_t data;
-	const char name_lm[] = "i2c-lm75";
-	const char name_adm[] = "i2c-adm1026";
-
-	DPRINTF(ACDB_PROBE, ("\nAdding sensors for %s ", machine_model));
-	cfg = prop_dictionary_get(props, "i2c-child-devices");
- 	if (!cfg) {
-		cfg = prop_array_create();
-		prop_dictionary_set(props, "i2c-child-devices", cfg);
-		prop_dictionary_set_bool(props, "i2c-indirect-config", false);
-	}
-
-	/* ADM1026 at 0x2e */
-	sens = prop_dictionary_create();
-	prop_dictionary_set_uint32(sens, "addr", 0x2e);
-	prop_dictionary_set_uint64(sens, "cookie", 0);
-	prop_dictionary_set_string(sens, "name", "hardware-monitor");
-	data = prop_data_create_copy(&name_adm[0], sizeof(name_adm));
-	prop_dictionary_set(sens, "compatible", data);
-	prop_object_release(data);
-	prop_array_add(cfg, sens);
-	prop_object_release(sens);
-
-	/* LM75 at 0x4e */
-	sens = prop_dictionary_create();
-	prop_dictionary_set_uint32(sens, "addr", 0x4e);
-	prop_dictionary_set_uint64(sens, "cookie", 0);
-	prop_dictionary_set_string(sens, "name", "temperature-sensor");
-	data = prop_data_create_copy(&name_lm[0], sizeof(name_lm));
-	prop_dictionary_set(sens, "compatible", data);
-	prop_object_release(data);
-	prop_array_add(cfg, sens);
-	prop_object_release(sens);
-}
-
-/* Hardware specific device properties */
-static void
-set_hw_props(device_t dev)
-{
-	device_t busdev = device_parent(dev);
-
-	if ((!strcmp(machine_model, "SUNW,Sun-Fire-V240") ||
-	    !strcmp(machine_model, "SUNW,Sun-Fire-V210"))) {
-		device_t busparent = device_parent(busdev);
-		prop_dictionary_t props = device_properties(dev);
-
-		if (busparent != NULL && device_is_a(busparent, "pcfiic") &&
-		    device_is_a(dev, "adm1026hm") && props != NULL) {
-			prop_dictionary_set_uint8(props, "fan_div2", 0x55);
-			prop_dictionary_set_bool(props, "multi_read", true);
-		}
-	}
-
-	if (!strcmp(machine_model, "SUNW,Sun-Fire-V440")) {
-		device_t busparent = device_parent(busdev);
-		prop_dictionary_t props = device_properties(dev);
-		if (busparent != NULL && device_is_a(busparent, "pcfiic") &&
-		    device_is_a(dev, "adm1026hm") && props != NULL) {
-			prop_dictionary_set_bool(props, "multi_read", true);
-		}
-	}
-}
-
-/* Static EDID definitions */
-static void
-set_static_edid(prop_dictionary_t dict)
-{
-	if (!strcmp(machine_model, "NATE,Meso-999")) {
-		prop_data_t edid;
-
-		DPRINTF(ACDB_PROBE, ("\nAdding EDID for Meso-999 "));
-		edid = prop_data_create_copy(edid_meso999,
-		    sizeof(edid_meso999));
-		prop_dictionary_set(dict, "EDID:1", edid);
-		prop_object_release(edid);
-	}
-}
-
 /*
  * Called back during autoconfiguration for each device found
  */

Added files:

Index: src/sys/arch/sparc64/sparc64/ofw_patch.c
diff -u /dev/null src/sys/arch/sparc64/sparc64/ofw_patch.c:1.1
--- /dev/null	Fri Oct 16 07:35:16 2020
+++ src/sys/arch/sparc64/sparc64/ofw_patch.c	Fri Oct 16 07:35:16 2020
@@ -0,0 +1,216 @@
+/*	$NetBSD: ofw_patch.c,v 1.1 2020/10/16 07:35:16 jdc Exp $ */
+
+/*-
+ * Copyright (c) 2020 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Julian Coleman.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: ofw_patch.c,v 1.1 2020/10/16 07:35:16 jdc Exp $");
+
+#include <sys/param.h>
+
+#include <dev/i2c/i2cvar.h>
+#include <dev/scsipi/scsipiconf.h>
+
+#include <machine/autoconf.h>
+#include <machine/openfirm.h>
+#include <sparc64/sparc64/ofw_patch.h>
+#include <sparc64/sparc64/static_edid.h>
+
+static void
+add_gpio_LED(prop_array_t pins, const char *name, int num, int act, int def)
+{
+	prop_dictionary_t pin = prop_dictionary_create();
+	prop_dictionary_set_string(pin, "name", name);
+	prop_dictionary_set_uint32(pin, "type", 0);	/* 0 for LED, for now */
+	prop_dictionary_set_uint32(pin, "pin", num);
+	prop_dictionary_set_bool(pin, "active_high", act);
+	if (def != -1)
+		prop_dictionary_set_int32(pin, "default_state", def);
+	prop_array_add(pins, pin);
+	prop_object_release(pin);
+}
+	
+void
+add_gpio_props_v210(device_t dev, void *aux)
+{
+	struct i2c_attach_args *ia = aux;
+	prop_dictionary_t dict = device_properties(dev);
+	prop_array_t pins;
+
+	switch (ia->ia_addr) {
+		case 0x38:	/* front panel LEDs */
+			pins = prop_array_create();
+			add_gpio_LED(pins, "indicator", 7, 0, -1);
+			add_gpio_LED(pins, "fault", 5, 0, 0);
+			add_gpio_LED(pins, "power", 4, 0, 1);
+			prop_dictionary_set(dict, "pins", pins);
+			prop_object_release(pins);
+			break;
+		case 0x23:	/* drive bay LEDs */
+			pins = prop_array_create();
+			add_gpio_LED(pins, "bay0_fault", 10, 0, 0);
+			add_gpio_LED(pins, "bay1_fault", 11, 0, 0);
+			add_gpio_LED(pins, "bay0_remove", 12, 0, 0);
+			add_gpio_LED(pins, "bay1_remove", 13, 0, 0);
+			prop_dictionary_set(dict, "pins", pins);
+			prop_object_release(pins);
+			break;
+	}
+}
+
+void
+add_drivebay_props_v210(device_t dev, int ofnode, void *aux)
+{
+	struct scsipibus_attach_args *sa = aux;
+	int target = sa->sa_periph->periph_target;
+	char path[256]= "";
+
+	OF_package_to_path(ofnode, path, sizeof(path));
+
+	/* see if we're on the onboard controller's 1st channel */
+	if (strcmp(path, "/pci@1c,600000/scsi@2") != 0)
+		return;
+	/* yes, yes we are */
+	if ( target < 2) {
+		prop_dictionary_t dict = device_properties(dev);
+		char name[16];
+
+		snprintf(name, sizeof(name), "bay%d", target);		
+		prop_dictionary_set_string(dict, "location", name);
+	}
+}
+
+/*
+ * Add SPARCle spdmem devices (0x50 and 0x51) that are not in the OFW tree
+ */
+void
+add_spdmem_props_sparcle(device_t busdev)
+{
+	prop_dictionary_t props = device_properties(busdev);
+	prop_array_t cfg = prop_array_create();
+	int i;
+
+	DPRINTF(ACDB_PROBE, ("\nAdding spdmem for SPARCle "));
+	for (i = 0x50; i <= 0x51; i++) {
+		prop_dictionary_t spd = prop_dictionary_create();
+		prop_dictionary_set_string(spd, "name", "dimm-spd");
+		prop_dictionary_set_uint32(spd, "addr", i);
+		prop_dictionary_set_uint64(spd, "cookie", 0);
+		prop_array_add(cfg, spd);
+		prop_object_release(spd);
+	}
+	prop_dictionary_set(props, "i2c-child-devices", cfg);
+	prop_object_release(cfg);
+}
+
+/*
+ * Add V210/V240 environmental sensors that are not in the OFW tree.
+ */
+void
+add_env_sensors_v210(device_t busdev)
+{
+	prop_dictionary_t props = device_properties(busdev);
+	prop_array_t cfg = NULL;
+	prop_dictionary_t sens;
+	prop_data_t data;
+	const char name_lm[] = "i2c-lm75";
+	const char name_adm[] = "i2c-adm1026";
+
+	DPRINTF(ACDB_PROBE, ("\nAdding sensors for %s ", machine_model));
+	cfg = prop_dictionary_get(props, "i2c-child-devices");
+ 	if (!cfg) {
+		cfg = prop_array_create();
+		prop_dictionary_set(props, "i2c-child-devices", cfg);
+		prop_dictionary_set_bool(props, "i2c-indirect-config", false);
+	}
+
+	/* ADM1026 at 0x2e */
+	sens = prop_dictionary_create();
+	prop_dictionary_set_uint32(sens, "addr", 0x2e);
+	prop_dictionary_set_uint64(sens, "cookie", 0);
+	prop_dictionary_set_string(sens, "name", "hardware-monitor");
+	data = prop_data_create_copy(&name_adm[0], sizeof(name_adm));
+	prop_dictionary_set(sens, "compatible", data);
+	prop_object_release(data);
+	prop_array_add(cfg, sens);
+	prop_object_release(sens);
+
+	/* LM75 at 0x4e */
+	sens = prop_dictionary_create();
+	prop_dictionary_set_uint32(sens, "addr", 0x4e);
+	prop_dictionary_set_uint64(sens, "cookie", 0);
+	prop_dictionary_set_string(sens, "name", "temperature-sensor");
+	data = prop_data_create_copy(&name_lm[0], sizeof(name_lm));
+	prop_dictionary_set(sens, "compatible", data);
+	prop_object_release(data);
+	prop_array_add(cfg, sens);
+	prop_object_release(sens);
+}
+
+/* Hardware specific device properties */
+void
+set_hw_props(device_t dev)
+{
+	device_t busdev = device_parent(dev);
+
+	if ((!strcmp(machine_model, "SUNW,Sun-Fire-V240") ||
+	    !strcmp(machine_model, "SUNW,Sun-Fire-V210"))) {
+		device_t busparent = device_parent(busdev);
+		prop_dictionary_t props = device_properties(dev);
+
+		if (busparent != NULL && device_is_a(busparent, "pcfiic") &&
+		    device_is_a(dev, "adm1026hm") && props != NULL) {
+			prop_dictionary_set_uint8(props, "fan_div2", 0x55);
+			prop_dictionary_set_bool(props, "multi_read", true);
+		}
+	}
+
+	if (!strcmp(machine_model, "SUNW,Sun-Fire-V440")) {
+		device_t busparent = device_parent(busdev);
+		prop_dictionary_t props = device_properties(dev);
+		if (busparent != NULL && device_is_a(busparent, "pcfiic") &&
+		    device_is_a(dev, "adm1026hm") && props != NULL) {
+			prop_dictionary_set_bool(props, "multi_read", true);
+		}
+	}
+}
+
+/* Static EDID definitions */
+void
+set_static_edid(prop_dictionary_t dict)
+{
+	if (!strcmp(machine_model, "NATE,Meso-999")) {
+		prop_data_t edid;
+
+		DPRINTF(ACDB_PROBE, ("\nAdding EDID for Meso-999 "));
+		edid = prop_data_create_copy(edid_meso999,
+		    sizeof(edid_meso999));
+		prop_dictionary_set(dict, "EDID:1", edid);
+		prop_object_release(edid);
+	}
+}
Index: src/sys/arch/sparc64/sparc64/ofw_patch.h
diff -u /dev/null src/sys/arch/sparc64/sparc64/ofw_patch.h:1.1
--- /dev/null	Fri Oct 16 07:35:16 2020
+++ src/sys/arch/sparc64/sparc64/ofw_patch.h	Fri Oct 16 07:35:16 2020
@@ -0,0 +1,51 @@
+/*	$NetBSD: ofw_patch.h,v 1.1 2020/10/16 07:35:16 jdc Exp $ */
+
+/*-
+ * Copyright (c) 2020 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Julian Coleman.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef OFW_PATCH_H
+#define OFW_PATCH_H
+
+#ifdef DEBUG
+#define ACDB_BOOTDEV    0x1
+#define ACDB_PROBE      0x2
+#define ACDB_BOOTARGS   0x4
+int autoconf_debug = 0x0;
+#define DPRINTF(l, s)   do { if (autoconf_debug & l) printf s; } while (0)
+#else
+#define DPRINTF(l, s)
+#endif
+
+void add_gpio_props_v210(device_t, void *);
+void add_drivebay_props_v210(device_t, int, void *);
+void add_spdmem_props_sparcle(device_t);
+void add_env_sensors_v210(device_t);
+void set_hw_props(device_t);
+void set_static_edid(prop_dictionary_t);
+
+#endif /* OFW_PATCH_H */

Reply via email to