ofw_bus_if.m revision 133589
1# Copyright (c) 2001, 2003 by Thomas Moestl <tmm@FreeBSD.org> 2# Copyright (c) 2004 by Marius Strobl <marius@FreeBSD.org> 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright 9# notice, this list of conditions and the following disclaimer. 10# 2. Redistributions in binary form must reproduce the above copyright 11# notice, this list of conditions and the following disclaimer in the 12# documentation and/or other materials provided with the distribution. 13# 14# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17# IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 18# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 23# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24# 25# $FreeBSD: head/sys/dev/ofw/ofw_bus_if.m 133589 2004-08-12 17:41:33Z marius $ 26 27#include <sys/bus.h> 28#include <machine/bus.h> 29 30#include <dev/ofw/openfirm.h> 31 32INTERFACE ofw_bus; 33 34CODE { 35 static ofw_bus_get_compat_t ofw_bus_default_get_compat; 36 static ofw_bus_get_model_t ofw_bus_default_get_model; 37 static ofw_bus_get_name_t ofw_bus_default_get_name; 38 static ofw_bus_get_node_t ofw_bus_default_get_node; 39 static ofw_bus_get_type_t ofw_bus_default_get_type; 40 41 static const char * 42 ofw_bus_default_get_compat(device_t bus, device_t dev) 43 { 44 45 return (NULL); 46 } 47 48 static const char * 49 ofw_bus_default_get_model(device_t bus, device_t dev) 50 { 51 52 return (NULL); 53 } 54 55 static const char * 56 ofw_bus_default_get_name(device_t bus, device_t dev) 57 { 58 59 return (NULL); 60 } 61 62 static phandle_t 63 ofw_bus_default_get_node(device_t bus, device_t dev) 64 { 65 66 return (0); 67 } 68 69 static const char * 70 ofw_bus_default_get_type(device_t bus, device_t dev) 71 { 72 73 return (NULL); 74 } 75}; 76 77# Get the alternate firmware name for the device dev on the bus. The default 78# method will return NULL, which means the device doesn't have such a property. 79METHOD const char * get_compat { 80 device_t bus; 81 device_t dev; 82} DEFAULT ofw_bus_default_get_compat; 83 84# Get the firmware model name for the device dev on the bus. The default method 85# will return NULL, which means the device doesn't have such a property. 86METHOD const char * get_model { 87 device_t bus; 88 device_t dev; 89} DEFAULT ofw_bus_default_get_model; 90 91# Get the firmware name for the device dev on the bus. The default method will 92# return NULL, which means the device doesn't have such a property. 93METHOD const char * get_name { 94 device_t bus; 95 device_t dev; 96} DEFAULT ofw_bus_default_get_name; 97 98# Get the firmware node for the device dev on the bus. The default method will 99# return 0, which signals that there is no such node. 100METHOD phandle_t get_node { 101 device_t bus; 102 device_t dev; 103} DEFAULT ofw_bus_default_get_node; 104 105# Get the firmware device type for the device dev on the bus. The default 106# method will return NULL, which means the device doesn't have such a property. 107METHOD const char * get_type { 108 device_t bus; 109 device_t dev; 110} DEFAULT ofw_bus_default_get_type; 111