BUS_ADD_CHILD(9) BSD Kernel Developer's Manual BUS_ADD_CHILD(9)NAME
BUS_ADD_CHILD -- add a device node to the tree with a given priority
SYNOPSIS
#include <sys/param.h>
#include <sys/bus.h>
int
BUS_ADD_CHILD(device_t dev, int order, const char *name, int unit);
DESCRIPTION
The BUS_ADD_CHILD() method is used by the driver identify routine to add devices to the tree. Please see device_add_child(9) for more
details. The interface is the same as device_add_child(9) however, the bus' BUS_ADD_CHILD() is called.
Busses implementing BUS_ADD_CHILD() should insert the device into the tree using device_add_child(9) before adding things such as their own
ivars and resource lists to the device.
RETURN VALUES
The BUS_ADD_CHILD() method returns device_t added to the tree, or NULL.
SEE ALSO device(9), device_add_child(9), driver(9)AUTHORS
This manual page was written by M. Warner Losh.
BSD May 13, 2004 BSD
Check Out this Related Man Page
DEVICE_IDENTIFY(9) BSD Kernel Developer's Manual DEVICE_IDENTIFY(9)NAME
DEVICE_IDENTIFY -- identify a device, register it
SYNOPSIS
#include <sys/param.h>
#include <sys/bus.h>
void
DEVICE_IDENTIFY(driver_t *driver, device_t parent);
DESCRIPTION
The identify function for a device is only needed for devices on busses that cannot identify their children independently, e.g. the ISA bus.
It is used to recognize the device (usually done by accessing non-ambiguous registers in the hardware) and to tell the kernel about it and
thus creating a new device instance.
BUS_ADD_CHILD(9) is used to register the device as a child of the bus. The device's resources (such as IRQ and I/O ports) are registered
with the kernel by calling bus_set_resource() for each resource (refer to bus_set_resource(9) for more information).
Since the device tree and the device driver tree are disjoint, the DEVICE_IDENTIFY() routine needs to take this into account. If you load
and unload your device driver that has the identify routine, the child node has the potential for adding the same node multiple times unless
specific measure are taken to preclude that possibility.
EXAMPLES
The following pseudo-code shows an example of a function that probes for a piece of hardware and registers it and its resource (an I/O port)
with the kernel.
void
foo_identify(driver_t *driver, device_t parent)
{
device_t child;
retrieve_device_information;
if (devices matches one of your supported devices &&
not already in device tree) {
child = BUS_ADD_CHILD(parent, 0, "foo", -1);
bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1);
}
}
SEE ALSO BUS_ADD_CHILD(9), bus_set_resource(9), device(9), device_add_child(9), DEVICE_ATTACH(9), DEVICE_DETACH(9), DEVICE_PROBE(9),
DEVICE_SHUTDOWN(9)AUTHORS
This manual page was written by Alexander Langer <alex@FreeBSD.org>.
BSD May 13, 2004 BSD
Manufacturer Links
General Information
Home Page: IBM United States
Documentation/Information: IBM System p - UNIX servers: Support and services
pSeries and AIX Information Center
Developerworks AIX Wiki: AIX Wiki
AIX for System Administrators
In-depth information from IBM:
IBM... (0 Replies)
Not sure if anyone is interested but I am just getting into UNIX like shell scripting...
I have great interest in pseudo-animations in text mode and accessing HW like /dev/dsp for example...
...
Have fun, I do... ;o)
# !/bin/sh
#
# Bargraph_Generator.sh
#
# A DEMO 6 bit coloured... (0 Replies)
For a starter I know the braces are NOT in the code...
Consider these code snippets:-
#!/bin/bash --posix
x=0
somefunction()
if
then
echo "I am here."
fi
# somefunction
#!/bin/bash --posix
x=0
somefunction()
if (2 Replies)
For those interested in installing dash shell on OSX Lion to help test POSIX compliancy of shell scripts, it is quite easy. I did it like this:
If you don't have gcc on your system:
0. Download and install the Command Line Tools for Xcode package from Sign In - Apple *
1. Download the dash... (2 Replies)
Hearing Aid...
Hi folks yet another bizarre piece of code that is Apple OSX 10.12.x to at least 10.14.1 specific.
It requires only a default OSX install, and the internal microphone along with an external headphone assembly.
Pre-amble, 14-02-2019:
For over 3 weeks now I have been suffering a... (3 Replies)
What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file.
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend (3 Replies)
Greetings,
I'm trying to delete a file with a weird name from within Terminal on a Mac.
It's a very old file (1992) with null characters in the name: ââWord FinderÂŽ Plusâ˘.
Here are some examples of what I've tried:
12FX009:5 dpontius$ ls
ââWord FinderÂŽ Plusâ˘
12FX009:5 dpontius$ rm... (29 Replies)
I have to print the number of stars that increases on each line from the minimum number until it reaches the maximum number, and then decreases until it goes back to the minimum number. After printing out the lines of stars, it should also print the total number of stars printed.
I have tried... (13 Replies)
Hi all...
Well guys and gals, I jumped in at the deep end and found things that PERL cannot do by default.
Many tricky terminal escape codes are not catered for so I had to create workarounds.
One thing I searched for was this:
Passing perl variable to shell command
AND, @Neo this was... (15 Replies)
Well, guys I saw a question about GOTO for Python.
So this gave me the inspiration to attempt a GOTO function for 'dash', (bash and ksh too).
Machine: MBP OSX 10.14.3, default bash terminal, calling '#!/usr/local/bin/dash'...
This is purely a fun project to see if it is possible in PURE... (3 Replies)
I am sharing a code snippet.
for (( i=0; i<=$(( $count -1 )); i++ ))
do
first=${barr2}
search=${barr1}
echo $first
echo "loop begins"
for (( j=0; j<=5000; j++ ))
do
if } == $search ]]; then
echo $j
break;
fi
done
second=${harr2}
echo $second (2 Replies)
Hi All,
I'm having a python script: test.py in /path/to/script/test.py
I'm using a properties file: test_properties.py (it is having values as dictionary{}) which is in same DIR as the script.
Sample Properties file:
params = {
'target_db' : 'a1_db'
'src_db' : ... (15 Replies)