constants for ctl, transcode, timer, channel, pseudo

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9552 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
Tzafrir Cohen 2011-01-03 10:49:22 +00:00
parent e26a4d25c8
commit 5759e5a6a6
3 changed files with 28 additions and 22 deletions

View File

@ -2886,7 +2886,7 @@ static int dahdi_open(struct inode *inode, struct file *file)
int unit = UNIT(file);
struct dahdi_chan *chan;
/* Minor 0: Special "control" descriptor */
if (!unit)
if (unit == DAHDI_CTL)
return dahdi_ctl_open(file);
if (unit == 250) {
if (!dahdi_transcode_fops) {
@ -2910,16 +2910,16 @@ static int dahdi_open(struct inode *inode, struct file *file)
}
return -ENXIO;
}
if (unit == 253) {
if (unit == DAHDI_TIMER) {
if (can_open_timer()) {
return dahdi_timing_open(file);
} else {
return -ENXIO;
}
}
if (unit == 254)
if (unit == DAHDI_CHANNEL)
return dahdi_chan_open(file);
if (unit == 255) {
if (unit == DAHDI_PSEUDO) {
chan = dahdi_alloc_pseudo();
if (chan) {
file->private_data = chan;
@ -3383,9 +3383,9 @@ static int dahdi_release(struct inode *inode, struct file *file)
int res;
struct dahdi_chan *chan;
if (!unit)
if (unit == DAHDI_CTL)
return dahdi_ctl_release(file);
if (unit == 253) {
if (unit == DAHDI_TIMER) {
return dahdi_timer_release(file);
}
if (unit == 250) {
@ -3395,14 +3395,14 @@ static int dahdi_release(struct inode *inode, struct file *file)
WARN_ON(1);
return -EFAULT;
}
if (unit == 254) {
if (unit == DAHDI_CHANNEL) {
chan = file->private_data;
if (!chan)
return dahdi_chan_release(file);
else
return dahdi_specchan_release(file);
}
if (unit == 255) {
if (unit == DAHDI_PSEUDO) {
chan = file->private_data;
if (chan) {
res = dahdi_specchan_release(file);
@ -5995,7 +5995,7 @@ static int dahdi_ioctl(struct inode *inode, struct file *file,
lock_kernel();
#endif
if (!unit) {
if (unit == DAHDI_CTL) {
ret = dahdi_ctl_ioctl(file, cmd, data);
goto unlock_exit;
}
@ -6008,7 +6008,7 @@ static int dahdi_ioctl(struct inode *inode, struct file *file,
goto unlock_exit;
}
if (unit == 253) {
if (unit == DAHDI_TIMER) {
timer = file->private_data;
if (timer)
ret = dahdi_timer_ioctl(file, cmd, data, timer);
@ -6016,14 +6016,14 @@ static int dahdi_ioctl(struct inode *inode, struct file *file,
ret = -EINVAL;
goto unlock_exit;
}
if (unit == 254) {
if (unit == DAHDI_CHANNEL) {
if (file->private_data)
ret = dahdi_chan_ioctl(file, cmd, data);
else
ret = dahdi_prechan_ioctl(file, cmd, data);
goto unlock_exit;
}
if (unit == 255) {
if (unit == DAHDI_PSEUDO) {
if (!file->private_data) {
module_printk(KERN_NOTICE, "No pseudo channel structure to read?\n");
ret = -EINVAL;
@ -8211,7 +8211,7 @@ static unsigned int dahdi_poll(struct file *file, struct poll_table_struct *wait
{
const int unit = UNIT(file);
if (likely(unit == 253))
if (likely(unit == DAHDI_TIMER))
return dahdi_timer_poll(file, wait_table);
/* transcoders and channels should have updated their file_operations
@ -8912,10 +8912,10 @@ static int __init dahdi_init(void)
}
dahdi_class = class_create(THIS_MODULE, "dahdi");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, 253), NULL, "dahdi!timer");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, 254), NULL, "dahdi!channel");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, 255), NULL, "dahdi!pseudo");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, 0), NULL, "dahdi!ctl");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_TIMER), NULL, "dahdi!timer");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_CHANNEL), NULL, "dahdi!channel");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_PSEUDO), NULL, "dahdi!pseudo");
CLASS_DEV_CREATE(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_CTL), NULL, "dahdi!ctl");
module_printk(KERN_INFO, "Telephony Interface Registered on major %d\n", DAHDI_MAJOR);
module_printk(KERN_INFO, "Version: %s\n", DAHDI_VERSION);
@ -8942,10 +8942,10 @@ static void __exit dahdi_cleanup(void)
dahdi_unregister_echocan_factory(&hwec_factory);
coretimer_cleanup();
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, 253)); /* timer */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, 254)); /* channel */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, 255)); /* pseudo */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, 0)); /* ctl */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_TIMER)); /* timer */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_CHANNEL)); /* channel */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_PSEUDO)); /* pseudo */
CLASS_DEV_DESTROY(dahdi_class, MKDEV(DAHDI_MAJOR, DAHDI_CTL)); /* ctl */
class_destroy(dahdi_class);
unregister_chrdev(DAHDI_MAJOR, "dahdi");

View File

@ -438,7 +438,7 @@ static struct file_operations __dahdi_transcode_fops = {
static struct dahdi_chardev transcode_chardev = {
.name = "transcode",
.minor = 250,
.minor = DAHDI_TRANSCODE,
};
static int dahdi_transcode_init(void)

View File

@ -1301,6 +1301,12 @@ wait_for_completion_interruptible_timeout(struct completion *x,
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
#endif
#define DAHDI_CTL 0
#define DAHDI_TRANSCODE 250
#define DAHDI_TIMER 253
#define DAHDI_CHANNEL 254
#define DAHDI_PSEUDO 255
/* prink-wrapper macros */
#define DAHDI_PRINTK(level, category, fmt, ...) \
printk(KERN_ ## level "%s%s-%s: " fmt, #level, category, \