BUS_SET_RESOURCE(9)

NAME
bus_set_resource - associate a definite resource with a given resource ID

SYNOPSIS
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/rman.h>
int
bus_set_resource(device_t dev, int type, int rid, u_long start, u_long count, int cpuid);

DESCRIPTION
The bus_set_resource() function sets the start address of the resource type, rid pair to be count long. Typically, client drivers do not use this interface. Bus drivers, however, often use it to set up the resources a client driver uses.

The arguments are as follows:

dev The device to set the resource on.

type
    The type of resource you want to allocate. It is one of:

    SYS_RES_IRQ
        for IRQs
    SYS_RES_DRQ
        for ISA DMA lines
    SYS_RES_MEMORY
        for I/O memory
    SYS_RES_IOPORT
        for I/O ports

rid A bus-specific handle that identifies the resource being allocated.

start
    The start address of this resource.

count
    The length of the resource. For example, the size of the memory in bytes.

cpuid
    Owner CPU for interrupt resources. Other resource types, e.g. IOPORT, MEMORY and DRQ, are shared across CPUs, so this parameter has to be set to -1

RETURN VALUES
Zero is returned on success, otherwise an error is returned.

SEE ALSO
bus_alloc_resource(9), bus_get_resource(9), device(9), driver(9)

AUTHORS
This manual page was written by Warner Losh <imp@FreeBSD.org>.