return 0;
 }
 
-static int radio_isa_subscribe_event(struct v4l2_fh *fh,
-                               struct v4l2_event_subscription *sub)
-{
-       if (sub->type == V4L2_EVENT_CTRL)
-               return v4l2_event_subscribe(fh, sub, 0);
-       return -EINVAL;
-}
-
 static const struct v4l2_ctrl_ops radio_isa_ctrl_ops = {
        .s_ctrl = radio_isa_s_ctrl,
 };
        .vidioc_g_frequency = radio_isa_g_frequency,
        .vidioc_s_frequency = radio_isa_s_frequency,
        .vidioc_log_status  = radio_isa_log_status,
-       .vidioc_subscribe_event   = radio_isa_subscribe_event,
+       .vidioc_subscribe_event   = v4l2_ctrl_subscribe_event,
        .vidioc_unsubscribe_event = v4l2_event_unsubscribe,
 };
 
 
        return -EINVAL;
 }
 
-static int vidioc_subscribe_event(struct v4l2_fh *fh,
-                               struct v4l2_event_subscription *sub)
-{
-       switch (sub->type) {
-       case V4L2_EVENT_CTRL:
-               return v4l2_event_subscribe(fh, sub, 0);
-       default:
-               return -EINVAL;
-       }
-}
-
-
 /* File system interface */
 static const struct v4l2_file_operations usb_keene_fops = {
        .owner          = THIS_MODULE,
        .vidioc_g_frequency = vidioc_g_frequency,
        .vidioc_s_frequency = vidioc_s_frequency,
        .vidioc_log_status = v4l2_ctrl_log_status,
-       .vidioc_subscribe_event = vidioc_subscribe_event,
+       .vidioc_subscribe_event = v4l2_ctrl_subscribe_event,
        .vidioc_unsubscribe_event = v4l2_event_unsubscribe,
 };