|
|
The channel number is a DDI 8 abstraction that holds driver-specific information such as channel types, sub-component addresses, and modes. The device instance (see ``Device instance'') represents the specific device. The channel number abstraction is supported in DDI versions 8 and later, and replaces the per-device portion of the minor number.
The pointer to the channel number is set on entry; the driver may change it to redirect the open(D2) routine to another channel to implement channel redirection or ``cloning''. The cloning device only needs one node, which corresponds to a device instance; each clone generated out of that node is a channel.
DDI 8 drivers define the largest channel number that is accessible to the driver instance by setting the $maxchan field in their Node(DSP/4dsp) files. If only one channel is accessible to the driver instance, this field is set to $maxchan 0.
The SVR5 implemtation uses a 32-bit channel number, but the filesystem implementation only provides device space for about 2^20 channels; most devices need significantly fewer channels.