Manual page for ddi_io_putb(9F)
ddi_io_putb, ddi_io_putw, ddi_io_putl - write data to the mapped device register in I/O space
SYNOPSIS
#include <sys/ddi.h>
#include <sys/sunddi.h>
void ddi_io_putb(ddi_acc_handle_t handle,
int dev_port,
uchar_t value);
void ddi_io_putw(ddi_acc_handle_t handle,
int dev_port,
ushort_t value);
void ddi_io_putl(ddi_acc_handle_t handle,
int dev_port,
ulong_t value);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).
ARGUMENTS
- handle
-
The data access handle returned from setup calls, such as
ddi_regs_map_setup.9f
- dev_port
-
The device port.
- value
-
The data to be written to the device.
DESCRIPTION
These routines generate a write of various sizes to the
device port,
dev_port,
in I/O space.
The
ddi_io_putb(),
ddi_io_putw(),
and
ddi_io_putl()
functions write 8 bits, 16 bits,
and 32 bits of data, respectively, to the device port,
dev_port.
Each individual datum will automatically be translated to maintain
a consistent view between the host and the device based on the
encoded information in the data access handle. The translation
may involve byte-swapping if the host and the device have incompatible
endian characteristics.
CONTEXT
These functions can be called from user, kernel, or interrupt context.
SEE ALSO
isa.4
ddi_io_getb.9f
ddi_io_rep_getb.9f
ddi_io_rep_putb.9f
ddi_regs_map_setup.9f
ddi_device_acc_attr.9s
NOTES
For drivers using these functions, it may not be easy to maintain a single
source to support devices with multiple bus versions. For example,
devices may offer I/O space in
ISA
bus (see
isa.4
but memory space only in
PCI
local bus. This is especially true in instruction set architectures
such as x86 where accesses to the memory and I/O space are different.
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97