diff options
author | Johannes Stezenbach <devnull@localhost> | 2004-01-06 13:28:49 +0000 |
---|---|---|
committer | Johannes Stezenbach <devnull@localhost> | 2004-01-06 13:28:49 +0000 |
commit | 2dcefdc83dcc04e2c6f8d8697ff1405780a660f0 (patch) | |
tree | e0bfaf96cc182f2563becc6e940718135668cf8c /linux/drivers/media/dvb/ttpci/av7110_ca.c | |
parent | ca107fda10ccb2b4e93d1a18f070a3ed0ef57841 (diff) | |
download | mediapointer-dvb-s2-2dcefdc83dcc04e2c6f8d8697ff1405780a660f0.tar.gz mediapointer-dvb-s2-2dcefdc83dcc04e2c6f8d8697ff1405780a660f0.tar.bz2 |
whitespace / coding style
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110_ca.c')
-rw-r--r-- | linux/drivers/media/dvb/ttpci/av7110_ca.c | 377 |
1 files changed, 185 insertions, 192 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110_ca.c b/linux/drivers/media/dvb/ttpci/av7110_ca.c index 86af2ffc5..723edfc30 100644 --- a/linux/drivers/media/dvb/ttpci/av7110_ca.c +++ b/linux/drivers/media/dvb/ttpci/av7110_ca.c @@ -49,46 +49,44 @@ extern int av7110_debug; void CI_handle(struct av7110 *av7110, u8 *data, u16 len) { - DEB_EE(("av7110: %p\n",av7110)); - - if (len<3) - return; - switch (data[0]) { - case CI_MSG_CI_INFO: - if (data[2]!=1 && data[2]!=2) - break; - switch (data[1]) { - case 0: - av7110->ci_slot[data[2]-1].flags=0; - break; - case 1: - av7110->ci_slot[data[2]-1].flags|=CA_CI_MODULE_PRESENT; - break; - case 2: - av7110->ci_slot[data[2]-1].flags|=CA_CI_MODULE_READY; - break; - } - break; - case CI_SWITCH_PRG_REPLY: - //av7110->ci_stat=data[1]; - break; - default: - break; - } + DEB_EE(("av7110: %p\n", av7110)); + + if (len < 3) + return; + switch (data[0]) { + case CI_MSG_CI_INFO: + if (data[2] != 1 && data[2] != 2) + break; + switch (data[1]) { + case 0: + av7110->ci_slot[data[2] - 1].flags = 0; + break; + case 1: + av7110->ci_slot[data[2] - 1].flags |= CA_CI_MODULE_PRESENT; + break; + case 2: + av7110->ci_slot[data[2] - 1].flags |= CA_CI_MODULE_READY; + break; + } + break; + case CI_SWITCH_PRG_REPLY: + //av7110->ci_stat=data[1]; + break; + default: + break; + } } void ci_get_data(struct dvb_ringbuffer *cibuf, u8 *data, int len) { - if (dvb_ringbuffer_free(cibuf) < len+2) - return; - - DVB_RINGBUFFER_WRITE_BYTE(cibuf,len>>8); - DVB_RINGBUFFER_WRITE_BYTE(cibuf,len&0xff); + if (dvb_ringbuffer_free(cibuf) < len + 2) + return; - dvb_ringbuffer_write(cibuf,data,len,0); - - wake_up_interruptible(&cibuf->queue); + DVB_RINGBUFFER_WRITE_BYTE(cibuf, len >> 8); + DVB_RINGBUFFER_WRITE_BYTE(cibuf, len & 0xff); + dvb_ringbuffer_write(cibuf, data, len, 0); + wake_up_interruptible(&cibuf->queue); } @@ -98,46 +96,45 @@ void ci_get_data(struct dvb_ringbuffer *cibuf, u8 *data, int len) int ci_ll_init(struct dvb_ringbuffer *cirbuf, struct dvb_ringbuffer *ciwbuf, int size) { - dvb_ringbuffer_init(cirbuf, vmalloc(size), size); - dvb_ringbuffer_init(ciwbuf, vmalloc(size), size); - return 0; + dvb_ringbuffer_init(cirbuf, vmalloc(size), size); + dvb_ringbuffer_init(ciwbuf, vmalloc(size), size); + return 0; } void ci_ll_flush(struct dvb_ringbuffer *cirbuf, struct dvb_ringbuffer *ciwbuf) { - dvb_ringbuffer_flush_spinlock_wakeup(cirbuf); - dvb_ringbuffer_flush_spinlock_wakeup(ciwbuf); + dvb_ringbuffer_flush_spinlock_wakeup(cirbuf); + dvb_ringbuffer_flush_spinlock_wakeup(ciwbuf); } void ci_ll_release(struct dvb_ringbuffer *cirbuf, struct dvb_ringbuffer *ciwbuf) { - vfree(cirbuf->data); - cirbuf->data=0; - vfree(ciwbuf->data); - ciwbuf->data=0; + vfree(cirbuf->data); + cirbuf->data = 0; + vfree(ciwbuf->data); + ciwbuf->data = 0; } - int ci_ll_reset(struct dvb_ringbuffer *cibuf, struct file *file, - int slots, ca_slot_info_t *slot) + int slots, ca_slot_info_t *slot) { int i; - int len=0; - u8 msg[8]={0x00,0x06,0,0x00,0xff,0x02,0x00,0x00}; + int len = 0; + u8 msg[8] = { 0x00, 0x06, 0x00, 0x00, 0xff, 0x02, 0x00, 0x00 }; - for (i=0; i<2; i++) { - if (slots & (1<<i)) - len+=8; + for (i = 0; i < 2; i++) { + if (slots & (1 << i)) + len += 8; } if (dvb_ringbuffer_free(cibuf) < len) return -EBUSY; - for (i=0; i<2; i++) { - if (slots & (1<<i)) { - msg[2]=i; - dvb_ringbuffer_write(cibuf,msg,8,0); - slot[i].flags=0; + for (i = 0; i < 2; i++) { + if (slots & (1 << i)) { + msg[2] = i; + dvb_ringbuffer_write(cibuf, msg, 8, 0); + slot[i].flags = 0; } } @@ -147,188 +144,185 @@ int ci_ll_reset(struct dvb_ringbuffer *cibuf, struct file *file, static ssize_t ci_ll_write(struct dvb_ringbuffer *cibuf, struct file *file, const char *buf, size_t count, loff_t *ppos) { - int free; - int non_blocking=file->f_flags&O_NONBLOCK; - - if (count>2048) - return -EINVAL; - free=dvb_ringbuffer_free(cibuf); - if (count+2>free) { - if (non_blocking) - return -EWOULDBLOCK; - if (wait_event_interruptible(cibuf->queue, - (dvb_ringbuffer_free(cibuf)>=count+2))) - return 0; - } - - DVB_RINGBUFFER_WRITE_BYTE(cibuf,count>>8); - DVB_RINGBUFFER_WRITE_BYTE(cibuf,count&0xff); - - return dvb_ringbuffer_write(cibuf,buf,count,1); + int free; + int non_blocking = file->f_flags & O_NONBLOCK; + + if (count > 2048) + return -EINVAL; + free = dvb_ringbuffer_free(cibuf); + if (count + 2 > free) { + if (non_blocking) + return -EWOULDBLOCK; + if (wait_event_interruptible(cibuf->queue, + (dvb_ringbuffer_free(cibuf) >= count + 2))) + return 0; + } + + DVB_RINGBUFFER_WRITE_BYTE(cibuf, count >> 8); + DVB_RINGBUFFER_WRITE_BYTE(cibuf, count & 0xff); + + return dvb_ringbuffer_write(cibuf, buf, count, 1); } static ssize_t ci_ll_read(struct dvb_ringbuffer *cibuf, struct file *file, char *buf, size_t count, loff_t *ppos) { int avail; - int non_blocking=file->f_flags&O_NONBLOCK; + int non_blocking = file->f_flags & O_NONBLOCK; ssize_t len; if (!cibuf->data || !count) - return 0; + return 0; if (non_blocking && (dvb_ringbuffer_empty(cibuf))) - return -EWOULDBLOCK; + return -EWOULDBLOCK; if (wait_event_interruptible(cibuf->queue, !dvb_ringbuffer_empty(cibuf))) return 0; - avail=dvb_ringbuffer_avail(cibuf); - if (avail<4) + avail = dvb_ringbuffer_avail(cibuf); + if (avail < 4) return 0; - len= DVB_RINGBUFFER_PEEK(cibuf,0)<<8; - len|=DVB_RINGBUFFER_PEEK(cibuf,1); - if (avail<len+2 || count<len) + len = DVB_RINGBUFFER_PEEK(cibuf, 0) << 8; + len |= DVB_RINGBUFFER_PEEK(cibuf, 1); + if (avail < len + 2 || count < len) return -EINVAL; - DVB_RINGBUFFER_SKIP(cibuf,2); + DVB_RINGBUFFER_SKIP(cibuf, 2); - return dvb_ringbuffer_read(cibuf,buf,len,1); + return dvb_ringbuffer_read(cibuf, buf, len, 1); } static int dvb_ca_open(struct inode *inode, struct file *file) { - struct dvb_device *dvbdev=(struct dvb_device *) file->private_data; - struct av7110 *av7110=(struct av7110 *) dvbdev->priv; - int err=dvb_generic_open(inode, file); + struct dvb_device *dvbdev = (struct dvb_device *) file->private_data; + struct av7110 *av7110 = (struct av7110 *) dvbdev->priv; + int err = dvb_generic_open(inode, file); - DEB_EE(("av7110: %p\n",av7110)); + DEB_EE(("av7110: %p\n", av7110)); - if (err<0) - return err; - ci_ll_flush(&av7110->ci_rbuffer, &av7110->ci_wbuffer); - return 0; + if (err < 0) + return err; + ci_ll_flush(&av7110->ci_rbuffer, &av7110->ci_wbuffer); + return 0; } static unsigned int dvb_ca_poll (struct file *file, poll_table *wait) { struct dvb_device *dvbdev = (struct dvb_device *) file->private_data; - struct av7110 *av7110 = (struct av7110 *) dvbdev->priv; - struct dvb_ringbuffer *rbuf = &av7110->ci_rbuffer; - struct dvb_ringbuffer *wbuf = &av7110->ci_wbuffer; - unsigned int mask = 0; - - DEB_EE(("av7110: %p\n",av7110)); + struct av7110 *av7110 = (struct av7110 *) dvbdev->priv; + struct dvb_ringbuffer *rbuf = &av7110->ci_rbuffer; + struct dvb_ringbuffer *wbuf = &av7110->ci_wbuffer; + unsigned int mask = 0; - poll_wait (file, &rbuf->queue, wait); + DEB_EE(("av7110: %p\n", av7110)); - if (!dvb_ringbuffer_empty(rbuf)) - mask |= POLLIN; + poll_wait(file, &rbuf->queue, wait); + if (!dvb_ringbuffer_empty(rbuf)) + mask |= POLLIN; + if (dvb_ringbuffer_avail(wbuf) > 1024) + mask |= POLLOUT; - if (dvb_ringbuffer_avail(wbuf)>1024) - mask |= POLLOUT; - - return mask; + return mask; } static int dvb_ca_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, void *parg) + unsigned int cmd, void *parg) { - struct dvb_device *dvbdev=(struct dvb_device *) file->private_data; - struct av7110 *av7110=(struct av7110 *) dvbdev->priv; - unsigned long arg=(unsigned long) parg; - - DEB_EE(("av7110: %p\n",av7110)); - - switch (cmd) { - case CA_RESET: - return ci_ll_reset(&av7110->ci_wbuffer, file, arg, &av7110->ci_slot[0]); - break; - case CA_GET_CAP: - { - ca_caps_t cap; - - cap.slot_num=2; - cap.slot_type=(FW_CI_LL_SUPPORT(av7110->arm_app) ? CA_CI_LINK : CA_CI) | CA_DESCR; - cap.descr_num=16; - cap.descr_type=CA_ECD; - memcpy(parg, &cap, sizeof(cap)); - } - break; - - case CA_GET_SLOT_INFO: - { - ca_slot_info_t *info=(ca_slot_info_t *)parg; - - if (info->num>1) - return -EINVAL; - av7110->ci_slot[info->num].num = info->num; - av7110->ci_slot[info->num].type = FW_CI_LL_SUPPORT(av7110->arm_app) ? CA_CI_LINK : CA_CI; - memcpy(info, &av7110->ci_slot[info->num], sizeof(ca_slot_info_t)); - } - break; - - case CA_GET_MSG: - break; - - case CA_SEND_MSG: - break; - - case CA_GET_DESCR_INFO: - { - ca_descr_info_t info; - - info.num=16; - info.type=CA_ECD; - memcpy (parg, &info, sizeof (info)); - } - break; - - case CA_SET_DESCR: - { - ca_descr_t *descr=(ca_descr_t*) parg; - - if (descr->index>=16) - return -EINVAL; - if (descr->parity>1) - return -EINVAL; - outcom(av7110, COMTYPE_PIDFILTER, SetDescr, 5, - (descr->index<<8)|descr->parity, - (descr->cw[0]<<8)|descr->cw[1], - (descr->cw[2]<<8)|descr->cw[3], - (descr->cw[4]<<8)|descr->cw[5], - (descr->cw[6]<<8)|descr->cw[7]); - } - break; - - default: - return -EINVAL; - } - return 0; + struct dvb_device *dvbdev = (struct dvb_device *) file->private_data; + struct av7110 *av7110 = (struct av7110 *) dvbdev->priv; + unsigned long arg = (unsigned long) parg; + + DEB_EE(("av7110: %p\n", av7110)); + + switch (cmd) { + case CA_RESET: + return ci_ll_reset(&av7110->ci_wbuffer, file, arg, &av7110->ci_slot[0]); + break; + case CA_GET_CAP: + { + ca_caps_t cap; + + cap.slot_num = 2; + cap.slot_type = (FW_CI_LL_SUPPORT(av7110->arm_app) ? + CA_CI_LINK : CA_CI) | CA_DESCR; + cap.descr_num = 16; + cap.descr_type = CA_ECD; + memcpy(parg, &cap, sizeof(cap)); + break; + } + + case CA_GET_SLOT_INFO: + { + ca_slot_info_t *info=(ca_slot_info_t *)parg; + + if (info->num > 1) + return -EINVAL; + av7110->ci_slot[info->num].num = info->num; + av7110->ci_slot[info->num].type = FW_CI_LL_SUPPORT(av7110->arm_app) ? + CA_CI_LINK : CA_CI; + memcpy(info, &av7110->ci_slot[info->num], sizeof(ca_slot_info_t)); + break; + } + + case CA_GET_MSG: + break; + + case CA_SEND_MSG: + break; + + case CA_GET_DESCR_INFO: + { + ca_descr_info_t info; + + info.num = 16; + info.type = CA_ECD; + memcpy(parg, &info, sizeof (info)); + break; + } + + case CA_SET_DESCR: + { + ca_descr_t *descr = (ca_descr_t*) parg; + + if (descr->index >= 16) + return -EINVAL; + if (descr->parity > 1) + return -EINVAL; + outcom(av7110, COMTYPE_PIDFILTER, SetDescr, 5, + (descr->index<<8)|descr->parity, + (descr->cw[0]<<8)|descr->cw[1], + (descr->cw[2]<<8)|descr->cw[3], + (descr->cw[4]<<8)|descr->cw[5], + (descr->cw[6]<<8)|descr->cw[7]); + break; + } + + default: + return -EINVAL; + } + return 0; } static ssize_t dvb_ca_write(struct file *file, const char *buf, - size_t count, loff_t *ppos) + size_t count, loff_t *ppos) { - struct dvb_device *dvbdev=(struct dvb_device *) file->private_data; - struct av7110 *av7110=(struct av7110 *) dvbdev->priv; + struct dvb_device *dvbdev = (struct dvb_device *) file->private_data; + struct av7110 *av7110 = (struct av7110 *) dvbdev->priv; - DEB_EE(("av7110: %p\n",av7110)); - return ci_ll_write(&av7110->ci_wbuffer, file, buf, count, ppos); + DEB_EE(("av7110: %p\n", av7110)); + return ci_ll_write(&av7110->ci_wbuffer, file, buf, count, ppos); } -static ssize_t dvb_ca_read(struct file *file, char *buf, size_t count, loff_t *ppos) +static ssize_t dvb_ca_read(struct file *file, char *buf, + size_t count, loff_t *ppos) { - struct dvb_device *dvbdev=(struct dvb_device *) file->private_data; - struct av7110 *av7110=(struct av7110 *) dvbdev->priv; + struct dvb_device *dvbdev = (struct dvb_device *) file->private_data; + struct av7110 *av7110 = (struct av7110 *) dvbdev->priv; - DEB_EE(("av7110: %p\n",av7110)); - return ci_ll_read(&av7110->ci_rbuffer, file, buf, count, ppos); + DEB_EE(("av7110: %p\n", av7110)); + return ci_ll_read(&av7110->ci_rbuffer, file, buf, count, ppos); } -/****************************************************************************** - * driver registration - ******************************************************************************/ - static struct file_operations dvb_ca_fops = { .owner = THIS_MODULE, .read = dvb_ca_read, @@ -359,10 +353,9 @@ void av7110_ca_unregister(struct av7110 *av7110) dvb_unregister_device(av7110->ca_dev); } - void av7110_ca_init(struct av7110* av7110) { - ci_ll_init(&av7110->ci_rbuffer, &av7110->ci_wbuffer, 8192); + ci_ll_init(&av7110->ci_rbuffer, &av7110->ci_wbuffer, 8192); } void av7110_ca_exit(struct av7110* av7110) |