struct imon_context *context = NULL;
        int retval = 0;
 
-       context = (struct imon_context *)file->private_data;
+       context = file->private_data;
 
        if (!context) {
                err("%s: no context for device", __func__);
                0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF };
        int *data_buf;
 
-       context = (struct imon_context *)file->private_data;
+       context = file->private_data;
        if (!context) {
                err("%s: no context for device", __func__);
                return -ENODEV;
 
 /* copied from lirc_dev */
 static ssize_t read(struct file *filep, char *outbuf, size_t n, loff_t *ppos)
 {
-       struct IR *ir = (struct IR *)filep->private_data;
+       struct IR *ir = filep->private_data;
        unsigned char buf[ir->buf.chunk_size];
        int ret = 0, written = 0;
        DECLARE_WAITQUEUE(wait, current);
 static ssize_t write(struct file *filep, const char *buf, size_t n,
                          loff_t *ppos)
 {
-       struct IR *ir = (struct IR *)filep->private_data;
+       struct IR *ir = filep->private_data;
        size_t i;
        int failures = 0;
 
 /* copied from lirc_dev */
 static unsigned int poll(struct file *filep, poll_table *wait)
 {
-       struct IR *ir = (struct IR *)filep->private_data;
+       struct IR *ir = filep->private_data;
        unsigned int ret;
 
        dprintk("poll called\n");
 
 static long ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
 {
-       struct IR *ir = (struct IR *)filep->private_data;
+       struct IR *ir = filep->private_data;
        int result;
        unsigned long mode, features = 0;
 
 static int close(struct inode *node, struct file *filep)
 {
        /* find our IR struct */
-       struct IR *ir = (struct IR *)filep->private_data;
+       struct IR *ir = filep->private_data;
        if (ir == NULL) {
                zilog_error("close: no private_data attached to the file!\n");
                return -ENODEV;