DDI_DEV_REGSIZE(9F) Kernel Functions for Drivers DDI_DEV_REGSIZE(9F)

ddi_dev_regsize - return the size of a device's register

#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dev_regsize(dev_info_t *dip, uint_t rnumber, off_t *resultp);

illumos DDI specific (illumos DDI).

dip

A pointer to the device's dev_info structure.

rnumber

The ordinal register number. Device registers are associated with a dev_info and are enumerated in arbitrary sets from 0 on up. The number of registers a device has can be determined from a call to ddi_dev_nregs(9F).

resultp

Pointer to an integer that holds the size, in bytes, of the described register (if it exists).

The ddi_dev_regsize() function returns the size, in bytes, of the device register specified by dip and rnumber. This is useful when, for example, one of the registers is a frame buffer with a varying size known only to its proms.

The ddi_dev_regsize() function returns:

DDI_SUCCESS

A successful return. The size, in bytes, of the specified register, is set in resultp.

DDI_FAILURE

An invalid (nonexistent) register number was specified.

The ddi_dev_regsize() function can be called from user, interrupt, or kernel context.

ddi_dev_nintrs(9F), ddi_dev_nregs(9F)

Writing Device Drivers

January 16, 2006 OmniOS