/* * TC Applied Technologies Digital Interface Communications Engine driver * * Copyright (c) Clemens Ladisch <clemens@ladisch.de> * Licensed under the terms of the GNU General Public License, version 2. */#include<linux/compat.h>#include<linux/completion.h>#include<linux/delay.h>#include<linux/device.h>#include<linux/firewire.h>#include<linux/firewire-constants.h>#include<linux/jiffies.h>#include<linux/module.h>#include<linux/mod_devicetable.h>#include<linux/mutex.h>#include<linux/slab.h>#include<linux/spinlock.h>#include<linux/wait.h>#include<sound/control.h>#include<sound/core.h>#include<sound/firewire.h>#include<sound/hwdep.h>#include<sound/info.h>#include<sound/initval.h>#include<sound/pcm.h>#include<sound/pcm_params.h>#include"amdtp.h"#include"iso-resources.h"#include"lib.h"#include"dice-interface.h"structdice{structsnd_card*card;structfw_unit*unit;spinlock_tlock;structmutexmutex;unsignedintglobal_offset;unsignedintrx_offset;unsignedintclock_caps;unsignedintrx_channels[3];unsignedintrx_midi_ports[3];structfw_address_ha