FreeBSD kernel IICBUS device code
ofw_iicbus.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/libkern.h>
#include <sys/lock.h>
#include <sys/module.h>
#include <sys/mutex.h>
#include <dev/iicbus/iicbus.h>
#include <dev/iicbus/iiconf.h>
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/ofw/openfirm.h>
#include "iicbus_if.h"
#include "ofw_iicbus_if.h"
Include dependency graph for ofw_iicbus.c:

Go to the source code of this file.

Data Structures

struct  ofw_iicbus_devinfo
 

Functions

 __FBSDID ("$FreeBSD$")
 
static device_t ofw_iicbus_add_child (device_t dev, u_int order, const char *name, int unit)
 
static const struct ofw_bus_devinfo * ofw_iicbus_get_devinfo (device_t bus, device_t dev)
 
static int ofw_iicbus_set_devinfo (device_t bus, device_t dev, phandle_t ofw_node, char *ofw_name, char *ofw_compat, uint32_t i2c_addr)
 
 DEFINE_CLASS_1 (iicbus, ofw_iicbus_driver, ofw_iicbus_methods, sizeof(struct iicbus_softc), iicbus_driver)
 
 EARLY_DRIVER_MODULE (ofw_iicbus, iicbb, ofw_iicbus_driver, ofw_iicbus_devclass, 0, 0, BUS_PASS_BUS)
 
 EARLY_DRIVER_MODULE (ofw_iicbus, iichb, ofw_iicbus_driver, ofw_iicbus_devclass, 0, 0, BUS_PASS_BUS)
 
 EARLY_DRIVER_MODULE (ofw_iicbus, twsi, ofw_iicbus_driver, ofw_iicbus_devclass, 0, 0, BUS_PASS_BUS)
 
 MODULE_VERSION (ofw_iicbus, 1)
 
 MODULE_DEPEND (ofw_iicbus, iicbus, 1, 1, 1)
 
static int ofw_iicbus_probe (device_t dev)
 
static int ofw_iicbus_attach (device_t dev)
 

Variables

static device_probe_t ofw_iicbus_probe
 
static device_attach_t ofw_iicbus_attach
 
static device_method_t ofw_iicbus_methods []
 
devclass_t ofw_iicbus_devclass
 

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ DEFINE_CLASS_1()

DEFINE_CLASS_1 ( iicbus  ,
ofw_iicbus_driver  ,
ofw_iicbus_methods  ,
sizeof(struct iicbus_softc ,
iicbus_driver   
)

◆ EARLY_DRIVER_MODULE() [1/3]

EARLY_DRIVER_MODULE ( ofw_iicbus  ,
iicbb  ,
ofw_iicbus_driver  ,
ofw_iicbus_devclass  ,
,
,
BUS_PASS_BUS   
)

◆ EARLY_DRIVER_MODULE() [2/3]

EARLY_DRIVER_MODULE ( ofw_iicbus  ,
iichb  ,
ofw_iicbus_driver  ,
ofw_iicbus_devclass  ,
,
,
BUS_PASS_BUS   
)

◆ EARLY_DRIVER_MODULE() [3/3]

EARLY_DRIVER_MODULE ( ofw_iicbus  ,
twsi  ,
ofw_iicbus_driver  ,
ofw_iicbus_devclass  ,
,
,
BUS_PASS_BUS   
)

◆ MODULE_DEPEND()

MODULE_DEPEND ( ofw_iicbus  ,
iicbus  ,
,
,
 
)

◆ MODULE_VERSION()

MODULE_VERSION ( ofw_iicbus  ,
 
)

◆ ofw_iicbus_add_child()

static device_t ofw_iicbus_add_child ( device_t  dev,
u_int  order,
const char *  name,
int  unit 
)
static

Definition at line 209 of file ofw_iicbus.c.

References dev, and ofw_iicbus_devinfo::opd_obdinfo.

◆ ofw_iicbus_attach()

static int ofw_iicbus_attach ( device_t  dev)
static

◆ ofw_iicbus_get_devinfo()

static const struct ofw_bus_devinfo * ofw_iicbus_get_devinfo ( device_t  bus,
device_t  dev 
)
static

Definition at line 240 of file ofw_iicbus.c.

References dev, and ofw_iicbus_devinfo::opd_obdinfo.

◆ ofw_iicbus_probe()

static int ofw_iicbus_probe ( device_t  dev)
static

Definition at line 99 of file ofw_iicbus.c.

References dev.

◆ ofw_iicbus_set_devinfo()

static int ofw_iicbus_set_devinfo ( device_t  bus,
device_t  dev,
phandle_t  ofw_node,
char *  ofw_name,
char *  ofw_compat,
uint32_t  i2c_addr 
)
static

Variable Documentation

◆ ofw_iicbus_attach

device_attach_t ofw_iicbus_attach
static

Definition at line 49 of file ofw_iicbus.c.

◆ ofw_iicbus_devclass

devclass_t ofw_iicbus_devclass

Definition at line 85 of file ofw_iicbus.c.

◆ ofw_iicbus_methods

device_method_t ofw_iicbus_methods[]
static
Initial value:
= {
DEVMETHOD(device_probe, ofw_iicbus_probe),
DEVMETHOD(device_attach, ofw_iicbus_attach),
DEVMETHOD(bus_child_pnpinfo, ofw_bus_gen_child_pnpinfo),
DEVMETHOD(bus_add_child, ofw_iicbus_add_child),
DEVMETHOD(ofw_bus_get_devinfo, ofw_iicbus_get_devinfo),
DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat),
DEVMETHOD(ofw_bus_get_model, ofw_bus_gen_get_model),
DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name),
DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node),
DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type),
DEVMETHOD_END
}
static device_probe_t ofw_iicbus_probe
Definition: ofw_iicbus.c:48
static device_t ofw_iicbus_add_child(device_t dev, u_int order, const char *name, int unit)
Definition: ofw_iicbus.c:209
static const struct ofw_bus_devinfo * ofw_iicbus_get_devinfo(device_t bus, device_t dev)
Definition: ofw_iicbus.c:240
static device_attach_t ofw_iicbus_attach
Definition: ofw_iicbus.c:49
static int ofw_iicbus_set_devinfo(device_t bus, device_t dev, phandle_t ofw_node, char *ofw_name, char *ofw_compat, uint32_t i2c_addr)
Definition: ofw_iicbus.c:249

Definition at line 57 of file ofw_iicbus.c.

◆ ofw_iicbus_probe

device_probe_t ofw_iicbus_probe
static

Definition at line 48 of file ofw_iicbus.c.